diff --git a/server/.dockerignore b/server/.dockerignore new file mode 100644 index 000000000..94143827e --- /dev/null +++ b/server/.dockerignore @@ -0,0 +1 @@ +Dockerfile diff --git a/server/.editorconfig b/server/.editorconfig new file mode 100644 index 000000000..8358d429c --- /dev/null +++ b/server/.editorconfig @@ -0,0 +1,8 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true +charset = utf-8 +indent_style = tab +trim_trailing_whitespace = true \ No newline at end of file diff --git a/server/.eslintignore b/server/.eslintignore new file mode 100644 index 000000000..64314f3ee --- /dev/null +++ b/server/.eslintignore @@ -0,0 +1,7 @@ +# Things we don't want ESLint to lint. This is just compiled output +# and other people's code. +# Note that an editor or eslint implementation not honouring this file +# may cause crashes, as it will try and lint a couple million lines of JS. + +node_modules +js diff --git a/server/.eslintrc b/server/.eslintrc new file mode 100644 index 000000000..c96ed3dd2 --- /dev/null +++ b/server/.eslintrc @@ -0,0 +1,33 @@ +{ + "plugins": [ + "@typescript-eslint", + "import", + "cadence" + ], + "extends": [ + "plugin:cadence/recommended" + ], + "rules": { + "@typescript-eslint/no-non-null-assertion": "off" + }, + "overrides": [ + { + "files": [ + "**/*.test.ts" + ], + "rules": { + // Our test files break these rules *all* the time, and there's + // no point refactoring. Our tests deliberately play with the + // dynamic nature of TS to more accurately test arbitrary input. + "@typescript-eslint/no-floating-promises": "off", + "@typescript-eslint/no-unsafe-member-access": "off", + "@typescript-eslint/no-unsafe-assignment": "off", + "@typescript-eslint/no-unsafe-return": "off", + "@typescript-eslint/no-unsafe-argument": "off", + "@typescript-eslint/no-unsafe-call": "off", + // we abuse this one for faking data, but we really shouldn't. + "@typescript-eslint/consistent-type-assertions": "warn" + } + } + ] +} \ No newline at end of file diff --git a/server/.git-blame-ignore-revs b/server/.git-blame-ignore-revs new file mode 100644 index 000000000..a61781aa9 --- /dev/null +++ b/server/.git-blame-ignore-revs @@ -0,0 +1,13 @@ +# You can enable this as an ignored revision file with +# git config blame.ignoreRevsFile .git-blame-ignore-revs. +# We have this to ignore some slightly annoying changelogs from screwing +# with git blame. + +#188 - Spaces to tabs +47c981f4b3189e9cf995ed03256609f3bf56b930 + +#219 - Refactor entire repo to use baseUrl "/src" +897e832b01fafade554f99c4fba629c42a50468f + +#435 - Standardise line breaks to LF. +7d477970c610b223d42fbd0a3fccffd53498271e \ No newline at end of file diff --git a/server/.github/FUNDING.yml b/server/.github/FUNDING.yml new file mode 100644 index 000000000..c55044d83 --- /dev/null +++ b/server/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # zkldi +open_collective: # Replace with a single Open Collective username +ko_fi: zkldi +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/server/.github/codecov.yml b/server/.github/codecov.yml new file mode 100644 index 000000000..af5858d33 --- /dev/null +++ b/server/.github/codecov.yml @@ -0,0 +1,26 @@ +codecov: + require_ci_to_pass: yes + branch: develop + +coverage: + precision: 2 + round: down + range: "50...100" + status: + patch: + default: + informational: true + project: + default: + target: 80 + threshold: 2 + base: auto + informational: true + +parsers: + gcov: + branch_detection: + conditional: yes + loop: yes + method: no + macro: no diff --git a/server/.github/test.conf.json5 b/server/.github/test.conf.json5 new file mode 100644 index 000000000..3f7c251f9 --- /dev/null +++ b/server/.github/test.conf.json5 @@ -0,0 +1,81 @@ +// Config file that the CI deployment uses. This is moved to $pwd/conf.json5 before CI tests are ran. + +{ + MONGO_DATABASE_NAME: "testingdb", + CAPTCHA_SECRET_KEY: "unused", + SESSION_SECRET: "unused", + FLO_API_URL: "https://flo.example.com", + EAG_API_URL: "https://eag.example.com", + MIN_API_URL: "https://min.example.com", + ARC_API_URL: "https://arc.example.com", + FLO_OAUTH2_INFO: { + CLIENT_ID: "DUMMY_CLIENT_ID", + CLIENT_SECRET: "DUMMY_CLIENT_SECRET", + REDIRECT_URI: "https://example.com", + }, + EAG_OAUTH2_INFO: { + CLIENT_ID: "DUMMY_CLIENT_ID", + CLIENT_SECRET: "DUMMY_CLIENT_SECRET", + REDIRECT_URI: "https://example.com", + }, + ARC_AUTH_TOKEN: "unused", + ENABLE_SERVER_HTTPS: false, + OUR_URL: "https://example.com", + INVITE_CODE_CONFIG: { + BATCH_SIZE: 2, + INVITE_CAP: 100, + BETA_USER_BONUS: 5, + }, + CDN_CONFIG: { + WEB_LOCATION: "/cdn", + SAVE_LOCATION: { + TYPE: "LOCAL_FILESYSTEM", + LOCATION: "./test-cdn", + SERVE_OWN_CDN: true, + }, + }, + TACHI_CONFIG: { + TYPE: "omni", + NAME: "Tachi Testing", + GAMES: [ + "iidx", + "museca", + "maimai", + "sdvx", + "ddr", + "bms", + "chunithm", + "usc", + "wacca", + "popn", + "jubeat", + "pms", + ], + IMPORT_TYPES: [ + "file/eamusement-iidx-csv", + "file/batch-manual", + "file/solid-state-squad", + "file/mer-iidx", + "file/pli-iidx-csv", + "ir/direct-manual", + "ir/barbatos", + "ir/fervidex", + "ir/fervidex-static", + "ir/beatoraja", + "ir/usc", + "ir/kshook-sv6c", + "api/arc-iidx", + "api/arc-sdvx", + "api/eag-iidx", + "api/eag-sdvx", + "api/flo-iidx", + "api/flo-sdvx", + "api/min-sdvx", + ], + }, + LOGGER_CONFIG: { + FILE: false, + CONSOLE: true, + LOG_LEVEL: "info", + }, +} diff --git a/server/.github/workflows/test-build-deploy.yml b/server/.github/workflows/test-build-deploy.yml new file mode 100644 index 000000000..a634fb77e --- /dev/null +++ b/server/.github/workflows/test-build-deploy.yml @@ -0,0 +1,119 @@ +name: Test, Build, Deploy + +on: + push: + branches: [master, develop] + pull_request: + branches: [master, develop] + workflow_dispatch: + +jobs: + test: + runs-on: ubuntu-latest + env: + NODE_ENV: "test" + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Install Node.js 16 + uses: actions/setup-node@v2 + with: + node-version: 16.x + + - name: Install PNPM + uses: pnpm/action-setup@v2.0.1 + with: + version: 6.0.2 + + - name: Install Dependencies + run: pnpm i + + # configure external dbs + - uses: supercharge/mongodb-github-action@1.4.1 + - uses: supercharge/redis-github-action@1.1.0 + + - name: Move Config File + run: mv ./.github/test.conf.json5 ./test.conf.json5 + + - name: Run Tests + run: pnpm test + env: + NODE_ENV: "test" + PORT: 8080 + MONGO_URL: "127.0.0.1" + REDIS_URL: "127.0.0.1" + + - name: Lint Code + run: pnpm lint + + - name: Typecheck Code + run: pnpm typecheck + + - name: Upload Coverage + if: always() + run: | + pnpm install -g codecov + cat coverage/lcov.info | codecov + docker-push: + runs-on: ubuntu-latest + needs: [test] + if: github.event_name == 'push' + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Docker Hub login + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + + - name: Develop tag + if: github.ref == 'refs/heads/develop' + run: echo "BRANCH_TAG=develop" >> $GITHUB_ENV + + - name: Stable tag + if: github.ref == 'refs/heads/master' + run: echo "BRANCH_TAG=stable" >> $GITHUB_ENV + + - name: Version tag + run: 'echo "VERSION_TAG=$(cat package.json | grep version | head -1 | awk -F: ''{ print $2 }'' | sed ''s/[", ]//g'')" >> $GITHUB_ENV' + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Build and push + id: docker_build + uses: docker/build-push-action@v2 + with: + context: ./ + file: ./Dockerfile + push: true + tags: ${{ secrets.DOCKER_USERNAME }}/tachi-server:${{ env.BRANCH_TAG }},${{ secrets.DOCKER_USERNAME }}/tachi-server:${{ env.VERSION_TAG }}, + + - name: Image digest + run: echo ${{ steps.docker_build.outputs.digest }} + deploy: + runs-on: ubuntu-latest + needs: [docker-push] + if: github.event_name == 'push' + steps: + - name: Deploy to staging + if: github.ref == 'refs/heads/develop' + uses: appleboy/ssh-action@1a8b3784eaa665f677fa114edd5683bb6a6bfaa8 + with: + host: ${{ secrets.TACHI_HOST }} + username: tachi + key: ${{ secrets.TACHI_KEY }} + script: tachi-server-deploy -s + + - name: Deploy to live + if: github.ref == 'refs/heads/master' + uses: appleboy/ssh-action@1a8b3784eaa665f677fa114edd5683bb6a6bfaa8 + with: + host: ${{ secrets.TACHI_HOST }} + username: tachi + key: ${{ secrets.TACHI_KEY }} + script: tachi-server-deploy diff --git a/server/.gitignore b/server/.gitignore new file mode 100644 index 000000000..901f64f49 --- /dev/null +++ b/server/.gitignore @@ -0,0 +1,39 @@ +# General node stuffs +node_modules +js +logs +.pnpm-debug.log + +# Test stuffs +.nyc_output +coverage +.env +.setup_env +failed-tests.txt + +# Config files +conf.json5 +*.conf.json5 + +# HTTPS local certs +cert + +# Error Files +scripts/validate-database-errs/* + +# IDE Specific files +.vscode +.idea + +# Inline CDN +local-cdn +test-cdn + +# Weird Redis Dumps +*.rdb + +scripts/quick-insert/insert.ts +scripts/bpi-poyashi-data/output.json + +scripts/sync-database/tachi-database-seeds +scripts/arc-sync/cache.json \ No newline at end of file diff --git a/server/.taprc b/server/.taprc new file mode 100644 index 000000000..caaf45c5d --- /dev/null +++ b/server/.taprc @@ -0,0 +1,15 @@ +files: "src/test-utils/single-process-tap.ts" +test-env: [NODE_ENV=test, TCHIS_CONF_LOCATION=test.conf.json5] +# On a local machine, these tests run in under 2-3 minutes. +# On github actions, these tests can take an inordinate amount of time. +# The timeout is set to 16 minutes, which is ridiculous. +# Doesn't matter for real machines. +timeout: 960 +ts: true +before: "./src/test-utils/hack-setup.js" +check-coverage: true +branches: 60 +functions: 80 +lines: 80 +statements: 80 +reporter: terse diff --git a/server/@types/express-request-mock/index.d.ts b/server/@types/express-request-mock/index.d.ts new file mode 100644 index 000000000..ec66496fc --- /dev/null +++ b/server/@types/express-request-mock/index.d.ts @@ -0,0 +1,18 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +// this is a hack fix for express-request-mock's lack of typing. + +declare module "express-request-mock" { + import { Request, RequestHandler, Response } from "express"; + import { RequestOptions, MockResponse } from "node-mocks-http"; + + export default function ( + callback: RequestHandler, + options?: RequestOptions, + decorators?: Record + ): Promise<{ + req: Request; + res: MockResponse>>; + request: Request; + response: MockResponse>>; + }>; +} diff --git a/server/@types/express/index.d.ts b/server/@types/express/index.d.ts new file mode 100644 index 000000000..70b77a118 --- /dev/null +++ b/server/@types/express/index.d.ts @@ -0,0 +1,27 @@ +import type { SYMBOL_TACHI_API_AUTH, SYMBOL_TACHI_DATA } from "../../src/lib/constants/tachi"; +import type { TachiRequestData, TachiSessionData } from "../../src/utils/types"; +import type { Session, SessionData } from "express-session"; +import type { APITokenDocument } from "tachi-common"; + +// this only exists for testing context - it doesn't seem to work properly otherwise. +declare module "express-session" { + + // Inject additional properties on express-session + interface SessionData { + tachi: TachiSessionData; + } +} + +declare global { + namespace Express { + interface Request { + session: Partial & Session; + + [SYMBOL_TACHI_DATA]?: Partial; + + // even though this is technically *not* present on every request + // it's always assigned in the main router, so its functionally equivalent. + [SYMBOL_TACHI_API_AUTH]: APITokenDocument; + } + } +} diff --git a/server/@types/mongodb/index.d.ts b/server/@types/mongodb/index.d.ts new file mode 100644 index 000000000..b8524e703 --- /dev/null +++ b/server/@types/mongodb/index.d.ts @@ -0,0 +1,8 @@ +declare module "mongodb" { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + interface FindOneOptions { + projectID?: boolean; + } +} + +export {}; diff --git a/server/@types/why-is-node-running/index.d.ts b/server/@types/why-is-node-running/index.d.ts new file mode 100644 index 000000000..643eaba11 --- /dev/null +++ b/server/@types/why-is-node-running/index.d.ts @@ -0,0 +1,3 @@ +declare module "why-is-node-running" { + export default function log(): void; +} diff --git a/server/CHANGELOG.md b/server/CHANGELOG.md new file mode 100644 index 000000000..5822970bd --- /dev/null +++ b/server/CHANGELOG.md @@ -0,0 +1,168 @@ + + + +# Syntax + +| Type | Description | +| :----: | :---------------------------------------------------------------: | +| BUG | This was a bug fix. | +| ENH | This was an enhancement, An improvement to an existing behaviour. | +| FEAT | A new feature. | +| REWORK | An existing feature was reworked/changed. | + +Anything prefixed with `INTERNAL_` has absolutely no bearing on end users, and should +not generally be shown to end users. + +# Changelog + +# Current + +- [INTERNAL_REWORK] The entire codebase has been moved to a new eslint config, called Cadence. This is in preparation for an even larger refactor, but that likely won't happen for a while. + +***** + +- [FEAT] Add an endpoint for reverting imports. +- [FEAT] Rivals have been added. +- [FEAT] Goals have been added. +- [FEAT] Milestones have been added. +- [FEAT] Milestone Sets have been added. +- [FEAT] Batch Manual imports can now pass `classes`, to hand-declare certain classes, such as IIDX Dans, WACCA Stage Ups, or similar. +- [FEAT] Added support for an IIDX DP tierlist. +- [FEAT] Added support for exporting all of a users scores. +- [FEAT] Added support for reverting an import. +- [FEAT] Added support for retrieving a users imports, including by user-intent. +- [FEAT] Notifications can now be sent to users. +- [FEAT] Search implementation is massively improved (#713) +- [FEAT] BMS and PMS database changes are automatically backsynced to their parent seeds repository (#732) +- [FEAT] Support for the BMS AI Table. +- [INTERNAL_FEAT] Schemas have been moved into tachi-common and properly refactored. +- [INTERNAL_FEAT] Tachi-Server now has a migration engine, for applying database updates automagically. + +***** + +- [ENH] Force Static Import now disables itself after doing one static import. This is a safety feature to prevent you from spamming your profile with pb imports. +- [ENH] Milestones will automatically update and resync off of database-seed changes. +- [ENH] The beatoraja IR now says how many people have played a chart on its way to de-orphaning. +- [ENH] Server administrators can now delete other's scores. +- [ENH] Server administrators can now revert other's imports. +- [ENH] You can now set Jubility targets. +- [ENH] Folder Showcase Stats are now removed from a player in the case of the folder being removed. +- [ENH] ARC SDVX Support has been bumped to EXCEED GEAR. +- [ENH] The AI table now automatically updates itself. +- [INTERNAL_ENH] Server version info is now read from package.json, removing redundancy. +- [INTERNAL_ENH] The commit the server is running under is now exposed publically in version info. +# 2.1.18 + +- [BUG] BMS charts are moved into the correct folders after an automatic table synchronisation. + +# 2.1.17 + +- [BUG] `.59` is no longer interpreted as a decimal instead of a song title in SOLID STATE SQUAD imports. + +# 2.1.16 + +- [BUG] EXCEED GEAR scores can now be imported for real for real. + +# 2.1.15 + +- [BUG] EXCEED GEAR scores can now be imported for real. + +# 2.1.14 + +- [BUG] Fixed bug where folders/tables wouldn't sync automatically from the seeds, again. + +# 2.1.13 + +- [BUG] Fixed bug where folders/tables wouldn't sync automatically from the seeds. + +# 2.1.12 + +- [ENH] EXCEED GEAR scores can now be imported. + +# 2.1.11 + +- [ENH] The LR2Hook now saves courses. +- [ENH] The LR2Hook now saves gauge information. + +***** + +- [BUG] Having less than 20 valid scores for BPI is no longer advantageous due to regression to 0 profile BPI. +- [BUG] Timelines now prefer scores with timestamps if present, instead of preferring scores with null timestamps. + +# 2.1.10 + +- [BUG] Users can no longer permanently lock themselves out of an import by making an import while one is ongoing. + +# 2.1.9 + +- [ENH] Add an endpoint on UGPT/folder/:folderID/stats. This returns lamp and grade distributions for this ugpt:folder combo. +- [ENH] The UGPT Folder timeline endpoint now also returns the folder it worked on. + +***** + +- [BUG] OAuth2 tokens are now properly expired. +- [BUG] ForceStaticImport is no longer always on, even if off. + +# 2.1.4 + +- [BUG] IIDX, BMS and PMS scores can no longer get an invalid grade if they are exactly 77.7777...% + +# 2.1.3 + +- [INTERNAL_FEAT] Database seeds can now be automatically updated from a controlling server (#658, et. al.). + +***** + +- [ENH] Batch Manual can now update your game classes (Thanks, cg505). + +***** + +- [BUG] PMS charts now automatically insert themselves into the database instead of crashing. + +## 2.1.2 + +- [ENH] Properly capitalise some improperly capitalised error messages. + +## 2.1.1 + +- [INTERNAL_REWORK] Scripts are now included inside `src/` instead of outside it. + +## 2.1.0 + +- [FEAT] Added Jubeat Support. (#169) +- [FEAT] Added Pop'n Music Support. (#69) +- [FEAT] Added WACCA Support. (#598) +- [FEAT] Added support for Skye's pop'n hook. (#563) +- [FEAT] Added PMS Support. (#45) +- [FEAT] Users can now be banned. (#640) +- [FEAT] A new endpoint has been added for searching on BMS, PMS and USC chart hashes. (#630) +- [FEAT] A new endpoint has been added for seeing your recently used imports. (#642) +- [FEAT] Added support for the SDVX EXCEED GEAR Cloud hook. (#636) +- [INTERNAL_FEAT] Config is now served from the server instead of being cloned to the client. +- [INTERNAL_FEAT] Database seeds is now split for staging and production usage. + +***** + +- [REWORK] KtRating is no longer the default rating algorithm for IIDX. It has been removed, and the new default is ktLampRating. (#597) +- [REWORK] USC no longer applies 3-person Automatic Score Reification. Charts must now be manually whitelisted. Note that scores are still saved for charts that might not be in the database at that time. + +***** + +- [ENH] Added a CHANGELOG.md file. (#627) +- [ENH] BATCH-MANUAL now supports the `percent` field for jubeat only. (#620) +- [ENH] Add support for jubility. (#163) +- [ENH] Move BPI related data (Kaiden Average and BPI) to IIDX charts, instead of being in a separate collection. This lets us display more stats on the UI. (#599) +- [ENH] Add game specific indexes. (#606) +- [ENH] Ratings are nullable now. (#611) +- [ENH] Pre-HV Leggendaria songIDs are now properly resolved. (#487) +- [ENH] IIDX Imports are now significantly faster. +- [ENH] GITADORA now supports `naiveSkill` -- Although GITADORA support isn't actually on yet. (#624) +- [ENH] Emails now go to spam significantly less often, and are more likely to actually go to your mailbox. (#460) +- [INTERNAL_ENH] Most dependencies have been updated. + +***** + +- [BUG] UpdateClass now records the class as being recently achieved (i.e. display Chuuden -> Kaiden on the UI) (#589) +- [BUG] CHUNITHM's rating calculator no longer over-rewards SS rank scores. (#615) +- [BUG] Folder timelines now pull the oldest score for a given chart, rather than the newest. (#610) +- [BUG] Fixed bug where good plays on 3y3s long would get dropped due to a misunderstanding of a field. (#602) \ No newline at end of file diff --git a/server/Dockerfile b/server/Dockerfile new file mode 100644 index 000000000..8fa52f663 --- /dev/null +++ b/server/Dockerfile @@ -0,0 +1,13 @@ +# This dockerfile spins up an instance of tachi-server and *tachi-server* alone. +# It does not spin up mongodb instances or redis instances, which the server +# does need to boot. You should consider using docker-compose for this. + +FROM node:16 as build +WORKDIR /app +COPY --chown=node:node . /app +RUN npm install --silent -g pnpm@6 && groupmod -g 1003 node && chown node:node /app +USER node +RUN pnpm install --silent --frozen-lockfile && pnpm build && pnpm prune --silent --production && pnpm store prune --silent +HEALTHCHECK --interval=15s --timeout=5s CMD curl -f http://localhost:8080/api/v1/status || exit 1 +ENV NODE_PATH=js/ +CMD ["node", "js/main.js"] diff --git a/server/LICENSE b/server/LICENSE new file mode 100644 index 000000000..0ad25db4b --- /dev/null +++ b/server/LICENSE @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. diff --git a/server/README.md b/server/README.md new file mode 100644 index 000000000..12c4e2c27 --- /dev/null +++ b/server/README.md @@ -0,0 +1,36 @@ +# Tachi-Server + +[![codecov](https://codecov.io/gh/zkldi/tachi-server/branch/develop/graph/badge.svg?token=RAZSDSH1Y9)](https://codecov.io/gh/zkldi/tachi-server) + +Tachi-Server is the backend for Tachi. + +Tachi itself is a supercharged Rhythm Game Score Tracker, powering multiple games! + +## What's it do? + +- Hosts an express backend server. +- Opens a public API on `/api`. +- Supports various IR frameworks under `/ir` +- Powers a ridiculously overengineered score import framework. + +## Other Repos + +`tachi-server` is one part of the larger Tachi framework. Other repositories include: + +[tachi-client](https://github.com/tng-dev/tachi-client): A React frontend for an instance of `tachi-server`. + +[tachi-common](https://github.com/tng-dev/tachi-common): Common Types and Utilities for Tachi. (Stuff that's shared between the client and the server, basically.) + +[tachi-docs](https://github.com/tng-dev/tachi-docs): Documentation for Tachi. + +[tachi-import-scripts](https://github.com/tng-dev/tachi-import-scripts): A UI for converting local files into Batch-Manual format, then uploading to Tachi. + +[tachi-beatoraja-ir](https://github.com/tng-dev/tachi-beatoraja-ir): A beatoraja IR client for integrating with Tachi. + +[tachi-database-seeds](https://github.com/tng-dev/tachi-database-seeds): Backbone data for Tachi, such as song and chart information. Free to use. + +[tachi-bot](https://github.com/tng-dev/tachi-bot): A discord bot that integrates with the Tachi API. + +## Documentation + +[Over here!](https://tachi.rtfd.io) diff --git a/server/package.json b/server/package.json new file mode 100644 index 000000000..927dc7dc1 --- /dev/null +++ b/server/package.json @@ -0,0 +1,114 @@ +{ + "name": "tachi-server", + "version": "2.2.0-dev", + "description": "A score tracking server.", + "main": "js/index.js", + "private": true, + "scripts": { + "test": "tap", + "snap": "TAP_SNAPSHOT=1 tap", + "watchtest": "tap --watch", + "build": "tsc --project tsconfig.build.json", + "typecheck": "tsc --project tsconfig.build.json --noEmit", + "lint": "eslint ./src --ext .ts --fix", + "start": "tsc --project tsconfig.build.json && export NODE_PATH=js/ && node js/main.js", + "run": "export NODE_PATH=js/ && node js/main.js", + "runscoreworker": "export NODE_PATH=js/ && node js/lib/score-import/worker/worker.js" + }, + "author": "zkldi", + "license": "AGPL3", + "devDependencies": { + "@types/bcrypt": "5.0.0", + "@types/bcryptjs": "^2.4.2", + "@types/bunyan": "^1.8.8", + "@types/connect-redis": "0.0.18", + "@types/express": "4.17.13", + "@types/express-session": "1.17.4", + "@types/mkdirp": "1.0.2", + "@types/multer": "1.4.7", + "@types/node": "16.11.7", + "@types/node-fetch": "2.5.12", + "@types/nodemailer": "^6.4.4", + "@types/range-parser": "1.2.4", + "@types/rate-limit-redis": "1.7.4", + "@types/rimraf": "3.0.2", + "@types/safe-json-stringify": "1.1.2", + "@types/supertest": "2.0.11", + "@types/tap": "15.0.5", + "@types/uuid": "8.3.4", + "@typescript-eslint/eslint-plugin": "5.22.0", + "@typescript-eslint/parser": "5.22.0", + "eslint": "8.8.0", + "eslint-config-prettier": "8.3.0", + "eslint-plugin-cadence": "0.0.2", + "eslint-plugin-import": "2.26.0", + "eslint-plugin-prettier": "4.0.0", + "express-request-mock": "3.1.0", + "node-mocks-http": "1.11.0", + "prettier": "2.5.1", + "supertest": "6.2.2", + "tap": "15.1.6", + "why-is-node-running": "2.2.1" + }, + "dependencies": { + "@aws-sdk/client-s3": "3.49.0", + "@aws-sdk/signature-v4-crt": "3.49.0", + "@types/bson": "1.0.11", + "@types/semver": "^7.3.9", + "@valuabletouch/winston-seq": "1.3.0", + "bcryptjs": "2.4.3", + "bullmq": "1.68.4", + "bunyan": "1.8.15", + "commander": "9.0.0", + "connect-redis": "6.1.1", + "csv-parse": "5.0.4", + "deepmerge": "4.2.2", + "dotenv": "16.0.0", + "express": "4.17.2", + "express-async-errors": "3.1.1", + "express-rate-limit": "5.5.1", + "express-session": "1.17.2", + "fast-json-stable-hash": "1.0.3", + "fast-xml-parser": "4.0.2", + "helmet": "5.0.2", + "html-entities": "^2.3.2", + "json5": "2.2.0", + "mkdirp": "1.0.4", + "mongodb": "3.6.3", + "monk": "7.3.4", + "multer": "1.4.4", + "node-cache": "5.1.2", + "node-fetch": "2.6.7", + "node-html-parser": "^5.3.3", + "nodemailer": "6.7.2", + "prudence": "0.9.7", + "rate-limit-redis": "2.1.0", + "redis": "3.1.2", + "rg-stats": "^0.3.0", + "rimraf": "3.0.2", + "safe-json-stringify": "1.2.0", + "semver": "^7.3.7", + "seq-logging": "1.1.1", + "tachi-common": "0.14.15", + "ts-node": "10.4.0", + "tsconfig-paths": "3.12.0", + "typescript": "4.5.5", + "winston": "3.5.1", + "winston-daily-rotate-file": "4.6.0", + "winston-transport": "4.5.0" + }, + "nyc": { + "reporter": [ + "html", + "lcov" + ], + "all": true, + "include": [ + "src/*/!(test-utils)/**/*.ts" + ], + "exclude": [ + "src/**/*.test.ts", + "src/external/mongo/schemas.ts" + ] + } +} \ No newline at end of file diff --git a/server/pnpm-lock.yaml b/server/pnpm-lock.yaml new file mode 100644 index 000000000..9cf30974b --- /dev/null +++ b/server/pnpm-lock.yaml @@ -0,0 +1,6063 @@ +lockfileVersion: 5.3 + +specifiers: + '@aws-sdk/client-s3': 3.49.0 + '@aws-sdk/signature-v4-crt': 3.49.0 + '@types/bcrypt': 5.0.0 + '@types/bcryptjs': ^2.4.2 + '@types/bson': 1.0.11 + '@types/bunyan': ^1.8.8 + '@types/connect-redis': 0.0.18 + '@types/express': 4.17.13 + '@types/express-session': 1.17.4 + '@types/mkdirp': 1.0.2 + '@types/multer': 1.4.7 + '@types/node': 16.11.7 + '@types/node-fetch': 2.5.12 + '@types/nodemailer': ^6.4.4 + '@types/range-parser': 1.2.4 + '@types/rate-limit-redis': 1.7.4 + '@types/rimraf': 3.0.2 + '@types/safe-json-stringify': 1.1.2 + '@types/semver': ^7.3.9 + '@types/supertest': 2.0.11 + '@types/tap': 15.0.5 + '@types/uuid': 8.3.4 + '@typescript-eslint/eslint-plugin': 5.22.0 + '@typescript-eslint/parser': 5.22.0 + '@valuabletouch/winston-seq': 1.3.0 + bcryptjs: 2.4.3 + bullmq: 1.68.4 + bunyan: 1.8.15 + commander: 9.0.0 + connect-redis: 6.1.1 + csv-parse: 5.0.4 + deepmerge: 4.2.2 + dotenv: 16.0.0 + eslint: 8.8.0 + eslint-config-prettier: 8.3.0 + eslint-plugin-cadence: 0.0.2 + eslint-plugin-import: 2.26.0 + eslint-plugin-prettier: 4.0.0 + express: 4.17.2 + express-async-errors: 3.1.1 + express-rate-limit: 5.5.1 + express-request-mock: 3.1.0 + express-session: 1.17.2 + fast-json-stable-hash: 1.0.3 + fast-xml-parser: 4.0.2 + helmet: 5.0.2 + html-entities: ^2.3.2 + json5: 2.2.0 + mkdirp: 1.0.4 + mongodb: 3.6.3 + monk: 7.3.4 + multer: 1.4.4 + node-cache: 5.1.2 + node-fetch: 2.6.7 + node-html-parser: ^5.3.3 + node-mocks-http: 1.11.0 + nodemailer: 6.7.2 + prettier: 2.5.1 + prudence: 0.9.7 + rate-limit-redis: 2.1.0 + redis: 3.1.2 + rg-stats: ^0.3.0 + rimraf: 3.0.2 + safe-json-stringify: 1.2.0 + semver: ^7.3.7 + seq-logging: 1.1.1 + supertest: 6.2.2 + tachi-common: 0.14.15 + tap: 15.1.6 + ts-node: 10.4.0 + tsconfig-paths: 3.12.0 + typescript: 4.5.5 + why-is-node-running: 2.2.1 + winston: 3.5.1 + winston-daily-rotate-file: 4.6.0 + winston-transport: 4.5.0 + +dependencies: + '@aws-sdk/client-s3': 3.49.0_@aws-sdk+signature-v4-crt@3.49.0 + '@aws-sdk/signature-v4-crt': 3.49.0 + '@types/bson': 1.0.11 + '@types/semver': 7.3.9 + '@valuabletouch/winston-seq': 1.3.0 + bcryptjs: 2.4.3 + bullmq: 1.68.4 + bunyan: 1.8.15 + commander: 9.0.0 + connect-redis: 6.1.1 + csv-parse: 5.0.4 + deepmerge: 4.2.2 + dotenv: 16.0.0 + express: 4.17.2 + express-async-errors: 3.1.1_express@4.17.2 + express-rate-limit: 5.5.1 + express-session: 1.17.2 + fast-json-stable-hash: 1.0.3 + fast-xml-parser: 4.0.2 + helmet: 5.0.2 + html-entities: 2.3.2 + json5: 2.2.0 + mkdirp: 1.0.4 + mongodb: 3.6.3 + monk: 7.3.4 + multer: 1.4.4 + node-cache: 5.1.2 + node-fetch: 2.6.7 + node-html-parser: 5.3.3 + nodemailer: 6.7.2 + prudence: 0.9.7 + rate-limit-redis: 2.1.0 + redis: 3.1.2 + rg-stats: 0.3.0 + rimraf: 3.0.2 + safe-json-stringify: 1.2.0 + semver: 7.3.7 + seq-logging: 1.1.1 + tachi-common: 0.14.15 + ts-node: 10.4.0_2615db9039ce432b4abf2fc39ef336ec + tsconfig-paths: 3.12.0 + typescript: 4.5.5 + winston: 3.5.1 + winston-daily-rotate-file: 4.6.0_winston@3.5.1 + winston-transport: 4.5.0 + +devDependencies: + '@types/bcrypt': 5.0.0 + '@types/bcryptjs': 2.4.2 + '@types/bunyan': 1.8.8 + '@types/connect-redis': 0.0.18 + '@types/express': 4.17.13 + '@types/express-session': 1.17.4 + '@types/mkdirp': 1.0.2 + '@types/multer': 1.4.7 + '@types/node': 16.11.7 + '@types/node-fetch': 2.5.12 + '@types/nodemailer': 6.4.4 + '@types/range-parser': 1.2.4 + '@types/rate-limit-redis': 1.7.4 + '@types/rimraf': 3.0.2 + '@types/safe-json-stringify': 1.1.2 + '@types/supertest': 2.0.11 + '@types/tap': 15.0.5 + '@types/uuid': 8.3.4 + '@typescript-eslint/eslint-plugin': 5.22.0_355088e8e28124fa0cfd62cacce88724 + '@typescript-eslint/parser': 5.22.0_eslint@8.8.0+typescript@4.5.5 + eslint: 8.8.0 + eslint-config-prettier: 8.3.0_eslint@8.8.0 + eslint-plugin-cadence: 0.0.2_eslint@8.8.0 + eslint-plugin-import: 2.26.0_eslint@8.8.0 + eslint-plugin-prettier: 4.0.0_43197c8d12d1d439034cfcf65e1c48c2 + express-request-mock: 3.1.0 + node-mocks-http: 1.11.0 + prettier: 2.5.1 + supertest: 6.2.2 + tap: 15.1.6_ts-node@10.4.0+typescript@4.5.5 + why-is-node-running: 2.2.1 + +packages: + + /@ampproject/remapping/2.1.0: + resolution: {integrity: sha512-d5RysTlJ7hmw5Tw4UxgxcY3lkMe92n8sXCcuLPAyIAHK6j8DefDwtGnVVDgOnv+RnEosulDJ9NPKQL27bDId0g==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/trace-mapping': 0.3.2 + dev: true + + /@aws-crypto/crc32/2.0.0: + resolution: {integrity: sha512-TvE1r2CUueyXOuHdEigYjIZVesInd9KN+K/TFFNfkkxRThiNxO6i4ZqqAVMoEjAamZZ1AA8WXJkjCz7YShHPQA==} + dependencies: + '@aws-crypto/util': 2.0.1 + '@aws-sdk/types': 3.49.0 + tslib: 1.14.1 + dev: false + + /@aws-crypto/ie11-detection/2.0.0: + resolution: {integrity: sha512-pkVXf/dq6PITJ0jzYZ69VhL8VFOFoPZLZqtU/12SGnzYuJOOGNfF41q9GxdI1yqC8R13Rq3jOLKDFpUJFT5eTA==} + dependencies: + tslib: 1.14.1 + dev: false + + /@aws-crypto/sha256-browser/2.0.0: + resolution: {integrity: sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==} + dependencies: + '@aws-crypto/ie11-detection': 2.0.0 + '@aws-crypto/sha256-js': 2.0.0 + '@aws-crypto/supports-web-crypto': 2.0.0 + '@aws-crypto/util': 2.0.1 + '@aws-sdk/types': 3.49.0 + '@aws-sdk/util-locate-window': 3.49.0 + '@aws-sdk/util-utf8-browser': 3.49.0 + tslib: 1.14.1 + dev: false + + /@aws-crypto/sha256-js/2.0.0: + resolution: {integrity: sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==} + dependencies: + '@aws-crypto/util': 2.0.1 + '@aws-sdk/types': 3.49.0 + tslib: 1.14.1 + dev: false + + /@aws-crypto/supports-web-crypto/2.0.0: + resolution: {integrity: sha512-Ge7WQ3E0OC7FHYprsZV3h0QIcpdyJLvIeg+uTuHqRYm8D6qCFJoiC+edSzSyFiHtZf+NOQDJ1q46qxjtzIY2nA==} + dependencies: + tslib: 1.14.1 + dev: false + + /@aws-crypto/util/2.0.1: + resolution: {integrity: sha512-JJmFFwvbm08lULw4Nm5QOLg8+lAQeC8aCXK5xrtxntYzYXCGfHwUJ4Is3770Q7HmICsXthGQ+ZsDL7C2uH3yBQ==} + dependencies: + '@aws-sdk/types': 3.49.0 + '@aws-sdk/util-utf8-browser': 3.49.0 + tslib: 1.14.1 + dev: false + + /@aws-sdk/abort-controller/3.49.0: + resolution: {integrity: sha512-1qLlgOgg3yrtm+AJEP7yoIk90o6ns3Dia8S9DRjj29jY40446etH3v/tIbHPE+em69HLXl1K6e5KD6t7EDxnlg==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/chunked-blob-reader-native/3.49.0: + resolution: {integrity: sha512-ppjmDWyufMB41Hmq5Gixd2+/c4kk2IPKKWT9zI9spKOYbbL/vY3FmRq4beQ6n5kWOzDPxKZ6wv04yrMS9yBy1A==} + dependencies: + '@aws-sdk/util-base64-browser': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/chunked-blob-reader/3.49.0: + resolution: {integrity: sha512-UI1rK4aBgwsQ6dOQs5Im1cNSb3c/RH1wKjD49zcwWyxe8e96C5G2LcshhVH3onWY5NgqQgs/ffEsXziGcNXRIg==} + dependencies: + tslib: 2.3.1 + dev: false + + /@aws-sdk/client-s3/3.49.0_@aws-sdk+signature-v4-crt@3.49.0: + resolution: {integrity: sha512-LidddhZFxYb/jlEtHnbBpqVZmjgZNKY/jaZy3jRNcVhw8L0m1IYVigqgw5E6ta9/dma5EwLOA8Z21O/rCuDapw==} + engines: {node: '>=12.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 2.0.0 + '@aws-crypto/sha256-js': 2.0.0 + '@aws-sdk/client-sts': 3.49.0 + '@aws-sdk/config-resolver': 3.49.0 + '@aws-sdk/credential-provider-node': 3.49.0 + '@aws-sdk/eventstream-serde-browser': 3.49.0 + '@aws-sdk/eventstream-serde-config-resolver': 3.49.0 + '@aws-sdk/eventstream-serde-node': 3.49.0 + '@aws-sdk/fetch-http-handler': 3.49.0 + '@aws-sdk/hash-blob-browser': 3.49.0 + '@aws-sdk/hash-node': 3.49.0 + '@aws-sdk/hash-stream-node': 3.49.0 + '@aws-sdk/invalid-dependency': 3.49.0 + '@aws-sdk/md5-js': 3.49.0 + '@aws-sdk/middleware-apply-body-checksum': 3.49.0 + '@aws-sdk/middleware-bucket-endpoint': 3.49.0 + '@aws-sdk/middleware-content-length': 3.49.0 + '@aws-sdk/middleware-expect-continue': 3.49.0 + '@aws-sdk/middleware-host-header': 3.49.0 + '@aws-sdk/middleware-location-constraint': 3.49.0 + '@aws-sdk/middleware-logger': 3.49.0 + '@aws-sdk/middleware-retry': 3.49.0 + '@aws-sdk/middleware-sdk-s3': 3.49.0_@aws-sdk+signature-v4-crt@3.49.0 + '@aws-sdk/middleware-serde': 3.49.0 + '@aws-sdk/middleware-signing': 3.49.0 + '@aws-sdk/middleware-ssec': 3.49.0 + '@aws-sdk/middleware-stack': 3.49.0 + '@aws-sdk/middleware-user-agent': 3.49.0 + '@aws-sdk/node-config-provider': 3.49.0 + '@aws-sdk/node-http-handler': 3.49.0 + '@aws-sdk/protocol-http': 3.49.0 + '@aws-sdk/smithy-client': 3.49.0 + '@aws-sdk/types': 3.49.0 + '@aws-sdk/url-parser': 3.49.0 + '@aws-sdk/util-base64-browser': 3.49.0 + '@aws-sdk/util-base64-node': 3.49.0 + '@aws-sdk/util-body-length-browser': 3.49.0 + '@aws-sdk/util-body-length-node': 3.49.0 + '@aws-sdk/util-defaults-mode-browser': 3.49.0 + '@aws-sdk/util-defaults-mode-node': 3.49.0 + '@aws-sdk/util-user-agent-browser': 3.49.0 + '@aws-sdk/util-user-agent-node': 3.49.0 + '@aws-sdk/util-utf8-browser': 3.49.0 + '@aws-sdk/util-utf8-node': 3.49.0 + '@aws-sdk/util-waiter': 3.49.0 + '@aws-sdk/xml-builder': 3.49.0 + entities: 2.2.0 + fast-xml-parser: 3.19.0 + tslib: 2.3.1 + transitivePeerDependencies: + - '@aws-sdk/signature-v4-crt' + dev: false + + /@aws-sdk/client-sso/3.49.0: + resolution: {integrity: sha512-rY8uZo4DeNwwKf+Sx0TX/5ysXJKf+0SQSCTWD9S4a0AjtiaLc6hKCX+sJY43VDHvNYieKtXLDYHBdhhqZKwG+g==} + engines: {node: '>=12.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 2.0.0 + '@aws-crypto/sha256-js': 2.0.0 + '@aws-sdk/config-resolver': 3.49.0 + '@aws-sdk/fetch-http-handler': 3.49.0 + '@aws-sdk/hash-node': 3.49.0 + '@aws-sdk/invalid-dependency': 3.49.0 + '@aws-sdk/middleware-content-length': 3.49.0 + '@aws-sdk/middleware-host-header': 3.49.0 + '@aws-sdk/middleware-logger': 3.49.0 + '@aws-sdk/middleware-retry': 3.49.0 + '@aws-sdk/middleware-serde': 3.49.0 + '@aws-sdk/middleware-stack': 3.49.0 + '@aws-sdk/middleware-user-agent': 3.49.0 + '@aws-sdk/node-config-provider': 3.49.0 + '@aws-sdk/node-http-handler': 3.49.0 + '@aws-sdk/protocol-http': 3.49.0 + '@aws-sdk/smithy-client': 3.49.0 + '@aws-sdk/types': 3.49.0 + '@aws-sdk/url-parser': 3.49.0 + '@aws-sdk/util-base64-browser': 3.49.0 + '@aws-sdk/util-base64-node': 3.49.0 + '@aws-sdk/util-body-length-browser': 3.49.0 + '@aws-sdk/util-body-length-node': 3.49.0 + '@aws-sdk/util-defaults-mode-browser': 3.49.0 + '@aws-sdk/util-defaults-mode-node': 3.49.0 + '@aws-sdk/util-user-agent-browser': 3.49.0 + '@aws-sdk/util-user-agent-node': 3.49.0 + '@aws-sdk/util-utf8-browser': 3.49.0 + '@aws-sdk/util-utf8-node': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/client-sts/3.49.0: + resolution: {integrity: sha512-vqHNCuQriMZV1aeXc6cza5S9A/2zgfNiTelsmbDQdlCiZQ+YL3nTp1WFeYHap4ffYlLOAD0xv0yz/+naV4oHtQ==} + engines: {node: '>=12.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 2.0.0 + '@aws-crypto/sha256-js': 2.0.0 + '@aws-sdk/config-resolver': 3.49.0 + '@aws-sdk/credential-provider-node': 3.49.0 + '@aws-sdk/fetch-http-handler': 3.49.0 + '@aws-sdk/hash-node': 3.49.0 + '@aws-sdk/invalid-dependency': 3.49.0 + '@aws-sdk/middleware-content-length': 3.49.0 + '@aws-sdk/middleware-host-header': 3.49.0 + '@aws-sdk/middleware-logger': 3.49.0 + '@aws-sdk/middleware-retry': 3.49.0 + '@aws-sdk/middleware-sdk-sts': 3.49.0 + '@aws-sdk/middleware-serde': 3.49.0 + '@aws-sdk/middleware-signing': 3.49.0 + '@aws-sdk/middleware-stack': 3.49.0 + '@aws-sdk/middleware-user-agent': 3.49.0 + '@aws-sdk/node-config-provider': 3.49.0 + '@aws-sdk/node-http-handler': 3.49.0 + '@aws-sdk/protocol-http': 3.49.0 + '@aws-sdk/smithy-client': 3.49.0 + '@aws-sdk/types': 3.49.0 + '@aws-sdk/url-parser': 3.49.0 + '@aws-sdk/util-base64-browser': 3.49.0 + '@aws-sdk/util-base64-node': 3.49.0 + '@aws-sdk/util-body-length-browser': 3.49.0 + '@aws-sdk/util-body-length-node': 3.49.0 + '@aws-sdk/util-defaults-mode-browser': 3.49.0 + '@aws-sdk/util-defaults-mode-node': 3.49.0 + '@aws-sdk/util-user-agent-browser': 3.49.0 + '@aws-sdk/util-user-agent-node': 3.49.0 + '@aws-sdk/util-utf8-browser': 3.49.0 + '@aws-sdk/util-utf8-node': 3.49.0 + entities: 2.2.0 + fast-xml-parser: 3.19.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/config-resolver/3.49.0: + resolution: {integrity: sha512-4kYV+89E9MG+/wfPY3dmwqzquQxNd951jdfjQbSg1ii68X/owqmWda4bLulV0Z4iGUz9TXkbaJCWyRyjsFNe4w==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/signature-v4': 3.49.0 + '@aws-sdk/types': 3.49.0 + '@aws-sdk/util-config-provider': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/credential-provider-env/3.49.0: + resolution: {integrity: sha512-mx82N0un6URmmiM11X3ObK3ka5R99lEFdhwPc0jqsCPnXRVioUtK5DXkJ8FmgixbDcs5Pdij9A8MINSeBrG0bQ==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/property-provider': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/credential-provider-imds/3.49.0: + resolution: {integrity: sha512-d/H5VgmRiIupQdPg9QcX16kdvuiS/YytRYCQOncVstNXHvYZM9EgeIXJLXyPNaD2W8SS7CBf4KKWYJn3V+9AZw==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/node-config-provider': 3.49.0 + '@aws-sdk/property-provider': 3.49.0 + '@aws-sdk/types': 3.49.0 + '@aws-sdk/url-parser': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/credential-provider-ini/3.49.0: + resolution: {integrity: sha512-QlWfxDwZVyX36pghgkKGBR+fBmX/mjmvc0kzxUmqGhUYAkDQ0YKR11ybpGBrxBKT4lIOE+9z6Tu4nLjp3OlJIg==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/credential-provider-env': 3.49.0 + '@aws-sdk/credential-provider-imds': 3.49.0 + '@aws-sdk/credential-provider-sso': 3.49.0 + '@aws-sdk/credential-provider-web-identity': 3.49.0 + '@aws-sdk/property-provider': 3.49.0 + '@aws-sdk/shared-ini-file-loader': 3.49.0 + '@aws-sdk/types': 3.49.0 + '@aws-sdk/util-credentials': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/credential-provider-node/3.49.0: + resolution: {integrity: sha512-DonoqOZHcqfNuwMG1fGJpHJTqf1QinihRKzlOoUWzmseqBCiuagGouSN7nOQgee5BrzF0X9/nao9lnPc4on2TA==} + engines: {node: '>=12.0.0'} + dependencies: + '@aws-sdk/credential-provider-env': 3.49.0 + '@aws-sdk/credential-provider-imds': 3.49.0 + '@aws-sdk/credential-provider-ini': 3.49.0 + '@aws-sdk/credential-provider-process': 3.49.0 + '@aws-sdk/credential-provider-sso': 3.49.0 + '@aws-sdk/credential-provider-web-identity': 3.49.0 + '@aws-sdk/property-provider': 3.49.0 + '@aws-sdk/shared-ini-file-loader': 3.49.0 + '@aws-sdk/types': 3.49.0 + '@aws-sdk/util-credentials': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/credential-provider-process/3.49.0: + resolution: {integrity: sha512-Zn7CJHoXln8O+yBKdTBvcwCz6GDh48s7HtIsqjoOrqoL0oZWhgy8gn8S9KQ+HIqpiO8N0lMMteXuPl5fbC2zGg==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/property-provider': 3.49.0 + '@aws-sdk/shared-ini-file-loader': 3.49.0 + '@aws-sdk/types': 3.49.0 + '@aws-sdk/util-credentials': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/credential-provider-sso/3.49.0: + resolution: {integrity: sha512-sFTqbQOyGR88K10Y1OgauEPKDmEibxtAkLSFjkJ6Yw/Jyp+lftchoa+TxRrNvDY1zjZX+XauVI6UmD5Pi4E1NQ==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/client-sso': 3.49.0 + '@aws-sdk/property-provider': 3.49.0 + '@aws-sdk/shared-ini-file-loader': 3.49.0 + '@aws-sdk/types': 3.49.0 + '@aws-sdk/util-credentials': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/credential-provider-web-identity/3.49.0: + resolution: {integrity: sha512-mlIHUTn04unB0HEwEO12YIY5848uE9B+gYI+YwlNZ70KXGs3lj2horOgPgbxeIfulCVw0aRTKChUg2ActTosYg==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/property-provider': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/eventstream-marshaller/3.49.0: + resolution: {integrity: sha512-EDE7aim4c/G9vCWE+jaHQNWHzrHgF1WlUEok1tgLj+fbvqKduDK/1SNleMZbMLC7tFRARN+KKFB0Ctegyp8j4w==} + dependencies: + '@aws-crypto/crc32': 2.0.0 + '@aws-sdk/types': 3.49.0 + '@aws-sdk/util-hex-encoding': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/eventstream-serde-browser/3.49.0: + resolution: {integrity: sha512-XHDHVGmxzEEXzHESzXYiycE3CxHLedBQljQPCIXKJkUhmwf84oUDB/cRsgWoOwOpcRQQBZGUPTPOOOHVWQOlZA==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/eventstream-marshaller': 3.49.0 + '@aws-sdk/eventstream-serde-universal': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/eventstream-serde-config-resolver/3.49.0: + resolution: {integrity: sha512-7xCaQGfZD0xLpWVUsGEQ2PDAkkfnl1gc10h4jLm0xtEGzr0x3B3fLrmDiZTz+wBxRRuCqjiaBaNuPT+HocGYmA==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/eventstream-serde-node/3.49.0: + resolution: {integrity: sha512-hRZa1QSCtSve3vSgOxtGRn7nlOJFGzaov6hDj+bFEWY6ukHWtG9lbit6ECALcud4BjxvaJet37kqToxnpDFMuQ==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/eventstream-marshaller': 3.49.0 + '@aws-sdk/eventstream-serde-universal': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/eventstream-serde-universal/3.49.0: + resolution: {integrity: sha512-oW/k0QdJTEwRLbdWpakIKABYKEOokBaPd+VSOYmCNceYPzv74RTDqlzTTRVIGj51Jp+Bm1af3l0k1cpjPDnWfQ==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/eventstream-marshaller': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/fetch-http-handler/3.49.0: + resolution: {integrity: sha512-ougJRsvoIGP0qTgHSGVF1B5Ui95Y/SP5CpY/y6B8vMGrwJ+MmvcCUE3Qd2UJGjO1PfUneno8PHK4u5x7hc2ceA==} + dependencies: + '@aws-sdk/protocol-http': 3.49.0 + '@aws-sdk/querystring-builder': 3.49.0 + '@aws-sdk/types': 3.49.0 + '@aws-sdk/util-base64-browser': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/hash-blob-browser/3.49.0: + resolution: {integrity: sha512-DLLP8dY0eYAXefJJzAYO1QxHW567MN4D2KDxyOKkWOVR2S6ZLgtJb24MhT9RpV3AOM/x686HOv5V4r1rPbuHhw==} + dependencies: + '@aws-sdk/chunked-blob-reader': 3.49.0 + '@aws-sdk/chunked-blob-reader-native': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/hash-node/3.49.0: + resolution: {integrity: sha512-nRNCmSkcJOzWzKU6NihlKW/6H1HxaaBjUe9ETnwWIgwPC7NZ6IWtri48Cf7Itvveu3dln3ZM2WSXN20TlQpuBw==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/types': 3.49.0 + '@aws-sdk/util-buffer-from': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/hash-stream-node/3.49.0: + resolution: {integrity: sha512-ZsqGEs3yp5YH5vk1LhpIiSAzNzXHW89DvKn+BSSiDPdufPdOjLks8wKIVhAUfADcJ+S/AATTAt4SoA4mD+IHvQ==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/invalid-dependency/3.49.0: + resolution: {integrity: sha512-MXf/9l/Oiy+KGKDvInv0RT4rtS+iNftYRTlTmUn3RR74Kz8Fvw+O0RcUjzSrNn5SpjCf/UsGrF+KBTm2gFYQCA==} + dependencies: + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/is-array-buffer/3.49.0: + resolution: {integrity: sha512-tLba+xvlm1+aAnv+bGieVZo8DCENbqfS9kLf/hp+9hrUSiNAsxs9Pqi34JBpMKGn6h9qORp6f8ClRS+gK8yvWg==} + engines: {node: '>= 12.0.0'} + dependencies: + tslib: 2.3.1 + dev: false + + /@aws-sdk/md5-js/3.49.0: + resolution: {integrity: sha512-CJJxl7FfTNseaw3RAPmihpys1cfbCyg7sLTev6PncqBhoVl+5AWOoITeZj3azE3CKevY2V7PEdmHjzKRNLmcdA==} + dependencies: + '@aws-sdk/types': 3.49.0 + '@aws-sdk/util-utf8-browser': 3.49.0 + '@aws-sdk/util-utf8-node': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/middleware-apply-body-checksum/3.49.0: + resolution: {integrity: sha512-uNUETgYrOLCZNad+vVsTblTqzuaCVCt67o4VawsziR5QuOCxX/27Ni3x1VNtpI5pUhD8FiT/9/lBpcMTvCSIgA==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/is-array-buffer': 3.49.0 + '@aws-sdk/protocol-http': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/middleware-bucket-endpoint/3.49.0: + resolution: {integrity: sha512-6GK6BXNRRe+JpBUomW1Wrj7HGU3gdl9XvrQekj772kmiBLx/40ntAxZnhjFjkNKLy7IM+he8yygnEUhbV/dEmg==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/protocol-http': 3.49.0 + '@aws-sdk/types': 3.49.0 + '@aws-sdk/util-arn-parser': 3.49.0 + '@aws-sdk/util-config-provider': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/middleware-content-length/3.49.0: + resolution: {integrity: sha512-7IaghPT7X92gNoyn9LzZj4V5YpGPDCYQTWhpzZoIlw88vOR4I0zKg7jwYeElRoNfRCI4OYhF26ajKnNHzNMlbA==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/protocol-http': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/middleware-expect-continue/3.49.0: + resolution: {integrity: sha512-i0FMywhvCdn3+gPuUgtM0ZRd3xBHozropbhvs3fu9Y6g1/YiOgTYuVVqHtObvktVWCV72i8fTvn8TEkyFHRDYQ==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/middleware-header-default': 3.49.0 + '@aws-sdk/protocol-http': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/middleware-header-default/3.49.0: + resolution: {integrity: sha512-3xRNPwFMWQqgGKgxDWMgQXNdIr4EVq5ltrLqwsZopXKZli9/fidOrDN9z9j4AW9YAXyEAYB0fscKT7LcsvxFZg==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/protocol-http': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/middleware-host-header/3.49.0: + resolution: {integrity: sha512-5l1ILqHs2mGqNvJb5mRe7hHbTQOO292jghE/LItpNx2tiu7BBGzP1bslHcyEVYoRBX9Oqyfou7s9Ww2yBWtImQ==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/protocol-http': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/middleware-location-constraint/3.49.0: + resolution: {integrity: sha512-PUQr06/9XQP0JfUY6nFvK5HHcO4aQbzn/iKvB8dl471IXcKVLnJdB2OuIjUUW6fQbKX1K4xcDEifWTSMIECIlg==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/middleware-logger/3.49.0: + resolution: {integrity: sha512-OicQ0w5sCJXgpeZ+t3XeJA2R/09YfuSe53Ma6aWZm/2/r8vG/SW0yAnwFvwJeCm3DKtBxU1qO2eWhFqvJuWRVA==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/middleware-retry/3.49.0: + resolution: {integrity: sha512-RSS4R4PNULHA1b1eYR50YPPfOV2jRuXgLNLVVYMEzzC23MabKEXJYPge+pI1Q9rRrbahVj7aQcOTSpT0MsiEeA==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/protocol-http': 3.49.0 + '@aws-sdk/service-error-classification': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + uuid: 8.3.2 + dev: false + + /@aws-sdk/middleware-sdk-s3/3.49.0_@aws-sdk+signature-v4-crt@3.49.0: + resolution: {integrity: sha512-PeQHJsecGCnXILgOPLgcoZXCa4+2bctus2krhN08ES5oh1obeQB+EOC4v1sWV0DdfyTHEZMDSVLS9qTFHl9IUA==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@aws-sdk/signature-v4-crt': ^3.31.0 + dependencies: + '@aws-sdk/protocol-http': 3.49.0 + '@aws-sdk/signature-v4': 3.49.0 + '@aws-sdk/signature-v4-crt': 3.49.0 + '@aws-sdk/types': 3.49.0 + '@aws-sdk/util-arn-parser': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/middleware-sdk-sts/3.49.0: + resolution: {integrity: sha512-ZnLV37HKpMdK2x+69ZNqAqKr8rmweyMc//yZQRLtUKpKyQ/XSr0/KUBZXkgIny27aaBsrkplA5g1X2GrClRRZA==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/middleware-signing': 3.49.0 + '@aws-sdk/property-provider': 3.49.0 + '@aws-sdk/protocol-http': 3.49.0 + '@aws-sdk/signature-v4': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/middleware-serde/3.49.0: + resolution: {integrity: sha512-bMAlwR19uFUZ4om+U+/vnPvkcyYw83HdtERF9wrjAqNUnqYsifA0xn4R7Sakg6CW8V0h82dsST6zVfmHd+E2VA==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/middleware-signing/3.49.0: + resolution: {integrity: sha512-9p0xZjxV9zEQdOpA4MtzmblPRUgchevg5Q70E23yAU/Wjwzwf/6J93cUxdcS8HnmOIl0zQjJaYMTcBsvgJF1eg==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/property-provider': 3.49.0 + '@aws-sdk/protocol-http': 3.49.0 + '@aws-sdk/signature-v4': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/middleware-ssec/3.49.0: + resolution: {integrity: sha512-S7hfgOCYoqPe4YegSnwhQJ0KBVEhP6dIp7yLa1/yCJkqW2KSnLTvg6ao9vEFf/lhctZ72YZjm8v/2siXWCnDEA==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/middleware-stack/3.49.0: + resolution: {integrity: sha512-OZxs2P7EH58gkvkTI7ESlUPGam0TkE0ZxOX35KjCOcYMuWvTMshKBzHRLX64nz3DYdaHSIGHgB1v8LKELZjltw==} + engines: {node: '>= 12.0.0'} + dependencies: + tslib: 2.3.1 + dev: false + + /@aws-sdk/middleware-user-agent/3.49.0: + resolution: {integrity: sha512-uAcKgafZ12L8UnyeQGgSFtwOKUfiBWDLt4P2fEHvZRz/HAIcK4pu1PXPArjwteinhUiCDNFfPw8hAPvstMoG6w==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/protocol-http': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/node-config-provider/3.49.0: + resolution: {integrity: sha512-OCn5c6M/RJDEO80Q+Iy4ADSYgqd/uyEsvp+7lU4di4bMND9kYT4JO2ky2SWjIuARGq/mhMOhaN2DO9MbcqV20g==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/property-provider': 3.49.0 + '@aws-sdk/shared-ini-file-loader': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/node-http-handler/3.49.0: + resolution: {integrity: sha512-t7D9hoSigBihC9RRgYrkzgSER0fYzZe7192pJAaP6jk13ZOpccQRfXZoKge/cm42aHJsTy8DdQdGtLg7wLTp0g==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/abort-controller': 3.49.0 + '@aws-sdk/protocol-http': 3.49.0 + '@aws-sdk/querystring-builder': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/property-provider/3.49.0: + resolution: {integrity: sha512-6D48YpriOUpniezVuRI8J+MG+vgwb5C1SzBdgN4+S6DqbsEZy+kdEubXdoMICEd+Z8h7lH3p5zMr6po0icGCfA==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/protocol-http/3.49.0: + resolution: {integrity: sha512-lb9CO7/vm26v4UwveWb4jSapqWWP/p0b9SuHpRExq+yMuvHqwxcoGrxmvS7FsanWbepRF1895dxU/Ar6/4pviA==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/querystring-builder/3.49.0: + resolution: {integrity: sha512-+NlgIYihVyUetZcrF1ADY0eg8WW1/ETD5bzTwguTiKduXVHmavSakXK1jJF5vg05mefljToZXjQnOaEs9+K9LA==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/types': 3.49.0 + '@aws-sdk/util-uri-escape': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/querystring-parser/3.49.0: + resolution: {integrity: sha512-4bSCHI5A8wi+JjsD1gAhMuGRGjDmlw6MoMWUiv4R2J8Ow/9mV8biKRo2ZytUPiSSu4G5JQ7mEkqFsm/VgkstDQ==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/service-error-classification/3.49.0: + resolution: {integrity: sha512-iVmf7RcrIsM/We5ip8fe14RzEpSLF5eN8oqhCMftEdmMVnOYMd/9x0f1w69fbyBJNIIpyREqM8eAKz5OWQn5/g==} + engines: {node: '>= 12.0.0'} + dev: false + + /@aws-sdk/shared-ini-file-loader/3.49.0: + resolution: {integrity: sha512-TcgKU6U/3JZpenRFhGSy5R5QsBWkYoeawTK1rTK6deu3UbxVwtOkietbfwP3kIwKZ4hz6OkNeHcOJtXX/InZKw==} + engines: {node: '>= 12.0.0'} + dependencies: + tslib: 2.3.1 + dev: false + + /@aws-sdk/signature-v4-crt/3.49.0: + resolution: {integrity: sha512-jTHX6kNBV4ulj3y7klUznsmb8SsSz1IcDoorYftuVcGZsXtRsd96XSsPA9NSWHWtAj+1O7iQ28u4nRV7d04WdA==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/is-array-buffer': 3.49.0 + '@aws-sdk/querystring-parser': 3.49.0 + '@aws-sdk/signature-v4': 3.49.0 + '@aws-sdk/util-hex-encoding': 3.49.0 + '@aws-sdk/util-uri-escape': 3.49.0 + aws-crt: 1.10.6 + tslib: 2.3.1 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + + /@aws-sdk/signature-v4/3.49.0: + resolution: {integrity: sha512-mQSGclWmv/9/MsgthBuKMHN6nkkhGTLXspkhqJ9xSUhjhoaHQVwMoJc39PowJGbYFn1AtCvHAqJtFXTGsMRwPA==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/is-array-buffer': 3.49.0 + '@aws-sdk/types': 3.49.0 + '@aws-sdk/util-hex-encoding': 3.49.0 + '@aws-sdk/util-uri-escape': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/smithy-client/3.49.0: + resolution: {integrity: sha512-ANh9SlEvuru1DcalVoQ7K6wSCYuw4jyeTsIDsJSa13ckrmXAg+ql9vq61ELAXTSNVmuAISuuPjbVaWvOYCtdCQ==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/middleware-stack': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/types/3.49.0: + resolution: {integrity: sha512-8bCqEpquTlPN6xkjaJ+s+RoEFIu5r4G8oXOsQ5HYBvBdpx62HnCqzHLFNHycL2b8sE+VysQgNvmdQYR98vdMGQ==} + engines: {node: '>= 12.0.0'} + dev: false + + /@aws-sdk/url-parser/3.49.0: + resolution: {integrity: sha512-l5td6eu+sIjzNsZYVGr7Mz6vssf2j/8/QrrTYF76J2R6OoceCsKdyJgJPP/tXBdcp4HUZDdVcMqtWRbxGC4izQ==} + dependencies: + '@aws-sdk/querystring-parser': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/util-arn-parser/3.49.0: + resolution: {integrity: sha512-mAF4lzxqMUFMQAf+NQSxW7jC5hYXNM7mPItBFs/yI3F25MXBw88Q+wAof7iIyRnRcpJvgZ3I7P8vJriAwrSbFg==} + engines: {node: '>= 12.0.0'} + dependencies: + tslib: 2.3.1 + dev: false + + /@aws-sdk/util-base64-browser/3.49.0: + resolution: {integrity: sha512-HFXJbsJC6AfrnO9M8KuFDo4ihvLbCbCFCfpWy0Gs4t8kTcvGqH8fIpfVsQKAtFHMmb8fen2LduOk+NNSA7srYw==} + dependencies: + tslib: 2.3.1 + dev: false + + /@aws-sdk/util-base64-node/3.49.0: + resolution: {integrity: sha512-xFAzOLZJOEZipG3KVLjB5z1g5PJSi6cmZOGWg2NC2/H5N0/Z+e5ObnIH8mpfO1d6kWchUuo3qJ6fTOvg/ynw7A==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/util-buffer-from': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/util-body-length-browser/3.49.0: + resolution: {integrity: sha512-4a9Bw33JGKefaZDORlosQRMKxJGEYEiDD5kgNvwIv+KRl5yj2unePia6aFWMqXTWqidOb9WVlqc0Lh73ei5pTg==} + dependencies: + tslib: 2.3.1 + dev: false + + /@aws-sdk/util-body-length-node/3.49.0: + resolution: {integrity: sha512-ME5Sc8jo9BzToUjWskQKZM/NqN9PpwRDTOSH6EISDBUiH5bhWfY8MLkZqIN2UZz/XOiV3yOeWAU+fMYNnGdAQQ==} + engines: {node: '>= 12.0.0'} + dependencies: + tslib: 2.3.1 + dev: false + + /@aws-sdk/util-buffer-from/3.49.0: + resolution: {integrity: sha512-8JbIPYn91f+16QpDk000PdIBlBZu8/SoL1nF2fpAJ+M98jXpKUws3oiCztJ2FPIKRe/3ikKuZM4HxWrDyJa40Q==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/is-array-buffer': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/util-config-provider/3.49.0: + resolution: {integrity: sha512-oVGT9q9UIGdv9Cra4B51QNciWKYQXTlfh8oD2FgLp91NbGTIkQLvK7Pah4TbBoa5+0u/obBI07UwCVn7wphWBQ==} + engines: {node: '>= 12.0.0'} + dependencies: + tslib: 2.3.1 + dev: false + + /@aws-sdk/util-credentials/3.49.0: + resolution: {integrity: sha512-RzbKeuylb56m0zPuLGl5/TkN07+c4PKhZu3hikpsvN8n8n7aFHWPUus63QEGgVaUMCZD0QV6HqJfsCVVFF7UIg==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/shared-ini-file-loader': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/util-defaults-mode-browser/3.49.0: + resolution: {integrity: sha512-MNOvFET5TNBHgvsmfcLuxVDDUV0OIjE1lxrdbXWol7bMgLc2uL3/QOXWKCOUzcFCqTOnWCvbnwkOjs3f7Dpzmw==} + engines: {node: '>= 10.0.0'} + dependencies: + '@aws-sdk/property-provider': 3.49.0 + '@aws-sdk/types': 3.49.0 + bowser: 2.11.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/util-defaults-mode-node/3.49.0: + resolution: {integrity: sha512-bd5/ZJlNIX25n83mvcCh9eYQiDdf6gLHNH6ZftA/EbFfkE0o/qHrFhBhiB9HBY9ZoHhtoqrJNv5W9qKFHx1EIA==} + engines: {node: '>= 10.0.0'} + dependencies: + '@aws-sdk/config-resolver': 3.49.0 + '@aws-sdk/credential-provider-imds': 3.49.0 + '@aws-sdk/node-config-provider': 3.49.0 + '@aws-sdk/property-provider': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/util-hex-encoding/3.49.0: + resolution: {integrity: sha512-ZbPu8Dd3Qm0BMP71FWUH7KPpZA/6izfkDlxbvHxtHdW7XYZALuJ0cVRpWGIY2fCSuA9X8Jfn60KMyjuSAuzM1w==} + engines: {node: '>= 12.0.0'} + dependencies: + tslib: 2.3.1 + dev: false + + /@aws-sdk/util-locate-window/3.49.0: + resolution: {integrity: sha512-ryw+t+quF1raaK0nXSplMiCVnahNLNgNDijZCFFkddGTMaCy+L4VRLYyNms3bgwt3G0BmVn9f3uyDWRSkn5sSg==} + engines: {node: '>= 12.0.0'} + dependencies: + tslib: 2.3.1 + dev: false + + /@aws-sdk/util-uri-escape/3.49.0: + resolution: {integrity: sha512-NH7iQUYvijYZEOzZkF/QQrp8kBOA9H0Z89hR/63FDCjr1M0Cdcs1bLaFO0a0qbW9NQtoYNsMBMk7pTveDrAzTw==} + engines: {node: '>= 12.0.0'} + dependencies: + tslib: 2.3.1 + dev: false + + /@aws-sdk/util-user-agent-browser/3.49.0: + resolution: {integrity: sha512-RR4E6WlDSu9SivPjx/Jddo87PeVg6dhRL0XGdDBpew7i8bfwqCvxQydkbWIetxucLrt9zII9QnLDQUPBue1xUw==} + dependencies: + '@aws-sdk/types': 3.49.0 + bowser: 2.11.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/util-user-agent-node/3.49.0: + resolution: {integrity: sha512-ixUkF6kcDfsWO0kivyOKAnBITJm7InGa04ALbgAfuuE7RU1cVkXVMFIn5vux7QkziK7+JwozM9SNPIwNukElDw==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/node-config-provider': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/util-utf8-browser/3.49.0: + resolution: {integrity: sha512-u9ZgAiTWX9yZFQ/ptlnVpYJ/rXF7aE2Wagar1IjhZrnxXbpVJvcX1EeRayxI1P5AAp2y2fiEKHZzX9ugTwOcEg==} + dependencies: + tslib: 2.3.1 + dev: false + + /@aws-sdk/util-utf8-node/3.49.0: + resolution: {integrity: sha512-QTF5b5OT2y6xsQl8sDiiXqg2n/VtgqFA+tP3WMooOSFd/ZFBbT6HoiSHXHMeTjpB/L9ZT+eUaCoBz8Jq09lBDg==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/util-buffer-from': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/util-waiter/3.49.0: + resolution: {integrity: sha512-eKrKOLcIhjA/MyjIfwgLL6ZUfGYf6VxBXryuRf8CmJKAo71ZO6ipAsy1X3uYrfwQQBMKV4VZu48BJx5PUBM7GA==} + engines: {node: '>= 12.0.0'} + dependencies: + '@aws-sdk/abort-controller': 3.49.0 + '@aws-sdk/types': 3.49.0 + tslib: 2.3.1 + dev: false + + /@aws-sdk/xml-builder/3.49.0: + resolution: {integrity: sha512-eU5sIZRWq8pNmw++RfpFI8396UtDW8JxYLcKfJLGQC/qDhwCo+sNPKydXFmDrXTIt/khs3K0qx/vZ5V76irc2Q==} + engines: {node: '>= 12.0.0'} + dependencies: + tslib: 2.3.1 + dev: false + + /@babel/code-frame/7.16.7: + resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.16.10 + dev: true + + /@babel/compat-data/7.17.0: + resolution: {integrity: sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core/7.17.0: + resolution: {integrity: sha512-x/5Ea+RO5MvF9ize5DeVICJoVrNv0Mi2RnIABrZEKYvPEpldXwauPkgvYA17cKa6WpU3LoYvYbuEMFtSNFsarA==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.1.0 + '@babel/code-frame': 7.16.7 + '@babel/generator': 7.17.0 + '@babel/helper-compilation-targets': 7.16.7_@babel+core@7.17.0 + '@babel/helper-module-transforms': 7.16.7 + '@babel/helpers': 7.17.0 + '@babel/parser': 7.17.0 + '@babel/template': 7.16.7 + '@babel/traverse': 7.17.0 + '@babel/types': 7.17.0 + convert-source-map: 1.8.0 + debug: 4.3.3 + gensync: 1.0.0-beta.2 + json5: 2.2.0 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/generator/7.17.0: + resolution: {integrity: sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.17.0 + jsesc: 2.5.2 + source-map: 0.5.7 + dev: true + + /@babel/helper-compilation-targets/7.16.7_@babel+core@7.17.0: + resolution: {integrity: sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.17.0 + '@babel/core': 7.17.0 + '@babel/helper-validator-option': 7.16.7 + browserslist: 4.19.1 + semver: 6.3.0 + dev: true + + /@babel/helper-environment-visitor/7.16.7: + resolution: {integrity: sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.17.0 + dev: true + + /@babel/helper-function-name/7.16.7: + resolution: {integrity: sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-get-function-arity': 7.16.7 + '@babel/template': 7.16.7 + '@babel/types': 7.17.0 + dev: true + + /@babel/helper-get-function-arity/7.16.7: + resolution: {integrity: sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.17.0 + dev: true + + /@babel/helper-hoist-variables/7.16.7: + resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.17.0 + dev: true + + /@babel/helper-module-imports/7.16.7: + resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.17.0 + dev: true + + /@babel/helper-module-transforms/7.16.7: + resolution: {integrity: sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.16.7 + '@babel/helper-module-imports': 7.16.7 + '@babel/helper-simple-access': 7.16.7 + '@babel/helper-split-export-declaration': 7.16.7 + '@babel/helper-validator-identifier': 7.16.7 + '@babel/template': 7.16.7 + '@babel/traverse': 7.17.0 + '@babel/types': 7.17.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-simple-access/7.16.7: + resolution: {integrity: sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.17.0 + dev: true + + /@babel/helper-split-export-declaration/7.16.7: + resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.17.0 + dev: true + + /@babel/helper-validator-identifier/7.16.7: + resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-option/7.16.7: + resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helpers/7.17.0: + resolution: {integrity: sha512-Xe/9NFxjPwELUvW2dsukcMZIp6XwPSbI4ojFBJuX5ramHuVE22SVcZIwqzdWo5uCgeTXW8qV97lMvSOjq+1+nQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.16.7 + '@babel/traverse': 7.17.0 + '@babel/types': 7.17.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight/7.16.10: + resolution: {integrity: sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.16.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/parser/7.17.0: + resolution: {integrity: sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==} + engines: {node: '>=6.0.0'} + hasBin: true + dev: true + + /@babel/template/7.16.7: + resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.16.7 + '@babel/parser': 7.17.0 + '@babel/types': 7.17.0 + dev: true + + /@babel/traverse/7.17.0: + resolution: {integrity: sha512-fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.16.7 + '@babel/generator': 7.17.0 + '@babel/helper-environment-visitor': 7.16.7 + '@babel/helper-function-name': 7.16.7 + '@babel/helper-hoist-variables': 7.16.7 + '@babel/helper-split-export-declaration': 7.16.7 + '@babel/parser': 7.17.0 + '@babel/types': 7.17.0 + debug: 4.3.3 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types/7.17.0: + resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.16.7 + to-fast-properties: 2.0.0 + dev: true + + /@cspotcode/source-map-consumer/0.8.0: + resolution: {integrity: sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==} + engines: {node: '>= 12'} + dev: false + + /@cspotcode/source-map-support/0.7.0: + resolution: {integrity: sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==} + engines: {node: '>=12'} + dependencies: + '@cspotcode/source-map-consumer': 0.8.0 + dev: false + + /@dabh/diagnostics/2.0.2: + resolution: {integrity: sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==} + dependencies: + colorspace: 1.1.4 + enabled: 2.0.0 + kuler: 2.0.0 + dev: false + + /@eslint/eslintrc/1.0.5: + resolution: {integrity: sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.3 + espree: 9.3.0 + globals: 13.12.1 + ignore: 4.0.6 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.0.5 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@httptoolkit/websocket-stream/6.0.0: + resolution: {integrity: sha512-EC8m9JbhpGX2okfvLakqrmy4Le0VyNKR7b3IdvFZR/BfFO4ruh/XceBvXhCFHkykchnFxuOSlRwFiqNSXlwcGA==} + dependencies: + '@types/ws': 8.2.2 + duplexify: 3.7.1 + inherits: 2.0.4 + isomorphic-ws: 4.0.1_ws@7.5.6 + readable-stream: 2.3.7 + safe-buffer: 5.2.1 + ws: 7.5.6 + xtend: 4.0.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + + /@humanwhocodes/config-array/0.9.3: + resolution: {integrity: sha512-3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.3 + minimatch: 3.0.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/object-schema/1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + dev: true + + /@istanbuljs/load-nyc-config/1.1.0: + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + dev: true + + /@istanbuljs/schema/0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jridgewell/resolve-uri/3.0.4: + resolution: {integrity: sha512-cz8HFjOFfUBtvN+NXYSFMHYRdxZMaEl0XypVrhzxBgadKIXhIkRd8aMeHhmF56Sl7SuS8OnUpQ73/k9LE4VnLg==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec/1.4.10: + resolution: {integrity: sha512-Ht8wIW5v165atIX1p+JvKR5ONzUyF4Ac8DZIQ5kZs9zrb6M8SJNXpx1zn04rn65VjBMygRoMXcyYwNK0fT7bEg==} + dev: true + + /@jridgewell/trace-mapping/0.3.2: + resolution: {integrity: sha512-9KzzH4kMjA2XmBRHfqG2/Vtl7s92l6uNDd0wW7frDE+EUvQFGqNXhWp0UGJjSkt3v2AYjzOZn1QO9XaTNJIt1Q==} + dependencies: + '@jridgewell/resolve-uri': 3.0.4 + '@jridgewell/sourcemap-codec': 1.4.10 + dev: true + + /@nodelib/fs.scandir/2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat/2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk/1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.13.0 + dev: true + + /@tsconfig/node10/1.0.8: + resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==} + dev: false + + /@tsconfig/node12/1.0.9: + resolution: {integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==} + dev: false + + /@tsconfig/node14/1.0.1: + resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==} + dev: false + + /@tsconfig/node16/1.0.2: + resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==} + dev: false + + /@types/bcrypt/5.0.0: + resolution: {integrity: sha512-agtcFKaruL8TmcvqbndlqHPSJgsolhf/qPWchFlgnW1gECTN/nKbFcoFnvKAQRFfKbh+BO6A3SWdJu9t+xF3Lw==} + dependencies: + '@types/node': 17.0.15 + dev: true + + /@types/bcryptjs/2.4.2: + resolution: {integrity: sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ==} + dev: true + + /@types/body-parser/1.19.2: + resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} + dependencies: + '@types/connect': 3.4.35 + '@types/node': 17.0.15 + dev: true + + /@types/bson/1.0.11: + resolution: {integrity: sha512-j+UcCWI+FsbI5/FQP/Kj2CXyplWAz39ktHFkXk84h7dNblKRSoNJs95PZFRd96NQGqsPEPgeclqnznWZr14ZDA==} + dependencies: + '@types/node': 17.0.15 + dev: false + + /@types/bson/4.2.0: + resolution: {integrity: sha512-ELCPqAdroMdcuxqwMgUpifQyRoTpyYCNr1V9xKyF40VsBobsj+BbWNRvwGchMgBPGqkw655ypkjj2MEF5ywVwg==} + deprecated: This is a stub types definition. bson provides its own type definitions, so you do not need this installed. + dependencies: + bson: 4.6.1 + dev: false + + /@types/bunyan/1.8.8: + resolution: {integrity: sha512-Cblq+Yydg3u+sGiz2mjHjC5MPmdjY+No4qvHrF+BUhblsmSfMvsHLbOG62tPbonsqBj6sbWv1LHcsoe5Jw+/Ow==} + dependencies: + '@types/node': 17.0.15 + dev: true + + /@types/connect-redis/0.0.18: + resolution: {integrity: sha512-iGygGbXgPIr94DEAuoluWhzre3c2/ew5NPlbW9IWvwCTXMM1YCmc7M9wpXMkYqt6kB9aO1sjZnmDzyugUu+2vQ==} + dependencies: + '@types/express': 4.17.13 + '@types/express-session': 1.17.4 + '@types/ioredis': 4.28.8 + '@types/redis': 2.8.32 + dev: true + + /@types/connect/3.4.35: + resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} + dependencies: + '@types/node': 17.0.15 + dev: true + + /@types/cookiejar/2.1.2: + resolution: {integrity: sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==} + dev: true + + /@types/express-rate-limit/3.3.5: + resolution: {integrity: sha512-v6M28DcbdATYvzTN5lFJhN2EP6BgY8MbTskcKJ/m5bmGuzFKHfbEVXF3po8U8ivOyyeT5o6HV0janPlFBBN5yg==} + dependencies: + '@types/express': 4.17.13 + dev: true + + /@types/express-serve-static-core/4.17.28: + resolution: {integrity: sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==} + dependencies: + '@types/node': 17.0.15 + '@types/qs': 6.9.7 + '@types/range-parser': 1.2.4 + + /@types/express-session/1.17.4: + resolution: {integrity: sha512-7cNlSI8+oOBUHTfPXMwDxF/Lchx5aJ3ho7+p9jJZYVg9dVDJFh3qdMXmJtRsysnvS+C6x46k9DRYmrmCkE+MVg==} + dependencies: + '@types/express': 4.17.13 + dev: true + + /@types/express/4.17.13: + resolution: {integrity: sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==} + dependencies: + '@types/body-parser': 1.19.2 + '@types/express-serve-static-core': 4.17.28 + '@types/qs': 6.9.7 + '@types/serve-static': 1.13.10 + dev: true + + /@types/glob/7.2.0: + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + dependencies: + '@types/minimatch': 3.0.5 + '@types/node': 17.0.15 + dev: true + + /@types/ioredis/4.28.8: + resolution: {integrity: sha512-mULOyO2smtvkE1zmzRRA4P0+1UjEqusi014kXOL1q3CY0RgqkR5/wKvv+vAJbPw2Q66wPyylKeevUy+m/FaRMg==} + dependencies: + '@types/node': 17.0.15 + dev: true + + /@types/json-schema/7.0.9: + resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} + dev: true + + /@types/json5/0.0.29: + resolution: {integrity: sha1-7ihweulOEdK4J7y+UnC86n8+ce4=} + + /@types/mime/1.3.2: + resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} + dev: true + + /@types/minimatch/3.0.5: + resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} + dev: true + + /@types/mkdirp/1.0.2: + resolution: {integrity: sha512-o0K1tSO0Dx5X6xlU5F1D6625FawhC3dU3iqr25lluNv/+/QIVH8RLNEiVokgIZo+mz+87w/3Mkg/VvQS+J51fQ==} + dependencies: + '@types/node': 17.0.15 + dev: true + + /@types/mongodb/3.6.18: + resolution: {integrity: sha512-JSVFt9p0rTfZ4EgzXmVHUB3ue00xe3CRbQho8nXfImzEDDM4O7I3po1bwbWl/EIbLENxUreZxqLOc8lvcnLVPA==} + dependencies: + '@types/bson': 4.2.0 + '@types/node': 17.0.15 + dev: false + + /@types/mongodb/3.6.20: + resolution: {integrity: sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ==} + dependencies: + '@types/bson': 4.2.0 + '@types/node': 17.0.15 + dev: false + + /@types/multer/1.4.7: + resolution: {integrity: sha512-/SNsDidUFCvqqcWDwxv2feww/yqhNeTRL5CVoL3jU4Goc4kKEL10T7Eye65ZqPNi4HRx8sAEX59pV1aEH7drNA==} + dependencies: + '@types/express': 4.17.13 + dev: true + + /@types/node-fetch/2.5.12: + resolution: {integrity: sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==} + dependencies: + '@types/node': 17.0.15 + form-data: 3.0.1 + dev: true + + /@types/node/16.11.7: + resolution: {integrity: sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw==} + dev: true + + /@types/node/17.0.15: + resolution: {integrity: sha512-zWt4SDDv1S9WRBNxLFxFRHxdD9tvH8f5/kg5/IaLFdnSNXsDY4eL3Q3XXN+VxUnWIhyVFDwcsmAprvwXoM/ClA==} + + /@types/nodemailer/6.4.4: + resolution: {integrity: sha512-Ksw4t7iliXeYGvIQcSIgWQ5BLuC/mljIEbjf615svhZL10PE9t+ei8O9gDaD3FPCasUJn9KTLwz2JFJyiiyuqw==} + dependencies: + '@types/node': 17.0.15 + dev: true + + /@types/qs/6.9.7: + resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} + + /@types/range-parser/1.2.4: + resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} + + /@types/rate-limit-redis/1.7.4: + resolution: {integrity: sha512-TDsh9CJHHhx+sGHlqF6MI+PgEv91o/wQ67e2IR02ebYPzWQ8Rk0pcVY+WBy2pjxa+cAkPwjcOFDd21VToKaOzQ==} + dependencies: + '@types/express-rate-limit': 3.3.5 + '@types/ioredis': 4.28.8 + '@types/redis': 2.8.32 + dev: true + + /@types/redis/2.8.32: + resolution: {integrity: sha512-7jkMKxcGq9p242exlbsVzuJb57KqHRhNl4dHoQu2Y5v9bCAbtIXXH0R3HleSQW4CTOqpHIYUW3t6tpUj4BVQ+w==} + dependencies: + '@types/node': 17.0.15 + dev: true + + /@types/rimraf/3.0.2: + resolution: {integrity: sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ==} + dependencies: + '@types/glob': 7.2.0 + '@types/node': 17.0.15 + dev: true + + /@types/safe-json-stringify/1.1.2: + resolution: {integrity: sha512-Hj/LZMBXFH3Qj9sNmNu6syBpkZqBaM00HgP7naf9CnZhB3kdxmrenWUD2cY6vvTWjuBM3NPOLknPKDUOQuTWXA==} + dev: true + + /@types/semver/7.3.9: + resolution: {integrity: sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ==} + dev: false + + /@types/serve-static/1.13.10: + resolution: {integrity: sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==} + dependencies: + '@types/mime': 1.3.2 + '@types/node': 17.0.15 + dev: true + + /@types/superagent/4.1.15: + resolution: {integrity: sha512-mu/N4uvfDN2zVQQ5AYJI/g4qxn2bHB6521t1UuH09ShNWjebTqN0ZFuYK9uYjcgmI0dTQEs+Owi1EO6U0OkOZQ==} + dependencies: + '@types/cookiejar': 2.1.2 + '@types/node': 17.0.15 + dev: true + + /@types/supertest/2.0.11: + resolution: {integrity: sha512-uci4Esokrw9qGb9bvhhSVEjd6rkny/dk5PK/Qz4yxKiyppEI+dOPlNrZBahE3i+PoKFYyDxChVXZ/ysS/nrm1Q==} + dependencies: + '@types/superagent': 4.1.15 + dev: true + + /@types/tap/15.0.5: + resolution: {integrity: sha512-MaP+EgZNFAGRvVjHWv8ldrLvYBn4PnmAlzY7IL3/RPAPkOXdggTSTgLFONbnTpdQTe8+ixYGAySKAm9ESlZm1A==} + dependencies: + '@types/node': 17.0.15 + dev: true + + /@types/uuid/8.3.4: + resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} + dev: true + + /@types/ws/8.2.2: + resolution: {integrity: sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==} + dependencies: + '@types/node': 17.0.15 + dev: false + + /@typescript-eslint/eslint-plugin/5.22.0_355088e8e28124fa0cfd62cacce88724: + resolution: {integrity: sha512-YCiy5PUzpAeOPGQ7VSGDEY2NeYUV1B0swde2e0HzokRsHBYjSdF6DZ51OuRZxVPHx0032lXGLvOMls91D8FXlg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/parser': 5.22.0_eslint@8.8.0+typescript@4.5.5 + '@typescript-eslint/scope-manager': 5.22.0 + '@typescript-eslint/type-utils': 5.22.0_eslint@8.8.0+typescript@4.5.5 + '@typescript-eslint/utils': 5.22.0_eslint@8.8.0+typescript@4.5.5 + debug: 4.3.3 + eslint: 8.8.0 + functional-red-black-tree: 1.0.1 + ignore: 5.2.0 + regexpp: 3.2.0 + semver: 7.3.7 + tsutils: 3.21.0_typescript@4.5.5 + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser/5.22.0_eslint@8.8.0+typescript@4.5.5: + resolution: {integrity: sha512-piwC4krUpRDqPaPbFaycN70KCP87+PC5WZmrWs+DlVOxxmF+zI6b6hETv7Quy4s9wbkV16ikMeZgXsvzwI3icQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.22.0 + '@typescript-eslint/types': 5.22.0 + '@typescript-eslint/typescript-estree': 5.22.0_typescript@4.5.5 + debug: 4.3.3 + eslint: 8.8.0 + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager/5.22.0: + resolution: {integrity: sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.22.0 + '@typescript-eslint/visitor-keys': 5.22.0 + dev: true + + /@typescript-eslint/type-utils/5.22.0_eslint@8.8.0+typescript@4.5.5: + resolution: {integrity: sha512-iqfLZIsZhK2OEJ4cQ01xOq3NaCuG5FQRKyHicA3xhZxMgaxQazLUHbH/B2k9y5i7l3+o+B5ND9Mf1AWETeMISA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/utils': 5.22.0_eslint@8.8.0+typescript@4.5.5 + debug: 4.3.3 + eslint: 8.8.0 + tsutils: 3.21.0_typescript@4.5.5 + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types/5.22.0: + resolution: {integrity: sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/typescript-estree/5.22.0_typescript@4.5.5: + resolution: {integrity: sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.22.0 + '@typescript-eslint/visitor-keys': 5.22.0 + debug: 4.3.3 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.3.7 + tsutils: 3.21.0_typescript@4.5.5 + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils/5.22.0_eslint@8.8.0+typescript@4.5.5: + resolution: {integrity: sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@types/json-schema': 7.0.9 + '@typescript-eslint/scope-manager': 5.22.0 + '@typescript-eslint/types': 5.22.0 + '@typescript-eslint/typescript-estree': 5.22.0_typescript@4.5.5 + eslint: 8.8.0 + eslint-scope: 5.1.1 + eslint-utils: 3.0.0_eslint@8.8.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys/5.22.0: + resolution: {integrity: sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.22.0 + eslint-visitor-keys: 3.2.0 + dev: true + + /@valuabletouch/winston-seq/1.3.0: + resolution: {integrity: sha512-j6oHAXTTdhwUap0VJGHIwiKhbw9IffOWYMrMI1Y2uXStNCNSnwIHYHHfjDw46hrynbVN838DRR+voGtYEvzF1w==} + dependencies: + seq-logging: 1.1.1 + winston-transport: 4.5.0 + dev: false + + /accepts/1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + dependencies: + mime-types: 2.1.34 + negotiator: 0.6.3 + + /acorn-jsx/5.3.2_acorn@8.7.0: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.7.0 + dev: true + + /acorn-walk/8.2.0: + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} + dev: false + + /acorn/8.7.0: + resolution: {integrity: sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==} + engines: {node: '>=0.4.0'} + hasBin: true + + /aggregate-error/3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + dev: true + + /ajv/6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ansi-regex/2.1.1: + resolution: {integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8=} + engines: {node: '>=0.10.0'} + + /ansi-regex/5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles/3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles/4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi/0.3.1: + resolution: {integrity: sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=} + dev: false + + /anymatch/3.1.2: + resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /append-field/1.0.0: + resolution: {integrity: sha1-HjRA6RXwsSA9I3SOeO3XubW0PlY=} + dev: false + + /append-transform/2.0.0: + resolution: {integrity: sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==} + engines: {node: '>=8'} + dependencies: + default-require-extensions: 3.0.0 + dev: true + + /archy/1.0.0: + resolution: {integrity: sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=} + dev: true + + /are-we-there-yet/1.0.6: + resolution: {integrity: sha1-otKMkxAqpsyWJFomy5VN4G7FPww=} + dependencies: + delegates: 1.0.0 + readable-stream: 2.3.7 + dev: false + + /arg/4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + dev: false + + /argparse/1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse/2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /array-flatten/1.1.1: + resolution: {integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=} + dev: false + + /array-includes/3.1.4: + resolution: {integrity: sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.3 + es-abstract: 1.19.1 + get-intrinsic: 1.1.1 + is-string: 1.0.7 + dev: true + + /array-union/2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /array.prototype.flat/1.2.5: + resolution: {integrity: sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.3 + es-abstract: 1.19.1 + dev: true + + /asap/2.0.6: + resolution: {integrity: sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=} + dev: true + + /asn1/0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /assert-plus/1.0.0: + resolution: {integrity: sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=} + engines: {node: '>=0.8'} + dev: true + + /async-hook-domain/2.0.4: + resolution: {integrity: sha512-14LjCmlK1PK8eDtTezR6WX8TMaYNIzBIsd2D1sGoGjgx0BuNMMoSdk7i/drlbtamy0AWv9yv2tkB+ASdmeqFIw==} + engines: {node: '>=10'} + dev: true + + /async/3.2.3: + resolution: {integrity: sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==} + dev: false + + /asynckit/0.4.0: + resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} + dev: true + + /aws-crt/1.10.6: + resolution: {integrity: sha512-LCOFwFdUk3NJNUkm0YuiqU2jPtnC5OZYeLqIZyqVzDoSpK2wL7QAaA553v4YPA5xs3QU7jCmaDl6y3LjJTm4+w==} + requiresBuild: true + dependencies: + '@httptoolkit/websocket-stream': 6.0.0 + axios: 0.24.0 + cmake-js: 6.3.0 + crypto-js: 4.1.1 + fastestsmallesttextencoderdecoder: 1.0.22 + mqtt: 4.3.4 + tar: 6.1.11 + ws: 7.5.6 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + + /aws-sign2/0.7.0: + resolution: {integrity: sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=} + dev: true + + /aws4/1.11.0: + resolution: {integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==} + dev: true + + /axios/0.21.4_debug@4.3.3: + resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} + dependencies: + follow-redirects: 1.14.7_debug@4.3.3 + transitivePeerDependencies: + - debug + dev: false + + /axios/0.24.0: + resolution: {integrity: sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==} + dependencies: + follow-redirects: 1.14.7_debug@4.3.3 + transitivePeerDependencies: + - debug + dev: false + + /balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + /base64-js/1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: false + + /bcrypt-pbkdf/1.0.2: + resolution: {integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=} + dependencies: + tweetnacl: 0.14.5 + dev: true + + /bcryptjs/2.4.3: + resolution: {integrity: sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=} + dev: false + + /big-integer/1.6.51: + resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} + engines: {node: '>=0.6'} + dev: false + + /binary-extensions/2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /binary/0.3.0: + resolution: {integrity: sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=} + dependencies: + buffers: 0.1.1 + chainsaw: 0.1.0 + dev: false + + /bind-obj-methods/3.0.0: + resolution: {integrity: sha512-nLEaaz3/sEzNSyPWRsN9HNsqwk1AUyECtGj+XwGdIi3xABnEqecvXtIJ0wehQXuuER5uZ/5fTs2usONgYjG+iw==} + engines: {node: '>=10'} + dev: true + + /bl/2.2.1: + resolution: {integrity: sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==} + dependencies: + readable-stream: 2.3.7 + safe-buffer: 5.2.1 + dev: false + + /bl/4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.0 + dev: false + + /bluebird/3.4.7: + resolution: {integrity: sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=} + dev: false + + /body-parser/1.19.1: + resolution: {integrity: sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.1 + content-type: 1.0.4 + debug: 2.6.9 + depd: 1.1.2 + http-errors: 1.8.1 + iconv-lite: 0.4.24 + on-finished: 2.3.0 + qs: 6.9.6 + raw-body: 2.4.2 + type-is: 1.6.18 + dev: false + + /boolbase/1.0.0: + resolution: {integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24=} + dev: false + + /bowser/2.11.0: + resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} + dev: false + + /brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + /braces/3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browserslist/4.19.1: + resolution: {integrity: sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001309 + electron-to-chromium: 1.4.65 + escalade: 3.1.1 + node-releases: 2.0.1 + picocolors: 1.0.0 + dev: true + + /bson/1.1.6: + resolution: {integrity: sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==} + engines: {node: '>=0.6.19'} + dev: false + + /bson/4.6.1: + resolution: {integrity: sha512-I1LQ7Hz5zgwR4QquilLNZwbhPw0Apx7i7X9kGMBTsqPdml/03Q9NBtD9nt/19ahjlphktQImrnderxqpzeVDjw==} + engines: {node: '>=6.9.0'} + dependencies: + buffer: 5.7.1 + dev: false + + /buffer-from/1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + /buffer-indexof-polyfill/1.0.2: + resolution: {integrity: sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==} + engines: {node: '>=0.10'} + dev: false + + /buffer-shims/1.0.0: + resolution: {integrity: sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=} + dev: false + + /buffer/5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /buffers/0.1.1: + resolution: {integrity: sha1-skV5w77U1tOWru5tmorn9Ugqt7s=} + engines: {node: '>=0.2.0'} + dev: false + + /bullmq/1.68.4: + resolution: {integrity: sha512-I0BYxhRocWHcNpzdXX5jR8DwKG1PkGJ8KUt9SJhWCCWd4sYvsMl6KV6J35ZfigGydXuAja19tbEefTUxdVv/sw==} + dependencies: + cron-parser: 2.18.0 + get-port: 5.1.1 + glob: 7.2.0 + ioredis: 4.28.5 + lodash: 4.17.21 + msgpackr: 1.5.4 + semver: 6.3.0 + tslib: 1.14.1 + uuid: 8.3.2 + transitivePeerDependencies: + - supports-color + dev: false + + /bunyan/1.8.15: + resolution: {integrity: sha512-0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig==} + engines: {'0': node >=0.10.0} + hasBin: true + optionalDependencies: + dtrace-provider: 0.8.8 + moment: 2.29.3 + mv: 2.1.1 + safe-json-stringify: 1.2.0 + dev: false + + /busboy/0.2.14: + resolution: {integrity: sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=} + engines: {node: '>=0.8.0'} + dependencies: + dicer: 0.2.5 + readable-stream: 1.1.14 + dev: false + + /bytes/3.1.1: + resolution: {integrity: sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==} + engines: {node: '>= 0.8'} + dev: false + + /caching-transform/4.0.0: + resolution: {integrity: sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==} + engines: {node: '>=8'} + dependencies: + hasha: 5.2.2 + make-dir: 3.1.0 + package-hash: 4.0.0 + write-file-atomic: 3.0.3 + dev: true + + /call-bind/1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.1.1 + + /callsites/3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camelcase/2.1.1: + resolution: {integrity: sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=} + engines: {node: '>=0.10.0'} + dev: false + + /camelcase/5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + + /caniuse-lite/1.0.30001309: + resolution: {integrity: sha512-Pl8vfigmBXXq+/yUz1jUwULeq9xhMJznzdc/xwl4WclDAuebcTHVefpz8lE/bMI+UN7TOkSSe7B7RnZd6+dzjA==} + dev: true + + /caseless/0.12.0: + resolution: {integrity: sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=} + dev: true + + /chainsaw/0.1.0: + resolution: {integrity: sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=} + dependencies: + traverse: 0.3.9 + dev: false + + /chalk/2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk/4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /chokidar/3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.2 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /chownr/1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + dev: false + + /chownr/2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + dev: false + + /clean-stack/2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + dev: true + + /cliui/3.2.0: + resolution: {integrity: sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=} + dependencies: + string-width: 1.0.2 + strip-ansi: 3.0.1 + wrap-ansi: 2.1.0 + dev: false + + /cliui/6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + dev: true + + /cliui/7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clone/1.0.4: + resolution: {integrity: sha1-2jCcwmPfFZlMaIypAheco8fNfH4=} + engines: {node: '>=0.8'} + dev: false + + /clone/2.1.2: + resolution: {integrity: sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=} + engines: {node: '>=0.8'} + dev: false + + /cluster-key-slot/1.1.0: + resolution: {integrity: sha512-2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw==} + engines: {node: '>=0.10.0'} + dev: false + + /cmake-js/6.3.0: + resolution: {integrity: sha512-1uqTOmFt6BIqKlrX+39/aewU/JVhyZWDqwAL+6psToUwxj3yWPJiwxiZFmV0XdcoWmqGs7peZTxTbJtAcH8hxw==} + engines: {node: '>= 10.0.0'} + hasBin: true + dependencies: + axios: 0.21.4_debug@4.3.3 + debug: 4.3.3 + fs-extra: 5.0.0 + is-iojs: 1.1.0 + lodash: 4.17.21 + memory-stream: 0.0.3 + npmlog: 1.2.1 + rc: 1.2.8 + semver: 5.7.1 + splitargs: 0.0.7 + tar: 4.4.19 + unzipper: 0.8.14 + url-join: 0.0.1 + which: 1.3.1 + yargs: 3.32.0 + transitivePeerDependencies: + - supports-color + dev: false + + /code-point-at/1.1.0: + resolution: {integrity: sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=} + engines: {node: '>=0.10.0'} + dev: false + + /color-convert/1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + + /color-convert/2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name/1.1.3: + resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} + + /color-name/1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + /color-string/1.9.0: + resolution: {integrity: sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==} + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + dev: false + + /color-support/1.1.3: + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + hasBin: true + dev: true + + /color/3.2.1: + resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} + dependencies: + color-convert: 1.9.3 + color-string: 1.9.0 + dev: false + + /colors/1.4.0: + resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} + engines: {node: '>=0.1.90'} + dev: false + + /colorspace/1.1.4: + resolution: {integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==} + dependencies: + color: 3.2.1 + text-hex: 1.0.0 + dev: false + + /combined-stream/1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: true + + /commander/9.0.0: + resolution: {integrity: sha512-JJfP2saEKbQqvW+FI93OYUB4ByV5cizMpFMiiJI8xDbBvQvSkIk0VvQdn1CZ8mqAO8Loq2h0gYTYtDFUZUeERw==} + engines: {node: ^12.20.0 || >=14} + dev: false + + /commist/1.1.0: + resolution: {integrity: sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==} + dependencies: + leven: 2.1.0 + minimist: 1.2.5 + dev: false + + /commondir/1.0.1: + resolution: {integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=} + dev: true + + /component-emitter/1.3.0: + resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} + dev: true + + /concat-map/0.0.1: + resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + + /concat-stream/1.6.2: + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 2.3.7 + typedarray: 0.0.6 + dev: false + + /concat-stream/2.0.0: + resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} + engines: {'0': node >= 6.0} + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.0 + typedarray: 0.0.6 + dev: false + + /connect-redis/6.1.1: + resolution: {integrity: sha512-4on27NmUz1hVCVsrUFUOe06YkgCx88ZZ29Wi7D5mXg22alN/Xx+Y+iPrJ1Cc7coUKAe5SP3W2LF/zo6WXSJFFg==} + engines: {node: '>=12'} + dev: false + + /content-disposition/0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + dependencies: + safe-buffer: 5.2.1 + + /content-type/1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + dev: false + + /convert-source-map/1.8.0: + resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} + dependencies: + safe-buffer: 5.1.2 + dev: true + + /cookie-signature/1.0.6: + resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=} + dev: false + + /cookie/0.4.1: + resolution: {integrity: sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==} + engines: {node: '>= 0.6'} + dev: false + + /cookiejar/2.1.3: + resolution: {integrity: sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==} + dev: true + + /core-util-is/1.0.2: + resolution: {integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=} + dev: true + + /core-util-is/1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + dev: false + + /coveralls/3.1.1: + resolution: {integrity: sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww==} + engines: {node: '>=6'} + hasBin: true + dependencies: + js-yaml: 3.14.1 + lcov-parse: 1.0.0 + log-driver: 1.2.7 + minimist: 1.2.5 + request: 2.88.2 + dev: true + + /create-require/1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + dev: false + + /cron-parser/2.18.0: + resolution: {integrity: sha512-s4odpheTyydAbTBQepsqd2rNWGa2iV3cyo8g7zbI2QQYGLVsfbhmwukayS1XHppe02Oy1fg7mg6xoaraVJeEcg==} + engines: {node: '>=0.8'} + dependencies: + is-nan: 1.3.2 + moment-timezone: 0.5.34 + dev: false + + /cross-spawn/7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /crypto-js/4.1.1: + resolution: {integrity: sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==} + dev: false + + /css-select/4.2.1: + resolution: {integrity: sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==} + dependencies: + boolbase: 1.0.0 + css-what: 5.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.0.1 + dev: false + + /css-what/5.1.0: + resolution: {integrity: sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==} + engines: {node: '>= 6'} + dev: false + + /csv-parse/5.0.4: + resolution: {integrity: sha512-5AIdl8l6n3iYQYxan5djB5eKDa+vBnhfWZtRpJTcrETWfVLYN0WSj3L9RwvgYt+psoO77juUr8TG8qpfGZifVQ==} + dev: false + + /dashdash/1.14.1: + resolution: {integrity: sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=} + engines: {node: '>=0.10'} + dependencies: + assert-plus: 1.0.0 + dev: true + + /debug/2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + dependencies: + ms: 2.0.0 + + /debug/3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + dependencies: + ms: 2.1.3 + dev: true + + /debug/4.3.3: + resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + + /decamelize/1.2.0: + resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=} + engines: {node: '>=0.10.0'} + + /deep-extend/0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + dev: false + + /deep-is/0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /deepmerge/4.2.2: + resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} + engines: {node: '>=0.10.0'} + dev: false + + /default-require-extensions/3.0.0: + resolution: {integrity: sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==} + engines: {node: '>=8'} + dependencies: + strip-bom: 4.0.0 + dev: true + + /defaults/1.0.3: + resolution: {integrity: sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=} + dependencies: + clone: 1.0.4 + dev: false + + /define-properties/1.1.3: + resolution: {integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==} + engines: {node: '>= 0.4'} + dependencies: + object-keys: 1.1.1 + + /delayed-stream/1.0.0: + resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=} + engines: {node: '>=0.4.0'} + dev: true + + /delegates/1.0.0: + resolution: {integrity: sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=} + dev: false + + /denque/1.5.1: + resolution: {integrity: sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==} + engines: {node: '>=0.10'} + dev: false + + /depd/1.1.2: + resolution: {integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=} + engines: {node: '>= 0.6'} + + /depd/2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: false + + /destroy/1.0.4: + resolution: {integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=} + dev: false + + /dezalgo/1.0.3: + resolution: {integrity: sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=} + dependencies: + asap: 2.0.6 + wrappy: 1.0.2 + dev: true + + /dicer/0.2.5: + resolution: {integrity: sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=} + engines: {node: '>=0.8.0'} + dependencies: + readable-stream: 1.1.14 + streamsearch: 0.1.2 + dev: false + + /diff/4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + + /dir-glob/3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /doctrine/2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /doctrine/3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dom-serializer/1.3.2: + resolution: {integrity: sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==} + dependencies: + domelementtype: 2.2.0 + domhandler: 4.3.1 + entities: 2.2.0 + dev: false + + /domelementtype/2.2.0: + resolution: {integrity: sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==} + dev: false + + /domhandler/4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.2.0 + dev: false + + /domutils/2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + dependencies: + dom-serializer: 1.3.2 + domelementtype: 2.2.0 + domhandler: 4.3.1 + dev: false + + /dotenv/16.0.0: + resolution: {integrity: sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q==} + engines: {node: '>=12'} + dev: false + + /dtrace-provider/0.8.8: + resolution: {integrity: sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==} + engines: {node: '>=0.10'} + requiresBuild: true + dependencies: + nan: 2.15.0 + dev: false + optional: true + + /duplexer2/0.1.4: + resolution: {integrity: sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=} + dependencies: + readable-stream: 2.3.7 + dev: false + + /duplexify/3.7.1: + resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} + dependencies: + end-of-stream: 1.4.4 + inherits: 2.0.4 + readable-stream: 2.3.7 + stream-shift: 1.0.1 + dev: false + + /duplexify/4.1.2: + resolution: {integrity: sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==} + dependencies: + end-of-stream: 1.4.4 + inherits: 2.0.4 + readable-stream: 3.6.0 + stream-shift: 1.0.1 + dev: false + + /ecc-jsbn/0.1.2: + resolution: {integrity: sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=} + dependencies: + jsbn: 0.1.1 + safer-buffer: 2.1.2 + dev: true + + /ee-first/1.1.1: + resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} + dev: false + + /electron-to-chromium/1.4.65: + resolution: {integrity: sha512-0/d8Skk8sW3FxXP0Dd6MnBlrwx7Qo9cqQec3BlIAlvKnrmS3pHsIbaroEi+nd0kZkGpQ6apMEre7xndzjlEnLw==} + dev: true + + /emoji-regex/8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /enabled/2.0.0: + resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==} + dev: false + + /encodeurl/1.0.2: + resolution: {integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=} + engines: {node: '>= 0.8'} + dev: false + + /end-of-stream/1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + + /entities/2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + dev: false + + /es-abstract/1.19.1: + resolution: {integrity: sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + es-to-primitive: 1.2.1 + function-bind: 1.1.1 + get-intrinsic: 1.1.1 + get-symbol-description: 1.0.0 + has: 1.0.3 + has-symbols: 1.0.2 + internal-slot: 1.0.3 + is-callable: 1.2.4 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.1 + is-string: 1.0.7 + is-weakref: 1.0.2 + object-inspect: 1.12.0 + object-keys: 1.1.1 + object.assign: 4.1.2 + string.prototype.trimend: 1.0.4 + string.prototype.trimstart: 1.0.4 + unbox-primitive: 1.0.1 + dev: true + + /es-to-primitive/1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.4 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + + /es6-error/4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + dev: true + + /escalade/3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + + /escape-html/1.0.3: + resolution: {integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=} + dev: false + + /escape-string-regexp/1.0.5: + resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp/2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + dev: true + + /escape-string-regexp/4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-config-prettier/8.3.0_eslint@8.8.0: + resolution: {integrity: sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.8.0 + dev: true + + /eslint-import-resolver-node/0.3.6: + resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} + dependencies: + debug: 3.2.7 + resolve: 1.22.0 + dev: true + + /eslint-module-utils/2.7.3: + resolution: {integrity: sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==} + engines: {node: '>=4'} + dependencies: + debug: 3.2.7 + find-up: 2.1.0 + dev: true + + /eslint-plugin-cadence/0.0.2_eslint@8.8.0: + resolution: {integrity: sha512-BIDqcBrfdgmLTL4iPtt7gaVfuKEiu+Wmh3Hh7QlniUdrKz98odJ7BKROtjMVnoGqYfyVmbbXmBHOiXBkctiDfw==} + engines: {node: 12.x || 14.x || >= 16} + peerDependencies: + eslint: '>=8' + dependencies: + eslint: 8.8.0 + dev: true + + /eslint-plugin-import/2.26.0_eslint@8.8.0: + resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + dependencies: + array-includes: 3.1.4 + array.prototype.flat: 1.2.5 + debug: 2.6.9 + doctrine: 2.1.0 + eslint: 8.8.0 + eslint-import-resolver-node: 0.3.6 + eslint-module-utils: 2.7.3 + has: 1.0.3 + is-core-module: 2.8.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.values: 1.1.5 + resolve: 1.22.0 + tsconfig-paths: 3.14.1 + dev: true + + /eslint-plugin-prettier/4.0.0_43197c8d12d1d439034cfcf65e1c48c2: + resolution: {integrity: sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==} + engines: {node: '>=6.0.0'} + peerDependencies: + eslint: '>=7.28.0' + eslint-config-prettier: '*' + prettier: '>=2.0.0' + peerDependenciesMeta: + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.8.0 + eslint-config-prettier: 8.3.0_eslint@8.8.0 + prettier: 2.5.1 + prettier-linter-helpers: 1.0.0 + dev: true + + /eslint-scope/5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /eslint-scope/7.1.0: + resolution: {integrity: sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-utils/3.0.0_eslint@8.8.0: + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + dependencies: + eslint: 8.8.0 + eslint-visitor-keys: 2.1.0 + dev: true + + /eslint-visitor-keys/2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + dev: true + + /eslint-visitor-keys/3.2.0: + resolution: {integrity: sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint/8.8.0: + resolution: {integrity: sha512-H3KXAzQGBH1plhYS3okDix2ZthuYJlQQEGE5k0IKuEqUSiyu4AmxxlJ2MtTYeJ3xB4jDhcYCwGOg2TXYdnDXlQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint/eslintrc': 1.0.5 + '@humanwhocodes/config-array': 0.9.3 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.3 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.1.0 + eslint-utils: 3.0.0_eslint@8.8.0 + eslint-visitor-keys: 3.2.0 + espree: 9.3.0 + esquery: 1.4.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + functional-red-black-tree: 1.0.1 + glob-parent: 6.0.2 + globals: 13.12.1 + ignore: 5.2.0 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.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.0.5 + natural-compare: 1.4.0 + optionator: 0.9.1 + regexpp: 3.2.0 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + text-table: 0.2.0 + v8-compile-cache: 2.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /espree/9.3.0: + resolution: {integrity: sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.7.0 + acorn-jsx: 5.3.2_acorn@8.7.0 + eslint-visitor-keys: 3.2.0 + dev: true + + /esprima/4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esquery/1.4.0: + resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse/4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse/4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + + /estraverse/5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /esutils/2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /etag/1.8.1: + resolution: {integrity: sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=} + engines: {node: '>= 0.6'} + dev: false + + /events-to-array/1.1.2: + resolution: {integrity: sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=} + dev: true + + /express-async-errors/3.1.1_express@4.17.2: + resolution: {integrity: sha512-h6aK1da4tpqWSbyCa3FxB/V6Ehd4EEB15zyQq9qe75OZBp0krinNKuH4rAY+S/U/2I36vdLAUFSjQJ+TFmODng==} + peerDependencies: + express: ^4.16.2 + dependencies: + express: 4.17.2 + dev: false + + /express-rate-limit/5.5.1: + resolution: {integrity: sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg==} + dev: false + + /express-request-mock/3.1.0: + resolution: {integrity: sha512-Ep1uuqCRUc2nTjwAeaVuviDGPCOU2xIhyVHQoN6+xDc9ANJJY42auiAO0guJTvnyyHY/8Q3/hZWEjHf1eo6hSQ==} + engines: {node: '>= 12.0.0'} + dependencies: + node-mocks-http: 1.11.0 + dev: true + + /express-session/1.17.2: + resolution: {integrity: sha512-mPcYcLA0lvh7D4Oqr5aNJFMtBMKPLl++OKKxkHzZ0U0oDq1rpKBnkR5f5vCHR26VeArlTOEF9td4x5IjICksRQ==} + engines: {node: '>= 0.8.0'} + dependencies: + cookie: 0.4.1 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + on-headers: 1.0.2 + parseurl: 1.3.3 + safe-buffer: 5.2.1 + uid-safe: 2.1.5 + dev: false + + /express/4.17.2: + resolution: {integrity: sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==} + engines: {node: '>= 0.10.0'} + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.19.1 + content-disposition: 0.5.4 + content-type: 1.0.4 + cookie: 0.4.1 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 1.1.2 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.1.2 + fresh: 0.5.2 + merge-descriptors: 1.0.1 + methods: 1.1.2 + on-finished: 2.3.0 + parseurl: 1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: 2.0.7 + qs: 6.9.6 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.17.2 + serve-static: 1.14.2 + setprototypeof: 1.2.0 + statuses: 1.5.0 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + dev: false + + /extend/3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + dev: true + + /extsprintf/1.3.0: + resolution: {integrity: sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=} + engines: {'0': node >=0.6.0} + dev: true + + /fast-deep-equal/3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-diff/1.2.0: + resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} + dev: true + + /fast-glob/3.2.11: + resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.4 + dev: true + + /fast-json-stable-hash/1.0.3: + resolution: {integrity: sha512-iLK3Tq2J/KbiUn/5OHyhxikHqzwFXSM2e803Dp2JtBdQjsCVuZwWvL+WqWXPPRUEuDX4c0kqID1SU84RCfxs3A==} + dev: false + + /fast-json-stable-stringify/2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein/2.0.6: + resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=} + dev: true + + /fast-safe-stringify/2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + dev: true + + /fast-xml-parser/3.19.0: + resolution: {integrity: sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==} + hasBin: true + dev: false + + /fast-xml-parser/4.0.2: + resolution: {integrity: sha512-3GOSbMTZxxrPPQ+aURM7Wia10bi71HBbiG/3mOEEkRSAkRtg4m7UhMSnB2rzOhBeRHyJUWsllOfyNnjTT1b85w==} + hasBin: true + dependencies: + strnum: 1.0.5 + dev: false + + /fastestsmallesttextencoderdecoder/1.0.22: + resolution: {integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==} + dev: false + + /fastq/1.13.0: + resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} + dependencies: + reusify: 1.0.4 + dev: true + + /fecha/4.2.1: + resolution: {integrity: sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==} + dev: false + + /file-entry-cache/6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.0.4 + dev: true + + /file-stream-rotator/0.6.1: + resolution: {integrity: sha512-u+dBid4PvZw17PmDeRcNOtCP9CCK/9lRN2w+r1xIS7yOL9JFrIBKTvrYsxT4P0pGtThYTn++QS5ChHaUov3+zQ==} + dependencies: + moment: 2.29.1 + dev: false + + /fill-range/7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /finalhandler/1.1.2: + resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} + engines: {node: '>= 0.8'} + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.3.0 + parseurl: 1.3.3 + statuses: 1.5.0 + unpipe: 1.0.0 + dev: false + + /find-cache-dir/3.3.2: + resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} + engines: {node: '>=8'} + dependencies: + commondir: 1.0.1 + make-dir: 3.1.0 + pkg-dir: 4.2.0 + dev: true + + /find-up/2.1.0: + resolution: {integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c=} + engines: {node: '>=4'} + dependencies: + locate-path: 2.0.0 + dev: true + + /find-up/4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /findit/2.0.0: + resolution: {integrity: sha1-ZQnwEmr0wXhVHPqZOU4DLhOk1W4=} + dev: true + + /flat-cache/3.0.4: + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.2.5 + rimraf: 3.0.2 + dev: true + + /flatted/3.2.5: + resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} + dev: true + + /fn.name/1.1.0: + resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} + dev: false + + /follow-redirects/1.14.7_debug@4.3.3: + resolution: {integrity: sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dependencies: + debug: 4.3.3 + dev: false + + /foreground-child/2.0.0: + resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} + engines: {node: '>=8.0.0'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 3.0.7 + dev: true + + /forever-agent/0.6.1: + resolution: {integrity: sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=} + dev: true + + /form-data/2.3.3: + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.34 + dev: true + + /form-data/3.0.1: + resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.34 + dev: true + + /form-data/4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.34 + dev: true + + /formidable/2.0.1: + resolution: {integrity: sha512-rjTMNbp2BpfQShhFbR3Ruk3qk2y9jKpvMW78nJgx8QKtxjDVrwbZG+wvDOmVbifHyOUOQJXxqEy6r0faRrPzTQ==} + dependencies: + dezalgo: 1.0.3 + hexoid: 1.0.0 + once: 1.4.0 + qs: 6.9.3 + dev: true + + /forwarded/0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + dev: false + + /fresh/0.5.2: + resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=} + engines: {node: '>= 0.6'} + + /fromentries/1.3.2: + resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} + dev: true + + /fs-exists-cached/1.0.0: + resolution: {integrity: sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=} + dev: true + + /fs-extra/5.0.0: + resolution: {integrity: sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==} + dependencies: + graceful-fs: 4.2.9 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + + /fs-minipass/1.2.7: + resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + dependencies: + minipass: 2.9.0 + dev: false + + /fs-minipass/2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.1.6 + dev: false + + /fs.realpath/1.0.0: + resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} + + /fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /fstream/1.0.12: + resolution: {integrity: sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==} + engines: {node: '>=0.6'} + dependencies: + graceful-fs: 4.2.9 + inherits: 2.0.4 + mkdirp: 0.5.5 + rimraf: 2.4.5 + dev: false + + /function-bind/1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + + /function-loop/2.0.1: + resolution: {integrity: sha512-ktIR+O6i/4h+j/ZhZJNdzeI4i9lEPeEK6UPR2EVyTVBqOwcU3Za9xYKLH64ZR9HmcROyRrOkizNyjjtWJzDDkQ==} + dev: true + + /functional-red-black-tree/1.0.1: + resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=} + dev: true + + /gauge/1.2.7: + resolution: {integrity: sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=} + dependencies: + ansi: 0.3.1 + has-unicode: 2.0.1 + lodash.pad: 4.5.1 + lodash.padend: 4.6.1 + lodash.padstart: 4.6.1 + dev: false + + /gensync/1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /get-caller-file/2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-intrinsic/1.1.1: + resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.2 + + /get-package-type/0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + dev: true + + /get-port/5.1.1: + resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} + engines: {node: '>=8'} + dev: false + + /get-symbol-description/1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.1.1 + dev: true + + /getpass/0.1.7: + resolution: {integrity: sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=} + dependencies: + assert-plus: 1.0.0 + dev: true + + /glob-parent/5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-parent/6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob/6.0.4: + resolution: {integrity: sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=} + dependencies: + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.0.5 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: false + + /glob/7.2.0: + resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.0.5 + once: 1.4.0 + path-is-absolute: 1.0.1 + + /globals/11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /globals/13.12.1: + resolution: {integrity: sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globby/11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.2.11 + ignore: 5.2.0 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /graceful-fs/4.2.9: + resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==} + + /har-schema/2.0.0: + resolution: {integrity: sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=} + engines: {node: '>=4'} + dev: true + + /har-validator/5.1.5: + resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} + engines: {node: '>=6'} + deprecated: this library is no longer supported + dependencies: + ajv: 6.12.6 + har-schema: 2.0.0 + dev: true + + /has-bigints/1.0.1: + resolution: {integrity: sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==} + dev: true + + /has-flag/3.0.0: + resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} + engines: {node: '>=4'} + dev: true + + /has-flag/4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-symbols/1.0.2: + resolution: {integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==} + engines: {node: '>= 0.4'} + + /has-tostringtag/1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.2 + dev: true + + /has-unicode/2.0.1: + resolution: {integrity: sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=} + dev: false + + /has/1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + + /hasha/5.2.2: + resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} + engines: {node: '>=8'} + dependencies: + is-stream: 2.0.1 + type-fest: 0.8.1 + dev: true + + /he/1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: false + + /helmet/5.0.2: + resolution: {integrity: sha512-QWlwUZZ8BtlvwYVTSDTBChGf8EOcQ2LkGMnQJxSzD1mUu8CCjXJZq/BXP8eWw4kikRnzlhtYo3lCk0ucmYA3Vg==} + engines: {node: '>=12.0.0'} + dev: false + + /help-me/3.0.0: + resolution: {integrity: sha512-hx73jClhyk910sidBB7ERlnhMlFsJJIBqSVMFDwPN8o2v9nmp5KgLq1Xz1Bf1fCMMZ6mPrX159iG0VLy/fPMtQ==} + dependencies: + glob: 7.2.0 + readable-stream: 3.6.0 + dev: false + + /hexoid/1.0.0: + resolution: {integrity: sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==} + engines: {node: '>=8'} + dev: true + + /html-entities/2.3.2: + resolution: {integrity: sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==} + dev: false + + /html-escaper/2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /http-errors/1.8.1: + resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 1.5.0 + toidentifier: 1.0.1 + dev: false + + /http-signature/1.2.0: + resolution: {integrity: sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=} + engines: {node: '>=0.8', npm: '>=1.3.7'} + dependencies: + assert-plus: 1.0.0 + jsprim: 1.4.2 + sshpk: 1.17.0 + dev: true + + /iconv-lite/0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + + /ieee754/1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: false + + /ignore/4.0.6: + resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} + engines: {node: '>= 4'} + dev: true + + /ignore/5.2.0: + resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} + engines: {node: '>= 4'} + dev: true + + /import-fresh/3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /imurmurhash/0.1.4: + resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} + engines: {node: '>=0.8.19'} + dev: true + + /indent-string/4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + + /inflight/1.0.6: + resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + /inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + /ini/1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: false + + /internal-slot/1.0.3: + resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.1.1 + has: 1.0.3 + side-channel: 1.0.4 + dev: true + + /invert-kv/1.0.0: + resolution: {integrity: sha1-EEqOSqym09jNFXqO+L+rLXo//bY=} + engines: {node: '>=0.10.0'} + dev: false + + /ioredis/4.28.5: + resolution: {integrity: sha512-3GYo0GJtLqgNXj4YhrisLaNNvWSNwSS2wS4OELGfGxH8I69+XfNdnmV1AyN+ZqMh0i7eX+SWjrwFKDBDgfBC1A==} + engines: {node: '>=6'} + dependencies: + cluster-key-slot: 1.1.0 + debug: 4.3.3 + denque: 1.5.1 + lodash.defaults: 4.2.0 + lodash.flatten: 4.4.0 + lodash.isarguments: 3.1.0 + p-map: 2.1.0 + redis-commands: 1.7.0 + redis-errors: 1.2.0 + redis-parser: 3.0.0 + standard-as-callback: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /ipaddr.js/1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: false + + /is-arrayish/0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + dev: false + + /is-bigint/1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.1 + dev: true + + /is-binary-path/2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-boolean-object/1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true + + /is-callable/1.2.4: + resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} + engines: {node: '>= 0.4'} + dev: true + + /is-core-module/2.8.1: + resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==} + dependencies: + has: 1.0.3 + dev: true + + /is-date-object/1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-extglob/2.1.1: + resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point/1.0.0: + resolution: {integrity: sha1-754xOG8DGn8NZDr4L95QxFfvAMs=} + engines: {node: '>=0.10.0'} + dependencies: + number-is-nan: 1.0.1 + dev: false + + /is-fullwidth-code-point/3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-glob/4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-iojs/1.1.0: + resolution: {integrity: sha1-TBEDO11dlNbqs3dd7cm+fQCDJfE=} + dev: false + + /is-nan/1.3.2: + resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.3 + dev: false + + /is-negative-zero/2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + dev: true + + /is-number-object/1.0.6: + resolution: {integrity: sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-regex/1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true + + /is-shared-array-buffer/1.0.1: + resolution: {integrity: sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==} + dev: true + + /is-stream/2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + /is-string/1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-symbol/1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.2 + dev: true + + /is-typedarray/1.0.0: + resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=} + dev: true + + /is-weakref/1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.2 + dev: true + + /is-windows/1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + dev: true + + /isarray/0.0.1: + resolution: {integrity: sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=} + dev: false + + /isarray/1.0.0: + resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} + dev: false + + /isexe/2.0.0: + resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} + + /isomorphic-ws/4.0.1_ws@7.5.6: + resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} + peerDependencies: + ws: '*' + dependencies: + ws: 7.5.6 + dev: false + + /isstream/0.1.2: + resolution: {integrity: sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=} + dev: true + + /istanbul-lib-coverage/3.2.0: + resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-hook/3.0.0: + resolution: {integrity: sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==} + engines: {node: '>=8'} + dependencies: + append-transform: 2.0.0 + dev: true + + /istanbul-lib-instrument/4.0.3: + resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} + engines: {node: '>=8'} + dependencies: + '@babel/core': 7.17.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.0 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-lib-processinfo/2.0.2: + resolution: {integrity: sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==} + engines: {node: '>=8'} + dependencies: + archy: 1.0.0 + cross-spawn: 7.0.3 + istanbul-lib-coverage: 3.2.0 + make-dir: 3.1.0 + p-map: 3.0.0 + rimraf: 3.0.2 + uuid: 3.4.0 + dev: true + + /istanbul-lib-report/3.0.0: + resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} + engines: {node: '>=8'} + dependencies: + istanbul-lib-coverage: 3.2.0 + make-dir: 3.1.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps/4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + dependencies: + debug: 4.3.3 + istanbul-lib-coverage: 3.2.0 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports/3.1.4: + resolution: {integrity: sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.0 + dev: true + + /jackspeak/1.4.1: + resolution: {integrity: sha512-npN8f+M4+IQ8xD3CcWi3U62VQwKlT3Tj4GxbdT/fYTmeogD9eBF9OFdpoFG/VPNoshRjPUijdkp/p2XrzUHaVg==} + engines: {node: '>=8'} + dependencies: + cliui: 7.0.4 + dev: true + + /js-sdsl/2.1.4: + resolution: {integrity: sha512-/Ew+CJWHNddr7sjwgxaVeIORIH4AMVC9dy0hPf540ZGMVgS9d3ajwuVdyhDt6/QUvT8ATjR3yuYBKsS79F+H4A==} + dev: false + + /js-tokens/4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml/3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /js-yaml/4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsbn/0.1.1: + resolution: {integrity: sha1-peZUwuWi3rXyAdls77yoDA7y9RM=} + dev: true + + /jsesc/2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /json-schema-traverse/0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-schema/0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + dev: true + + /json-stable-stringify-without-jsonify/1.0.1: + resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=} + dev: true + + /json-stringify-safe/5.0.1: + resolution: {integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=} + dev: true + + /json5/1.0.1: + resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} + hasBin: true + dependencies: + minimist: 1.2.5 + + /json5/2.2.0: + resolution: {integrity: sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==} + engines: {node: '>=6'} + hasBin: true + dependencies: + minimist: 1.2.5 + + /jsonfile/4.0.0: + resolution: {integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=} + optionalDependencies: + graceful-fs: 4.2.9 + dev: false + + /jsprim/1.4.2: + resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} + engines: {node: '>=0.6.0'} + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.4.0 + verror: 1.10.0 + dev: true + + /kuler/2.0.0: + resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} + dev: false + + /lcid/1.0.0: + resolution: {integrity: sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=} + engines: {node: '>=0.10.0'} + dependencies: + invert-kv: 1.0.0 + dev: false + + /lcov-parse/1.0.0: + resolution: {integrity: sha1-6w1GtUER68VhrLTECO+TY73I9+A=} + hasBin: true + dev: true + + /leven/2.1.0: + resolution: {integrity: sha1-wuep93IJTe6dNCAq6KzORoeHVYA=} + engines: {node: '>=0.10.0'} + dev: false + + /levn/0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /libtap/1.1.4: + resolution: {integrity: sha512-jM+QyAeRdVs1bJrNpjlu+l8gRdDkAehqls31AwSnqXghVLUP6nbYeU2Xfs2svYS7ZdksvnHvrxCKRBFEz/BCjA==} + engines: {node: '>=10'} + dependencies: + async-hook-domain: 2.0.4 + bind-obj-methods: 3.0.0 + diff: 4.0.2 + function-loop: 2.0.1 + minipass: 3.1.6 + own-or: 1.0.0 + own-or-env: 1.0.2 + signal-exit: 3.0.7 + stack-utils: 2.0.5 + tap-parser: 10.1.0 + tap-yaml: 1.0.0 + tcompare: 5.0.7 + trivial-deferred: 1.0.1 + yapool: 1.0.0 + dev: true + + /listenercount/1.0.1: + resolution: {integrity: sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=} + dev: false + + /locate-path/2.0.0: + resolution: {integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=} + engines: {node: '>=4'} + dependencies: + p-locate: 2.0.0 + path-exists: 3.0.0 + dev: true + + /locate-path/5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /lodash.defaults/4.2.0: + resolution: {integrity: sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=} + dev: false + + /lodash.flatten/4.4.0: + resolution: {integrity: sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=} + dev: false + + /lodash.flattendeep/4.4.0: + resolution: {integrity: sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=} + dev: true + + /lodash.isarguments/3.1.0: + resolution: {integrity: sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=} + dev: false + + /lodash.merge/4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.pad/4.5.1: + resolution: {integrity: sha1-QzCUmoM6fI2iLMIPaibE1Z3runA=} + dev: false + + /lodash.padend/4.6.1: + resolution: {integrity: sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=} + dev: false + + /lodash.padstart/4.6.1: + resolution: {integrity: sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=} + dev: false + + /lodash/4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: false + + /log-driver/1.2.7: + resolution: {integrity: sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==} + engines: {node: '>=0.8.6'} + dev: true + + /logform/2.3.2: + resolution: {integrity: sha512-V6JiPThZzTsbVRspNO6TmHkR99oqYTs8fivMBYQkjZj6rxW92KxtDCPE6IkAk1DNBnYKNkjm4jYBm6JDUcyhOA==} + dependencies: + colors: 1.4.0 + fecha: 4.2.1 + ms: 2.1.3 + safe-stable-stringify: 1.1.1 + triple-beam: 1.3.0 + dev: false + + /lru-cache/6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + + /make-dir/3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.0 + dev: true + + /make-error/1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: false + + /media-typer/0.3.0: + resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=} + engines: {node: '>= 0.6'} + + /memory-pager/1.5.0: + resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==} + dev: false + optional: true + + /memory-stream/0.0.3: + resolution: {integrity: sha1-6+jdHDuLw4wOeUHp3dWuvmtN6D8=} + dependencies: + readable-stream: 1.0.34 + dev: false + + /merge-descriptors/1.0.1: + resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=} + + /merge2/1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /methods/1.1.2: + resolution: {integrity: sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=} + engines: {node: '>= 0.6'} + + /micromatch/4.0.4: + resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mime-db/1.51.0: + resolution: {integrity: sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==} + engines: {node: '>= 0.6'} + + /mime-types/2.1.34: + resolution: {integrity: sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.51.0 + + /mime/1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + /mime/2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true + dev: true + + /minimatch/3.0.5: + resolution: {integrity: sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==} + dependencies: + brace-expansion: 1.1.11 + + /minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimist/1.2.5: + resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} + + /minimist/1.2.6: + resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} + dev: true + + /minipass/2.9.0: + resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} + dependencies: + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + + /minipass/3.1.6: + resolution: {integrity: sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==} + engines: {node: '>=8'} + dependencies: + yallist: 4.0.0 + + /minizlib/1.3.3: + resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + dependencies: + minipass: 2.9.0 + dev: false + + /minizlib/2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.1.6 + yallist: 4.0.0 + dev: false + + /mkdirp/0.5.5: + resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==} + hasBin: true + dependencies: + minimist: 1.2.5 + dev: false + + /mkdirp/1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + /moment-timezone/0.5.34: + resolution: {integrity: sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==} + dependencies: + moment: 2.29.1 + dev: false + + /moment/2.29.1: + resolution: {integrity: sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==} + dev: false + + /moment/2.29.3: + resolution: {integrity: sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==} + requiresBuild: true + dev: false + optional: true + + /mongodb/3.6.3: + resolution: {integrity: sha512-rOZuR0QkodZiM+UbQE5kDsJykBqWi0CL4Ec2i1nrGrUI3KO11r6Fbxskqmq3JK2NH7aW4dcccBuUujAP0ERl5w==} + engines: {node: '>=4'} + peerDependencies: + aws4: '*' + bson-ext: '*' + kerberos: '*' + mongodb-client-encryption: '*' + mongodb-extjson: '*' + snappy: '*' + peerDependenciesMeta: + aws4: + optional: true + bson-ext: + optional: true + kerberos: + optional: true + mongodb-client-encryption: + optional: true + mongodb-extjson: + optional: true + snappy: + optional: true + dependencies: + bl: 2.2.1 + bson: 1.1.6 + denque: 1.5.1 + require_optional: 1.0.1 + safe-buffer: 5.2.1 + optionalDependencies: + saslprep: 1.0.3 + dev: false + + /monk-middleware-cast-ids/0.2.1: + resolution: {integrity: sha1-QMQOWmyzPM7cKJIglDJ17ohhxSk=} + dev: false + + /monk-middleware-fields/0.2.0: + resolution: {integrity: sha1-/2N6819ZSIecyyvhWpE2CRG+psE=} + dev: false + + /monk-middleware-handle-callback/0.2.2: + resolution: {integrity: sha512-5hBynb7asZ2uw9XVze7C3XH0zXT51yFDvYydk/5HnWWzh2NLglDSiKDcX0yLKPHzFgiq+5Z4Laq5fFVnFsmm8w==} + dev: false + + /monk-middleware-options/0.2.1: + resolution: {integrity: sha1-WNrhxRjUZjbr3/UG+t/Hc7tEKIY=} + dev: false + + /monk-middleware-query/0.2.0: + resolution: {integrity: sha1-qSbGd9SlYgxiFRsKVtDAwVFnWHQ=} + dev: false + + /monk-middleware-wait-for-connection/0.2.0: + resolution: {integrity: sha1-MSlY0w5Yi1fQl1TdfJe0hDMWg1o=} + dev: false + + /monk/7.3.4: + resolution: {integrity: sha512-PkPNiElwroVyKQj01usyziOvwiKYBUVSq7YU1FB4KFr0J3v0GeXW0TebYsLR4u33WB8JGqPiAcuzDspfdujqQg==} + dependencies: + '@types/mongodb': 3.6.20 + debug: 4.3.3 + mongodb: 3.6.3 + monk-middleware-cast-ids: 0.2.1 + monk-middleware-fields: 0.2.0 + monk-middleware-handle-callback: 0.2.2 + monk-middleware-options: 0.2.1 + monk-middleware-query: 0.2.0 + monk-middleware-wait-for-connection: 0.2.0 + object-assign: 4.1.1 + transitivePeerDependencies: + - aws4 + - bson-ext + - kerberos + - mongodb-client-encryption + - mongodb-extjson + - snappy + - supports-color + dev: false + + /mqtt-packet/6.10.0: + resolution: {integrity: sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==} + dependencies: + bl: 4.1.0 + debug: 4.3.3 + process-nextick-args: 2.0.1 + transitivePeerDependencies: + - supports-color + dev: false + + /mqtt/4.3.4: + resolution: {integrity: sha512-yAVDfVHz3Cjn6K68z54mf7fTni/AWsPhiEsRwZSvet2wO47R6NFUn2psWxYIph2JxWtL3ZKa/da8pjJKSaXPdQ==} + engines: {node: '>=10.0.0'} + hasBin: true + dependencies: + commist: 1.1.0 + concat-stream: 2.0.0 + debug: 4.3.3 + duplexify: 4.1.2 + help-me: 3.0.0 + inherits: 2.0.4 + lru-cache: 6.0.0 + minimist: 1.2.5 + mqtt-packet: 6.10.0 + number-allocator: 1.0.9 + pump: 3.0.0 + readable-stream: 3.6.0 + reinterval: 1.1.0 + rfdc: 1.3.0 + split2: 3.2.2 + ws: 7.5.6 + xtend: 4.0.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + + /ms/2.0.0: + resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=} + + /ms/2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + /ms/2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + /msgpackr-extract-darwin-arm64/1.1.0: + resolution: {integrity: sha512-s1kHoT12tS2cCQOv+Wl3I+/cYNJXBPtwQqGA+dPYoXmchhXiE0Nso+BIfvQ5PxbmAyjj54Q5o7PnLTqVquNfZA==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /msgpackr-extract-darwin-x64/1.1.0: + resolution: {integrity: sha512-yx/H/i12IKg4eWGu/eKdKzJD4jaYvvujQSaVmeOMCesbSQnWo5X6YR9TFjoiNoU9Aexk1KufzL9gW+1DozG1yw==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /msgpackr-extract-linux-arm/1.1.0: + resolution: {integrity: sha512-0VvSCqi12xpavxl14gMrauwIzHqHbmSChUijy/uo3mpjB1Pk4vlisKpZsaOZvNJyNKj0ACi5jYtbWnnOd7hYGw==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /msgpackr-extract-linux-arm64/1.1.0: + resolution: {integrity: sha512-AxFle3fHNwz2V4CYDIGFxI6o/ZuI0lBKg0uHI8EcCMUmDE5mVAUWYge5WXmORVvb8sVWyVgFlmi3MTu4Ve6tNQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /msgpackr-extract-linux-x64/1.1.0: + resolution: {integrity: sha512-O+XoyNFWpdB8oQL6O/YyzffPpmG5rTNrr1nKLW70HD2ENJUhcITzbV7eZimHPzkn8LAGls1tBaMTHQezTBpFOw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /msgpackr-extract-win32-x64/1.1.0: + resolution: {integrity: sha512-6AJdM5rNsL4yrskRfhujVSPEd6IBpgvsnIT/TPowKNLQ62iIdryizPY2PJNFiW3AJcY249AHEiDBXS1cTDPxzA==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /msgpackr-extract/1.1.4: + resolution: {integrity: sha512-WQbHvsThprXh+EqZYy+SQFEs7z6bNM7a0vgirwUfwUcphWGT2mdPcpyLCNiRsN6w5q5VKJUMblHY+tNEyceb9Q==} + requiresBuild: true + dependencies: + node-gyp-build-optional-packages: 4.3.2 + optionalDependencies: + msgpackr-extract-darwin-arm64: 1.1.0 + msgpackr-extract-darwin-x64: 1.1.0 + msgpackr-extract-linux-arm: 1.1.0 + msgpackr-extract-linux-arm64: 1.1.0 + msgpackr-extract-linux-x64: 1.1.0 + msgpackr-extract-win32-x64: 1.1.0 + dev: false + optional: true + + /msgpackr/1.5.4: + resolution: {integrity: sha512-Z7w5Jg+2Q9z9gJxeM68d7tSuWZZGnFIRhZnyqcZCa/1dKkhOCNvR1TUV3zzJ3+vj78vlwKRzUgVDlW4jiSOeDA==} + optionalDependencies: + msgpackr-extract: 1.1.4 + dev: false + + /multer/1.4.4: + resolution: {integrity: sha512-2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw==} + engines: {node: '>= 0.10.0'} + dependencies: + append-field: 1.0.0 + busboy: 0.2.14 + concat-stream: 1.6.2 + mkdirp: 0.5.5 + object-assign: 4.1.1 + on-finished: 2.3.0 + type-is: 1.6.18 + xtend: 4.0.2 + dev: false + + /mv/2.1.1: + resolution: {integrity: sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==} + engines: {node: '>=0.8.0'} + requiresBuild: true + dependencies: + mkdirp: 0.5.5 + ncp: 2.0.0 + rimraf: 2.4.5 + dev: false + optional: true + + /nan/2.15.0: + resolution: {integrity: sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==} + dev: false + optional: true + + /natural-compare/1.4.0: + resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} + dev: true + + /ncp/2.0.0: + resolution: {integrity: sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=} + hasBin: true + dev: false + optional: true + + /negotiator/0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + /node-cache/5.1.2: + resolution: {integrity: sha512-t1QzWwnk4sjLWaQAS8CHgOJ+RAfmHpxFWmc36IWTiWHQfs0w5JDMBS1b1ZxQteo0vVVuWJvIUKHDkkeK7vIGCg==} + engines: {node: '>= 8.0.0'} + dependencies: + clone: 2.1.2 + dev: false + + /node-fetch/2.6.7: + resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-gyp-build-optional-packages/4.3.2: + resolution: {integrity: sha512-P5Ep3ISdmwcCkZIaBaQamQtWAG0facC89phWZgi5Z3hBU//J6S48OIvyZWSPPf6yQMklLZiqoosWAZUj7N+esA==} + hasBin: true + dev: false + optional: true + + /node-html-parser/5.3.3: + resolution: {integrity: sha512-ncg1033CaX9UexbyA7e1N0aAoAYRDiV8jkTvzEnfd1GDvzFdrsXLzR4p4ik8mwLgnaKP/jyUFWDy9q3jvRT2Jw==} + dependencies: + css-select: 4.2.1 + he: 1.2.0 + dev: false + + /node-mocks-http/1.11.0: + resolution: {integrity: sha512-jS/WzSOcKbOeGrcgKbenZeNhxUNnP36Yw11+hL4TTxQXErGfqYZ+MaYNNvhaTiGIJlzNSqgQkk9j8dSu1YWSuw==} + engines: {node: '>=0.6'} + dependencies: + accepts: 1.3.8 + content-disposition: 0.5.4 + depd: 1.1.2 + fresh: 0.5.2 + merge-descriptors: 1.0.1 + methods: 1.1.2 + mime: 1.6.0 + parseurl: 1.3.3 + range-parser: 1.2.1 + type-is: 1.6.18 + dev: true + + /node-preload/0.2.1: + resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==} + engines: {node: '>=8'} + dependencies: + process-on-spawn: 1.0.0 + dev: true + + /node-releases/2.0.1: + resolution: {integrity: sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==} + dev: true + + /nodemailer/6.7.2: + resolution: {integrity: sha512-Dz7zVwlef4k5R71fdmxwR8Q39fiboGbu3xgswkzGwczUfjp873rVxt1O46+Fh0j1ORnAC6L9+heI8uUpO6DT7Q==} + engines: {node: '>=6.0.0'} + dev: false + + /normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /npmlog/1.2.1: + resolution: {integrity: sha1-KOe+YZYJtT960d0wChDWTXFiaLY=} + dependencies: + ansi: 0.3.1 + are-we-there-yet: 1.0.6 + gauge: 1.2.7 + dev: false + + /nth-check/2.0.1: + resolution: {integrity: sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==} + dependencies: + boolbase: 1.0.0 + dev: false + + /number-allocator/1.0.9: + resolution: {integrity: sha512-sIIF0dZKMs3roPUD7rLreH8H3x47QKV9dHZ+PeSnH24gL0CxKxz/823woGZC0hLBSb2Ar/rOOeHiNbnPBum/Mw==} + dependencies: + debug: 4.3.3 + js-sdsl: 2.1.4 + transitivePeerDependencies: + - supports-color + dev: false + + /number-is-nan/1.0.1: + resolution: {integrity: sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=} + engines: {node: '>=0.10.0'} + dev: false + + /nyc/15.1.0: + resolution: {integrity: sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==} + engines: {node: '>=8.9'} + hasBin: true + dependencies: + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + caching-transform: 4.0.0 + convert-source-map: 1.8.0 + decamelize: 1.2.0 + find-cache-dir: 3.3.2 + find-up: 4.1.0 + foreground-child: 2.0.0 + get-package-type: 0.1.0 + glob: 7.2.0 + istanbul-lib-coverage: 3.2.0 + istanbul-lib-hook: 3.0.0 + istanbul-lib-instrument: 4.0.3 + istanbul-lib-processinfo: 2.0.2 + istanbul-lib-report: 3.0.0 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.4 + make-dir: 3.1.0 + node-preload: 0.2.1 + p-map: 3.0.0 + process-on-spawn: 1.0.0 + resolve-from: 5.0.0 + rimraf: 3.0.2 + signal-exit: 3.0.7 + spawn-wrap: 2.0.0 + test-exclude: 6.0.0 + yargs: 15.4.1 + transitivePeerDependencies: + - supports-color + dev: true + + /oauth-sign/0.9.0: + resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} + dev: true + + /object-assign/4.1.1: + resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=} + engines: {node: '>=0.10.0'} + dev: false + + /object-hash/2.2.0: + resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==} + engines: {node: '>= 6'} + dev: false + + /object-inspect/1.12.0: + resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==} + dev: true + + /object-keys/1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + /object.assign/4.1.2: + resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.3 + has-symbols: 1.0.2 + object-keys: 1.1.1 + dev: true + + /object.values/1.1.5: + resolution: {integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.3 + es-abstract: 1.19.1 + dev: true + + /on-finished/2.3.0: + resolution: {integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + dev: false + + /on-headers/1.0.2: + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} + dev: false + + /once/1.4.0: + resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} + dependencies: + wrappy: 1.0.2 + + /one-time/1.0.0: + resolution: {integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==} + dependencies: + fn.name: 1.1.0 + dev: false + + /opener/1.5.2: + resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} + hasBin: true + dev: true + + /optionator/0.9.1: + resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.3 + dev: true + + /os-locale/1.4.0: + resolution: {integrity: sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=} + engines: {node: '>=0.10.0'} + dependencies: + lcid: 1.0.0 + dev: false + + /own-or-env/1.0.2: + resolution: {integrity: sha512-NQ7v0fliWtK7Lkb+WdFqe6ky9XAzYmlkXthQrBbzlYbmFKoAYbDDcwmOm6q8kOuwSRXW8bdL5ORksploUJmWgw==} + dependencies: + own-or: 1.0.0 + dev: true + + /own-or/1.0.0: + resolution: {integrity: sha1-Tod/vtqaLsgAD7wLyuOWRe6L+Nw=} + dev: true + + /p-limit/1.3.0: + resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} + engines: {node: '>=4'} + dependencies: + p-try: 1.0.0 + dev: true + + /p-limit/2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-locate/2.0.0: + resolution: {integrity: sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=} + engines: {node: '>=4'} + dependencies: + p-limit: 1.3.0 + dev: true + + /p-locate/4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-map/2.1.0: + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} + dev: false + + /p-map/3.0.0: + resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} + engines: {node: '>=8'} + dependencies: + aggregate-error: 3.1.0 + dev: true + + /p-try/1.0.0: + resolution: {integrity: sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=} + engines: {node: '>=4'} + dev: true + + /p-try/2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /package-hash/4.0.0: + resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==} + engines: {node: '>=8'} + dependencies: + graceful-fs: 4.2.9 + hasha: 5.2.2 + lodash.flattendeep: 4.4.0 + release-zalgo: 1.0.0 + dev: true + + /parent-module/1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parseurl/1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + /path-exists/3.0.0: + resolution: {integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=} + engines: {node: '>=4'} + dev: true + + /path-exists/4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute/1.0.1: + resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} + engines: {node: '>=0.10.0'} + + /path-key/3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-to-regexp/0.1.7: + resolution: {integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=} + dev: false + + /path-type/4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /performance-now/2.1.0: + resolution: {integrity: sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=} + dev: true + + /picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pkg-dir/4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: true + + /prelude-ls/1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-linter-helpers/1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.2.0 + dev: true + + /prettier/2.5.1: + resolution: {integrity: sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /process-nextick-args/1.0.7: + resolution: {integrity: sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=} + dev: false + + /process-nextick-args/2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: false + + /process-on-spawn/1.0.0: + resolution: {integrity: sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==} + engines: {node: '>=8'} + dependencies: + fromentries: 1.3.2 + dev: true + + /proxy-addr/2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: false + + /prudence/0.9.7: + resolution: {integrity: sha512-7214GHTBThBI/PGlKWXUSJ++ca0ld54VpF4k98U1EDAFXai5mnvWbb4speVOnWkilqfN25x8biWUAj4gHNu5Og==} + dev: false + + /prudence/0.9.8: + resolution: {integrity: sha512-my6HEhcTW3aKKjAx8j6jgUj3x5Kc71NEv3DySRXun2Zspw6Fdo5zDnbpXv/j4tyk9f9XXrpu1grWVBX4WU+1Tg==} + dev: false + + /psl/1.8.0: + resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==} + dev: true + + /pump/3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode/2.1.1: + resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} + engines: {node: '>=6'} + dev: true + + /qs/6.10.3: + resolution: {integrity: sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: true + + /qs/6.5.3: + resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} + engines: {node: '>=0.6'} + dev: true + + /qs/6.9.3: + resolution: {integrity: sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw==} + engines: {node: '>=0.6'} + dev: true + + /qs/6.9.6: + resolution: {integrity: sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==} + engines: {node: '>=0.6'} + dev: false + + /queue-microtask/1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /random-bytes/1.0.0: + resolution: {integrity: sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=} + engines: {node: '>= 0.8'} + dev: false + + /range-parser/1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + /rate-limit-redis/2.1.0: + resolution: {integrity: sha512-6SAsTCzY0v6UCIKLOLLYqR2XzFmgdtF7jWXlSPq2FrNIZk8tZ7xwBvyGW7GFMCe5I4S9lYNdrSJ9E84rz3/CpA==} + dependencies: + defaults: 1.0.3 + redis: 3.1.2 + dev: false + + /raw-body/2.4.2: + resolution: {integrity: sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.1 + http-errors: 1.8.1 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /rc/1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.5 + strip-json-comments: 2.0.1 + dev: false + + /readable-stream/1.0.34: + resolution: {integrity: sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 0.0.1 + string_decoder: 0.10.31 + dev: false + + /readable-stream/1.1.14: + resolution: {integrity: sha1-fPTFTvZI44EwhMY23SB54WbAgdk=} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 0.0.1 + string_decoder: 0.10.31 + dev: false + + /readable-stream/2.1.5: + resolution: {integrity: sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=} + dependencies: + buffer-shims: 1.0.0 + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 1.0.7 + string_decoder: 0.10.31 + util-deprecate: 1.0.2 + dev: false + + /readable-stream/2.3.7: + resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: false + + /readable-stream/3.6.0: + resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + /readdirp/3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /redis-commands/1.7.0: + resolution: {integrity: sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ==} + dev: false + + /redis-errors/1.2.0: + resolution: {integrity: sha1-62LSrbFeTq9GEMBK/hUpOEJQq60=} + engines: {node: '>=4'} + dev: false + + /redis-parser/3.0.0: + resolution: {integrity: sha1-tm2CjNyv5rS4pCin3vTGvKwxyLQ=} + engines: {node: '>=4'} + dependencies: + redis-errors: 1.2.0 + dev: false + + /redis/3.1.2: + resolution: {integrity: sha512-grn5KoZLr/qrRQVwoSkmzdbw6pwF+/rwODtrOr6vuBRiR/f3rjSTGupbF90Zpqm2oenix8Do6RV7pYEkGwlKkw==} + engines: {node: '>=10'} + dependencies: + denque: 1.5.1 + redis-commands: 1.7.0 + redis-errors: 1.2.0 + redis-parser: 3.0.0 + dev: false + + /regexpp/3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} + dev: true + + /reinterval/1.1.0: + resolution: {integrity: sha1-M2Hs+jymwYKDOA3Qu5VG85D17Oc=} + dev: false + + /release-zalgo/1.0.0: + resolution: {integrity: sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=} + engines: {node: '>=4'} + dependencies: + es6-error: 4.1.1 + dev: true + + /request/2.88.2: + resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} + engines: {node: '>= 6'} + deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 + dependencies: + aws-sign2: 0.7.0 + aws4: 1.11.0 + caseless: 0.12.0 + combined-stream: 1.0.8 + extend: 3.0.2 + forever-agent: 0.6.1 + form-data: 2.3.3 + har-validator: 5.1.5 + http-signature: 1.2.0 + is-typedarray: 1.0.0 + isstream: 0.1.2 + json-stringify-safe: 5.0.1 + mime-types: 2.1.34 + oauth-sign: 0.9.0 + performance-now: 2.1.0 + qs: 6.5.3 + safe-buffer: 5.2.1 + tough-cookie: 2.5.0 + tunnel-agent: 0.6.0 + uuid: 3.4.0 + dev: true + + /require-directory/2.1.1: + resolution: {integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=} + engines: {node: '>=0.10.0'} + dev: true + + /require-main-filename/2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + dev: true + + /require_optional/1.0.1: + resolution: {integrity: sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==} + dependencies: + resolve-from: 2.0.0 + semver: 5.7.1 + dev: false + + /resolve-from/2.0.0: + resolution: {integrity: sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=} + engines: {node: '>=0.10.0'} + dev: false + + /resolve-from/4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-from/5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /resolve/1.22.0: + resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} + hasBin: true + dependencies: + is-core-module: 2.8.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /reusify/1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rfdc/1.3.0: + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + dev: false + + /rg-stats/0.3.0: + resolution: {integrity: sha512-lsdYxRllfrdZEl+lQEVMwO16Z58ZC4qt0/XE+E+m24eFHaxIUVCb+yWl9YTzt3Zw9QAPVcgOGRB0Q1otzB0s0g==} + dev: false + + /rimraf/2.4.5: + resolution: {integrity: sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=} + hasBin: true + dependencies: + glob: 6.0.4 + dev: false + + /rimraf/3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.0 + + /run-parallel/1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-buffer/5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + /safe-buffer/5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + /safe-json-stringify/1.2.0: + resolution: {integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==} + dev: false + + /safe-stable-stringify/1.1.1: + resolution: {integrity: sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==} + dev: false + + /safe-stable-stringify/2.3.1: + resolution: {integrity: sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==} + engines: {node: '>=10'} + dev: false + + /safer-buffer/2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + /saslprep/1.0.3: + resolution: {integrity: sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==} + engines: {node: '>=6'} + requiresBuild: true + dependencies: + sparse-bitfield: 3.0.3 + dev: false + optional: true + + /semver/5.7.1: + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + hasBin: true + dev: false + + /semver/6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + hasBin: true + + /semver/7.3.7: + resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /send/0.17.2: + resolution: {integrity: sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==} + engines: {node: '>= 0.8.0'} + dependencies: + debug: 2.6.9 + depd: 1.1.2 + destroy: 1.0.4 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 1.8.1 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.3.0 + range-parser: 1.2.1 + statuses: 1.5.0 + dev: false + + /seq-logging/1.1.1: + resolution: {integrity: sha512-9miWILWu22dKNCkZi2UePAnZeQEzaYsQRKbAi5eSBUbuOyyeYPyYO1bEvIvZAZRjltEwY1S0yz94hc0/f+niDg==} + dev: false + + /serve-static/1.14.2: + resolution: {integrity: sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==} + engines: {node: '>= 0.8.0'} + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.17.2 + dev: false + + /set-blocking/2.0.0: + resolution: {integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc=} + dev: true + + /setimmediate/1.0.5: + resolution: {integrity: sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=} + dev: false + + /setprototypeof/1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: false + + /shebang-command/2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex/3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /side-channel/1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.1.1 + object-inspect: 1.12.0 + dev: true + + /siginfo/2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true + + /signal-exit/3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /simple-swizzle/0.2.2: + resolution: {integrity: sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=} + dependencies: + is-arrayish: 0.3.2 + dev: false + + /slash/3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /source-map-support/0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map/0.5.7: + resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=} + engines: {node: '>=0.10.0'} + dev: true + + /source-map/0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /sparse-bitfield/3.0.3: + resolution: {integrity: sha1-/0rm5oZWBWuks+eSqzM004JzyhE=} + dependencies: + memory-pager: 1.5.0 + dev: false + optional: true + + /spawn-wrap/2.0.0: + resolution: {integrity: sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==} + engines: {node: '>=8'} + dependencies: + foreground-child: 2.0.0 + is-windows: 1.0.2 + make-dir: 3.1.0 + rimraf: 3.0.2 + signal-exit: 3.0.7 + which: 2.0.2 + dev: true + + /split2/3.2.2: + resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} + dependencies: + readable-stream: 3.6.0 + dev: false + + /splitargs/0.0.7: + resolution: {integrity: sha1-/p965lc3GzOxDLgNoUPPgknPazs=} + dev: false + + /sprintf-js/1.0.3: + resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} + dev: true + + /sshpk/1.17.0: + resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + asn1: 0.2.6 + assert-plus: 1.0.0 + bcrypt-pbkdf: 1.0.2 + dashdash: 1.14.1 + ecc-jsbn: 0.1.2 + getpass: 0.1.7 + jsbn: 0.1.1 + safer-buffer: 2.1.2 + tweetnacl: 0.14.5 + dev: true + + /stack-trace/0.0.10: + resolution: {integrity: sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=} + dev: false + + /stack-utils/2.0.5: + resolution: {integrity: sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==} + engines: {node: '>=10'} + dependencies: + escape-string-regexp: 2.0.0 + dev: true + + /stackback/0.0.2: + resolution: {integrity: sha1-Gsig2Ug4SNFpXkGLbQMaPDzmjjs=} + dev: true + + /standard-as-callback/2.1.0: + resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} + dev: false + + /statuses/1.5.0: + resolution: {integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=} + engines: {node: '>= 0.6'} + dev: false + + /stream-shift/1.0.1: + resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==} + dev: false + + /streamsearch/0.1.2: + resolution: {integrity: sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=} + engines: {node: '>=0.8.0'} + dev: false + + /string-width/1.0.2: + resolution: {integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=} + engines: {node: '>=0.10.0'} + dependencies: + code-point-at: 1.1.0 + is-fullwidth-code-point: 1.0.0 + strip-ansi: 3.0.1 + dev: false + + /string-width/4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string.prototype.trimend/1.0.4: + resolution: {integrity: sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.3 + dev: true + + /string.prototype.trimstart/1.0.4: + resolution: {integrity: sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.3 + dev: true + + /string_decoder/0.10.31: + resolution: {integrity: sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=} + dev: false + + /string_decoder/1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + dependencies: + safe-buffer: 5.1.2 + dev: false + + /string_decoder/1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + + /strip-ansi/3.0.1: + resolution: {integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + + /strip-ansi/6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-bom/3.0.0: + resolution: {integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=} + engines: {node: '>=4'} + + /strip-bom/4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + dev: true + + /strip-json-comments/2.0.1: + resolution: {integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=} + engines: {node: '>=0.10.0'} + dev: false + + /strip-json-comments/3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /strnum/1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + dev: false + + /superagent/7.1.1: + resolution: {integrity: sha512-CQ2weSS6M+doIwwYFoMatklhRbx6sVNdB99OEJ5czcP3cng76Ljqus694knFWgOj3RkrtxZqIgpe6vhe0J7QWQ==} + engines: {node: '>=6.4.0 <13 || >=14'} + dependencies: + component-emitter: 1.3.0 + cookiejar: 2.1.3 + debug: 4.3.3 + fast-safe-stringify: 2.1.1 + form-data: 4.0.0 + formidable: 2.0.1 + methods: 1.1.2 + mime: 2.6.0 + qs: 6.10.3 + readable-stream: 3.6.0 + semver: 7.3.7 + transitivePeerDependencies: + - supports-color + dev: true + + /supertest/6.2.2: + resolution: {integrity: sha512-wCw9WhAtKJsBvh07RaS+/By91NNE0Wh0DN19/hWPlBOU8tAfOtbZoVSV4xXeoKoxgPx0rx2y+y+8660XtE7jzg==} + engines: {node: '>=6.0.0'} + dependencies: + methods: 1.1.2 + superagent: 7.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /supports-color/5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color/7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /tachi-common/0.14.15: + resolution: {integrity: sha512-lK7jUhfJUAZ8cpukKrZxEO1Cvrn0wwr5YOaHDWlAkvdwFCN4hdf2g+R9SatgDdncAa/uk5angIXkuEdvhJ2Q1g==} + dependencies: + '@types/express-serve-static-core': 4.17.28 + '@types/mongodb': 3.6.18 + prudence: 0.9.8 + dev: false + + /tap-mocha-reporter/5.0.1: + resolution: {integrity: sha512-1knFWOwd4khx/7uSEnUeaP9IPW3w+sqTgJMhrwah6t46nZ8P25atOKAjSvVDsT67lOPu0nfdOqUwoyKn+3E5pA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + color-support: 1.1.3 + debug: 4.3.3 + diff: 4.0.2 + escape-string-regexp: 2.0.0 + glob: 7.2.0 + tap-parser: 10.1.0 + tap-yaml: 1.0.0 + unicode-length: 2.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /tap-parser/10.1.0: + resolution: {integrity: sha512-FujQeciDaOiOvaIVGS1Rpb0v4R6XkOjvWCWowlz5oKuhPkEJ8U6pxgqt38xuzYhPt8dWEnfHn2jqpZdJEkW7pA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + events-to-array: 1.1.2 + minipass: 3.1.6 + tap-yaml: 1.0.0 + dev: true + + /tap-yaml/1.0.0: + resolution: {integrity: sha512-Rxbx4EnrWkYk0/ztcm5u3/VznbyFJpyXO12dDBHKWiDVxy7O2Qw6MRrwO5H6Ww0U5YhRY/4C/VzWmFPhBQc4qQ==} + dependencies: + yaml: 1.10.2 + dev: true + + /tap/15.1.6_ts-node@10.4.0+typescript@4.5.5: + resolution: {integrity: sha512-TN7xH6Q2tUPTd6qwmkhuFJcx1vUR8e4dDUpBKc61G0krOzne7Ia6aKIFb8O/0kVazachSSuVME1V8nQ2xwWL8w==} + engines: {node: '>=10'} + hasBin: true + peerDependencies: + flow-remove-types: '>=2.112.0' + ts-node: '>=8.5.2' + typescript: '>=3.7.2' + peerDependenciesMeta: + flow-remove-types: + optional: true + ts-node: + optional: true + typescript: + optional: true + dependencies: + chokidar: 3.5.3 + coveralls: 3.1.1 + findit: 2.0.0 + foreground-child: 2.0.0 + fs-exists-cached: 1.0.0 + glob: 7.2.0 + isexe: 2.0.0 + istanbul-lib-processinfo: 2.0.2 + jackspeak: 1.4.1 + libtap: 1.1.4 + minipass: 3.1.6 + mkdirp: 1.0.4 + nyc: 15.1.0 + opener: 1.5.2 + rimraf: 3.0.2 + signal-exit: 3.0.7 + source-map-support: 0.5.21 + tap-mocha-reporter: 5.0.1 + tap-parser: 10.1.0 + tap-yaml: 1.0.0 + tcompare: 5.0.7 + ts-node: 10.4.0_2615db9039ce432b4abf2fc39ef336ec + typescript: 4.5.5 + which: 2.0.2 + transitivePeerDependencies: + - supports-color + dev: true + bundledDependencies: + - ink + - treport + - '@types/react' + - '@isaacs/import-jsx' + - react + + /tar/4.4.19: + resolution: {integrity: sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==} + engines: {node: '>=4.5'} + dependencies: + chownr: 1.1.4 + fs-minipass: 1.2.7 + minipass: 2.9.0 + minizlib: 1.3.3 + mkdirp: 0.5.5 + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + + /tar/6.1.11: + resolution: {integrity: sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==} + engines: {node: '>= 10'} + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 3.1.6 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + dev: false + + /tcompare/5.0.7: + resolution: {integrity: sha512-d9iddt6YYGgyxJw5bjsN7UJUO1kGOtjSlNy/4PoGYAjQS5pAT/hzIoLf1bZCw+uUxRmZJh7Yy1aA7xKVRT9B4w==} + engines: {node: '>=10'} + dependencies: + diff: 4.0.2 + dev: true + + /test-exclude/6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.0 + minimatch: 3.0.5 + dev: true + + /text-hex/1.0.0: + resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} + dev: false + + /text-table/0.2.0: + resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} + dev: true + + /to-fast-properties/2.0.0: + resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} + engines: {node: '>=4'} + dev: true + + /to-regex-range/5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /toidentifier/1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: false + + /tough-cookie/2.5.0: + resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} + engines: {node: '>=0.8'} + dependencies: + psl: 1.8.0 + punycode: 2.1.1 + dev: true + + /tr46/0.0.3: + resolution: {integrity: sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=} + dev: false + + /traverse/0.3.9: + resolution: {integrity: sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=} + dev: false + + /triple-beam/1.3.0: + resolution: {integrity: sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==} + dev: false + + /trivial-deferred/1.0.1: + resolution: {integrity: sha1-N21NKdlR1jaKb3oK6FwvTV4GWPM=} + dev: true + + /ts-node/10.4.0_2615db9039ce432b4abf2fc39ef336ec: + resolution: {integrity: sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.7.0 + '@tsconfig/node10': 1.0.8 + '@tsconfig/node12': 1.0.9 + '@tsconfig/node14': 1.0.1 + '@tsconfig/node16': 1.0.2 + '@types/node': 16.11.7 + acorn: 8.7.0 + acorn-walk: 8.2.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 4.5.5 + yn: 3.1.1 + dev: false + + /tsconfig-paths/3.12.0: + resolution: {integrity: sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.1 + minimist: 1.2.5 + strip-bom: 3.0.0 + dev: false + + /tsconfig-paths/3.14.1: + resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.1 + minimist: 1.2.6 + strip-bom: 3.0.0 + dev: true + + /tslib/1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + + /tslib/2.3.1: + resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} + dev: false + + /tsutils/3.21.0_typescript@4.5.5: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + 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' + dependencies: + tslib: 1.14.1 + typescript: 4.5.5 + dev: true + + /tunnel-agent/0.6.0: + resolution: {integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /tweetnacl/0.14.5: + resolution: {integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=} + dev: true + + /type-check/0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-fest/0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /type-fest/0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true + + /type-is/1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.34 + + /typedarray-to-buffer/3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + dependencies: + is-typedarray: 1.0.0 + dev: true + + /typedarray/0.0.6: + resolution: {integrity: sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=} + dev: false + + /typescript/4.5.5: + resolution: {integrity: sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: false + + /uid-safe/2.1.5: + resolution: {integrity: sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==} + engines: {node: '>= 0.8'} + dependencies: + random-bytes: 1.0.0 + dev: false + + /unbox-primitive/1.0.1: + resolution: {integrity: sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==} + dependencies: + function-bind: 1.1.1 + has-bigints: 1.0.1 + has-symbols: 1.0.2 + which-boxed-primitive: 1.0.2 + dev: true + + /unicode-length/2.0.2: + resolution: {integrity: sha512-Ph/j1VbS3/r77nhoY2WU0GWGjVYOHL3xpKp0y/Eq2e5r0mT/6b649vm7KFO6RdAdrZkYLdxphYVgvODxPB+Ebg==} + dependencies: + punycode: 2.1.1 + strip-ansi: 3.0.1 + dev: true + + /universalify/0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: false + + /unpipe/1.0.0: + resolution: {integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=} + engines: {node: '>= 0.8'} + dev: false + + /unzipper/0.8.14: + resolution: {integrity: sha512-8rFtE7EP5ssOwGpN2dt1Q4njl0N1hUXJ7sSPz0leU2hRdq6+pra57z4YPBlVqm40vcgv6ooKZEAx48fMTv9x4w==} + dependencies: + big-integer: 1.6.51 + binary: 0.3.0 + bluebird: 3.4.7 + buffer-indexof-polyfill: 1.0.2 + duplexer2: 0.1.4 + fstream: 1.0.12 + listenercount: 1.0.1 + readable-stream: 2.1.5 + setimmediate: 1.0.5 + dev: false + + /uri-js/4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.1.1 + dev: true + + /url-join/0.0.1: + resolution: {integrity: sha1-HbSK1CLTQCRpqH99l73r/k+x48g=} + dev: false + + /util-deprecate/1.0.2: + resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} + + /utils-merge/1.0.1: + resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=} + engines: {node: '>= 0.4.0'} + dev: false + + /uuid/3.4.0: + resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: true + + /uuid/8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + dev: false + + /v8-compile-cache/2.3.0: + resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} + dev: true + + /vary/1.1.2: + resolution: {integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=} + engines: {node: '>= 0.8'} + dev: false + + /verror/1.10.0: + resolution: {integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=} + engines: {'0': node >=0.6.0} + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.3.0 + dev: true + + /webidl-conversions/3.0.1: + resolution: {integrity: sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=} + dev: false + + /whatwg-url/5.0.0: + resolution: {integrity: sha1-lmRU6HZUYuN2RNNib2dCzotwll0=} + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: false + + /which-boxed-primitive/1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.6 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which-module/2.0.0: + resolution: {integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=} + dev: true + + /which/1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + + /which/2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /why-is-node-running/2.2.1: + resolution: {integrity: sha512-8lT29hvpJh5tdVQfyUKB1FWuRuqms2ucPD+mt64ofv48j0CgMFhkQZxlWcEefNfr/8pJNqbH/gTB8z7jkyngUA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /window-size/0.1.4: + resolution: {integrity: sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=} + engines: {node: '>= 0.10.0'} + hasBin: true + dev: false + + /winston-daily-rotate-file/4.6.0_winston@3.5.1: + resolution: {integrity: sha512-mvpFb1LYmTvh/vz0dIS/aDCwEm0cvDa8D/tE4xWwdUYolD250wf+n0y1PZ2xr7fbvTLF/PQYqXtFIFrmog03Ow==} + engines: {node: '>=12'} + peerDependencies: + winston: ^3 + dependencies: + file-stream-rotator: 0.6.1 + object-hash: 2.2.0 + triple-beam: 1.3.0 + winston: 3.5.1 + winston-transport: 4.5.0 + dev: false + + /winston-transport/4.5.0: + resolution: {integrity: sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==} + engines: {node: '>= 6.4.0'} + dependencies: + logform: 2.3.2 + readable-stream: 3.6.0 + triple-beam: 1.3.0 + dev: false + + /winston/3.5.1: + resolution: {integrity: sha512-tbRtVy+vsSSCLcZq/8nXZaOie/S2tPXPFt4be/Q3vI/WtYwm7rrwidxVw2GRa38FIXcJ1kUM6MOZ9Jmnk3F3UA==} + engines: {node: '>= 6.4.0'} + dependencies: + '@dabh/diagnostics': 2.0.2 + async: 3.2.3 + is-stream: 2.0.1 + logform: 2.3.2 + one-time: 1.0.0 + readable-stream: 3.6.0 + safe-stable-stringify: 2.3.1 + stack-trace: 0.0.10 + triple-beam: 1.3.0 + winston-transport: 4.5.0 + dev: false + + /word-wrap/1.2.3: + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + engines: {node: '>=0.10.0'} + dev: true + + /wrap-ansi/2.1.0: + resolution: {integrity: sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=} + engines: {node: '>=0.10.0'} + dependencies: + string-width: 1.0.2 + strip-ansi: 3.0.1 + dev: false + + /wrap-ansi/6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi/7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy/1.0.2: + resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} + + /write-file-atomic/3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + dev: true + + /ws/7.5.6: + resolution: {integrity: sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: false + + /xtend/4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + dev: false + + /y18n/3.2.2: + resolution: {integrity: sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==} + dev: false + + /y18n/4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + dev: true + + /yallist/3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + + /yallist/4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + /yaml/1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + dev: true + + /yapool/1.0.0: + resolution: {integrity: sha1-9pPymjFbUNmp2iZGp6ZkXJaYW2o=} + dev: true + + /yargs-parser/18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + dev: true + + /yargs/15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.0 + y18n: 4.0.3 + yargs-parser: 18.1.3 + dev: true + + /yargs/3.32.0: + resolution: {integrity: sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=} + dependencies: + camelcase: 2.1.1 + cliui: 3.2.0 + decamelize: 1.2.0 + os-locale: 1.4.0 + string-width: 1.0.2 + window-size: 0.1.4 + y18n: 3.2.2 + dev: false + + /yn/3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + dev: false diff --git a/server/scripts/make-selfsigned-https.sh b/server/scripts/make-selfsigned-https.sh new file mode 100755 index 000000000..e7633657c --- /dev/null +++ b/server/scripts/make-selfsigned-https.sh @@ -0,0 +1,10 @@ +#! /bin/bash + +# This command is for dev servers only! You should use this to +# create a self-signed HTTPS certificate for local dev. +# That is it. This is not secure. +mkdir -p cert + +yes "" | openssl req -x509 -newkey rsa:4096 -keyout ./cert/key.pem -out ./cert/cert.pem -sha256 -days 365 --nodes &> /dev/null + +echo "Created HTTPS Certificates!" \ No newline at end of file diff --git a/server/src/datasets/words.ts b/server/src/datasets/words.ts new file mode 100644 index 000000000..84a4cf042 --- /dev/null +++ b/server/src/datasets/words.ts @@ -0,0 +1,2876 @@ +// https://raw.githubusercontent.com/hugsy/stuff/master/random-word/english-nouns.txt +// and https://gist.github.com/hugsy/8910dc78d208e40de42deb29e62df913 + +// so, why the hell is this like this? +// TS doesnt support copying "files" (i.e. non-ts files) into the build directory. This means we have to store things +// like this either in-memory, or use `cp` after the fact in order to emplace the files we're expecting. +// You can see which one i've gone for. +// I hope your editor supports rollup. + +export const adjectives = [ + "Abandoned", + "Able", + "Absolute", + "Adorable", + "Adventurous", + "Academic", + "Acceptable", + "Acclaimed", + "Accomplished", + "Accurate", + "Aching", + "Acidic", + "Acrobatic", + "Active", + "Actual", + "Adept", + "Admirable", + "Admired", + "Adolescent", + "Adorable", + "Adored", + "Advanced", + "Afraid", + "Affectionate", + "Aged", + "Aggravating", + "Aggressive", + "Agile", + "Agitated", + "Agonizing", + "Agreeable", + "Ajar", + "Alarmed", + "Alarming", + "Alert", + "Alienated", + "Alive", + "All", + "Altruistic", + "Amazing", + "Ambitious", + "Ample", + "Amused", + "Amusing", + "Anchored", + "Ancient", + "Angelic", + "Angry", + "Anguished", + "Animated", + "Annual", + "Another", + "Antique", + "Anxious", + "Any", + "Apprehensive", + "Appropriate", + "Apt", + "Arctic", + "Arid", + "Aromatic", + "Artistic", + "Ashamed", + "Assured", + "Astonishing", + "Athletic", + "Attached", + "Attentive", + "Attractive", + "Austere", + "Authentic", + "Authorized", + "Automatic", + "Avaricious", + "Average", + "Aware", + "Awesome", + "Awful", + "Awkward", + "Babyish", + "Bad", + "Back", + "Baggy", + "Bare", + "Barren", + "Basic", + "Beautiful", + "Belated", + "Beloved", + "Beneficial", + "Better", + "Best", + "Bewitched", + "Big", + "Big-hearted", + "Biodegradable", + "Bite-sized", + "Bitter", + + // "Black", - Could result in racism. + "Black-and-white", + "Bland", + "Blank", + "Blaring", + "Bleak", + "Blind", + "Blissful", + "Blond", + "Blue", + "Blushing", + "Bogus", + "Boiling", + "Bold", + "Bony", + "Boring", + "Bossy", + "Both", + "Bouncy", + "Bountiful", + "Bowed", + "Brave", + "Breakable", + "Brief", + "Bright", + "Brilliant", + "Brisk", + "Broken", + "Bronze", + + // "Brown", - Could result in racism + "Bruised", + "Bubbly", + "Bulky", + "Bumpy", + "Buoyant", + "Burdensome", + "Burly", + "Bustling", + "Busy", + "Buttery", + "Buzzing", + "Calculating", + "Calm", + "Candid", + "Canine", + "Capital", + "Carefree", + "Careful", + "Careless", + "Caring", + "Cautious", + "Cavernous", + "Celebrated", + "Charming", + "Cheap", + "Cheerful", + "Cheery", + "Chief", + "Chilly", + "Chubby", + "Circular", + "Classic", + "Clean", + "Clear", + "Clear-cut", + "Clever", + "Close", + "Closed", + "Cloudy", + "Clueless", + "Clumsy", + "Cluttered", + "Coarse", + "Cold", + "Colorful", + "Colorless", + "Colossal", + "Comfortable", + "Common", + "Compassionate", + "Competent", + "Complete", + "Complex", + "Complicated", + "Composed", + "Concerned", + "Concrete", + "Confused", + "Conscious", + "Considerate", + "Constant", + "Content", + "Conventional", + "Cooked", + "Cool", + "Cooperative", + "Coordinated", + "Corny", + "Corrupt", + "Costly", + "Courageous", + "Courteous", + "Crafty", + "Crazy", + "Creamy", + "Creative", + "Creepy", + "Criminal", + "Crisp", + "Critical", + "Crooked", + "Crowded", + "Cruel", + "Crushing", + "Cuddly", + "Cultivated", + "Cultured", + "Cumbersome", + "Curly", + "Curvy", + "Cute", + "Cylindrical", + "Damaged", + "Damp", + "Dangerous", + "Dapper", + "Daring", + "Darling", + "Dark", + "Dazzling", + "Dead", + "Deadly", + "Deafening", + "Dear", + "Dearest", + "Decent", + "Decimal", + "Decisive", + "Deep", + "Defenseless", + "Defensive", + "Defiant", + "Deficient", + "Definite", + "Definitive", + "Delayed", + "Delectable", + "Delicious", + "Delightful", + "Delirious", + "Demanding", + "Dense", + "Dental", + "Dependable", + "Dependent", + "Descriptive", + "Deserted", + "Detailed", + "Determined", + "Devoted", + "Different", + "Difficult", + "Digital", + "Diligent", + "Dim", + "Dimpled", + "Dimwitted", + "Direct", + "Disastrous", + "Discrete", + "Disfigured", + "Disgusting", + "Disloyal", + "Dismal", + "Distant", + "Downright", + "Dreary", + "Dirty", + "Disguised", + "Dishonest", + "Dismal", + "Distant", + "Distinct", + "Distorted", + "Dizzy", + "Dopey", + "Doting", + "Double", + "Downright", + "Drab", + "Drafty", + "Dramatic", + "Dreary", + "Droopy", + "Dry", + "Dual", + "Dull", + "Dutiful", + "Each", + "Eager", + "Earnest", + "Early", + "Easy", + "Easy-going", + "Ecstatic", + "Edible", + "Educated", + "Elaborate", + "Elastic", + "Elated", + "Elderly", + "Electric", + "Elegant", + "Elementary", + "Elliptical", + "Embarrassed", + "Embellished", + "Eminent", + "Emotional", + "Empty", + "Enchanted", + "Enchanting", + "Energetic", + "Enlightened", + "Enormous", + "Enraged", + "Entire", + "Envious", + "Equal", + "Equatorial", + "Essential", + "Esteemed", + "Ethical", + "Euphoric", + "Even", + "Evergreen", + "Everlasting", + "Every", + "Evil", + "Exalted", + "Excellent", + "Exemplary", + "Exhausted", + "Excitable", + "Excited", + "Exciting", + "Exotic", + "Expensive", + "Experienced", + "Expert", + "Extraneous", + "Extroverted", + "Extra-large", + "Extra-small", + "Fabulous", + "Failing", + "Faint", + "Fair", + "Faithful", + "Fake", + "False", + "Familiar", + "Famous", + "Fancy", + "Fantastic", + "Far", + "Faraway", + "Far-flung", + "Far-off", + "Fast", + "Fat", + "Fatal", + "Fatherly", + "Favorable", + "Favorite", + "Fearful", + "Fearless", + "Feisty", + "Feline", + "Female", + "Feminine", + "Few", + "Fickle", + "Filthy", + "Fine", + "Finished", + "Firm", + "First", + "Firsthand", + "Fitting", + "Fixed", + "Flaky", + "Flamboyant", + "Flashy", + "Flat", + "Flawed", + "Flawless", + "Flickering", + "Flimsy", + "Flippant", + "Flowery", + "Fluffy", + "Fluid", + "Flustered", + "Focused", + "Fond", + "Foolhardy", + "Foolish", + "Forceful", + "Forked", + "Formal", + "Forsaken", + "Forthright", + "Fortunate", + "Fragrant", + "Frail", + "Frank", + "Frayed", + "Free", + "French", + "Fresh", + "Frequent", + "Friendly", + "Frightened", + "Frightening", + "Frigid", + "Frilly", + "Frizzy", + "Frivolous", + "Front", + "Frosty", + "Frozen", + "Frugal", + "Fruitful", + "Full", + "Fumbling", + "Functional", + "Funny", + "Fussy", + "Fuzzy", + "Gargantuan", + "Gaseous", + "General", + "Generous", + "Gentle", + "Genuine", + "Giant", + "Giddy", + "Gigantic", + "Gifted", + "Giving", + "Glamorous", + "Glaring", + "Glass", + "Gleaming", + "Gleeful", + "Glistening", + "Glittering", + "Gloomy", + "Glorious", + "Glossy", + "Glum", + "Golden", + "Good", + "Good-natured", + "Gorgeous", + "Graceful", + "Gracious", + "Grand", + "Grandiose", + "Granular", + "Grateful", + "Grave", + "Gray", + "Great", + "Greedy", + "Green", + "Gregarious", + "Grim", + "Grimy", + "Gripping", + "Grizzled", + "Gross", + "Grotesque", + "Grouchy", + "Grounded", + "Growing", + "Growling", + "Grown", + "Grubby", + "Gruesome", + "Grumpy", + "Guilty", + "Gullible", + "Gummy", + "Hairy", + "Half", + "Handmade", + "Handsome", + "Handy", + "Happy", + "Happy-go-lucky", + "Hard", + "Hard-to-find", + "Harmful", + "Harmless", + "Harmonious", + "Harsh", + "Hasty", + "Hateful", + "Haunting", + "Healthy", + "Heartfelt", + "Hearty", + "Heavenly", + "Heavy", + "Hefty", + "Helpful", + "Helpless", + "Hidden", + "Hideous", + "High", + "High-level", + "Hilarious", + "Hoarse", + "Hollow", + "Homely", + "Honest", + "Honorable", + "Honored", + "Hopeful", + "Horrible", + "Hospitable", + "Hot", + "Huge", + "Humble", + "Humiliating", + "Humming", + "Humongous", + "Hungry", + "Hurtful", + "Husky", + "Icky", + "Icy", + "Ideal", + "Idealistic", + "Identical", + "Idle", + "Idiotic", + "Idolized", + "Ignorant", + "Ill", + "Illegal", + "Ill-fated", + "Ill-informed", + "Illiterate", + "Illustrious", + "Imaginary", + "Imaginative", + "Immaculate", + "Immaterial", + "Immediate", + "Immense", + "Impassioned", + "Impeccable", + "Impartial", + "Imperfect", + "Imperturbable", + "Impish", + "Impolite", + "Important", + "Impossible", + "Impractical", + "Impressionable", + "Impressive", + "Improbable", + "Impure", + "Inborn", + "Incomparable", + "Incompatible", + "Incomplete", + "Inconsequential", + "Incredible", + "Indelible", + "Inexperienced", + "Indolent", + "Infamous", + "Infantile", + "Infatuated", + "Inferior", + "Infinite", + "Informal", + "Innocent", + "Insecure", + "Insidious", + "Insignificant", + "Insistent", + "Instructive", + "Insubstantial", + "Intelligent", + "Intent", + "Intentional", + "Interesting", + "Internal", + "International", + "Intrepid", + "Ironclad", + "Irresponsible", + "Irritating", + "Itchy", + "Jaded", + "Jagged", + "Jam-packed", + "Jaunty", + "Jealous", + "Jittery", + "Joint", + "Jolly", + "Jovial", + "Joyful", + "Joyous", + "Jubilant", + "Judicious", + "Juicy", + "Jumbo", + "Junior", + "Jumpy", + "Juvenile", + "Kaleidoscopic", + "Keen", + "Key", + "Kind", + "Kindhearted", + "Kindly", + "Klutzy", + "Knobby", + "Knotty", + "Knowledgeable", + "Knowing", + "Known", + "Kooky", + "Kosher", + "Lame", + "Lanky", + "Large", + "Last", + "Lasting", + "Late", + "Lavish", + "Lawful", + "Lazy", + "Leading", + "Lean", + "Leafy", + "Left", + "Legal", + "Legitimate", + "Light", + "Lighthearted", + "Likable", + "Likely", + "Limited", + "Limp", + "Limping", + "Linear", + "Lined", + "Liquid", + "Little", + "Live", + "Lively", + "Livid", + "Loathsome", + "Lone", + "Lonely", + "Long", + "Long-term", + "Loose", + "Lopsided", + "Lost", + "Loud", + "Lovable", + "Lovely", + "Loving", + "Low", + "Loyal", + "Lucky", + "Lumbering", + "Luminous", + "Lumpy", + "Lustrous", + "Luxurious", + "Mad", + "Made-up", + "Magnificent", + "Majestic", + "Major", + + // "Male", - try and avoid sexism + "Mammoth", + "Married", + "Marvelous", + "Masculine", + "Massive", + "Mature", + "Meager", + "Mealy", + "Mean", + "Measly", + "Meaty", + "Medical", + "Mediocre", + "Medium", + "Meek", + "Mellow", + "Melodic", + "Memorable", + "Menacing", + "Merry", + "Messy", + "Metallic", + "Mild", + "Milky", + "Mindless", + "Miniature", + "Minor", + "Minty", + "Miserable", + "Miserly", + "Misguided", + "Misty", + "Mixed", + "Modern", + "Modest", + "Moist", + "Monstrous", + "Monthly", + "Monumental", + "Moral", + "Mortified", + "Motherly", + "Motionless", + "Mountainous", + "Muddy", + "Muffled", + "Multicolored", + "Mundane", + "Murky", + "Mushy", + "Musty", + "Muted", + "Mysterious", + "Naive", + "Narrow", + "Nasty", + "Natural", + "Naughty", + "Nautical", + "Near", + "Neat", + "Necessary", + "Needy", + "Negative", + "Neglected", + "Negligible", + "Neighboring", + "Nervous", + "New", + "Next", + "Nice", + "Nifty", + "Nimble", + "Nippy", + "Nocturnal", + "Noisy", + "Nonstop", + "Normal", + "Notable", + "Noted", + "Noteworthy", + "Novel", + "Noxious", + "Numb", + "Nutritious", + "Nutty", + "Obedient", + "Obese", + "Oblong", + "Oily", + "Oblong", + "Obvious", + "Occasional", + "Odd", + "Oddball", + "Offbeat", + "Offensive", + "Official", + "Old", + "Old-fashioned", + "Only", + "Open", + "Optimal", + "Optimistic", + "Opulent", + "Orange", + "Orderly", + "Organic", + "Ornate", + "Ornery", + "Ordinary", + "Original", + "Other", + "Our", + "Outlying", + "Outgoing", + "Outlandish", + "Outrageous", + "Outstanding", + "Oval", + "Overcooked", + "Overdue", + "Overjoyed", + "Overlooked", + "Palatable", + "Pale", + "Paltry", + "Parallel", + "Parched", + "Partial", + "Passionate", + "Past", + "Pastel", + "Peaceful", + "Peppery", + "Perfect", + "Perfumed", + "Periodic", + "Perky", + "Personal", + "Pertinent", + "Pesky", + "Pessimistic", + "Petty", + "Phony", + "Physical", + "Piercing", + "Pink", + "Pitiful", + "Plain", + "Plaintive", + "Plastic", + "Playful", + "Pleasant", + "Pleased", + "Pleasing", + "Plump", + "Plush", + "Polished", + "Polite", + "Political", + "Pointed", + "Pointless", + "Poised", + "Poor", + "Popular", + "Portly", + "Posh", + "Positive", + "Possible", + "Potable", + "Powerful", + "Powerless", + "Practical", + "Precious", + "Present", + "Prestigious", + "Pretty", + "Precious", + "Previous", + "Pricey", + "Prickly", + "Primary", + "Prime", + "Pristine", + "Private", + "Prize", + "Probable", + "Productive", + "Profitable", + "Profuse", + "Proper", + "Proud", + "Prudent", + "Punctual", + "Pungent", + "Puny", + "Pure", + "Purple", + "Pushy", + "Putrid", + "Puzzled", + "Puzzling", + "Quaint", + "Qualified", + "Quarrelsome", + "Quarterly", + "Queasy", + "Querulous", + "Questionable", + "Quick", + "Quick-witted", + "Quiet", + "Quintessential", + "Quirky", + "Quixotic", + "Quizzical", + "Radiant", + "Ragged", + "Rapid", + "Rare", + "Rash", + "Raw", + "Recent", + "Reckless", + "Rectangular", + "Ready", + "Real", + "Realistic", + "Reasonable", + "Red", + "Reflecting", + "Regal", + "Regular", + "Reliable", + "Relieved", + "Remarkable", + "Remorseful", + "Remote", + "Repentant", + "Required", + "Respectful", + "Responsible", + "Repulsive", + "Revolving", + "Rewarding", + "Rich", + "Rigid", + "Right", + "Ringed", + "Ripe", + "Roasted", + "Robust", + "Rosy", + "Rotating", + "Rotten", + "Rough", + "Round", + "Rowdy", + "Royal", + "Rubbery", + "Rundown", + "Ruddy", + "Rude", + "Runny", + "Rural", + "Rusty", + "Sad", + "Safe", + "Salty", + "Same", + "Sandy", + "Sane", + "Sarcastic", + "Sardonic", + "Satisfied", + "Scaly", + "Scarce", + "Scared", + "Scary", + "Scented", + "Scholarly", + "Scientific", + "Scornful", + "Scratchy", + "Scrawny", + "Second", + "Secondary", + "Second-hand", + "Secret", + "Self-assured", + "Self-reliant", + "Selfish", + "Sentimental", + "Separate", + "Serene", + "Serious", + "Serpentine", + "Several", + "Severe", + "Shabby", + "Shadowy", + "Shady", + "Shallow", + "Shameful", + "Shameless", + "Sharp", + "Shimmering", + "Shiny", + "Shocked", + "Shocking", + "Shoddy", + "Short", + "Short-term", + "Showy", + "Shrill", + "Shy", + "Sick", + "Silent", + "Silky", + "Silly", + "Silver", + "Similar", + "Simple", + "Simplistic", + "Sinful", + "Single", + "Sizzling", + "Skeletal", + "Skinny", + "Sleepy", + "Slight", + "Slim", + "Slimy", + "Slippery", + "Slow", + "Slushy", + "Small", + "Smart", + "Smoggy", + "Smooth", + "Smug", + "Snappy", + "Snarling", + "Sneaky", + "Sniveling", + "Snoopy", + "Sociable", + "Soft", + "Soggy", + "Solid", + "Somber", + "Some", + "Spherical", + "Sophisticated", + "Sore", + "Sorrowful", + "Soulful", + "Soupy", + "Sour", + "Spanish", + "Sparkling", + "Sparse", + "Specific", + "Spectacular", + "Speedy", + "Spicy", + "Spiffy", + "Spirited", + "Spiteful", + "Splendid", + "Spotless", + "Spotted", + "Spry", + "Square", + "Squeaky", + "Squiggly", + "Stable", + "Staid", + "Stained", + "Stale", + "Standard", + "Starchy", + "Stark", + "Starry", + "Steep", + "Sticky", + "Stiff", + "Stimulating", + "Stingy", + "Stormy", + "Straight", + "Strange", + "Steel", + "Strict", + "Strident", + "Striking", + "Striped", + "Strong", + "Studious", + "Stunning", + "Stupendous", + "Stupid", + "Sturdy", + "Stylish", + "Subdued", + "Submissive", + "Substantial", + "Subtle", + "Suburban", + "Sudden", + "Sugary", + "Sunny", + "Super", + "Superb", + "Superficial", + "Superior", + "Supportive", + "Sure-footed", + "Surprised", + "Suspicious", + "Svelte", + "Sweaty", + "Sweet", + "Sweltering", + "Swift", + "Sympathetic", + "Tall", + "Talkative", + "Tame", + "Tan", + "Tangible", + "Tart", + "Tasty", + "Tattered", + "Taut", + "Tedious", + "Teeming", + "Tempting", + "Tender", + "Tense", + "Tepid", + "Terrible", + "Terrific", + "Testy", + "Thankful", + "That", + "These", + "Thick", + "Thin", + "Third", + "Thirsty", + "This", + "Thorough", + "Thorny", + "Those", + "Thoughtful", + "Threadbare", + "Thrifty", + "Thunderous", + "Tidy", + "Tight", + "Timely", + "Tinted", + "Tiny", + "Tired", + "Torn", + "Total", + "Tough", + "Traumatic", + "Treasured", + "Tremendous", + "Tragic", + "Trained", + "Tremendous", + "Triangular", + "Tricky", + "Trifling", + "Trim", + "Trivial", + "Troubled", + "True", + "Trusting", + "Trustworthy", + "Trusty", + "Truthful", + "Tubby", + "Turbulent", + "Twin", + "Ugly", + "Ultimate", + "Unacceptable", + "Unaware", + "Uncomfortable", + "Uncommon", + "Unconscious", + "Understated", + "Unequaled", + "Uneven", + "Unfinished", + "Unfit", + "Unfolded", + "Unfortunate", + "Unhappy", + "Unhealthy", + "Uniform", + "Unimportant", + "Unique", + "United", + "Unkempt", + "Unknown", + "Unlawful", + "Unlined", + "Unlucky", + "Unnatural", + "Unpleasant", + "Unrealistic", + "Unripe", + "Unruly", + "Unselfish", + "Unsightly", + "Unsteady", + "Unsung", + "Untidy", + "Untimely", + "Untried", + "Untrue", + "Unused", + "Unusual", + "Unwelcome", + "Unwieldy", + "Unwilling", + "Unwitting", + "Unwritten", + "Upbeat", + "Upright", + "Upset", + "Urban", + "Usable", + "Used", + "Useful", + "Useless", + "Utilized", + "Utter", + "Vacant", + "Vague", + "Vain", + "Valid", + "Valuable", + "Vapid", + "Variable", + "Vast", + "Velvety", + "Venerated", + "Vengeful", + "Verifiable", + "Vibrant", + "Vicious", + "Victorious", + "Vigilant", + "Vigorous", + "Villainous", + "Violet", + "Violent", + "Virtual", + "Virtuous", + "Visible", + "Vital", + "Vivacious", + "Vivid", + "Voluminous", + "Wan", + "Warlike", + "Warm", + "Warmhearted", + "Warped", + "Wary", + "Wasteful", + "Watchful", + "Waterlogged", + "Watery", + "Wavy", + "Wealthy", + "Weak", + "Weary", + "Webbed", + "Wee", + "Weekly", + "Weepy", + "Weighty", + "Weird", + "Welcome", + "Well-documented", + "Well-groomed", + "Well-informed", + "Well-lit", + "Well-made", + "Well-off", + "Well-to-do", + "Well-worn", + "Wet", + "Which", + "Whimsical", + "Whirlwind", + "Whispered", + + // "White", - Could result in racism + "Whole", + "Whopping", + "Wicked", + "Wide", + "Wide-eyed", + "Wiggly", + "Wild", + "Willing", + "Wilted", + "Winding", + "Windy", + "Winged", + "Wiry", + "Wise", + "Witty", + "Wobbly", + "Woeful", + "Wonderful", + "Wooden", + "Woozy", + "Wordy", + "Worldly", + "Worn", + "Worried", + "Worrisome", + "Worse", + "Worst", + "Worthless", + "Worthwhile", + "Worthy", + "Wrathful", + "Wretched", + "Writhing", + "Wrong", + "Wry", + "Yawning", + "Yearly", + "Yellow", + "Yellowish", + "Young", + "Youthful", + "Yummy", + "Zany", + "Zealous", + "Zesty", + "Zigzag", +]; + +export const nouns = [ + "People", + "History", + "Way", + "Art", + "World", + "Information", + "Map", + "Two", + "Family", + "Government", + "Health", + "System", + "Computer", + "Meat", + "Year", + "Thanks", + "Music", + "Person", + "Reading", + "Method", + "Data", + "Food", + "Understanding", + "Theory", + "Law", + "Bird", + "Literature", + "Problem", + "Software", + "Control", + "Knowledge", + "Power", + "Ability", + "Economics", + "Love", + "Internet", + "Television", + "Science", + "Library", + "Nature", + "Fact", + "Product", + "Idea", + "Temperature", + "Investment", + "Area", + "Society", + "Activity", + "Story", + "Industry", + "Media", + "Thing", + "Oven", + "Community", + "Definition", + "Safety", + "Quality", + "Development", + "Language", + "Management", + "Player", + "Variety", + "Video", + "Week", + "Security", + "Country", + "Exam", + "Movie", + "Organization", + "Equipment", + "Physics", + "Analysis", + "Policy", + "Series", + "Thought", + "Basis", + "Boyfriend", + "Direction", + "Strategy", + "Technology", + "Army", + "Camera", + "Freedom", + "Paper", + "Environment", + "Child", + "Instance", + "Month", + "Truth", + "Marketing", + "University", + "Writing", + "Article", + "Department", + "Difference", + "Goal", + "News", + "Audience", + "Fishing", + "Growth", + "Income", + "Marriage", + "User", + "Combination", + "Failure", + "Meaning", + "Medicine", + "Philosophy", + "Teacher", + "Communication", + "Night", + "Chemistry", + "Disease", + "Disk", + "Energy", + "Nation", + "Road", + "Role", + "Soup", + "Advertising", + "Location", + "Success", + "Addition", + "Apartment", + "Education", + "Math", + "Moment", + "Painting", + "Politics", + "Attention", + "Decision", + "Event", + "Property", + "Shopping", + "Student", + "Wood", + "Competition", + "Distribution", + "Entertainment", + "Office", + "Population", + "President", + "Unit", + "Category", + "Cigarette", + "Context", + "Introduction", + "Opportunity", + "Performance", + "Driver", + "Flight", + "Length", + "Magazine", + "Newspaper", + "Relationship", + "Teaching", + "Cell", + "Dealer", + "Finding", + "Lake", + "Member", + "Message", + "Phone", + "Scene", + "Appearance", + "Association", + "Concept", + "Customer", + "Death", + "Discussion", + "Housing", + "Inflation", + "Insurance", + "Mood", + "Woman", + "Advice", + "Blood", + "Effort", + "Expression", + "Importance", + "Opinion", + "Payment", + "Reality", + "Responsibility", + "Situation", + "Skill", + "Statement", + "Wealth", + "Application", + "City", + "County", + "Depth", + "Estate", + "Foundation", + "Grandmother", + "Heart", + "Perspective", + "Photo", + "Recipe", + "Studio", + "Topic", + "Collection", + "Depression", + "Imagination", + "Passion", + "Percentage", + "Resource", + "Setting", + "Ad", + "Agency", + "College", + "Connection", + "Criticism", + "Debt", + "Description", + "Memory", + "Patience", + "Secretary", + "Solution", + "Administration", + "Aspect", + "Attitude", + "Director", + "Personality", + "Psychology", + "Recommendation", + "Response", + "Selection", + "Storage", + "Version", + "Alcohol", + "Argument", + "Complaint", + "Contract", + "Emphasis", + "Highway", + "Loss", + "Membership", + "Possession", + "Preparation", + "Steak", + "Union", + "Agreement", + "Cancer", + "Currency", + "Employment", + "Engineering", + "Entry", + "Interaction", + "Mixture", + "Preference", + "Region", + "Republic", + "Tradition", + "Virus", + "Actor", + "Classroom", + "Delivery", + "Device", + "Difficulty", + "Drama", + "Election", + "Engine", + "Football", + "Guidance", + "Hotel", + "Owner", + "Priority", + "Protection", + "Suggestion", + "Tension", + "Variation", + "Anxiety", + "Atmosphere", + "Awareness", + "Bath", + "Bread", + "Candidate", + "Climate", + "Comparison", + "Confusion", + "Construction", + "Elevator", + "Emotion", + "Employee", + "Employer", + "Guest", + "Height", + "Leadership", + "Mall", + "Manager", + "Operation", + "Recording", + "Sample", + "Transportation", + "Charity", + "Cousin", + "Disaster", + "Editor", + "Efficiency", + "Excitement", + "Extent", + "Feedback", + "Guitar", + "Homework", + "Leader", + "Mom", + "Outcome", + "Permission", + "Presentation", + "Promotion", + "Reflection", + "Refrigerator", + "Resolution", + "Revenue", + "Session", + "Singer", + "Tennis", + "Basket", + "Bonus", + "Cabinet", + "Childhood", + "Church", + "Clothes", + "Coffee", + "Dinner", + "Drawing", + "Hair", + "Hearing", + "Initiative", + "Judgment", + "Lab", + "Measurement", + "Mode", + "Mud", + "Orange", + "Poetry", + "Police", + "Possibility", + "Procedure", + "Queen", + "Ratio", + "Relation", + "Restaurant", + "Satisfaction", + "Sector", + "Signature", + "Significance", + "Song", + "Tooth", + "Town", + "Vehicle", + "Volume", + "Wife", + "Accident", + "Airport", + "Appointment", + "Arrival", + "Assumption", + "Baseball", + "Chapter", + "Committee", + "Conversation", + "Database", + "Enthusiasm", + "Error", + "Explanation", + "Farmer", + "Gate", + "Girl", + "Hall", + "Historian", + "Hospital", + "Injury", + "Instruction", + "Maintenance", + "Manufacturer", + "Meal", + "Perception", + "Pie", + "Poem", + "Presence", + "Proposal", + "Reception", + "Replacement", + "Revolution", + "River", + "Son", + "Speech", + "Tea", + "Village", + "Warning", + "Winner", + "Worker", + "Writer", + "Assistance", + "Breath", + "Buyer", + "Chest", + "Chocolate", + "Conclusion", + "Contribution", + "Cookie", + "Courage", + "Dad", + "Desk", + "Drawer", + "Establishment", + "Examination", + "Garbage", + "Grocery", + "Honey", + "Impression", + "Improvement", + "Independence", + "Insect", + "Inspection", + "Inspector", + "King", + "Ladder", + "Menu", + "Penalty", + "Piano", + "Potato", + "Profession", + "Professor", + "Quantity", + "Reaction", + "Requirement", + "Salad", + "Sister", + "Supermarket", + "Tongue", + "Weakness", + "Wedding", + "Affair", + "Ambition", + "Analyst", + "Apple", + "Assignment", + "Assistant", + "Bathroom", + "Bedroom", + "Beer", + "Birthday", + "Celebration", + "Championship", + "Cheek", + "Client", + "Consequence", + "Departure", + "Diamond", + "Dirt", + "Ear", + "Fortune", + "Friendship", + "Funeral", + "Gene", + "Girlfriend", + "Hat", + "Indication", + "Intention", + "Lady", + "Midnight", + "Negotiation", + "Obligation", + "Passenger", + "Pizza", + "Platform", + "Poet", + "Pollution", + "Recognition", + "Reputation", + "Shirt", + "Sir", + "Speaker", + "Stranger", + "Surgery", + "Sympathy", + "Tale", + "Throat", + "Trainer", + "Uncle", + "Youth", + "Time", + "Work", + "Film", + "Water", + "Money", + "Example", + "While", + "Business", + "Study", + "Game", + "Life", + "Form", + "Air", + "Day", + "Place", + "Number", + "Part", + "Field", + "Fish", + "Back", + "Process", + "Heat", + "Hand", + "Experience", + "Job", + "Book", + "End", + "Point", + "Type", + "Home", + "Economy", + "Value", + "Body", + "Market", + "Guide", + "Interest", + "State", + "Radio", + "Course", + "Company", + "Price", + "Size", + "Card", + "List", + "Mind", + "Trade", + "Line", + "Care", + "Group", + "Risk", + "Word", + "Fat", + "Force", + "Key", + "Light", + "Training", + "Name", + "School", + "Top", + "Amount", + "Level", + "Order", + "Practice", + "Research", + "Sense", + "Service", + "Piece", + "Web", + "Boss", + "Sport", + "Fun", + "House", + "Page", + "Term", + "Test", + "Answer", + "Sound", + "Focus", + "Matter", + "Kind", + "Soil", + "Board", + "Oil", + "Picture", + "Access", + "Garden", + "Range", + "Rate", + "Reason", + "Future", + "Site", + "Demand", + "Exercise", + "Image", + "Case", + "Cause", + "Coast", + "Action", + "Age", + "Bad", + "Boat", + "Record", + "Result", + "Section", + "Building", + "Mouse", + "Cash", + "Class", + "Nothing", + "Period", + "Plan", + "Store", + "Tax", + "Side", + "Subject", + "Space", + "Rule", + "Stock", + "Weather", + "Chance", + "Figure", + "Man", + "Model", + "Source", + "Beginning", + "Earth", + "Program", + "Chicken", + "Design", + "Feature", + "Head", + "Material", + "Purpose", + "Question", + "Rock", + "Salt", + "Act", + "Birth", + "Car", + "Dog", + "Object", + "Scale", + "Sun", + "Note", + "Profit", + "Rent", + "Speed", + "Style", + "War", + "Bank", + "Craft", + "Half", + "Inside", + "Outside", + "Standard", + "Bus", + "Exchange", + "Eye", + "Fire", + "Position", + "Pressure", + "Stress", + "Advantage", + "Benefit", + "Box", + "Frame", + "Issue", + "Step", + "Cycle", + "Face", + "Item", + "Metal", + "Paint", + "Review", + "Room", + "Screen", + "Structure", + "View", + "Account", + "Ball", + "Discipline", + "Medium", + "Share", + "Balance", + "Bit", + + // "Black", I have visions of this one resulting in racism + "Bottom", + "Choice", + "Gift", + "Impact", + "Machine", + "Shape", + "Tool", + "Wind", + "Address", + "Average", + "Career", + "Culture", + "Morning", + "Pot", + "Sign", + "Table", + "Task", + "Condition", + "Contact", + "Credit", + "Egg", + "Hope", + "Ice", + "Network", + "North", + "Square", + "Attempt", + "Date", + "Effect", + "Link", + "Post", + "Star", + "Voice", + "Capital", + "Challenge", + "Friend", + "Self", + "Shot", + "Brush", + "Couple", + "Debate", + "Exit", + "Front", + "Function", + "Lack", + "Living", + "Plant", + "Plastic", + "Spot", + "Summer", + "Taste", + "Theme", + "Track", + "Wing", + "Brain", + "Button", + "Click", + "Desire", + "Foot", + "Gas", + "Influence", + "Notice", + "Rain", + "Wall", + "Base", + "Damage", + "Distance", + "Feeling", + "Pair", + "Savings", + "Staff", + "Sugar", + "Target", + "Text", + "Animal", + "Author", + "Budget", + "Discount", + "File", + "Ground", + "Lesson", + "Minute", + "Officer", + "Phase", + "Reference", + "Register", + "Sky", + "Stage", + "Stick", + "Title", + "Trouble", + "Bowl", + "Bridge", + "Campaign", + "Character", + "Club", + "Edge", + "Evidence", + "Fan", + "Letter", + "Lock", + "Maximum", + "Novel", + "Option", + "Pack", + "Park", + "Plenty", + "Quarter", + + // "Skin", - Could possibly be racist. + "Sort", + "Weight", + "Baby", + "Background", + "Carry", + "Dish", + "Factor", + "Fruit", + "Glass", + "Joint", + "Master", + "Muscle", + "Red", + "Strength", + "Traffic", + "Trip", + "Vegetable", + "Appeal", + "Chart", + "Gear", + "Ideal", + "Kitchen", + "Land", + "Log", + "Mother", + "Net", + "Party", + "Principle", + "Relative", + "Sale", + "Season", + "Signal", + "Spirit", + "Street", + "Tree", + "Wave", + "Belt", + "Bench", + "Commission", + "Copy", + "Drop", + "Minimum", + "Path", + "Progress", + "Project", + "Sea", + "South", + "Status", + "Stuff", + "Ticket", + "Tour", + "Angle", + "Blue", + "Breakfast", + "Confidence", + "Daughter", + "Degree", + "Doctor", + "Dot", + "Dream", + "Duty", + "Essay", + "Father", + "Fee", + "Finance", + "Hour", + "Juice", + "Limit", + "Luck", + "Milk", + "Mouth", + "Peace", + "Pipe", + "Seat", + "Stable", + "Storm", + "Substance", + "Team", + "Trick", + "Afternoon", + "Bat", + "Beach", + "Blank", + "Catch", + "Chain", + "Consideration", + "Cream", + "Crew", + "Detail", + "Gold", + "Interview", + "Kid", + "Mark", + "Match", + "Mission", + "Pain", + "Pleasure", + "Score", + "Screw", + + // "Sex", - Absolutely not, Thanks for this being in a SFW wordlist... + "Shop", + "Shower", + "Suit", + "Tone", + "Window", + "Agent", + "Band", + "Block", + "Bone", + "Calendar", + "Cap", + "Coat", + "Contest", + "Corner", + "Court", + "Cup", + "District", + "Door", + "East", + "Finger", + "Garage", + "Guarantee", + "Hole", + "Hook", + "Implement", + "Layer", + "Lecture", + "Lie", + "Manner", + "Meeting", + "Nose", + "Parking", + "Partner", + "Profile", + "Respect", + "Rice", + "Routine", + "Schedule", + "Swimming", + "Telephone", + "Tip", + "Winter", + "Airline", + "Bag", + "Battle", + "Bed", + "Bill", + "Bother", + "Cake", + "Code", + "Curve", + "Designer", + "Dimension", + "Dress", + "Ease", + "Emergency", + "Evening", + "Extension", + "Farm", + "Fight", + "Gap", + "Grade", + "Holiday", + "Horror", + "Horse", + "Host", + "Husband", + "Loan", + "Mistake", + "Mountain", + "Nail", + "Noise", + "Occasion", + "Package", + "Patient", + "Pause", + "Phrase", + "Proof", + "Race", + "Relief", + "Sand", + "Sentence", + "Shoulder", + "Smoke", + "Stomach", + "String", + "Tourist", + "Towel", + "Vacation", + "West", + "Wheel", + "Wine", + "Arm", + "Aside", + "Associate", + "Bet", + + // "Blow", - maybe not. + "Border", + "Branch", + "Breast", + "Brother", + "Buddy", + "Bunch", + "Chip", + "Coach", + "Cross", + "Document", + "Draft", + "Dust", + "Expert", + "Floor", + "God", + "Golf", + "Habit", + "Iron", + "Judge", + "Knife", + "Landscape", + "League", + "Mail", + "Mess", + "Native", + "Opening", + "Parent", + "Pattern", + "Pin", + "Pool", + "Pound", + "Request", + "Salary", + "Shame", + "Shelter", + "Shoe", + "Silver", + "Tackle", + "Tank", + "Trust", + "Assist", + "Bake", + "Bar", + "Bell", + "Bike", + "Blame", + "Boy", + "Brick", + "Chair", + "Closet", + "Clue", + "Collar", + "Comment", + "Conference", + "Devil", + "Diet", + "Fear", + "Fuel", + "Glove", + "Jacket", + "Lunch", + "Monitor", + "Mortgage", + "Nurse", + "Pace", + "Panic", + "Peak", + "Plane", + "Reward", + "Row", + "Sandwich", + "Shock", + "Spite", + "Spray", + "Surprise", + "Till", + "Transition", + "Weekend", + "Welcome", + "Yard", + "Alarm", + "Bend", + "Bicycle", + "Bite", + "Blind", + "Bottle", + "Cable", + "Candle", + "Clerk", + "Cloud", + "Concert", + "Counter", + "Flower", + "Grandfather", + "Harm", + "Knee", + "Lawyer", + "Leather", + "Load", + "Mirror", + "Neck", + "Pension", + "Plate", + "Purple", + "Ruin", + "Ship", + "Skirt", + "Slice", + "Snow", + "Specialist", + "Stroke", + "Switch", + "Trash", + "Tune", + "Zone", + "Anger", + "Award", + "Bid", + "Bitter", + "Boot", + "Bug", + "Camp", + "Candy", + "Carpet", + "Cat", + "Champion", + "Channel", + "Clock", + "Comfort", + "Cow", + "Crack", + "Engineer", + "Entrance", + "Fault", + "Grass", + "Guy", + "Hell", + "Highlight", + "Incident", + "Island", + "Joke", + "Jury", + "Leg", + "Lip", + "Mate", + "Motor", + "Nerve", + "Passage", + "Pen", + "Pride", + "Priest", + "Prize", + "Promise", + "Resident", + "Resort", + "Ring", + "Roof", + "Rope", + "Sail", + "Scheme", + "Script", + "Sock", + "Station", + "Toe", + "Tower", + "Truck", + "Witness", + "Will", + "One", + "Other", + "Use", + "Make", + "Look", + "Help", + "Being", + "Few", + "Might", + "Public", + "Read", + "Keep", + "Start", + "Human", + "Local", + "General", + "Play", + "Feel", + "High", + "Common", + "Set", + "Change", + "Past", + "Today", + "Major", + "Current", + "National", + "Cut", + "Show", + "Check", + "Second", + "Call", + "Move", + "Increase", + "Single", + "Individual", + "Turn", + "Ask", + "Buy", + "Guard", + "Hold", + "Main", + "Offer", + "Potential", + "Professional", + "International", + "Travel", + "Cook", + "Alternative", + "Following", + "Special", + "Working", + "Whole", + "Dance", + "Excuse", + "Cold", + "Commercial", + "Low", + "Purchase", + "Deal", + "Primary", + "Worth", + "Fall", + "Necessary", + "Positive", + "Produce", + "Search", + "Present", + "Spend", + "Talk", + "Creative", + "Tell", + "Cost", + "Drive", + "Green", + "Support", + "Glad", + "Remove", + "Return", + "Run", + "Complex", + "Due", + "Effective", + "Middle", + "Regular", + "Reserve", + "Independent", + "Leave", + "Original", + "Reach", + "Rest", + "Serve", + "Watch", + "Beautiful", + "Charge", + "Active", + "Break", + "Negative", + "Safe", + "Stay", + "Visit", + "Visual", + "Affect", + "Cover", + "Report", + "Rise", + "Walk", + + // "White", - Could result in racism. + "Beyond", + "Junior", + "Pick", + "Unique", + "Anything", + "Classic", + "Final", + "Lift", + "Mix", + "Private", + "Stop", + "Teach", + "Western", + "Concern", + "Familiar", + "Fly", + "Official", + "Broad", + "Comfortable", + "Gain", + "Maybe", + "Rich", + "Save", + "Stand", + "Young", + "Fail", + "Heavy", + "Hello", + "Lead", + "Listen", + "Valuable", + "Worry", + "Handle", + "Leading", + "Meet", + "Release", + "Sell", + "Finish", + "Normal", + "Press", + "Ride", + "Secret", + "Spread", + "Spring", + "Tough", + "Wait", + "Deep", + "Display", + "Flow", + "Hit", + "Objective", + "Shoot", + "Touch", + "Cancel", + "Chemical", + "Cry", + "Dump", + "Extreme", + "Push", + "Conflict", + "Eat", + "Fill", + "Formal", + "Jump", + "Kick", + "Opposite", + "Pass", + "Pitch", + "Remote", + "Total", + "Treat", + "Vast", + "Abuse", + "Beat", + "Burn", + "Deposit", + "Print", + "Raise", + "Sleep", + "Somewhere", + "Advance", + "Anywhere", + "Consist", + "Dark", + "Double", + "Draw", + "Equal", + "Fix", + "Hire", + "Internal", + "Join", + "Kill", + "Sensitive", + "Tap", + "Win", + "Attack", + "Claim", + "Constant", + "Drag", + "Drink", + "Guess", + "Minor", + "Pull", + "Raw", + "Soft", + "Solid", + "Wear", + "Weird", + "Wonder", + "Annual", + "Count", + "Dead", + "Doubt", + "Feed", + "Forever", + "Impress", + "Nobody", + "Repeat", + "Round", + "Sing", + "Slide", + "Strip", + "Whereas", + "Wish", + "Combine", + "Command", + "Dig", + "Divide", + "Equivalent", + "Hang", + "Hunt", + "Initial", + "March", + "Mention", + "Smell", + "Spiritual", + "Survey", + "Tie", + "Adult", + "Brief", + "Crazy", + "Escape", + "Gather", + "Hate", + "Prior", + "Repair", + "Rough", + "Sad", + "Scratch", + "Sick", + "Strike", + "Employ", + "External", + "Hurt", + "Illegal", + "Laugh", + "Lay", + "Mobile", + "Nasty", + "Ordinary", + "Respond", + "Royal", + "Senior", + "Split", + "Strain", + "Struggle", + "Swim", + "Train", + "Upper", + "Wash", + "Yellow", + "Convert", + "Crash", + "Dependent", + "Fold", + "Funny", + "Grab", + "Hide", + "Miss", + "Permit", + "Quote", + "Recover", + "Resolve", + "Roll", + "Sink", + "Slip", + "Spare", + "Suspect", + "Sweet", + "Swing", + "Twist", + "Upstairs", + "Usual", + "Abroad", + "Brave", + "Calm", + "Concentrate", + "Estimate", + "Grand", + "Male", + "Mine", + "Prompt", + "Quiet", + "Refuse", + "Regret", + "Reveal", + "Rush", + "Shake", + "Shift", + "Shine", + "Steal", + "Suck", + "Surround", + "Anybody", + "Bear", + "Brilliant", + "Dare", + "Dear", + "Delay", + "Drunk", + + // "Female", try and avoid potential sexism + "Hurry", + "Inevitable", + "Invite", + "Kiss", + "Neat", + "Pop", + "Punch", + "Quit", + "Reply", + "Representative", + "Resist", + "Rip", + "Rub", + "Silly", + "Smile", + "Spell", + "Stretch", + "Stupid", + "Tear", + "Temporary", + "Tomorrow", + "Wake", + "Wrap", + "Yesterday", +]; + +export function GetRandomNoun() { + return nouns[Math.floor(Math.random() * nouns.length)]; +} + +export function GetRandomAdjective() { + return adjectives[Math.floor(Math.random() * adjectives.length)]; +} diff --git a/server/src/external/mongo/db.test.ts b/server/src/external/mongo/db.test.ts new file mode 100644 index 000000000..fc126e18a --- /dev/null +++ b/server/src/external/mongo/db.test.ts @@ -0,0 +1,33 @@ +import db from "./db"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; + +t.test("ID field autoprojection", async (t) => { + await ResetDBState(); + + const res = await db.scores.findOne(); + + t.equal(res!._id, undefined); + + const res2 = await db.scores.findOne({}, { projectID: true }); + + t.not(res2!._id, undefined); + + const res3 = await db.scores.findOne({}, { projection: { scoreID: 1 } }); + + t.equal(res3!._id, undefined); + + const res4 = await db.scores.findOne({}, { projection: { scoreID: 1 }, projectID: true }); + + t.not(res4!._id, undefined); + + const res5 = await db.scores.findOne({}, { projection: { scoreID: 0 } }); + + t.equal(res5!._id, undefined); + + const res6 = await db.scores.findOne({}, { projection: { scoreID: 0 }, projectID: true }); + + t.not(res6!._id, undefined); + + t.end(); +}); diff --git a/server/src/external/mongo/db.ts b/server/src/external/mongo/db.ts new file mode 100644 index 000000000..5070ba45a --- /dev/null +++ b/server/src/external/mongo/db.ts @@ -0,0 +1,193 @@ +/* eslint-disable @typescript-eslint/strict-boolean-expressions */ +/* eslint-disable @typescript-eslint/no-unsafe-member-access */ +// ^ These rules are disabled for good reason. We have to deal with some very nonsensical types here +// so we just disable these rules. I know, it sucks, but we'll live. +import { ONE_MINUTE } from "lib/constants/time"; +import CreateLogCtx from "lib/logger/logger"; +import { Environment, ServerConfig } from "lib/setup/config"; +import monk from "monk"; +import { allSupportedGames } from "tachi-common/js/config/static-config"; +import { GetMillisecondsSince } from "utils/misc"; +import type { OrphanScoreDocument } from "lib/score-import/import-types/common/types"; +import type { TMiddleware, ICollection } from "monk"; +import type { + APITokenDocument, + ARCSavedProfileDocument, + BMSCourseDocument, + ChartDocument, + ClassAchievementDocument, + CounterDocument, + FervidexSettingsDocument, + FolderChartLookup, + FolderDocument, + Game, + GoalDocument, + GoalSubscriptionDocument, + ImportDocument, + ImportTimingsDocument, + integer, + InviteCodeDocument, + KaiAuthDocument, + MilestoneDocument, + MilestoneSetDocument, + MilestoneSubscriptionDocument, + NotificationDocument, + OrphanChart, + PBScoreDocument, + PublicUserDocument, + RecentlyViewedFolderDocument, + ScoreDocument, + SessionDocument, + SessionViewDocument, + SongDocument, + TableDocument, + TachiAPIClientDocument, + UGPTSettings, + UserGameStats, + UserGameStatsSnapshot, + UserSettings, +} from "tachi-common"; +import type { MigrationDocument, PrivateUserInfoDocument } from "utils/types"; + +const logger = CreateLogCtx(__filename); + +let dbName = ServerConfig.MONGO_DATABASE_NAME; + +/* istanbul ignore next */ +if (Environment.nodeEnv === "test") { + dbName = `testingdb`; +} + +logger.info(`Connecting to database ${Environment.mongoUrl}/${dbName}...`, { bootInfo: true }); +const dbtime = process.hrtime.bigint(); + +// By default the connectTimeoutMS is 30 seconds. This has been upped to 2 minutes, due to poor performance +// inside githubs test runners. +export const monkDB = monk(`${Environment.mongoUrl}/${dbName}`, { + serverSelectionTimeoutMS: ONE_MINUTE * 2, +}); + +/* istanbul ignore next */ +monkDB + .then(() => { + logger.info(`Database connection successful: took ${GetMillisecondsSince(dbtime)}ms`, { + bootInfo: true, + }); + }) + .catch((err) => { + logger.crit(`Failed to connect to database: ${err}`, () => { + process.exit(1); + }); + }); + +/** + * Removes _id from the returns of find/findOne. Note that this function is littered with eslint-disables + * due to it working with some pretty wobbly types. + */ +const RemoveIDFromFindReturnsMiddleware: TMiddleware = () => (next) => (args: any, method) => { + if ((method === "find" || method === "findOne") && !args.options.projectID) { + if (args.options.projection) { + args.options.projection._id = 0; + } else { + args.options.projection = { _id: 0 }; + } + } + + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument + return next(args, method); +}; + +// a bug in monks types means that :any has to be used here. Maybe we'll make a PR for this? +const StripIDFromDBInsertsMiddleware: TMiddleware = () => (next) => (args: any, method) => { + if (method === "insert") { + if (Array.isArray(args.data)) { + for (const d of args.data) { + delete d._id; + } + } else { + delete args.data._id; + } + } + + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument + return next(args, method); +}; + +monkDB.addMiddleware(StripIDFromDBInsertsMiddleware); +monkDB.addMiddleware(RemoveIDFromFindReturnsMiddleware); + +export async function CloseMongoConnection() { + await monkDB.close(); +} + +// Typescript incorrectly casts this into songs[string] => songdocument, +// Force cast it out. +const songs = Object.fromEntries( + allSupportedGames.map((e) => [e, monkDB.get(`songs-${e}`)]) +) as unknown as Record>; + +const charts = Object.fromEntries( + allSupportedGames.map((e) => [e, monkDB.get(`charts-${e}`)]) +) as unknown as Record>; + +const db = { + // i have to handwrite this out for TS... :( + // dont worry, it was all macro'd. + songs, + charts, + scores: monkDB.get("scores"), + "personal-bests": monkDB.get("personal-bests"), + folders: monkDB.get("folders"), + "folder-chart-lookup": monkDB.get("folder-chart-lookup"), + goals: monkDB.get("goals"), + "goal-subs": monkDB.get("goal-subs"), + milestones: monkDB.get("milestones"), + "milestone-subs": monkDB.get("milestone-subs"), + users: monkDB.get("users"), + imports: monkDB.get("imports"), + "import-timings": monkDB.get("import-timings"), + sessions: monkDB.get("sessions"), + invites: monkDB.get("invites"), + counters: monkDB.get("counters"), + "game-stats": monkDB.get("game-stats"), + "kai-auth-tokens": monkDB.get("kai-auth-tokens"), + "bms-course-lookup": monkDB.get("bms-course-lookup"), + "api-tokens": monkDB.get("api-tokens"), + "orphan-scores": monkDB.get("orphan-scores"), + "import-locks": monkDB.get<{ userID: integer; locked: boolean }>("import-locks"), + tables: monkDB.get("tables"), + "game-settings": monkDB.get("game-settings"), + "game-stats-snapshots": monkDB.get("game-stats-snapshots"), + "session-view-cache": monkDB.get("session-view-cache"), + "arc-saved-profiles": monkDB.get("arc-saved-profiles"), + "user-settings": monkDB.get("user-settings"), + "user-private-information": monkDB.get("user-private-information"), + "api-clients": monkDB.get("api-clients"), + + // i've inlined this one because i don't see it appearing anywhere else. + "oauth2-auth-codes": + monkDB.get<{ code: string; userID: integer; createdOn: number }>("oauth2-auth-codes"), + + "fer-settings": monkDB.get("fer-settings"), + "orphan-chart-queue": monkDB.get("orphan-chart-queue"), + "password-reset-codes": monkDB.get<{ + code: string; + userID: integer; + createdOn: number; + }>("password-reset-codes"), + "class-achievements": monkDB.get("class-achievements"), + "score-blacklist": + monkDB.get<{ scoreID: string; userID: integer; score: ScoreDocument }>("score-blacklist"), + "verify-email-codes": + monkDB.get<{ userID: integer; code: string; email: string }>("verify-email-codes"), + "recent-folder-views": monkDB.get("recent-folder-views"), + "milestone-sets": monkDB.get("milestone-sets"), + migrations: monkDB.get("migrations"), + notifications: monkDB.get("notifications"), +}; + +export type StaticDatabases = Exclude; + +export type Databases = StaticDatabases | `charts-${Game}` | `songs-${Game}`; + +export default db; diff --git a/server/src/external/mongo/indexes.ts b/server/src/external/mongo/indexes.ts new file mode 100644 index 000000000..ecd2df8e3 --- /dev/null +++ b/server/src/external/mongo/indexes.ts @@ -0,0 +1,228 @@ +/* eslint-disable no-await-in-loop */ +import db, { monkDB } from "./db"; +import { ONE_DAY } from "lib/constants/time"; +import CreateLogCtx from "lib/logger/logger"; +import { TachiConfig } from "lib/setup/config"; +import monk from "monk"; +import { Random20Hex } from "utils/misc"; +import type { Databases } from "./db"; +import type { IndexOptions } from "mongodb"; +import type { IMonkManager } from "monk"; + +const logger = CreateLogCtx(__filename); + +interface Index { + fields: Record; + options?: IndexOptions; +} + +function index(fields: Record, options?: IndexOptions) { + return { fields, options }; +} + +const UNIQUE = { unique: true }; + +const staticIndexes: Partial>> = { + scores: [ + index({ scoreID: 1 }, UNIQUE), + index({ chartID: 1, userID: 1 }), + index({ userID: 1, game: 1, playtype: 1 }), + ], + "personal-bests": [ + index({ chartID: 1, userID: 1 }, UNIQUE), + index({ chartID: 1, "scoreData.percent": 1 }), + index({ userID: 1, game: 1, playtype: 1 }), + ], + sessions: [ + index({ userID: 1, game: 1, playtype: 1, timeStarted: 1, timeEnded: 1 }), + + // Optimises score modification, since sessions need to be repointed. + // also, just generally useful. + index({ "scoreInfo.scoreID": 1 }), + index({ name: "text" }), + ], + "game-stats": [index({ userID: 1, game: 1, playtype: 1 }, UNIQUE)], + "game-settings": [index({ userID: 1, game: 1, playtype: 1 }, UNIQUE), index({ rivals: 1 })], + "folder-chart-lookup": [index({ chartID: 1, folderID: 1 }, UNIQUE)], + goals: [index({ goalID: 1 }, UNIQUE), index({ game: 1, playtype: 1 }), index({ name: "text" })], + "goal-subs": [index({ goalID: 1, userID: 1 }, UNIQUE), index({ goalID: 1 })], + milestones: [ + index({ milestoneID: 1 }, UNIQUE), + index({ game: 1, playtype: 1 }), + index({ name: "text" }), + ], + "milestone-subs": [ + index({ milestoneID: 1, userID: 1 }, UNIQUE), + index({ userID: 1, game: 1, playtype: 1 }), + ], + "milestone-sets": [ + index({ setID: 1 }, UNIQUE), + index({ game: 1, playtype: 1 }), + index({ milestones: 1 }), + index({ name: "text" }), + ], + imports: [index({ importID: 1 }, UNIQUE)], + "import-timings": [ + index({ importID: 1 }, UNIQUE), + index({ timestamp: 1 }), + index({ total: 1 }), + ], + users: [ + index({ id: 1 }, UNIQUE), + index({ id: 1, authLevel: 1 }, UNIQUE), + index({ username: 1 }, UNIQUE), + index({ usernameLowercase: 1 }, UNIQUE), + ], + folders: [ + index({ folderID: 1 }, UNIQUE), + index({ game: 1, playtype: 1, table: 1, tableIndex: 1 }), + index({ title: "text", searchTerms: "text" }), + ], + "kai-auth-tokens": [index({ userID: 1, service: 1 }, UNIQUE)], + "bms-course-lookup": [index({ md5sums: 1 }, UNIQUE)], + "api-tokens": [index({ token: 1 }, UNIQUE), index({ userID: 1 })], + tables: [index({ tableID: 1, game: 1, playtype: 1 }, UNIQUE)], + "game-stats-snapshots": [index({ timestamp: 1, userID: 1, game: 1, playtype: 1 }, UNIQUE)], + "session-view-cache": [ + index({ sessionID: 1, ip: 1 }, UNIQUE), + index({ timestamp: 1 }, { expireAfterSeconds: ONE_DAY / 1000 }), + ], + "user-settings": [index({ userID: 1 }, UNIQUE)], + "user-private-information": [index({ userID: 1 }, UNIQUE), index({ email: 1 }, UNIQUE)], + "fer-settings": [index({ userID: 1 }, UNIQUE)], + counters: [index({ counterName: 1 }, UNIQUE)], + "class-achievements": [index({ game: 1, playtype: 1, timeAchieved: 1 })], + "api-clients": [index({ clientID: 1 }, UNIQUE)], + "charts-iidx": [ + index( + { "data.arcChartID": 1 }, + { unique: true, partialFilterExpression: { "data.arcChartID": { $type: "string" } } } + ), + index({ "data.hashSHA256": 1 }), + index({ "data.inGameID": 1, playtype: 1, difficulty: 1 }), + ], + "charts-bms": [index({ "data.hashMD5": 1 }, UNIQUE), index({ "data.hashSHA256": 1 }, UNIQUE)], + "charts-popn": [index({ "data.hashSHA256": 1 }, UNIQUE)], + "charts-sdvx": [index({ "data.inGameID": 1, difficulty: 1 })], + "charts-maimai": [ + index({ "data.inGameID": 1, difficulty: 1 }, UNIQUE), + index({ "data.inGameStrID": 1, difficulty: 1 }, UNIQUE), + ], + "charts-museca": [index({ "data.inGameID": 1, difficulty: 1 }, UNIQUE)], + "charts-chunithm": [index({ "data.inGameID": 1, difficulty: 1 }, UNIQUE)], + "charts-gitadora": [index({ "data.inGameID": 1, difficulty: 1 }, UNIQUE)], + "charts-wacca": [index({ isHot: 1 })], + "charts-usc": [index({ "data.hashSHA1": 1, playtype: 1 }, UNIQUE)], + "charts-jubeat": [index({ "data.inGameID": 1, difficulty: 1 }, UNIQUE)], + "charts-pms": [ + index({ "data.hashSHA256": 1, playtype: 1 }, UNIQUE), + index({ "data.hashMD5": 1, playtype: 1 }, UNIQUE), + ], + "import-locks": [index({ userID: 1 }, UNIQUE)], + "arc-saved-profiles": [index({ userID: 1, forImportType: 1 }, UNIQUE)], + "score-blacklist": [index({ scoreID: 1 }, UNIQUE)], + migrations: [index({ migrationID: 1 }, UNIQUE)], + notifications: [index({ notifID: 1 }, UNIQUE), index({ sentTo: 1, sentAt: 1 })], +}; + +const indexes: Partial>> = staticIndexes; + +for (const game of TachiConfig.GAMES) { + if (indexes[`charts-${game}` as Databases]) { + indexes[`charts-${game}` as Databases]!.push( + index({ chartID: 1 }, UNIQUE), + index( + { songID: 1, difficulty: 1, playtype: 1, isPrimary: 1 }, + { unique: true, partialFilterExpression: { isPrimary: { $eq: true } } } + ), + index({ songID: 1 }), + index({ playtype: 1 }) + ); + } else { + indexes[`charts-${game}` as Databases] = [ + index({ chartID: 1 }, UNIQUE), + index({ songID: 1, difficulty: 1, playtype: 1, isPrimary: 1 }, UNIQUE), + index({ songID: 1 }), + index({ playtype: 1 }), + ]; + } + + if (indexes[`songs-${game}` as Databases]) { + indexes[`songs-${game}` as Databases]!.push( + index({ id: 1 }, UNIQUE), + index({ title: "text", artist: "text", altTitles: "text", searchTerms: "text" }) + ); + } else { + indexes[`songs-${game}` as Databases] = [ + index({ id: 1 }, UNIQUE), + index({ title: 1 }), + index({ title: "text", artist: "text", altTitles: "text", searchTerms: "text" }), + ]; + } +} + +export async function SetIndexesWithDB(db: IMonkManager, reset: boolean) { + const collections = (await db.listCollections()).map((e) => e.name); + + for (const [collection, values] of Object.entries(indexes)) { + if (!collections.includes(collection)) { + // this creates a collection, i cant find the createCollection + // call. + const tmp = Random20Hex(); + + await db.get(collection).insert({ __tmp: tmp }); + await db.get(collection).remove({ __tmp: tmp }); + } + + if (reset) { + await db.get(collection).dropIndexes(); + logger.debug(`Reset ${collection}.`); + } + + for (const index of values) { + // @ts-expect-error Type-mismatch here. our index.fileds are just boring records. I know + // that this sucks... + const r = await db.get(collection).createIndex(index.fields, index.options); + + logger.debug(r); + } + } + + logger.debug("Done."); +} + +export async function SetIndexes(mongoUrl: string, reset: boolean) { + const monkDb = monk(mongoUrl); + + await SetIndexesWithDB(monkDb, reset); + + await monkDb.close(); +} + +export function SetIndexesIfNoneSet() { + // If no indexes are set, then we need to load mongo indexes. + return db.users + .indexes() + .then((r) => { + // If there's only one index on users + // that means that only _id has indexes. + // This means that there are likely to be no indexes + // configured in the database. + if (Object.keys(r).length === 1) { + logger.info( + `No indexes on users, First-time Tachi-Server startup assumed. Running SetIndexes.` + ); + return SetIndexesWithDB(monkDB, true); + } + }) + .catch((err: unknown) => { + logger.info( + `Error in finding users collection. First time startup likely. Running SetIndexes.`, + { err } + ); + return SetIndexesWithDB(monkDB, true); + }) + .catch((err: unknown) => { + logger.error(`Failed to set indexes on assumed first-time-setup?`, { err }); + }); +} diff --git a/server/src/external/mongo/schemas.ts b/server/src/external/mongo/schemas.ts new file mode 100644 index 000000000..40f592a47 --- /dev/null +++ b/server/src/external/mongo/schemas.ts @@ -0,0 +1,79 @@ +import { TachiConfig } from "lib/setup/config"; +import p from "prudence"; +import { SCHEMAS } from "tachi-common/js/lib/schemas"; +import type { Databases } from "./db"; +import type { PrudenceSchema } from "prudence"; +import type { SchemaValidatorFunction } from "tachi-common/js/lib/schemas"; + +// The idea of this file is to export a function for every database +// that will validate that collection. + +// If it returns true, that document is valid. If it throws any sort +// of error, it is invalid. + +function prSchemaify(schema: PrudenceSchema) { + return (s: unknown): true => { + const err = p(s, schema); + + if (err) { + throw err; + } + + return true; + }; +} + +export const DatabaseSchemas: Record = { + "import-locks": prSchemaify({ + userID: p.isPositiveNonZeroInteger, + }), + "kai-auth-tokens": prSchemaify({ + userID: p.isPositiveNonZeroInteger, + token: "string", + refreshToken: "string", + service: p.isIn("FLO", "EAG", "MIN"), + }), + "oauth2-auth-codes": prSchemaify({ + code: "string", + userID: p.isPositiveNonZeroInteger, + createdOn: p.isPositive, + }), + "password-reset-codes": prSchemaify({ + code: "string", + userID: p.isPositiveNonZeroInteger, + createdOn: p.isPositive, + }), + "verify-email-codes": prSchemaify({ + userID: p.isPositiveNonZeroInteger, + code: "string", + email: "string", + }), + migrations: prSchemaify({ + migrationID: "string", + status: p.isIn("applied", "pending"), + appliedOn: (self, parent) => { + if (parent.status === "pending") { + return ( + self === undefined || + `Expected appliedOn to be undefined since status was pending.` + ); + } + + return p.isPositiveInteger(self); + }, + }), + "orphan-scores": prSchemaify({ + importType: p.isIn(TachiConfig.IMPORT_TYPES), + game: p.isIn(TachiConfig.GAMES), + userID: p.isPositiveNonZeroInteger, + orphanID: "string", + timeInserted: p.isPositive, + errMsg: "?string", + + // @todo Type these properly? This will take a lot of effort, as it will require + // formal types for all parser data:context duos. + data: p.any, + context: p.any, + }), + ...SCHEMAS, +}; diff --git a/server/src/external/mongo/sequence-docs.ts b/server/src/external/mongo/sequence-docs.ts new file mode 100644 index 000000000..44e44c9d8 --- /dev/null +++ b/server/src/external/mongo/sequence-docs.ts @@ -0,0 +1,56 @@ +import db from "./db"; +import CreateLogCtx from "lib/logger/logger"; + +const logger = CreateLogCtx(__filename); + +export async function InitSequenceDocs() { + await db.counters.remove({}); + + const userWithLargestID = await db.users.findOne( + {}, + { + sort: { + id: -1, + }, + } + ); + + const largestBMSSongID = await db.songs.bms.findOne( + {}, + { + sort: { + id: -1, + }, + } + ); + + const largestPMSSongID = await db.songs.pms.findOne( + {}, + { + sort: { + id: -1, + }, + } + ); + + const Counters = [ + { + counterName: "users", + value: userWithLargestID ? userWithLargestID.id + 1 : 1, + }, + { + counterName: "bms-song-id", + value: largestBMSSongID ? largestBMSSongID.id + 1 : 1, + }, + { + counterName: "pms-song-id", + value: largestPMSSongID ? largestPMSSongID.id + 1 : 1, + }, + ]; + + logger.verbose( + `Setting Counters -> ${Counters.map((e) => `${e.counterName}: ${e.value}`).join(", ")}` + ); + + await db.counters.insert(Counters); +} diff --git a/server/src/external/redis/redis-IPC.test.ts b/server/src/external/redis/redis-IPC.test.ts new file mode 100644 index 000000000..118256808 --- /dev/null +++ b/server/src/external/redis/redis-IPC.test.ts @@ -0,0 +1,19 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { RedisPub, RedisSub } from "./redis-IPC"; +import t from "tap"; + +/** + * Note: The functions these things use have been stubbed out. However, the tests still run and + * they also still work. We'll skip them though, anyway. + */ + +t.skip("Basic PUB/SUB testing", (t) => { + t.setTimeout(2000); + RedisSub("test" as any, (d) => { + t.equal(d.userID, 1); + t.pass(); + t.end(); + }); + + RedisPub("test" as any, { userID: 1 } as any); +}); diff --git a/server/src/external/redis/redis-IPC.ts b/server/src/external/redis/redis-IPC.ts new file mode 100644 index 000000000..346d9a156 --- /dev/null +++ b/server/src/external/redis/redis-IPC.ts @@ -0,0 +1,101 @@ +import CreateLogCtx from "lib/logger/logger"; +import { TachiConfig } from "lib/setup/config"; +import redis from "redis"; + +/** + * This code has been stubbed out! It doesn't really have a use at the moment. + * At some point, though, we might actually need this. (Maybe for a logging framework) + * + * This was used to communicate with other processes running on the same host as this server. + * The idea was the use it for the discord bot, however, we have webhooks now that do this (better). + * Thanks! + */ + +const logger = CreateLogCtx(__filename); + +// Stub types. In the future, we may actually use this. +export type RedisIPCChannels = ""; +export interface RedisIPCData { + "": unknown; +} + +type RedisSubCallback = (data: RedisIPCData[T]) => void; + +type SubCallbacksType = { + [K in RedisIPCChannels]: Array>; +}; + +const SubCallbacks: Partial = {}; + +// Redis doesn't allow one client to subscribe and publish +// There's little to no overhead to having these three clients, +// so - that's why its like this. +const SubClient = redis.createClient(); +const PubClient = redis.createClient(); + +const PREFIX = TachiConfig.NAME.toUpperCase(); + +export function RedisPub(channel: T, data: RedisIPCData[T]) { + PubClient.publish(`${PREFIX}-${channel}`, JSON.stringify(data)); +} + +export function RedisSub(channel: T, callback: RedisSubCallback) { + if (SubCallbacks[channel]) { + // @ts-expect-error It's complaining that the T in channel might be a different T to the T in callback + // this is obviously nonsense. + SubCallbacks[channel]!.push(callback); + logger.debug(`Pushed callback ${callback.name} to channel ${channel}.`); + } else { + // @ts-expect-error see above. + SubCallbacks[channel] = [callback]; + SubClient.subscribe(`${PREFIX}-${channel}`); + logger.debug(`Added first callback ${callback.name} to channel ${channel}.`); + } +} + +SubClient.on("message", (channel, strData) => { + if (!channel.startsWith(`${PREFIX}-`)) { + // not our business + return; + } + + const ktChannel = channel.slice(`${PREFIX}-`.length) as RedisIPCChannels; + + if (!Object.prototype.hasOwnProperty.call(SubCallbacks, ktChannel)) { + // no callbacks to call + return; + } + + const jsData = JSON.parse(strData) as unknown; + + for (const cb of SubCallbacks[ktChannel]!) { + try { + cb(jsData); + } catch (err) { + logger.error(`Error calling callback ${cb.name} for channel ${ktChannel}`, { err }); + } + } +}); + +// Awful... +// Function is near-impossible to test. +/* istanbul ignore next */ +export function CloseRedisPubSub() { + return new Promise((resolve, reject) => { + PubClient.quit((err: unknown) => { + if (err !== null && err !== undefined) { + logger.crit(`PubClient QUIT error: ${err}`, { err }); + reject(err); + } + + SubClient.quit((err: unknown) => { + if (err !== null && err !== undefined) { + logger.crit(`SubClient QUIT error: ${err}`, { err }); + reject(err); + } + + resolve(); + }); + }); + }); +} diff --git a/server/src/external/redis/redis.ts b/server/src/external/redis/redis.ts new file mode 100644 index 000000000..4a01f569b --- /dev/null +++ b/server/src/external/redis/redis.ts @@ -0,0 +1,47 @@ +import { ONE_MINUTE } from "lib/constants/time"; +import CreateLogCtx from "lib/logger/logger"; +import { Environment } from "lib/setup/config"; +import redis from "redis"; +import { GetMillisecondsSince } from "utils/misc"; + +const logger = CreateLogCtx(__filename); + +logger.verbose("Instantiated Redis Store", { bootInfo: true }); + +export const RedisClient = redis.createClient({ + url: `redis://${Environment.redisUrl}`, +}); +const startConnect = process.hrtime.bigint(); + +logger.verbose("Instantiated Redis Client", { bootInfo: true }); + +function EmitCritical() { + /* istanbul ignore next */ + if (!RedisClient.connected) { + logger.crit(`Could not connect to redis in time. No more information is available.`, () => { + process.exit(1); + }); + } +} + +const ref = setTimeout(EmitCritical, ONE_MINUTE * 2); + +RedisClient.on("connect", () => { + logger.info(`Connected to Redis. Took ${GetMillisecondsSince(startConnect)}ms`, { + bootInfo: true, + }); + + clearTimeout(ref); +}); + +export function CloseRedisConnection() { + return new Promise((resolve, reject) => { + RedisClient.quit((err, reply) => { + if (err) { + reject(err); + } else { + resolve(reply); + } + }); + }); +} diff --git a/server/src/lib/builtin-clients/builtin-clients.ts b/server/src/lib/builtin-clients/builtin-clients.ts new file mode 100644 index 000000000..5ce37090e --- /dev/null +++ b/server/src/lib/builtin-clients/builtin-clients.ts @@ -0,0 +1,231 @@ +/* eslint-disable no-await-in-loop */ +import db from "external/mongo/db"; +import { DatabaseSchemas } from "external/mongo/schemas"; +import fjsh from "fast-json-stable-hash"; +import CreateLogCtx from "lib/logger/logger"; +import { ServerConfig, TachiConfig } from "lib/setup/config"; +import { UserAuthLevels } from "tachi-common"; +import { Random20Hex } from "utils/misc"; +import { FormatPrError } from "utils/prudence"; +import type { PrudenceError } from "prudence"; +import type { TachiAPIClientDocument } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +type DefaultClients = Array>; + +// Defines some Tachi API Clients that should come default with a Tachi +// environment. +// These use the special Client ID prefix "CX" instead of "CI", which +// means they cannot possibly be collided.1 +const KtchiDefaultClients: DefaultClients = [ + { + name: "Fervidex", + webhookUri: null, + redirectUri: null, + requestedPermissions: ["submit_score"], + clientID: "CXFervidex", + apiKeyFilename: "kamaitachi.fervidex.json", + apiKeyTemplate: JSON.stringify( + { + url: `${ServerConfig.OUR_URL}/ir/fervidex`, + token: "%%TACHI_KEY%%", + }, + null, + "\t" + ), + }, + { + name: "Barbatos", + webhookUri: null, + redirectUri: null, + requestedPermissions: ["submit_score"], + clientID: "CXBarbatos", + apiKeyFilename: "barbatos.json", + apiKeyTemplate: JSON.stringify( + { + api_key: "%%TACHI_KEY%%", + }, + null, + "\t" + ), + }, + { + name: "Konaste Hook", + webhookUri: null, + redirectUri: null, + requestedPermissions: ["submit_score"], + clientID: "CXKsHook", + apiKeyFilename: "kamaitachi.kshook.json", + apiKeyTemplate: JSON.stringify( + { + url: `${ServerConfig.OUR_URL}/ir/kshook`, + token: "%%TACHI_KEY%%", + games: ["sv6c"], + }, + null, + "\t" + ), + }, + { + clientID: "CXChunitachi", + requestedPermissions: ["submit_score"], + name: "ChunItachi", + redirectUri: null, + webhookUri: null, + apiKeyFilename: "ChunItachi.ini", + apiKeyTemplate: `[general] +; Show information for debugging. Useful incase things go wrong. +showDebug = true + +; Set this to an extID if multiple people play on your setup +; and you only want to import scores from a specific user. +; You can find your extID inside your database... +; ...or you can set it to junk like 123 and check the debug logs. +extID = 0 + +; The current version of the game you're playing on. +; This should be any of the following: +; game = amazon +; game = amazonplus +; game = crystal +; game = paradise +; game = paradiselost + +game = PUT_YOUR_GAME_HERE + +; If true, Fails will take more priority than things like FULL COMBOs. +failOverLamp = false + +[kamaitachi] +; What to use to check whether we're online or not. +apiStatus = ${ServerConfig.OUR_URL}/api/v1/status + +; Where to POST scores to. +apiEndpoint = ${ServerConfig.OUR_URL}/ir/direct-manual/import + +; This thing is secret! Keep it so. You can manage your API Keys at +; ${ServerConfig.OUR_URL}/users/me -> Integrations -> API Keys! +apikey = %%TACHI_KEY%%`, + }, + { + name: "SilentHook", + apiKeyFilename: "silent-config.json", + apiKeyTemplate: JSON.stringify( + { + key: "%%TACHI_KEY%%", + url: `${ServerConfig.OUR_URL}/ir/direct-manual/import`, + }, + null, + "\t" + ), + clientID: "CXSilentHook", + redirectUri: null, + requestedPermissions: ["submit_score"], + webhookUri: null, + }, +]; + +const BtchiDefaultClients: DefaultClients = [ + { + name: "Beatoraja IR", + webhookUri: null, + redirectUri: null, + requestedPermissions: ["submit_score"], + clientID: "CXBeatorajaIR", + apiKeyTemplate: null, + apiKeyFilename: null, + }, + { + name: "USC IR", + webhookUri: null, + redirectUri: null, + requestedPermissions: ["submit_score"], + clientID: "CXUSCIR", + apiKeyTemplate: null, + apiKeyFilename: null, + }, + { + name: "LR2 Hook", + webhookUri: null, + redirectUri: null, + requestedPermissions: ["submit_score"], + clientID: "CXLR2Hook", + apiKeyFilename: "BokutachiAuth.json", + apiKeyTemplate: JSON.stringify( + { + url: `${ServerConfig.OUR_URL}/ir/lr2hook/import`, + apiKey: "%%TACHI_KEY%%", + }, + null, + "\t" + ), + }, +]; + +export async function LoadDefaultClients() { + if (TachiConfig.TYPE === "ktchi") { + await LoadClients(KtchiDefaultClients); + } else if (TachiConfig.TYPE === "btchi") { + await LoadClients(BtchiDefaultClients); + } else { + await LoadClients(KtchiDefaultClients); + await LoadClients(BtchiDefaultClients); + } +} + +async function LoadClients(clients: DefaultClients) { + const firstAdmin = await db.users.findOne({ + authLevel: UserAuthLevels.ADMIN, + }); + + if (!firstAdmin) { + logger.error( + `There are no admins on this instance of tachi-server. We cannot create default API Clients!` + ); + return; + } + + for (const client of clients) { + const exists = await db["api-clients"].findOne( + { + clientID: client.clientID, + }, + { + projection: { + clientSecret: 0, + author: 0, + }, + } + ); + + // Skip if nothing has changed. + if (fjsh.hash(exists, "sha256") === fjsh.hash(client, "sha256")) { + continue; + } + + const realClient: TachiAPIClientDocument = { + ...client, + clientSecret: `CS${Random20Hex()}`, + author: 1, + }; + + try { + DatabaseSchemas["api-clients"](realClient); + } catch (err) { + logger.error( + `Invalid API Client ${client.name}: ${FormatPrError(err as PrudenceError)}.` + ); + continue; + } + + // No replaceOne support in monk -- have to do this. + await db["api-clients"].remove({ + clientID: client.clientID, + }); + + await db["api-clients"].insert(realClient); + + logger.info(`Loaded/Modified new built-in client ${client.name}.`); + } +} diff --git a/server/src/lib/cdn/cdn.test.ts b/server/src/lib/cdn/cdn.test.ts new file mode 100644 index 000000000..4a16843ab --- /dev/null +++ b/server/src/lib/cdn/cdn.test.ts @@ -0,0 +1,139 @@ +import { CDNDelete, CDNRedirect, CDNRetrieve, CDNStoreOrOverwrite } from "./cdn"; +import expressRequestMock from "express-request-mock"; +import { Environment, ServerConfig } from "lib/setup/config"; +import t from "tap"; +import fs from "fs"; +import path from "path"; + +if (ServerConfig.CDN_CONFIG.SAVE_LOCATION.TYPE !== "LOCAL_FILESYSTEM") { + throw new Error(`Tests must run against LOCAL_FILESYSTEM.`); +} + +const CDN_FILE_ROOT = ServerConfig.CDN_CONFIG.SAVE_LOCATION.LOCATION; + +function getTestTxt() { + return fs.readFileSync(path.join(CDN_FILE_ROOT, "test.txt"), "utf-8"); +} + +const ResetFileRoot = () => { + if (Environment.nodeEnv !== "test") { + throw new Error( + `Not in test, yet CDN.test.ts was triggered, which could rm -rf something important.` + ); + } + + if (CDN_FILE_ROOT !== "./test-cdn") { + throw new Error( + `Unexpected CDN_FILE_ROOT of ${CDN_FILE_ROOT}. This is a security precaution, so that tests do not unexpectedly rm -rf important directories.` + ); + } + + // isn't this terrifyingly risky? + fs.rmSync(CDN_FILE_ROOT, { recursive: true, force: true }); +}; + +t.test("#CDNRetrieve", (t) => { + t.beforeEach(ResetFileRoot); + + t.test("Should retrieve the file at the given location.", async (t) => { + await CDNStoreOrOverwrite("test.txt", "1"); + + const data = await CDNRetrieve("test.txt"); + + t.equal(data.toString(), "1", "Should contain the contents of test.txt"); + + t.end(); + }); + + t.test("Should throw if the file does not exist.", (t) => { + t.rejects(() => CDNRetrieve("fake-file.txt")); + + t.end(); + }); + + t.end(); +}); + +t.test("#CDNStoreOrOverwrite", (t) => { + t.beforeEach(ResetFileRoot); + + t.test("Should store a value.", async (t) => { + await CDNStoreOrOverwrite("test.txt", "hello world"); + + const data = fs.readFileSync(path.join(CDN_FILE_ROOT, "test.txt"), "utf8"); + + t.equal(data, "hello world", "Should store the data at the CDN_FILE_ROOT."); + + t.end(); + }); + + t.test("Should generate paths on the way to the file if they do not exist.", async (t) => { + await CDNStoreOrOverwrite("a/b/c/d/e/f/g.txt", "hello"); + + const data = fs.readFileSync(path.join(CDN_FILE_ROOT, "a/b/c/d/e/f/g.txt"), "utf8"); + + t.equal(data, "hello", "Should store the data at the deeply nested location."); + + t.end(); + }); + + t.test("Should store a file if one doesn't exist", async (t) => { + await CDNStoreOrOverwrite("test.txt", "1"); + + t.equal(getTestTxt(), "1"); + + t.end(); + }); + + t.test("Should overwrite the file if it exists.", async (t) => { + await CDNStoreOrOverwrite("test.txt", "1"); + t.equal(getTestTxt(), "1"); + + await CDNStoreOrOverwrite("test.txt", "2"); + t.equal(getTestTxt(), "2"); + + t.end(); + }); + + t.end(); +}); + +t.test("#CDNDelete", (t) => { + t.beforeEach(ResetFileRoot); + + t.test("Should delete the file at the given location.", async (t) => { + await CDNStoreOrOverwrite("test.txt", "1"); + + const data = getTestTxt(); + + t.equal(data, "1"); + + await CDNDelete("test.txt"); + + t.not(fs.existsSync(path.join(CDN_FILE_ROOT, "test.txt")), "File should not exist."); + + t.end(); + }); + + t.end(); +}); + +t.test("#CDNRedirect", (t) => { + t.beforeEach(ResetFileRoot); + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const mockMW = (req: any, res: any) => { + CDNRedirect(res, "/test.txt"); + }; + + t.test("Should redirect a user to the CDN Url", async (t) => { + const { res } = await expressRequestMock(mockMW, {}); + + t.equal(res.statusCode, 302); + t.equal(res._getRedirectUrl(), "/cdn/test.txt"); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/cdn/cdn.ts b/server/src/lib/cdn/cdn.ts new file mode 100644 index 000000000..7becf49fe --- /dev/null +++ b/server/src/lib/cdn/cdn.ts @@ -0,0 +1,93 @@ +import { DeleteFromS3, PushToS3 } from "./s3"; +import CreateLogCtx from "lib/logger/logger"; +import { ServerConfig } from "lib/setup/config"; +import mkdirp from "mkdirp"; +import fs from "fs"; +import path from "path"; +import { promisify } from "util"; +import type { Response } from "express"; + +const readFilePromise = promisify(fs.readFile); +const writeFilePromise = promisify(fs.writeFile); +const rmFilePromise = promisify(fs.rm); + +const logger = CreateLogCtx(__filename); + +/** + * Joins a file location against the location of the CDN static store. + * + * @danger - This function should **NEVER** be called with unsanitised user input! + * Path directory traversal *is* possible, and *will* ruin your day. + */ +export function CDNFileSystemRoot(fileLoc: string) { + if (ServerConfig.CDN_CONFIG.SAVE_LOCATION.TYPE !== "LOCAL_FILESYSTEM") { + logger.severe( + `Attempted to run CDNFileSystemRoot, but was not using LOCAL_FILESYSTEM as a CDN.`, + { fileLoc, conf: ServerConfig.CDN_CONFIG } + ); + + throw new Error( + `Attempted to run CDNFileSystemRoot, but was not using LOCAL_FILESYSTEM as a CDN.` + ); + } + + return path.join(ServerConfig.CDN_CONFIG.SAVE_LOCATION.LOCATION, fileLoc); +} + +/** + * Retrieves the data of the file at the given CDN location. + * + * This is used for quick development setups, where a cdn server isn't available. + * As in, this ruins the purpose of a CDN! make sure you have one running. + */ +export function CDNRetrieve(fileLoc: string) { + logger.debug(`Retrieving path ${fileLoc} locally.`); + + return readFilePromise(CDNFileSystemRoot(fileLoc)); +} + +/** + * Redirects the response to the CDN server at the given path. + */ +export function CDNRedirect(res: Response, fileLoc: string) { + if (!fileLoc.startsWith("/")) { + throw new Error(`Invalid fileLoc - did not start with /.`); + } + + logger.debug(`CDN Redirecting to ${ServerConfig.CDN_CONFIG.WEB_LOCATION}${fileLoc}.`); + + res.redirect(`${ServerConfig.CDN_CONFIG.WEB_LOCATION}${fileLoc}`); +} + +/** + * Stores a file at fileLoc. If it already exists, overwrite it. + */ +export async function CDNStoreOrOverwrite(fileLoc: string, data: Buffer | string): Promise { + logger.debug(`Storing or overwriting path ${fileLoc}.`); + + if (ServerConfig.CDN_CONFIG.SAVE_LOCATION.TYPE === "LOCAL_FILESYSTEM") { + const loc = CDNFileSystemRoot(fileLoc); + + // make the parent folders if they dont exist. else, mkdirp is a no-op. + await mkdirp(path.dirname(loc)); + + return writeFilePromise(loc, data); + } + + await PushToS3(fileLoc, data); +} + +/** + * Removes a file at this CDN location. + */ +export async function CDNDelete(fileLoc: string) { + logger.verbose(`Deleting path ${fileLoc}.`); + + if (ServerConfig.CDN_CONFIG.SAVE_LOCATION.TYPE === "LOCAL_FILESYSTEM") { + const loc = CDNFileSystemRoot(fileLoc); + + return rmFilePromise(loc, { force: true }); + } + + await DeleteFromS3(fileLoc); +} diff --git a/server/src/lib/cdn/s3.ts b/server/src/lib/cdn/s3.ts new file mode 100644 index 000000000..5552239ac --- /dev/null +++ b/server/src/lib/cdn/s3.ts @@ -0,0 +1,69 @@ +import { DeleteObjectCommand, PutObjectCommand, S3Client } from "@aws-sdk/client-s3"; +import CreateLogCtx from "lib/logger/logger"; +import { ServerConfig } from "lib/setup/config"; + +const logger = CreateLogCtx("S3 Client"); + +let s3: S3Client | null = null; + +if (ServerConfig.CDN_CONFIG.SAVE_LOCATION.TYPE === "S3_BUCKET") { + const data = ServerConfig.CDN_CONFIG.SAVE_LOCATION; + + logger.info(`Using S3_BUCKET as CDN location.`, { bootInfo: true }); + s3 = new S3Client({ + endpoint: data.ENDPOINT, + region: + data.REGION ?? "NO_REGION_BUT_YOU_HAVE_TO_SPECIFY_ONE_OTHERWISE_THIS_LIBRARY_ERRORS", + credentials: { + accessKeyId: data.ACCESS_KEY_ID, + secretAccessKey: data.SECRET_ACCESS_KEY, + }, + }); +} + +/** + * Pushes a file to the configured S3 Bucket. Overwrites if already exists. + */ +export function PushToS3(path: string, content: Buffer | string) { + logger.debug(`Saving content on S3 at ${path}.`); + + if (!s3 || ServerConfig.CDN_CONFIG.SAVE_LOCATION.TYPE !== "S3_BUCKET") { + logger.severe( + `Attempted to push to S3, but CDN_CONFIG.SAVE_LOCATION.TYPE was not S3_BUCKET?`, + ServerConfig.CDN_CONFIG + ); + throw new Error( + `Attempted to push to S3, but CDN_CONFIG.SAVE_LOCATION.TYPE was not S3_BUCKET?` + ); + } + + return s3.send( + new PutObjectCommand({ + Bucket: ServerConfig.CDN_CONFIG.SAVE_LOCATION.BUCKET, + Key: (ServerConfig.CDN_CONFIG.SAVE_LOCATION.KEY_PREFIX ?? "") + path, + Body: content, + }) + ); +} + +/** + * Deletes the provided file from the configured S3 bucket. + */ +export function DeleteFromS3(path: string) { + if (!s3 || ServerConfig.CDN_CONFIG.SAVE_LOCATION.TYPE !== "S3_BUCKET") { + logger.severe( + `Attempted to delete from S3, but CDN_CONFIG.SAVE_LOCATION.TYPE was not S3_BUCKET?`, + ServerConfig.CDN_CONFIG + ); + throw new Error( + `Attempted to delete from S3, but CDN_CONFIG.SAVE_LOCATION.TYPE was not S3_BUCKET?` + ); + } + + return s3.send( + new DeleteObjectCommand({ + Bucket: ServerConfig.CDN_CONFIG.SAVE_LOCATION.BUCKET, + Key: path, + }) + ); +} diff --git a/server/src/lib/cdn/url-format.ts b/server/src/lib/cdn/url-format.ts new file mode 100644 index 000000000..a7a1d133e --- /dev/null +++ b/server/src/lib/cdn/url-format.ts @@ -0,0 +1,13 @@ +import type { integer } from "tachi-common"; + +export function GetUSCIRReplayURL(scoreID: string) { + return `/uscir/replays/${scoreID}`; +} + +export function GetProfilePictureURL(userID: integer, contentHash: string) { + return `/users/${userID}/pfp-${contentHash}`; +} + +export function GetProfileBannerURL(userID: integer, contentHash: string) { + return `/users/${userID}/banner-${contentHash}`; +} diff --git a/server/src/lib/constants/bms-tables.ts b/server/src/lib/constants/bms-tables.ts new file mode 100644 index 000000000..7f46dcc6d --- /dev/null +++ b/server/src/lib/constants/bms-tables.ts @@ -0,0 +1,13 @@ +export const BMS_TABLES = { + insane: "★", + overjoy: "★★", + normal: "☆", + normal2: "▽", + insane2: "▼", + stella: "st", + satellite: "sl", + dpNormal: "δ", + dpInsane: "★", + scratch: "h◎", + ln: "◆", +}; diff --git a/server/src/lib/constants/classes.ts b/server/src/lib/constants/classes.ts new file mode 100644 index 000000000..6a71a3018 --- /dev/null +++ b/server/src/lib/constants/classes.ts @@ -0,0 +1,243 @@ +export enum IIDXDans { + KYU_7 = 0, + KYU_6 = 1, + KYU_5 = 2, + KYU_4 = 3, + KYU_3 = 4, + KYU_2 = 5, + KYU_1 = 6, + + DAN_1 = 7, + DAN_2 = 8, + DAN_3 = 9, + DAN_4 = 10, + DAN_5 = 11, + DAN_6 = 12, + DAN_7 = 13, + DAN_8 = 14, + DAN_9 = 15, + DAN_10 = 16, + + CHUUDEN = 17, + KAIDEN = 18, +} + +export enum GitadoraColours { + WHITE = 0, + + ORANGE = 1, + ORANGE_GRADIENT = 2, + YELLOW = 3, + YELLOW_GRADIENT = 4, + GREEN = 5, + GREEN_GRADIENT = 6, + BLUE = 7, + BLUE_GRADIENT = 8, + PURPLE = 9, + PURPLE_GRADIENT = 10, + RED = 11, + RED_GRADIENT = 12, + + BRONZE = 13, + SILVER = 14, + GOLD = 15, + RAINBOW = 16, +} + +export enum BMSGenocideDans { + NORMAL_1 = 0, + NORMAL_2 = 1, + NORMAL_3 = 2, + NORMAL_4 = 3, + NORMAL_5 = 4, + NORMAL_6 = 5, + NORMAL_7 = 6, + NORMAL_8 = 7, + NORMAL_9 = 8, + NORMAL_10 = 9, + + INSANE_1 = 10, + INSANE_2 = 11, + INSANE_3 = 12, + INSANE_4 = 13, + INSANE_5 = 14, + INSANE_6 = 15, + INSANE_7 = 16, + INSANE_8 = 17, + INSANE_9 = 18, + INSANE_10 = 19, + INSANE_KAIDEN = 20, + + OVERJOY = 21, +} + +export enum BMSStSlDans { + SL_0 = 0, + SL_1 = 1, + SL_2 = 2, + SL_3 = 3, + SL_4 = 4, + SL_5 = 5, + SL_6 = 6, + SL_7 = 7, + SL_8 = 8, + SL_9 = 9, + SL_10 = 10, + SL_11 = 11, + SL_12 = 12, + + ST_0 = 13, + ST_1 = 14, + ST_2 = 15, + ST_3 = 16, + ST_4 = 17, + ST_5 = 18, + ST_6 = 19, + ST_7 = 20, + ST_8 = 21, + ST_9 = 22, + ST_10 = 23, + ST_11 = 24, + ST_12 = 25, +} + +export enum PMSInsaneDans { + DAN_1 = 0, + DAN_2 = 1, + DAN_3 = 2, + DAN_4 = 3, + DAN_5 = 4, + DAN_6 = 5, + DAN_7 = 6, + DAN_8 = 7, + DAN_9 = 8, + DAN_10 = 9, + KAIDEN = 10, + OVERJOY = 11, + UNDEFINED = 12, +} + +export enum SDVXDans { + DAN_1 = 0, + DAN_2 = 1, + DAN_3 = 2, + DAN_4 = 3, + DAN_5 = 4, + DAN_6 = 5, + DAN_7 = 6, + DAN_8 = 7, + DAN_9 = 8, + DAN_10 = 9, + DAN_11 = 10, + INF = 11, +} + +// ewww +export enum SDVXVFClasses { + SIENNA_I = 0, + SIENNA_II = 1, + SIENNA_III = 2, + SIENNA_IV = 3, + COBALT_I = 4, + COBALT_II = 5, + COBALT_III = 6, + COBALT_IV = 7, + DANDELION_I = 8, + DANDELION_II = 9, + DANDELION_III = 10, + DANDELION_IV = 11, + CYAN_I = 12, + CYAN_II = 13, + CYAN_III = 14, + CYAN_IV = 15, + SCARLET_I = 16, + SCARLET_II = 17, + SCARLET_III = 18, + SCARLET_IV = 19, + CORAL_I = 20, + CORAL_II = 21, + CORAL_III = 22, + CORAL_IV = 23, + ARGENTO_I = 24, + ARGENTO_II = 25, + ARGENTO_III = 26, + ARGENTO_IV = 27, + ELDORA_I = 28, + ELDORA_II = 29, + ELDORA_III = 30, + ELDORA_IV = 31, + CRIMSON_I = 32, + CRIMSON_II = 33, + CRIMSON_III = 34, + CRIMSON_IV = 35, + IMPERIAL_I = 36, + IMPERIAL_II = 37, + IMPERIAL_III = 38, + IMPERIAL_IV = 39, +} + +export enum CHUNITHM_COLOURS { + BLUE = 0, + GREEN = 1, + ORANGE = 2, + RED = 3, + PURPLE = 4, + BRONZE = 5, + SILVER = 6, + GOLD = 7, + PLATINUM = 8, + RAINBOW = 9, +} + +export enum WACCA_STAGEUPS { + I = 0, + II = 1, + III = 2, + IV = 3, + V = 4, + VI = 5, + VII = 6, + VIII = 7, + IX = 8, + X = 9, + XI = 10, + XII = 11, + XIII = 12, + XIV = 13, +} + +export enum WACCA_COLOURS { + ASH = 0, + NAVY = 1, + YELLOW = 2, + RED = 3, + PURPLE = 4, + BLUE = 5, + SILVER = 6, + GOLD = 7, + RAINBOW = 8, +} + +export enum POPN_CLASSES { + KITTY = 0, + GRADE_SCHOOL = 1, + DELINQUENT = 2, + DETECTIVE = 3, + IDOL = 4, + GENERAL = 5, + HERMIT = 6, + GOD = 7, +} + +export enum JUBEAT_COLOURS { + BLACK = 0, + YELLOW_GREEN = 1, + GREEN = 2, + LIGHT_BLUE = 3, + BLUE = 4, + VIOLET = 5, + PURPLE = 6, + PINK = 7, + ORANGE = 8, + GOLD = 9, +} diff --git a/server/src/lib/constants/ea3id.ts b/server/src/lib/constants/ea3id.ts new file mode 100644 index 000000000..365564215 --- /dev/null +++ b/server/src/lib/constants/ea3id.ts @@ -0,0 +1,14 @@ +// Various EA3-SoftID constants to make code more readable. +export const MODEL_INFINITAS_2 = "P2D"; +export const MODEL_IIDX = "LDJ"; +export const MODEL_IIDX_LIGHTNING = "TDJ"; + +export const REV_2DXTRA = "E"; +export const REV_2DXBMS = "Z"; +export const REV_OMNIMIX = "X"; +export const REV_NORMAL = "A"; + +export const EXT_HEROIC_VERSE = "2020092900"; +export const EXT_BISTROVER = "2021091500"; + +export const MODEL_SDVX3_KONASTE = "QCV"; diff --git a/server/src/lib/constants/err-codes.ts b/server/src/lib/constants/err-codes.ts new file mode 100644 index 000000000..ef86181cd --- /dev/null +++ b/server/src/lib/constants/err-codes.ts @@ -0,0 +1,10 @@ +export enum SubscribeFailReasons { + ALREADY_SUBSCRIBED = 0, + ALREADY_ACHIEVED = 1, +} + +export enum SetRivalsFailReasons { + TOO_MANY = 0, + RIVALED_SELF = 1, + RIVALS_HAVENT_PLAYED_GPT = 2, +} diff --git a/server/src/lib/constants/filesize.ts b/server/src/lib/constants/filesize.ts new file mode 100644 index 000000000..d9032372e --- /dev/null +++ b/server/src/lib/constants/filesize.ts @@ -0,0 +1,2 @@ +export const ONE_MEGABYTE = 1024 * 1024; +export const SIXTEEN_MEGABTYES = ONE_MEGABYTE * 16; diff --git a/server/src/lib/constants/tachi.ts b/server/src/lib/constants/tachi.ts new file mode 100644 index 000000000..893e99c1e --- /dev/null +++ b/server/src/lib/constants/tachi.ts @@ -0,0 +1,3 @@ +export const SYMBOL_TACHI_DATA = Symbol("tachi-request-patch"); +export const SYMBOL_TACHI_API_AUTH = Symbol("tachi-api-auth-info"); +export const JOB_RETRY_COUNT = 7; diff --git a/server/src/lib/constants/time.ts b/server/src/lib/constants/time.ts new file mode 100644 index 000000000..c2148495f --- /dev/null +++ b/server/src/lib/constants/time.ts @@ -0,0 +1,7 @@ +export const ONE_SECOND = 1000; +export const ONE_MINUTE = ONE_SECOND * 60; +export const ONE_HOUR = ONE_MINUTE * 60; +export const ONE_DAY = ONE_HOUR * 24; +export const ONE_WEEK = ONE_DAY * 7; +export const ONE_MONTH = ONE_WEEK * 4; +export const ONE_YEAR = ONE_MONTH * 12; diff --git a/server/src/lib/constants/usc-ir.ts b/server/src/lib/constants/usc-ir.ts new file mode 100644 index 000000000..334d1cf08 --- /dev/null +++ b/server/src/lib/constants/usc-ir.ts @@ -0,0 +1,10 @@ +// we'll go for 3, why not. +export const USCIR_ADJACENT_SCORE_N = 3; + +export const USCIR_MAX_LEADERBOARD_N = 10; + +export const USC_DEFAULT_PERFECT = 46; +export const USC_DEFAULT_NEAR = 150; +export const USC_DEFAULT_HOLD = 150; +export const USC_DEFAULT_MISS = 300; +export const USC_DEFAULT_SLAM = 84; diff --git a/server/src/lib/constants/version.ts b/server/src/lib/constants/version.ts new file mode 100644 index 000000000..3b464ab88 --- /dev/null +++ b/server/src/lib/constants/version.ts @@ -0,0 +1,87 @@ +// Note that Version Info is intentionally identical between all variants of tachi +// viz. btchi and ktchi share versioning. This is because they +// essentially share codebases. +import CreateLogCtx from "lib/logger/logger"; +import semver from "semver"; +import { execSync } from "child_process"; +import fs from "fs"; +import path from "path"; + +// As is with all front-facing zkldi projects, the version names for tachi-server +// are from an album I like. In this case, the al(bum is Portishead - Dummy. +// The fact that this album is very similar to Mezzanine +// - the album used for Kamaitachi v1 - is deliberate. :) - zkldi +const PORTISHEAD_DUMMY = [ + // v2.0.0 + "Mysterons", + + // v2.1.0 + "Sour Times", + + // v2.2.0 + "Strangers", + + // v2.3.0 + "It Could Be Sweet", + + // v2.4.0 + "Wandering Star", + + // v2.5.0 + "It's a Fire", + + // v2.6.0 + "Numb", + + // v2.7.0 + "Roads", + + // v2.8.0 + "Pedestal", + + // v2.9.0 + "Biscuit", + + // v2.10.0 + "Glory Box", + + // v2.11+ onwards are not expected to occur, but if they do, we'll figure something out. +]; + +const logger = CreateLogCtx(__filename); + +const packageJSON = JSON.parse( + fs.readFileSync(path.join(__dirname, "../../../package.json"), "utf-8") +) as { version: string }; + +const semverInfo = semver.parse(packageJSON.version); + +if (!semverInfo) { + logger.warn( + `Couldn't parse semverInfo out of package.json? Got a string of '${packageJSON.version}', but couldn't parse. Defaulting to v0.0.0-unknown.` + ); +} + +let commit: string | null = null; + +try { + // This fetches the HEAD of our current running branch. This is useful for debugging. + // Note that git returns this with a trailing newline, so we have to trim that off. + commit = execSync("git rev-parse --short HEAD").toString("utf-8").trim(); +} catch (err) { + logger.warn(`Failed to read what commit we're on -- Using null as our commit version.`, { + err, + }); +} + +export const VERSION_INFO = { + major: semverInfo?.major ?? 0, + minor: semverInfo?.minor ?? 0, + patch: semverInfo?.patch ?? 0, + commit, + name: PORTISHEAD_DUMMY[semverInfo?.minor ?? 0] ?? "No Version Name", +}; + +export const VERSION_STR = semverInfo?.raw ?? "0.0.0-unknown"; + +export const VERSION_PRETTY = `v${VERSION_STR} (${VERSION_INFO.name}) [${commit}]`; diff --git a/server/src/lib/database-seeds/repo.ts b/server/src/lib/database-seeds/repo.ts new file mode 100644 index 000000000..12244439e --- /dev/null +++ b/server/src/lib/database-seeds/repo.ts @@ -0,0 +1,205 @@ +import CreateLogCtx from "lib/logger/logger"; +import { Environment, ServerConfig } from "lib/setup/config"; +import { asyncExec } from "utils/misc"; +import fs from "fs/promises"; +import os from "os"; +import path from "path"; +import type { Game } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +export type SeedsCollections = + | "bms-course-lookup" + | "folders" + | "tables" + | `charts-${Game}` + | `songs-${Game}`; + +/** + * Class that encapsulates the behaviour of a seeds repo. + */ +export class DatabaseSeedsRepo { + private readonly baseDir: string; + private readonly logger; + + constructor(baseDir: string) { + this.baseDir = baseDir; + this.logger = CreateLogCtx(`DatabaseSeeds:${baseDir}`); + } + + private CollectionNameToPath(collectionName: SeedsCollections) { + return path.join(this.baseDir, "collections", `${collectionName}.json`); + } + + /** + * Reads the data from a collection and returns the parsed JSON. + * + * @returns The data in the requested collection. + */ + async ReadCollection(collectionName: SeedsCollections): Promise> { + const data = await fs.readFile(this.CollectionNameToPath(collectionName), { + encoding: "utf-8", + }); + + const parsedData = JSON.parse(data) as Array; + + return parsedData; + } + + /** + * Writes a new array to the provided collectionName. + * + * @param collectionName - The collection to write to. + * @param content - A new array of objects to write. + */ + async WriteCollection(collectionName: SeedsCollections, content: Array) { + await fs.writeFile(this.CollectionNameToPath(collectionName), JSON.stringify(content)); + + // Deterministically sort whatever content we just wrote. + await asyncExec( + `cd "${this.baseDir}" || exit 1; node scripts/deterministic-collection-sort.js` + ); + } + + async *IterateCollections() { + const collectionNames = (await fs.readdir(path.join(this.baseDir, "collections"))).map( + (e) => path.parse(e).name + ) as Array; + + for (const collectionName of collectionNames) { + // eslint-disable-next-line no-await-in-loop + yield { collectionName, data: await this.ReadCollection(collectionName) }; + } + } + + /** + * Mutate a collection with a given name. + * + * @param collectionName - The collection to mutate. + * @param mutator - A function that takes the entire collection as an array, then returns a new array. + */ + async MutateCollection( + collectionName: SeedsCollections, + mutator: (dataset: Array) => Array + ) { + const dataset = await this.ReadCollection(collectionName); + + const newData = mutator(dataset); + + return this.WriteCollection(collectionName, newData); + } + + /** + * Provide authentication so that CommitChangesBack can do its job. + */ + #AuthenticateWithGitServer() { + if (!ServerConfig.SEEDS_CONFIG) { + // Shouldn't be possible. Ever, since SEEDS_CONFIG must be deffed in order + // to run PullDBSeeds + throw new Error(`Cannot commit changes back. SEEDS_CONFIG is not set.`); + } + + if (!ServerConfig.SEEDS_CONFIG.USER_NAME || !ServerConfig.SEEDS_CONFIG.USER_EMAIL) { + throw new Error( + `Cannot commit changes back if SEEDS_CONFIG.USER_NAME/SEEDS_CONFIG.USER_EMAIL aren't defined.` + ); + } + + // @ereti is insistent that this sleep 1 is fine, so, whatever. + return asyncExec( + `git config user.name "${ServerConfig.SEEDS_CONFIG.USER_NAME}" || exit 3; + git config user.email "${ServerConfig.SEEDS_CONFIG.USER_EMAIL}" || exit 4; + git config credential.helper '!f() { sleep 1; echo "username=\${GIT_USER}"; echo "password=\${GIT_PASSWORD}"; }; f' || exit 5;` + ); + } + + /** + * Checks for any diffs in the seeds repository we cloned. If there are any, commit them back + * to the repository. + * + * @param commitMsg - The commit message. + * @returns True when a commit has occured, false when it hasn't. Throws on failure. + */ + async CommitChangesBack(commitMsg: string) { + this.logger.verbose(`Received commit-back request.`); + + try { + const { stdout: statusOut } = await asyncExec( + `cd "${this.baseDir}" || exit 1; git status --porcelain` + ); + + if (statusOut === "") { + this.logger.info(`No changes. Not committing any changes back.`); + return false; + } + + // Ok, Testing this is actually a bad idea. Hear me out. + // It's exceptionally difficult to actually store and look at the test output. (potentially huge) + // especially when filesystem size is our biggest constraint at the moment. + // + // It's better for us to commit straight away, and have the tests on our github CI fail + // (and subsequently yell at us.) + // + // try { + // await asyncExec(`cd "${this.baseDir}/scripts" || exit 2; pnpm install; pnpm test`); + // } catch ({ err, stdout, stderr }) { + // logger.error(`Testing the changes failed. ${err}. Not committing back!`, { err }); + // throw err; + // } + + this.logger.info(`Changes detected. Authenticating with Github.`); + + await this.#AuthenticateWithGitServer(); + + const { stdout: commitOut } = await asyncExec( + `cd "${this.baseDir}" || exit 2; + git add . || exit 3; + git commit -am "${commitMsg}" || exit 4; + git push` + ); + + this.logger.info(`Commit: ${commitOut}.`); + + return true; + } catch (err) { + this.logger.error(`Failed to backport commits?`, { err }); + throw err; + } + } +} + +/** + * Pulls the database seeds from github, returns an object that can be used to manipulate them. + */ +export async function PullDatabaseSeeds() { + if (!ServerConfig.SEEDS_CONFIG) { + throw new Error(`SEEDS_CONFIG was not defined. You cannot pull a seeds repo.`); + } + + const seedsDir = await fs.mkdtemp(path.join(os.tmpdir(), "tachi-database-seeds-")); + + logger.info(`Cloning data to ${seedsDir}.`); + + await fs.rm(seedsDir, { recursive: true, force: true }); + + try { + // stderr in git clone is normal output. + // stdout is for errors. + // there were expletives below this comment, but I have removed them. + const { stdout } = await asyncExec( + `git clone "${ServerConfig.SEEDS_CONFIG.REPO_URL}" -b "${ + Environment.nodeEnv === "production" ? "production" : "develop" + }" --depth=1 '${seedsDir}'` + ); + + // isn't that confusing + if (stdout) { + logger.error(stdout); + } + + return new DatabaseSeedsRepo(seedsDir); + } catch ({ err, stderr }) { + logger.error(`Error cloning database-seeds. ${stderr}.`); + throw err; + } +} diff --git a/server/src/lib/email/client.ts b/server/src/lib/email/client.ts new file mode 100644 index 000000000..c9627bb4b --- /dev/null +++ b/server/src/lib/email/client.ts @@ -0,0 +1,79 @@ +import bunyan from "bunyan"; +import CreateLogCtx from "lib/logger/logger"; +import { Environment, ServerConfig } from "lib/setup/config"; +import nodemailer from "nodemailer"; +import type { SentMessageInfo, Transporter } from "nodemailer"; + +const logger = CreateLogCtx(__filename); + +let transporter: Transporter | undefined; + +if (ServerConfig.EMAIL_CONFIG) { + logger.info(`Connecting to email server...`, { bootInfo: true }); + const conf = ServerConfig.EMAIL_CONFIG; + + try { + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument + transporter = nodemailer.createTransport({ + newline: "unix", + // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions, @typescript-eslint/no-unsafe-member-access + logger: conf.TRANSPORT_OPS?.debug + ? bunyan.createLogger({ name: "Email Logger" }) + : undefined, + ...(conf.TRANSPORT_OPS ?? {}), + }); + + transporter.verify((err) => { + if (err) { + logger.crit(`Could not connect to email server.`, { err }); + throw err; + } else { + logger.info(`Successfully connected to email server.`, { bootInfo: true }); + } + }); + } catch (err) { + logger.crit(`Failed to create email client.`, { err }); + throw err; + } +} else { + logger.warn(`No EMAIL_CONFIG present in conf, emails will not be sent from the server.`, { + bootInfo: true, + }); +} + +export function SendEmail( + to: string, + subject: string, + htmlContent: string, + textContent: string +): Promise | undefined { + if (Environment.nodeEnv === "test") { + logger.debug(`Stubbed out SendEmail as env was test.`); + return; + } + + if (!transporter || !ServerConfig.EMAIL_CONFIG) { + logger.debug(`Stubbed out SendEmail as no EMAIL_CONFIG was set.`); + return; + } + + logger.verbose(`Sending email to ${to}.`); + + return transporter + .sendMail({ + from: ServerConfig.EMAIL_CONFIG.FROM, + to, + subject, + html: htmlContent, + text: textContent, + dkim: ServerConfig.EMAIL_CONFIG.DKIM, + }) + .catch((err: unknown) => { + logger.info(`Failed to send email to ${to}.`, { + err, + subject, + textContent, + htmlContent, + }); + }); +} diff --git a/server/src/lib/email/formats.ts b/server/src/lib/email/formats.ts new file mode 100644 index 000000000..760c6a974 --- /dev/null +++ b/server/src/lib/email/formats.ts @@ -0,0 +1,45 @@ +// Email HTML is a hellish mess of IE5 era nonsense. +// Good luck. + +import { ServerConfig, TachiConfig } from "lib/setup/config"; + +export function EmailFormatResetPassword(username: string, resetCode: string, ipAddr: string) { + return { + html: MainHTMLWrapper( + `Hey ${username}, you've received a password reset request.
Click here to perform the reset.
If you did not request this reset, report this! This reset request was made by ${ipAddr}.` + ), + text: `Hey ${username}, you've received a password reset request. This link +${ServerConfig.OUR_URL}/reset-password?code=${resetCode} will perform the reset. +If you did not request this reset, report this! This reset request was made by ${ipAddr}.`, + }; +} + +export function EmailFormatVerifyEmail(username: string, code: string) { + return { + html: MainHTMLWrapper( + `Hey ${username}, You need to verify your email before you can use the site.
Click here to verify your email.` + ), + text: `Hey ${username}, You need to verify your email before you can use the site. +Please go to ${ServerConfig.OUR_URL}/verify-email?code=${code} to verify!`, + }; +} + +export function MainHTMLWrapper(innerHTML: string) { + return ` + + + + + + + ${TachiConfig.NAME} + + + +
+
+ ${innerHTML} +
+ + `; +} diff --git a/server/src/lib/game-settings/create-game-settings.test.ts b/server/src/lib/game-settings/create-game-settings.test.ts new file mode 100644 index 000000000..3665b770e --- /dev/null +++ b/server/src/lib/game-settings/create-game-settings.test.ts @@ -0,0 +1,32 @@ +import { CreateGameSettings } from "./create-game-settings"; +import db from "external/mongo/db"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; + +t.test("#CreateGameSettings", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should create a new user's settings.", async (t) => { + await CreateGameSettings(1, "bms", "7K"); + + const data = await db["game-settings"].findOne({ + userID: 1, + game: "bms", + playtype: "7K", + }); + + t.not(data, null); + + t.end(); + }); + + t.test("Should throw an error if the user already has game-settings.", async (t) => { + await CreateGameSettings(1, "bms", "7K"); + + t.rejects(() => CreateGameSettings(1, "bms", "7K")); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/game-settings/create-game-settings.ts b/server/src/lib/game-settings/create-game-settings.ts new file mode 100644 index 000000000..35f030966 --- /dev/null +++ b/server/src/lib/game-settings/create-game-settings.ts @@ -0,0 +1,53 @@ +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import type { Game, integer, Playtype } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +/** + * Create GameSettings for a UGPT (which contains their preferences). + */ +export async function CreateGameSettings(userID: integer, game: Game, playtype: Playtype) { + const exists = await db["game-settings"].findOne({ + userID, + game, + playtype, + }); + + if (exists) { + logger.error( + `Cannot create ${userID} ${game} ${playtype} game-settings as one already exists?` + ); + + throw new Error( + `Cannot create ${userID} ${game} ${playtype} game-settings as one already exists?` + ); + } + + let gameSpecific = {}; + + if (game === "iidx") { + gameSpecific = { + display2DXTra: false, + bpiTarget: 0, + }; + } + + await db["game-settings"].insert({ + userID, + game, + playtype, + preferences: { + preferredProfileAlg: null, + preferredSessionAlg: null, + preferredScoreAlg: null, + scoreBucket: null, + defaultTable: null, + stats: [], + gameSpecific, + }, + rivals: [], + }); + + logger.info(`Created game settings for ${userID} (${game} ${playtype}).`); +} diff --git a/server/src/lib/handlers/sigterm.ts b/server/src/lib/handlers/sigterm.ts new file mode 100644 index 000000000..cec96fcde --- /dev/null +++ b/server/src/lib/handlers/sigterm.ts @@ -0,0 +1,33 @@ +import { monkDB } from "external/mongo/db"; +import { CloseRedisConnection } from "external/redis/redis"; +import { rootLogger } from "lib/logger/logger"; +import { CloseScoreImportQueue } from "lib/score-import/worker/queue"; +import type http from "http"; +import type https from "https"; + +const logger = rootLogger; + +export function HandleSIGTERMGracefully(instance?: http.Server | https.Server) { + logger.info("SIGTERM Received, closing program.", { shutdownInfo: true }); + + if (instance) { + instance.close(() => CloseEverythingElse()); + } else { + return CloseEverythingElse(); + } +} + +async function CloseEverythingElse() { + logger.info("Closing Mongo Database.", { shutdownInfo: true }); + await monkDB.close(); + + logger.info("Closing Redis Connection.", { shutdownInfo: true }); + await CloseRedisConnection(); + + logger.info("Closing Score Import Queue.", { shutdownInfo: true }); + await CloseScoreImportQueue(); + + logger.info("Everything closed. Waiting for process to exit naturally.", { + shutdownInfo: true, + }); +} diff --git a/server/src/lib/imports/imports.test.ts b/server/src/lib/imports/imports.test.ts new file mode 100644 index 000000000..73c5f0bf6 --- /dev/null +++ b/server/src/lib/imports/imports.test.ts @@ -0,0 +1,59 @@ +import { RevertImport } from "./imports"; +import db from "external/mongo/db"; +import t from "tap"; +import { dmf, mkFakeImport } from "test-utils/misc"; +import ResetDBState from "test-utils/resets"; +import { TestingIIDXSPScore } from "test-utils/test-data"; + +t.test("#RevertImport", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(() => + db.scores.insert([ + dmf(TestingIIDXSPScore, { scoreID: "score_1" }), + dmf(TestingIIDXSPScore, { scoreID: "score_2" }), + dmf(TestingIIDXSPScore, { scoreID: "score_3" }), + ]) + ); + + t.test("Should revert an import and all of its contained scores.", async (t) => { + const importDoc = mkFakeImport({ + scoreIDs: ["score_1", "score_2"], + }); + + await db.imports.insert(importDoc); + + await RevertImport(importDoc); + + const dbRes = await db.imports.findOne({ importID: "fake_import" }); + + t.equal(dbRes, null, "Should have removed the import from the DB."); + + t.resolveMatch( + db.scores.findOne({ userID: 1, scoreID: "score_1" }), + + // @ts-expect-error https://github.com/DefinitelyTyped/DefinitelyTyped/pull/60020 + null, + "Score_1 should be removed from the database." + ); + + t.resolveMatch( + db.scores.findOne({ userID: 1, scoreID: "score_2" }), + + // @ts-expect-error see above + null, + "Score_2 should be removed from the database." + ); + + t.resolveMatch( + db.scores.findOne({ userID: 1, scoreID: "score_3" }), + + // @ts-expect-error see above + { scoreID: "score_3" }, + "Score_2 should NOT be removed from the database." + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/imports/imports.ts b/server/src/lib/imports/imports.ts new file mode 100644 index 000000000..e7f49d263 --- /dev/null +++ b/server/src/lib/imports/imports.ts @@ -0,0 +1,44 @@ +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { DeleteMultipleScores } from "lib/score-mutation/delete-scores"; +import type { ImportDocument } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +/** + * Given an importDocument, undo it. This will remove all of the scores inside the import. + * + * It will *not* undo things like classes that were set, but it will invoke a profile recalculation. + * + * If this results in sessions being deleted, it will delete them. + */ +export async function RevertImport(importDoc: ImportDocument) { + logger.info(`Received revert-import request for import '${importDoc.importID}'`, { importDoc }); + + const scores = await GetImportScores(importDoc); + + await DeleteMultipleScores(scores); + + logger.info( + `Deleted ${scores.length} scores as part of reverting import '${importDoc.importID}'.`, + { importDoc } + ); + + try { + await db.imports.remove({ importID: importDoc.importID }); + + logger.info(`Reverted and deleted import '${importDoc.importID}'.`); + } catch (err) { + logger.severe( + `Deleted scores that were part of import, but failed to remove the actual import? There is a stale import with ID '${importDoc.importID}', which must be removed manually.`, + { importDoc, err } + ); + } +} + +/** + * Retrieve the scores inside this import. + */ +export function GetImportScores(importDoc: ImportDocument) { + return db.scores.find({ scoreID: { $in: importDoc.scoreIDs } }); +} diff --git a/server/src/lib/invites/invites.ts b/server/src/lib/invites/invites.ts new file mode 100644 index 000000000..6d3e6c85d --- /dev/null +++ b/server/src/lib/invites/invites.ts @@ -0,0 +1,38 @@ +import { ONE_MONTH } from "lib/constants/time"; +import CreateLogCtx from "lib/logger/logger"; +import { ServerConfig } from "lib/setup/config"; +import type { PublicUserDocument } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +/** + * Users are only allowed to invite so many users, and their invites are + * trickled out in bursts of INVITE_BATCH_SIZE. + * + * Users get those N additional invites every month since they join. + * This is capped at INVITE_CAP, which defaults to 100. + */ +export function GetTotalAllowedInvites(user: PublicUserDocument) { + if (!ServerConfig.INVITE_CODE_CONFIG) { + logger.warn( + `No INVITE_CODE_CONFIG set, but tried to get total allowed invites? Returning 0.` + ); + return 0; + } + + const joinedSince = Date.now() - user.joinDate; + + const monthsSinceJoin = Math.floor(joinedSince / ONE_MONTH); + + let invites = monthsSinceJoin * ServerConfig.INVITE_CODE_CONFIG.BATCH_SIZE; + + if (user.badges.includes("alpha") || user.badges.includes("beta")) { + invites = invites + ServerConfig.INVITE_CODE_CONFIG.BETA_USER_BONUS; + } + + if (invites > ServerConfig.INVITE_CODE_CONFIG.INVITE_CAP) { + return ServerConfig.INVITE_CODE_CONFIG.INVITE_CAP; + } + + return invites; +} diff --git a/server/src/lib/jobs/backsync-bms-pms-data.ts b/server/src/lib/jobs/backsync-bms-pms-data.ts new file mode 100644 index 000000000..13a8edcbf --- /dev/null +++ b/server/src/lib/jobs/backsync-bms-pms-data.ts @@ -0,0 +1,52 @@ +/* eslint-disable no-await-in-loop */ +import db from "external/mongo/db"; +import { PullDatabaseSeeds } from "lib/database-seeds/repo"; +import CreateLogCtx from "lib/logger/logger"; + +const logger = CreateLogCtx(__filename); + +/** + * The tachi-server may have its BMS or PMS database update. It needs to sync this + * information back with the seeds. + */ +export async function BacksyncBMSPMSSongsAndCharts() { + const repo = await PullDatabaseSeeds(); + + for (const game of ["bms", "pms"] as const) { + logger.info(`Fetching BMS songs from DB.`); + + // did you know, this code is liable to blow up in my face and OOM one day? + let songs = await db.songs[game].find({}); + + logger.info(`Found ${songs.length} ${game} songs.`); + + await repo.WriteCollection(`songs-${game}`, songs); + + // @ts-expect-error This is obviously making something nullable when it shouldn't be. + // but if we don't *force* node to free this damn memory, it kills itself when it + // tries to read even more stuff. + songs = null; + + logger.info(`Fetching ${game} charts from DB.`); + let charts = await db.charts.bms.find({}); + + logger.info(`Found ${charts.length} bms charts.`); + + await repo.WriteCollection(`charts-${game}`, charts); + + // @ts-expect-error See previous expect-error. + charts = null; + } + + await repo.CommitChangesBack(`Backsync BMS+PMS Songs/Charts ${new Date().toISOString()}`); +} + +if (require.main === module) { + BacksyncBMSPMSSongsAndCharts() + .then(() => process.exit(0)) + .catch((err: unknown) => { + logger.error(`Failed to backsync bms/pms songs and charts.`, { err }, () => { + process.exit(1); + }); + }); +} diff --git a/server/src/lib/jobs/bms-ai-table-sync.ts b/server/src/lib/jobs/bms-ai-table-sync.ts new file mode 100644 index 000000000..e9ba03266 --- /dev/null +++ b/server/src/lib/jobs/bms-ai-table-sync.ts @@ -0,0 +1,40 @@ +/* eslint-disable no-await-in-loop */ +import { PullDatabaseSeeds } from "lib/database-seeds/repo"; +import CreateLogCtx from "lib/logger/logger"; +import fetch from "node-fetch"; +import type { ChartDocument } from "tachi-common"; + +const AI_URL = "https://bms.hexlataia.xyz/tables/json/ai.json"; + +const logger = CreateLogCtx(__filename); + +interface AITableEntry { + level: string; + md5: string; +} + +export async function UpdateAILevels() { + const data = (await fetch(AI_URL).then((r) => r.json())) as Array; + + const map = Object.fromEntries(data.map((e) => [e.md5, e.level])); + + const repo = await PullDatabaseSeeds(); + + await repo.MutateCollection>("charts-bms", (charts) => { + for (const chart of charts) { + chart.data.aiRating = map[chart.data.hashMD5] ?? null; + } + + return charts; + }); +} + +if (require.main === module) { + UpdateAILevels() + .then(() => process.exit(0)) + .catch((err: unknown) => { + logger.error(`Failed to sync BMS AI Table.`, { err }, () => { + process.exit(1); + }); + }); +} diff --git a/server/src/lib/jobs/bms-table-sync.ts b/server/src/lib/jobs/bms-table-sync.ts new file mode 100644 index 000000000..2a1f2323b --- /dev/null +++ b/server/src/lib/jobs/bms-table-sync.ts @@ -0,0 +1,317 @@ +/* eslint-disable no-await-in-loop */ +import db from "external/mongo/db"; +import { BMS_TABLES } from "lib/constants/bms-tables"; +import CreateLogCtx from "lib/logger/logger"; +import fetch from "node-fetch"; +import { CreateFolderID, InitaliseFolderChartLookup } from "utils/folder"; +import { FormatBMSTables } from "utils/misc"; +import type { ChartDocument } from "tachi-common"; + +// I have no confidence in half of these links surviving. +// Eventually, some of these are going to disappear, and we'll have to find +// something else. probably. +const registeredTables: Array = [ + { + name: "Insane", + humanisedPrefix: "insane", + playtype: "7K", + prefix: BMS_TABLES.insane, + description: "The 7K GENOSIDE insane table.", + url: "http://www.ribbit.xyz/bms/tables/insane_body.json", + }, + { + name: "Normal", + humanisedPrefix: "normal", + playtype: "7K", + prefix: BMS_TABLES.normal, + description: "The 7K GENOSIDE normal table.", + url: "http://www.ribbit.xyz/bms/tables/normal_body.json", + }, + { + name: "Stella", + humanisedPrefix: "st", + playtype: "7K", + prefix: BMS_TABLES.stella, + description: "The stella table, from Stellaverse.", + url: "https://stellabms.xyz/st/score.json", + }, + { + name: "Satellite", + humanisedPrefix: "sl", + playtype: "7K", + prefix: BMS_TABLES.satellite, + description: "The satellite table, from Stellaverse.", + url: "https://stellabms.xyz/sl/score.json", + }, + { + name: "Insane2", + humanisedPrefix: "insane2", + playtype: "7K", + prefix: BMS_TABLES.insane2, + description: "A successor to the original insane table, but is generally less consistent.", + url: "http://rattoto10.jounin.jp/js/insane_data.json", + }, + { + name: "Normal2", + humanisedPrefix: "normal2", + playtype: "7K", + prefix: BMS_TABLES.normal2, + description: "A successor to the original normal table.", + url: "http://rattoto10.jounin.jp/js/score.json", + }, + { + name: "Overjoy", + description: "The overjoy table. Level 1 is roughly equivalent to Insane 20.", + humanisedPrefix: "overjoy", + playtype: "7K", + prefix: BMS_TABLES.overjoy, + url: "http://lr2.sakura.ne.jp/data/score.json", + }, + { + name: "DP Insane", + description: "The 14K Insane table.", + humanisedPrefix: "dpInsane", + prefix: BMS_TABLES.dpInsane, + playtype: "14K", + url: "http://dpbmsdelta.web.fc2.com/table/data/insane_data.json", + }, + { + name: "DP Normal", + description: "The 14K Normal table, Sometimes called the delta table.", + humanisedPrefix: "dpNormal", + prefix: BMS_TABLES.dpNormal, + playtype: "14K", + url: "http://dpbmsdelta.web.fc2.com/table/data/dpdelta_data.json", + }, + { + name: "DP Satellite", + description: "The 14K Satellite table.", + humanisedPrefix: "dpSatellite", + prefix: BMS_TABLES.satellite, + playtype: "14K", + url: "https://stellabms.xyz/dp/score.json", + }, + { + name: "Scratch 3rd", + description: "The 7K Sara 3 table.", + humanisedPrefix: "scr", + prefix: BMS_TABLES.scratch, + playtype: "7K", + url: "http://minddnim.web.fc2.com/sara/3rd_hard/json/data.json", + }, + { + name: "LN", + description: "The 7K LN table.", + humanisedPrefix: "ln", + prefix: BMS_TABLES.ln, + playtype: "7K", + url: "http://flowermaster.web.fc2.com/lrnanido/gla/score.json", + }, +]; + +// this seems to be all we care about +interface TableJSONDoc { + md5: string; + title?: string; + level: string; +} + +const logger = CreateLogCtx(__filename); + +async function ImportTableLevels(tableJSON: Array, prefix: string) { + let failures = 0; + let success = 0; + const total = tableJSON.length; + + for (const td of tableJSON) { + const chart = (await db.charts.bms.findOne({ "data.hashMD5": td.md5 })) as ChartDocument< + "bms:7K" | "bms:14K" + > | null; + + if (!chart) { + logger.warn( + `No chart exists in table for ${td.md5} Possible title: ${td.title} ${prefix}${td.level}` + ); + failures++; + continue; + } + + const tableFolders = chart.data.tableFolders.filter((e) => e.table !== prefix); + + tableFolders.push({ table: prefix, level: td.level.toString() }); + + await db.charts.bms.update( + { + chartID: chart.chartID, + }, + { + $set: { + "data.tableFolders": tableFolders, + }, + } + ); + + await db.songs.bms.update( + { + id: chart.songID, + }, + { + $set: { + "data.tableString": FormatBMSTables(tableFolders), + }, + } + ); + + success++; + } + + logger.info(`Finished updating table ${prefix}.`); + logger.info(`${success} Success | ${failures} Failures | ${total} Total.`); +} + +export interface BMSTablesDataset { + url: string; + name: string; + description: string; + humanisedPrefix: string; + prefix: string; + playtype: "7K" | "14K"; +} + +interface BMSTableChart { + title: string; + artist: string; + url: string; + url_diff: string; + md5: string; + sha256: string; + level: string; +} + +const RETRY_COUNT = 3; + +export async function UpdateTable(table: BMSTablesDataset) { + const res = await fetch(table.url); + + const statusCode = res.status; + + let retries = 0; + + // instead of using res.json() we have to use res.text() here + // so we have proper logging when some of these bms urls + // spontaneously return HTML. + let tableJSON: Array | undefined; + + // We need to have a retry counter because some of the bms tables + // randomly return useless html for no reason. + + // i hate bms. + while (!tableJSON) { + let text; + + try { + text = await res.text(); + + // @hack -- this is a force cast. + tableJSON = JSON.parse(text) as unknown as Array; + } catch (err) { + logger.error(`Failed to fetch ${table.url}`, { err, res, statusCode, text }); + retries++; + + if (retries > RETRY_COUNT) { + logger.error(`SKIPPING TABLE!`); + return; + } + + logger.info(`Retrying ${table.url}.`); + } + } + + const tableID = `bms-${table.playtype}-${table.humanisedPrefix}`; + + const folderIDs = []; + const levels = [...new Set(tableJSON.map((e) => e.level))]; + + for (const level of levels) { + const query = { + "data¬tableFolders": { + "~elemMatch": { + table: table.prefix, + + // just incase some dude tries numbers + level: level.toString(), + }, + }, + }; + + const folderID = CreateFolderID(query, "bms", table.playtype); + + folderIDs.push(folderID); + + const exists = await db.folders.findOne({ + folderID, + }); + + if (exists) { + continue; + } + + await db.folders.insert({ + title: `${table.prefix}${level}`, + inactive: false, + folderID, + game: "bms", + playtype: table.playtype, + type: "charts", + data: query, + searchTerms: [`${table.name} ${level}`], + }); + + logger.info(`Inserted new table ${table.prefix}${level}.`); + } + + await db.tables.update( + { tableID }, + { + $set: { + tableID, + game: "bms", + playtype: table.playtype, + folders: folderIDs, + title: table.name, + description: table.description, + inactive: false, + }, + }, + { + upsert: true, + } + ); + + logger.info(`Bumped table ${table.name}.`); + + logger.info(`Bumping levels...`); + await ImportTableLevels(tableJSON, table.prefix); + logger.info(`Levels bumped.`); +} + +export async function SyncBMSTables() { + for (const table of registeredTables) { + // eslint-disable-next-line no-await-in-loop + await UpdateTable(table); + } + + logger.info(`Re-initialising folder-chart-lookup, since changes may have been made.`); + await InitaliseFolderChartLookup(); + logger.info(`Done.`); +} + +if (require.main === module) { + SyncBMSTables() + .then(() => process.exit(0)) + .catch((err: unknown) => { + logger.error(`Failed to sync BMS Tables.`, { err }, () => { + process.exit(1); + }); + }); +} diff --git a/server/src/lib/jobs/deorphan-scores.ts b/server/src/lib/jobs/deorphan-scores.ts new file mode 100644 index 000000000..09f37ecd0 --- /dev/null +++ b/server/src/lib/jobs/deorphan-scores.ts @@ -0,0 +1,52 @@ +// Attempt to deoprhan lost scores. + +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { ReprocessOrphan } from "lib/score-import/framework/orphans/orphans"; + +const logger = CreateLogCtx(__dirname); + +export async function DeoprhanScores() { + const orphans = await db["orphan-scores"].find({}); + + // ScoreIDs are essentially userID dependent, so this is fine. + const blacklist = (await db["score-blacklist"].find({})).map((e) => e.scoreID); + + logger.info(`Found ${orphans.length} orphans.`); + + let failed = 0; + let success = 0; + let removed = 0; + + for (const or of orphans) { + // We have to await like this to avoid mid-air race conditions, + // where two orphans attempt to deorphan to the same scoreID + // at the same time. + // See #511. + + // eslint-disable-next-line no-await-in-loop + const r = await ReprocessOrphan(or, blacklist, logger); + + if (r === null) { + removed++; + } else if (r === false) { + failed++; + } else { + success++; + } + } + + logger.info(`Finished attempting deorphaning.`); + + logger.info(`Success: ${success} | Failed ${failed} | Removed ${removed}.`); +} + +if (require.main === module) { + DeoprhanScores() + .then(() => process.exit(0)) + .catch((err: unknown) => { + logger.error(`Failed to de-orphan scores.`, { err }, () => { + process.exit(1); + }); + }); +} diff --git a/server/src/lib/jobs/inline-job-runner/job-runner.ts b/server/src/lib/jobs/inline-job-runner/job-runner.ts new file mode 100644 index 000000000..274a6c6b8 --- /dev/null +++ b/server/src/lib/jobs/inline-job-runner/job-runner.ts @@ -0,0 +1,121 @@ +import { BacksyncBMSPMSSongsAndCharts } from "../backsync-bms-pms-data"; +import { UpdateAILevels } from "../bms-ai-table-sync"; +import { SyncBMSTables } from "../bms-table-sync"; +import { DeoprhanScores } from "../deorphan-scores"; +import { UGSSnapshot } from "../ugs-snapshot"; +import { UpdatePoyashiData } from "../update-bpi-data"; +import { UpdateDPTiers } from "../update-dp-tiers"; +import { Queue, Worker } from "bullmq"; +import CreateLogCtx from "lib/logger/logger"; +import { TachiConfig } from "lib/setup/config"; +import { DedupeArr } from "utils/misc"; + +interface Job { + name: string; + cronFormat: string; + run: () => Promise; +} + +const jobs: Array = [ + { + name: "Snapshot User Game Stats", + cronFormat: "0 0 * * *", + run: UGSSnapshot, + }, + { + name: "De-Orphan Scores", + + // We run an hour after snapshotting UGS + // just to spread load out a bit. + cronFormat: "1 0 * * *", + run: DeoprhanScores, + }, +]; + +// if kamaitachi or omnitachi +if (TachiConfig.TYPE !== "btchi") { + jobs.push({ + name: "Update BPI", + cronFormat: "2 0 * * *", + run: UpdatePoyashiData, + }); + + jobs.push({ + name: "Update DP Tiers", + cronFormat: "3 0 * * *", + run: UpdateDPTiers, + }); +} + +// if bokutachi or omnitachi +if (TachiConfig.TYPE !== "ktchi") { + jobs.push({ + name: "Update AI Table", + cronFormat: "2 0 * * *", + run: UpdateAILevels, + }); + + jobs.push({ + name: "Update Tables", + cronFormat: "3 0 * * *", + run: SyncBMSTables, + }); + + jobs.push({ + name: "Backsync BMS + PMS", + cronFormat: "4 0 * * *", + run: BacksyncBMSPMSSongsAndCharts, + }); +} + +const logger = CreateLogCtx("JOB_RUNNER"); + +/** + * Initalises a tachi-server job runner. + * This runs the list of jobs defined in jobConfig.jobs. + */ +export function InitialiseJobRunner() { + logger.info(`Booting up Job Runner.`); + + const names = jobs.map((e) => e.name); + + if (DedupeArr(names).length !== names.length) { + logger.crit(`Jobs has duplicate name fields, refusing to run.`, () => { + process.exit(1); + }); + } + + const JobQueue = new Queue("Job Runner"); + + const jobNameMap = new Map(); + + for (const job of jobs) { + void JobQueue.add(job.name, { jobName: job.name }, { repeat: { cron: job.cronFormat } }); + jobNameMap.set(job.name, job); + } + + const worker = new Worker("Job Runner", async (j) => { + const { jobName } = j.data as { jobName: string }; + + logger.info(`Running job ${jobName}.`); + + const jobInfo = jobNameMap.get(jobName); + + if (!jobInfo) { + logger.severe(`Unknown job name ${jobName}, couldn't find a run function?`); + return false; + } + + await jobInfo.run(); + + return true; + }); + + logger.info(`Initialised ${jobs.length} jobs (${jobs.map((e) => e.name).join(", ")}).`); + + return worker; +} + +if (require.main === module) { + InitialiseJobRunner(); +} diff --git a/server/src/lib/jobs/ugs-snapshot.ts b/server/src/lib/jobs/ugs-snapshot.ts new file mode 100644 index 000000000..e0fcfdc38 --- /dev/null +++ b/server/src/lib/jobs/ugs-snapshot.ts @@ -0,0 +1,107 @@ +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { GetMillisecondsSince } from "utils/misc"; +import { GetAllRankings } from "utils/user"; +import type { UserGameStats, UserGameStatsSnapshot } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +// get the time of this midnight. it's possible this script eclipses itself when weird timezone +// nonsense happens. we'll have to see. +const currentTime = new Date().setUTCHours(0, 0, 0, 0); + +let batchWrite: Array = []; + +// This code is intentionally *very* robust, and handles a lot of unanticipated failures +// because if it breaks, we brick the database. +export async function UGSSnapshot() { + const timeStart = process.hrtime.bigint(); + + const alreadyExists = await db["game-stats-snapshots"].findOne({ timestamp: currentTime }); + + if (alreadyExists) { + logger.warn( + `There already exists snapshots at this time. Has this script been ran twice on one day? Ignoring request.` + ); + + throw new Error( + `There already exists snapshots at this time. Has this script been ran twice on one day? Ignoring request.` + ); + } + + logger.info(`Snapshotting UserGameStats.`); + + try { + // eslint-disable-next-line @typescript-eslint/no-unsafe-call + await db["game-stats"] + .find({}) + + // @ts-expect-error faulty TS types + .each(async (ugs: UserGameStats, { pause, resume }) => { + // eslint-disable-next-line @typescript-eslint/no-unsafe-call + pause(); + + logger.debug(`Snapshotting ${ugs.userID} ${ugs.playtype} ${ugs.game}.`); + + const [playcount, rankings] = await Promise.all([ + db.scores.count({ userID: ugs.userID, playtype: ugs.playtype, game: ugs.game }), + GetAllRankings(ugs), + ]); + + const ugsSnapshot: UserGameStatsSnapshot = { + ...ugs, + playcount, + rankings, + timestamp: currentTime, + }; + + batchWrite.push(ugsSnapshot); + + if (batchWrite.length >= 500) { + logger.verbose(`Flushed batch.`); + await db["game-stats-snapshots"].insert(batchWrite); + // eslint-disable-next-line require-atomic-updates + batchWrite = []; + } + + // eslint-disable-next-line @typescript-eslint/no-unsafe-call + resume(); + }); + + if (batchWrite.length) { + await db["game-stats-snapshots"].insert(batchWrite); + } + + logger.info( + `Successfully snapshotted all data as of ${new Date( + currentTime + ).toString()}. Took ${GetMillisecondsSince(timeStart)} ms.` + ); + } catch (err) { + // if we panic, we need to revert whatever we did. + logger.severe(`FATAL IN UGS-SNAPSHOT - Possibly failed midway through snapshotting.`, { + err, + }); + + logger.info(`Removing all snapshots at this timestamp (${currentTime}).`); + + await db["game-stats-snapshots"].remove({ timestamp: currentTime }); + + logger.info(`Removed.`); + + throw err; + } +} + +if (require.main === module) { + UGSSnapshot() + .then(() => { + process.exit(0); + }) + .catch((err: unknown) => { + // This is a severe error, not an error. Running the UGS snapshot every day is necessary. + logger.severe(`Failed to snapshot user game stats.`, { err }); + + process.exit(1); + }); +} diff --git a/server/src/lib/jobs/update-bpi-data.ts b/server/src/lib/jobs/update-bpi-data.ts new file mode 100644 index 000000000..cc6dec107 --- /dev/null +++ b/server/src/lib/jobs/update-bpi-data.ts @@ -0,0 +1,187 @@ +import { PullDatabaseSeeds } from "lib/database-seeds/repo"; +import CreateLogCtx from "lib/logger/logger"; +import { RecalcAllScores } from "utils/calculations/recalc-scores"; +import fetch from "utils/fetch"; +import type { + ChartDocument, + Difficulties, + GPTSupportedVersions, + integer, + Playtypes, + SongDocument, +} from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +const difficultyResolve: Record = + { + 3: ["SP", "HYPER"], + 4: ["SP", "ANOTHER"], + 8: ["DP", "HYPER"], + 9: ["DP", "ANOTHER"], + 10: ["SP", "LEGGENDARIA"], + 11: ["DP", "LEGGENDARIA"], + }; + +interface PoyashiProxyBPIInfo { + title: string; + difficulty: string; + wr: integer; + avg: integer; + notes: string; + bpm: string; + textage: string; + difficultyLevel: string; + dpLevel: string; + coef?: number | null; + removed?: boolean; +} + +interface PoyashiProxyData { + version: integer; + requireVersion: string; + body: Array; +} + +/** + * Fetches Poyashi BPI's latest information and syncs it back to the seeds repository. + * + * @note This function doesn't actually touch or backsync our database at all. Infact, + * the commit that hits the seeds repo will result in a database-sync, meaning this + * will all "just work"(tm) + */ +export async function UpdatePoyashiData() { + const repo = await PullDatabaseSeeds(); + + logger.info("Fetching data from proxy..."); + const data = (await fetch("https://proxy.poyashi.me/?type=bpi").then((r) => + r.json() + )) as PoyashiProxyData; + + logger.info("Fetched data."); + + const iidxSongs: Array> = await repo.ReadCollection("songs-iidx"); + const iidxCharts: Array> = await repo.ReadCollection( + "charts-iidx" + ); + + // Utility functions for finding matching charts. + function FindSongOnTitle(title: string) { + for (const data of iidxSongs) { + if (data.title === title || data.altTitles.includes(title)) { + return data; + } + } + + return null; + } + + function FindChartWithPTDFVersion( + songID: integer, + playtype: Playtypes["iidx"], + diff: Difficulties["iidx:DP" | "iidx:SP"], + version: GPTSupportedVersions["iidx:DP" | "iidx:SP"] + ) { + for (const chart of iidxCharts) { + if ( + chart.songID === songID && + chart.playtype === playtype && + chart.difficulty === diff && + chart.versions.includes(version) + ) { + return chart; + } + } + + return null; + } + + const updatedChartIDs = []; + + // The actual mutation. + for (const d of data.body) { + const res: ["DP" | "SP", Difficulties["iidx:DP" | "iidx:SP"]] | undefined = + difficultyResolve[d.difficulty]; + + if (!res) { + throw new Error(`Unknown difficulty ${d.difficulty}`); + } + + const [playtype, diff] = res; + + const tachiSong = FindSongOnTitle(d.title); + + if (!tachiSong) { + logger.warn(`Cannot find song ${d.title}?`); + continue; + } + + // current poyashi version is 29 + const tachiChart = FindChartWithPTDFVersion(tachiSong.id, playtype, diff, "29"); + + if (!tachiChart) { + logger.warn( + `Cannot find chart ${tachiSong.title} (${tachiSong.id}) ${playtype}, ${diff}?` + ); + continue; + } + + const kavg = Number(d.avg); + + if (kavg < 0) { + logger.warn( + `${tachiSong.title} (${playtype} ${diff}). Invalid kavg ${d.avg}, Skipping.` + ); + continue; + } + + if (d.removed === true) { + logger.info(`Skipping removed chart ${tachiSong.title}.`); + continue; + } + + const newCoef = d.coef === -1 || d.coef === undefined ? null : d.coef; + const newKavg = Number(d.avg); + const newWR = Number(d.wr); + + if ( + tachiChart.data.bpiCoefficient !== newCoef || + tachiChart.data.kaidenAverage !== newKavg || + tachiChart.data.worldRecord !== newWR + ) { + updatedChartIDs.push(tachiChart.chartID); + + tachiChart.data.bpiCoefficient = newCoef; + tachiChart.data.kaidenAverage = newKavg; + tachiChart.data.worldRecord = newWR; + } + } + + await repo.WriteCollection("charts-iidx", iidxCharts); + + if (updatedChartIDs.length !== 0) { + logger.info(`Finished applying BPI changes. Writing back.`); + + await repo.CommitChangesBack(`BPI Update ${new Date().toISOString()}`); + + logger.info(`Recalcing scores.`); + await RecalcAllScores({ + game: "iidx", + chartID: { $in: updatedChartIDs }, + }); + + logger.info(`Finished recalcing scores.`); + } +} + +if (require.main === module) { + UpdatePoyashiData() + .then(() => { + process.exit(0); + }) + .catch((err: unknown) => { + logger.error("Failed to update poyashi data.", { err }, () => { + process.exit(1); + }); + }); +} diff --git a/server/src/lib/jobs/update-dp-tiers.ts b/server/src/lib/jobs/update-dp-tiers.ts new file mode 100644 index 000000000..7e11c4e52 --- /dev/null +++ b/server/src/lib/jobs/update-dp-tiers.ts @@ -0,0 +1,140 @@ +/* eslint-disable no-await-in-loop */ +import db from "external/mongo/db"; +import { decode } from "html-entities"; +import { PullDatabaseSeeds } from "lib/database-seeds/repo"; +import CreateLogCtx from "lib/logger/logger"; +import { parse } from "node-html-parser"; +import { RecalcAllScores } from "utils/calculations/recalc-scores"; +import fetch from "utils/fetch"; +import { FindSongOnTitle } from "utils/queries/songs"; + +const logger = CreateLogCtx(__filename); + +export async function UpdateDPTiers() { + const rawHTML = await fetch("https://zasa.sakura.ne.jp/dp/run.php").then((r) => r.text()); + + // time for some fun html parsing. + + const data = parse(rawHTML); + + const rows = data.querySelectorAll("tr"); + + const parsedData = []; + + for (const row of rows) { + // We only care about rows with 4 children. + // that's because the data is formatted like + // [HYPER, ANOTHER, LEGGENDARIA, SONG_TITLE] + // but has interspersed headers for game versions. + if (row.childNodes.length !== 4) { + continue; + } + + parsedData.push({ + // length is asserted above -- all of these are guaranteeably non-null + HYPER: ParseTierStr(row.childNodes[0]!.innerText), + ANOTHER: ParseTierStr(row.childNodes[1]!.innerText), + LEGGENDARIA: ParseTierStr(row.childNodes[2]!.innerText), + songTitle: decode(row.childNodes[3]!.innerText), + }); + } + + logger.info(`Got DP tier data. Applying it.`); + + const updatedSongIDs = new Set(); + + await Promise.all( + parsedData.map(async (d) => { + const song = await FindSongOnTitle("iidx", d.songTitle); + + if (!song) { + logger.warn(`Couldn't find song with title ${d.songTitle}.`); + return; + } + + for (const difficulty of ["HYPER", "ANOTHER", "LEGGENDARIA"] as const) { + if (d[difficulty] === null) { + continue; + } + + const result = await db.charts.iidx.update( + { + versions: "29", + playtype: "DP", + songID: song.id, + difficulty, + }, + { + $set: { + "tierlistInfo.dp-tier": { + text: d[difficulty]!.toString(), + value: d[difficulty]!, + }, + }, + } + ); + + if (result.nModified) { + updatedSongIDs.add(song.id); + } + } + }) + ); + + if (updatedSongIDs.size !== 0) { + logger.info( + `${updatedSongIDs.size} songs were changed. Recalcing the relevant scores now.` + ); + + await RecalcAllScores({ + game: "iidx", + playtype: "DP", + songID: { $in: [...updatedSongIDs.values()] }, + }); + + logger.info(`Recalced those scores.`); + + const repo = await PullDatabaseSeeds(); + + let charts = await db.charts.iidx.find({}); + + await repo.WriteCollection("charts-iidx", charts); + + // @ts-expect-error Force node to free the memory. + charts = null; + + await repo.CommitChangesBack(`Update DP Tierlist ${new Date().toISOString()}`); + } + + logger.info("Done."); +} + +/** + * Parses a formatted string on the zasa website into a number. Returns null + * if the string is "-", which indicates nothing is present. + */ +function ParseTierStr(tierStr: string) { + if (tierStr === "-") { + return null; + } + + const result = /\((.*)\)$/u.exec(tierStr); + + if (result?.[1]) { + return Number(result[1]); + } + + throw new Error(`Can't parse tierStr ${tierStr}.`); +} + +if (require.main === module) { + UpdateDPTiers() + .then(() => { + process.exit(0); + }) + .catch((err: unknown) => { + logger.error(`Failed to update DP Tiers.`, { err }, () => { + process.exit(1); + }); + }); +} diff --git a/server/src/lib/logger/colours.ts b/server/src/lib/logger/colours.ts new file mode 100644 index 000000000..26da457ba --- /dev/null +++ b/server/src/lib/logger/colours.ts @@ -0,0 +1,29 @@ +const Colours = { + crit: ["bgRed", "black"], + severe: ["bgBrightRed", "black"], + error: ["red"], + warn: ["yellow"], + info: ["blue"], + verbose: ["cyan"], + debug: ["white"], +}; + +// Discord ONLY accepts decimal colours, so. +// lets run with that. +export const DiscordColours = { + // #ff0000 + crit: 16711680, + + // #ff3333 + severe: 16719904, + + // #cc0000 + error: 11730944, + + // #ffcc00 + warn: 16703232, + + // other log colours don't matter -- they can all default to gray +}; + +export default Colours; diff --git a/server/src/lib/logger/discord-transport.ts b/server/src/lib/logger/discord-transport.ts new file mode 100644 index 000000000..bdd724167 --- /dev/null +++ b/server/src/lib/logger/discord-transport.ts @@ -0,0 +1,233 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { DiscordColours } from "./colours"; +import { ONE_MINUTE } from "lib/constants/time"; +import { Environment, ServerConfig, TachiConfig } from "lib/setup/config"; +import SafeJSONStringify from "safe-json-stringify"; +import fetch from "utils/fetch"; +import { IsRecord } from "utils/misc"; +import Transport from "winston-transport"; +import type { TransportStreamOptions } from "winston-transport"; + +interface DiscordTransportOptions extends TransportStreamOptions { + webhook: string; +} + +interface LogLevelCountState { + warn: Array; + error: Array; +} + +interface LoggerInfo { + level: "crit" | "debug" | "info" | "severe" | "verbose" | "warn"; + message: string; + noDiscord?: boolean; + meta?: Record; +} + +/** + * Creates a discord winston transport. This is a slightly adapted version + * of sidhantpanda's winston-discord-transport, modified for our use case. + * + * @param webhookUrl The webhook to connect to. + * @returns A winston tranport. + */ +export default class DiscordTransport extends Transport { + private webhookUrl = ""; + + /** Initialization promise resolved after retrieving discord id and token */ + private readonly initalised: Promise; + + private bucketData: LogLevelCountState = { + warn: [], + error: [], + }; + + private isBucketing = false; + private bucketStart: Date | null = null; + + constructor(opts: DiscordTransportOptions) { + super(opts); + + this.resetBucketData(); + + this.initalised = fetch(opts.webhook) + .then((r) => { + if (!r.ok) { + throw new Error(`Couldn't connect to discord transport. ${r.status}.`); + } + + return r.json() as unknown; + }) + .then((content) => { + if (!IsRecord(content)) { + throw new Error( + `Discord returned non-object data as JSON? Can't get id or token ${content}.` + ); + } + + this.webhookUrl = `https://discordapp.com/api/v6/webhooks/${content.id}/${content.token}`; + }); + } + + private resetBucketData() { + this.bucketData = { + warn: [], + error: [], + }; + } + + log(info: LoggerInfo, cb: () => void) { + if (info.noDiscord !== false) { + try { + setImmediate(() => { + void this.initalised.then(() => { + void this.handleSendToDiscord(info); + }); + }); + } catch (err) { + // eslint-disable-next-line no-console + console.error(`Failed to send content to discord transport`, err); + } + } + + // don't bother waiting around. + cb(); + } + + private handleSendToDiscord(info: LoggerInfo) { + if (info.level === "crit" || info.level === "severe") { + return this.sendLogDirectlyToDiscord(info); + } + + if (!["warn", "error", "severe"].includes(info.level)) { + // Don't need to send notifications about these. + return; + } + + this.bucketData[info.level as "error" | "warn"].push(info.message); + + if (!this.isBucketing) { + this.isBucketing = true; + this.bucketStart = new Date(); + setTimeout(() => { + this.sendBucketData(); + }, ONE_MINUTE); + } + } + + private getWhoToTag() { + return ServerConfig.LOGGER_CONFIG.DISCORD?.WHO_TO_TAG + ? ServerConfig.LOGGER_CONFIG.DISCORD.WHO_TO_TAG.map((e) => `<@${e}>`).join(" ") + : "Nobody configured to tag, but this is bad, get someone!"; + } + + private sendBucketData() { + let color = 0; + + const fields = []; + + for (const key of ["warn", "error"] as const) { + if (this.bucketData[key].length !== 0) { + color = DiscordColours[key]; + fields.push({ + // uppercase first char + name: `${key[0]!.toUpperCase()}${key.slice(1)}s`, + value: this.bucketData[key].length, + }); + } + } + + const logSnippet = [ + ...this.bucketData.error.map((e) => `[ERROR] ${e}`), + ...this.bucketData.warn.map((e) => `[WARN] ${e}`), + ].join("\n"); + + const postBody = { + content: ` + \`\`\`${logSnippet.length > 1500 ? `${logSnippet.slice(0, 1500 - 3)}...` : logSnippet}\`\`\``, + embeds: [ + { + title: `${TachiConfig.NAME} Log Summary${ + Environment.replicaIdentity + ? ` (Replica: ${Environment.replicaIdentity})` + : "" + }`, + fields, + description: `Log summary for ${this.bucketStart?.toISOString()} to ${new Date().toISOString()}.`, + color, + timestamp: new Date().toISOString(), + }, + ], + }; + + void this.POSTData(postBody); + this.resetBucketData(); + this.isBucketing = false; + this.bucketStart = null; + } + + private async sendLogDirectlyToDiscord(info: LoggerInfo) { + const postBody = { + content: "", + embeds: [ + { + description: `[${info.level}] ${info.message}`, + + // it's Colour!! + color: DiscordColours[info.level as keyof typeof DiscordColours], + timestamp: new Date().toISOString(), + }, + ], + }; + + if (info.meta) { + postBody.content = `\`\`\`${SafeJSONStringify(info.meta, null, 4)}\`\`\``; + } + + // These two levels are bad, and require near-immediate attention. + + if (info.level === "severe") { + postBody.content = `SEVERE ERROR: ${this.getWhoToTag()}\n${postBody.content}`; + } + + if (info.level === "crit") { + postBody.content = `CRITICAL ERROR: ${this.getWhoToTag()}\n${postBody.content}`; + } + + await this.POSTData(postBody); + } + + private async POSTData(postBody: unknown, scaleRetryDebounce = 2) { + const res = await fetch(this.webhookUrl, { + method: "POST", + body: JSON.stringify(postBody), + headers: { + "Content-Type": "application/json", + }, + }); + + if (res.status === 429) { + // being rate limited. + const content = (await res.json()) as unknown; + + // Try and retry when they say so. The issue is that our logging + // is very async, and this is a billion race conditions. + // It's possible that messages here could all get stuck in an + // awful loop, so we have a tuning off parameter. + // The scaleRetryDebouncer will get squared every call, + // so the initial request takes 2 * (generally 1milliseconds), + // then following requests will take even longer... + // It's possible this might blow up in our face. + // We'll have to see. - zkldi 2021/09/17 + + if (IsRecord(content) && typeof content.retry_after === "number") { + setTimeout(() => { + void this.POSTData(postBody, scaleRetryDebounce ** 2); + }, content.retry_after * scaleRetryDebounce); + } + } else if (!res.ok) { + // eslint-disable-next-line no-console + console.error(`Failed to send to discord ${res.status} ${await res.text()}`); + } + } +} diff --git a/server/src/lib/logger/logger.test.ts b/server/src/lib/logger/logger.test.ts new file mode 100644 index 000000000..9569c533a --- /dev/null +++ b/server/src/lib/logger/logger.test.ts @@ -0,0 +1,61 @@ +import CreateLogCtx, { ChangeRootLogLevel, GetLogLevel, rootLogger, Transports } from "./logger"; +import { ServerConfig } from "lib/setup/config"; +import t from "tap"; + +const LOG_LEVEL = ServerConfig.LOGGER_CONFIG.LOG_LEVEL; + +t.test("Logger Tests", (t) => { + const logger = CreateLogCtx(__filename); + + if (!Transports[0]) { + throw new Error(`No transports were defined? Can't perform logger tests.`); + } + + // lol + Transports[0].level = "debug"; + + logger.debug("Debug Message Test"); + logger.verbose("Verbose Message Test"); + logger.info("Info Message Test"); + logger.warn("Warning Message Test"); + logger.error("Error Message Test"); + logger.severe("Severe Message Test"); + logger.crit("Critical Message Test"); + + Transports[0].level = process.env.LOG_LEVEL ?? "info"; + + logger.debug("This message shouldn't appear."); + + t.end(); +}); + +t.test("#GetLogLevel", (t) => { + t.equal(GetLogLevel(), LOG_LEVEL); + + ChangeRootLogLevel("crit"); + t.equal(GetLogLevel(), "crit"); + + ChangeRootLogLevel(LOG_LEVEL); + t.equal(GetLogLevel(), LOG_LEVEL); + + t.end(); +}); + +t.test("#ChangeRootLogLevel", (t) => { + t.test("Should work with the root logger.", (t) => { + rootLogger.info("The below message should appear."); + + ChangeRootLogLevel("verbose"); + rootLogger.verbose("== SHOULD APPEAR =="); + + ChangeRootLogLevel("info"); + + rootLogger.info("The below message SHOULD NOT appear."); + + rootLogger.verbose("== SHOULD NOT APPEAR =="); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/logger/logger.ts b/server/src/lib/logger/logger.ts new file mode 100644 index 000000000..aca856315 --- /dev/null +++ b/server/src/lib/logger/logger.ts @@ -0,0 +1,277 @@ +import DiscordWinstonTransport from "./discord-transport"; +import { Transport as SeqTransport } from "@valuabletouch/winston-seq"; +import { Environment, ServerConfig, TachiConfig } from "lib/setup/config"; +import SafeJSONStringify from "safe-json-stringify"; +import { EscapeStringRegexp } from "utils/misc"; +import winston, { format, transports } from "winston"; +import type { SeqLogLevel } from "seq-logging"; +import type { LeveledLogMethod, Logger } from "winston"; +import "winston-daily-rotate-file"; + +export type KtLogger = Logger & { severe: LeveledLogMethod }; + +const level = process.env.LOG_LEVEL ?? ServerConfig.LOGGER_CONFIG.LOG_LEVEL; + +const formatExcessProperties = (meta: Record, limit = false) => { + let i = 0; + + for (const [key, val] of Object.entries(meta)) { + if (val instanceof Error) { + meta[key] = { message: val.message, stack: val.stack }; + } + + i++; + } + + if (!i) { + return ""; + } + + const content = SafeJSONStringify(meta); + + return ` ${limit ? StrCap(content) : content}`; +}; + +function StrCap(string: string) { + if (string.length > 300) { + return `${string.slice(0, 297)}...`; + } + + return string; +} + +const formatExcessPropertiesNoStack = ( + meta: Record, + omitKeys: Array = [], + limit = false +) => { + const realMeta: Record = {}; + + for (const [key, val] of Object.entries(meta)) { + if (omitKeys.includes(key)) { + continue; + } + + if (val instanceof Error) { + realMeta[key] = { message: val.message }; + } else if (!key.startsWith("__") && !key.startsWith("!")) { + realMeta[key] = val; + } + } + + if (Object.keys(realMeta).length === 0) { + return ""; + } + + const content = SafeJSONStringify(realMeta); + + return ` ${limit ? StrCap(content) : content}`; +}; + +const replicaInfo = Environment.replicaIdentity ? ` (${Environment.replicaIdentity})` : ""; + +const tachiPrintf = format.printf( + ({ level, message, context = "tachi-root", timestamp, ...meta }) => + `${timestamp}${replicaInfo} [${ + Array.isArray(context) ? context.join(" | ") : context + }] ${level}: ${message}${formatExcessProperties(meta)}` +); + +const tachiConsolePrintf = format.printf( + ({ level, message, context = "tachi-root", timestamp, hideFromConsole, ...meta }) => + `${timestamp}${replicaInfo} [${ + Array.isArray(context) ? context.join(" | ") : context + }] ${level}: ${message}${formatExcessPropertiesNoStack( + meta, + hideFromConsole as Array, + true + )}` +); + +winston.addColors({ + crit: ["bgRed", "black"], + severe: ["bgBrightRed", "black"], + error: ["red"], + warn: ["yellow"], + info: ["blue"], + verbose: ["cyan"], + debug: ["white"], +}); + +const baseFormatRoute = format.combine( + format.timestamp({ + format: "YYYY-MM-DD HH:mm:ss", + }) +); + +const defaultFormatRoute = format.combine( + baseFormatRoute, + format.errors({ stack: false }), + tachiPrintf +); + +const consoleFormatRoute = format.combine( + baseFormatRoute, + format.errors({ stack: false }), + tachiConsolePrintf, + format.colorize({ + all: true, + }) +); + +const tports: Array = []; + +if (ServerConfig.LOGGER_CONFIG.FILE) { + tports.push( + new transports.DailyRotateFile({ + filename: "logs/tachi-%DATE%.log", + datePattern: "YYYY-MM-DD-HH", + zippedArchive: true, + maxSize: "20m", + maxFiles: "14d", + createSymlink: true, + symlinkName: "tachi.log", + format: defaultFormatRoute, + }) + ); +} + +// If this is a job, force stdout writing no matter what. +if (ServerConfig.LOGGER_CONFIG.CONSOLE || process.env.IS_JOB || process.env.FORCE_CONSOLE_LOG) { + tports.push( + new transports.Console({ + format: consoleFormatRoute, + }) + ); +} + +if (ServerConfig.LOGGER_CONFIG.DISCORD) { + tports.push( + new DiscordWinstonTransport({ + webhook: ServerConfig.LOGGER_CONFIG.DISCORD.WEBHOOK_URL, + level: "warn", + }) + ); +} + +if (ServerConfig.LOGGER_CONFIG.SEQ_API_KEY && Environment.seqUrl) { + // Turns winston log levels into seq format. + const levelMap: Record = { + crit: "Fatal", + severe: "Error", + error: "Error", + warn: "Warning", + info: "Information", + + // Note that Seq interprets these in reverse, + // however, it's easier to read this code if I just + // use the same levels, instead of the right ones. + verbose: "Verbose", + debug: "Debug", + }; + + tports.push( + new SeqTransport({ + apiKey: ServerConfig.LOGGER_CONFIG.SEQ_API_KEY, + serverUrl: Environment.seqUrl, + onError: (err) => { + // eslint-disable-next-line no-console + console.error(`Failed to send seq message: ${err.message}.`); + }, + levelMapper(level = "") { + return levelMap[level] ?? "Information"; + }, + }) + ); +} + +export const rootLogger = winston.createLogger({ + levels: { + // entire process termination is necessary + crit: 0, + + // something is wrong, and more than one function is affected (such as a failed assertion that is definitely expected to be true). + severe: 1, + + // function call (or related process) has failed unexpectedly + error: 2, + + // function call has hit something it didn't want, but can recover + warn: 3, + + // something has happened that is expected, but worth logging + info: 4, + + // something has happened + verbose: 5, + + // glorified console.log debugging + debug: 6, + }, + level, + format: defaultFormatRoute, + transports: tports, + defaultMeta: { + __ServerName: TachiConfig.NAME, + __Worker: !!process.env.IS_WORKER, + __ReplicaID: Environment.replicaIdentity, + }, +}) as KtLogger; + +if (!!ServerConfig.LOGGER_CONFIG.SEQ_API_KEY !== !!Environment.seqUrl) { + rootLogger.warn( + `Only one of SEQ_API_KEY (conf.json5) and SEQ_URL (Environment) were set. Not sending logs to Seq, as both must be provided.` + ); +} + +if (tports.length === 0) { + // eslint-disable-next-line no-console + console.warn( + "You have no transports set. Absolutely no logs will be saved. This is a terrible idea!" + ); +} + +function CreateLogCtx(filename: string, lg = rootLogger): KtLogger { + const replacedFilename = filename.replace( + new RegExp(`^${EscapeStringRegexp(process.cwd())}/((js|src)/)?`, "u"), + "" + ); + + const logger = lg.child({ + context: [replacedFilename], + }) as KtLogger; + + // @hack, defaultMeta isn't reactive -- won't be updated unless we do this. + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + logger.defaultMeta = { ...(logger.defaultMeta ?? {}), context: [replacedFilename] }; + + return logger; +} + +export function AppendLogCtx(context: string, lg: KtLogger): KtLogger { + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access + const newContext = [...lg.defaultMeta.context, context]; + + return lg.child({ context: newContext }) as KtLogger; +} + +export function ChangeRootLogLevel( + level: "crit" | "debug" | "error" | "info" | "severe" | "verbose" | "warn" +) { + rootLogger.info(`Changing log level to ${level}.`); + + for (const tp of tports) { + tp.level = level; + } +} + +export function GetLogLevel() { + return ( + tports.map((e) => e.level).find((e) => typeof e === "string") ?? + ServerConfig.LOGGER_CONFIG.LOG_LEVEL + ); +} + +export const Transports = tports; + +export default CreateLogCtx; diff --git a/server/src/lib/migration/migrations.test.ts b/server/src/lib/migration/migrations.test.ts new file mode 100644 index 000000000..408c6f503 --- /dev/null +++ b/server/src/lib/migration/migrations.test.ts @@ -0,0 +1,128 @@ +import { ApplyMigration, FAKE_MIGRATION, FindUnappliedMigrations } from "./migrations"; +import db from "external/mongo/db"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; + +t.test("#FindUnappliedMigrations", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should find all unapplied migrations", async (t) => { + const res = await FindUnappliedMigrations(); + + t.equal( + res.includes("fake-migration"), + true, + "Should contain fake-migration since it isn't applied." + ); + + t.end(); + }); + + t.test("Shouldn't return pending migrations", async (t) => { + await db.migrations.insert({ + migrationID: "fake-migration", + status: "pending", + }); + + const res = await FindUnappliedMigrations(); + + t.equal(res.includes("fake-migration"), false); + + t.end(); + }); + + t.test("Shouldn't return applied migrations", async (t) => { + await db.migrations.insert({ + migrationID: "fake-migration", + status: "applied", + appliedOn: 1000, + }); + + const res = await FindUnappliedMigrations(); + + t.equal(res.includes("fake-migration"), false); + + t.end(); + }); + + t.end(); +}); + +t.test("#ApplyMigration", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should apply a migration.", async (t) => { + await ApplyMigration(FAKE_MIGRATION); + + const dbRes = await db.users.findOne({ + id: 1, + }); + + t.equal( + // eslint-disable-next-line lines-around-comment + // @ts-expect-error Our migration is a fake one that adds __wasMigrated + // to all user documents. There's nothing special about this property name. + dbRes?.__wasMigrated, + true, + "Migration should be applied on the users." + ); + + t.end(); + }); + + t.test("Should panic and reset if something goes wrong.", async (t) => { + try { + await ApplyMigration({ + id: "bad-migration", + up: () => { + throw new Error("Failed to migrate."); + }, + down: () => + db.users.update({}, { $set: { __wasUnmigrated: true } }, { multi: true }), + }); + } catch (e) { + const err = e as Error; + + t.equal(err.message, "Was going to exit with statusCode 1, but we're in testing."); + } + + const dbRes = await db.users.findOne({ + id: 1, + }); + + t.equal( + // eslint-disable-next-line lines-around-comment + // @ts-expect-error Our un-migration adds this property to check if it worked. + dbRes?.__wasUnmigrated, + true, + "Migration should be applied on the users." + ); + + t.end(); + }); + + t.test( + "Should panic and panic again if un-migration failed, with a scarier log message.", + async (t) => { + try { + await ApplyMigration({ + id: "bad-migration", + up: () => { + throw new Error("Failed to migrate."); + }, + down: () => { + throw new Error("Failed to undo migration."); + }, + }); + } catch (e) { + const err = e as Error; + + t.equal(err.message, "Was going to exit with statusCode 1, but we're in testing."); + } + + t.end(); + } + ); + + t.end(); +}); diff --git a/server/src/lib/migration/migrations.ts b/server/src/lib/migration/migrations.ts new file mode 100644 index 000000000..188d606cc --- /dev/null +++ b/server/src/lib/migration/migrations.ts @@ -0,0 +1,207 @@ +import UGPTRivalsMigration from "./migrations/add-rivals-to-ugpt"; +import RemoveMultifolderStats from "./migrations/remove-multifolder-stats"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { Environment } from "lib/setup/config"; +import type { Migration } from "utils/types"; + +const logger = CreateLogCtx(__filename); + +// NOTE: This is declared here, and NOT in test-utils. If any runtime file attempts to depend +// on test-utils, the server will not boot. + +export const FAKE_MIGRATION: Migration = { + id: "fake-migration", + up: () => db.users.update({}, { $set: { __wasMigrated: true } }, { multi: true }), + down: () => db.users.update({}, { $unset: { __wasMigrated: 1 } }, { multi: true }), +}; + +// Migrations are stored in an array because they have some concept of order +// That is, migrations should ideally be applied in a fixed order just to avoid +// any potential unsavoury interactions. +// If we're testing, we should pull fake migrations instead to ensure the tests +// stay consistent +const REGISTERED_MIGRATIONS: Array = + Environment.nodeEnv === "test" + ? [FAKE_MIGRATION] + : [UGPTRivalsMigration, RemoveMultifolderStats]; + +function CreateMigrationLookupMap(migrations: Array) { + const map = new Map(); + + for (const mig of migrations) { + if (map.get(mig.id)) { + logger.crit( + `Multiple migrations are registered for ${mig.id}. Cannot safely apply migrations.`, + () => { + // note, we want to exit in testing here, this is fine. + process.exit(1); + } + ); + } + + map.set(mig.id, mig); + } + + return map; +} + +// That said, we still make a lookup map so we can efficiently find registered +// migrations. +const MIGRATION_LOOKUP = CreateMigrationLookupMap(REGISTERED_MIGRATIONS); + +/** + * Return the migrationID of all migrations that have not been applied. + */ +export async function FindUnappliedMigrations() { + // An unapplied migration is one that is acknowledged in the codebase + // (see REGISTERED_MIGRATIONS), but not stored inside the mongodb instance. + const migrations = await db.migrations.find( + {}, + { + projection: { + migrationID: 1, + }, + } + ); + + const appliedIDs = new Set(migrations.map((e) => e.migrationID)); + + const notApplied = []; + + for (const migration of REGISTERED_MIGRATIONS) { + if (!appliedIDs.has(migration.id)) { + notApplied.push(migration.id); + } + } + + return notApplied; +} + +export async function ApplyUnappliedMigrations() { + const unapplied = await FindUnappliedMigrations(); + + if (unapplied.length === 0) { + logger.verbose(`Found no migrations to apply. Not bothering.`); + return; + } + + logger.info( + `Found ${ + unapplied.length + } migration(s) that have not been applied yet. These are '${unapplied.join("', '")}'.`, + { unapplied } + ); + + for (const migrationID of unapplied) { + // These things need to apply in lockstep. + // Note that if any migration fails, this will exit at CRIT level + // and not continue. + // eslint-disable-next-line no-await-in-loop + await ApplyMigrationByID(migrationID); + } +} + +export function ApplyMigrationByID(migrationID: string) { + const migration = MIGRATION_LOOKUP.get(migrationID); + + if (!migration) { + logger.error( + `Attempted to apply migration ${migrationID}, but that migration doesn't exist?` + ); + throw new Error( + `Attempted to apply migration ${migrationID}, but that migration doesn't exist?` + ); + } + + return ApplyMigration(migration); +} + +/** + * Applies a migration. Will **EXIT TACHI** if a migration fails to apply, as this implies + * database level inconsistencies which could cause severe problems. + */ +export async function ApplyMigration(migration: Migration) { + const migrationID = migration.id; + + logger.info(`Received request to apply migration '${migrationID}'.`); + + // Lock the migration here: + // If the migration is already applied (i.e. migrationID is set and pending/applied) + // don't bother applying again + // If the migration isn't, set it as pending and continue. This is race-condition + // safe. + const wasApplied = await db.migrations.findOneAndUpdate( + { migrationID }, + { + $setOnInsert: { + migrationID, + status: "pending", + }, + }, + { + returnOriginal: true, + upsert: true, + } + ); + + if (wasApplied) { + logger.error(`Tried to apply migration ${migrationID}, but it was already applied.`); + throw new Error(`Tried to apply migration ${migrationID}, but it was already applied.`); + } + + try { + await migration.up(); + + logger.info(`Successfully applied migration '${migrationID}'.`); + + await db.migrations.update( + { + migrationID, + }, + { + $set: { + status: "applied", + appliedOn: Date.now(), + }, + } + ); + + logger.info(`Successfully set migration state for '${migrationID}' to applied.`); + } catch (err) { + logger.severe( + `Failed to apply migration '${migrationID}'. Attempting to revert migration. Tachi will exit after attempting to revert this migration.`, + { err } + ); + + try { + await migration.down(); + + logger.info( + `Successfully reverted migration. Database state is okay, but Tachi will not boot.` + ); + + logger.crit( + `Failed to apply migration '${migrationID}'. Although successfully reverted, Tachi will not boot if a migration fails.` + ); + } catch (err) { + logger.crit( + `FAILED TO REVERT PARTIAL MIGRATION '${migrationID}'. THE DATABASE IS ALMOST CERTAINLY TAINTED. MANUAL INTERVENTION/BACKUP RESTORE NECESSARY.`, + { + err, + } + ); + } + + // remove the stale migration so it can be re-ran in the future. + await db.migrations.findOneAndDelete({ migrationID }); + + if (Environment.nodeEnv === "test") { + throw new Error("Was going to exit with statusCode 1, but we're in testing."); + } + + logger.crit(`Exiting.`, () => { + process.exit(1); + }); + } +} diff --git a/server/src/lib/migration/migrations/add-rivals-to-ugpt.ts b/server/src/lib/migration/migrations/add-rivals-to-ugpt.ts new file mode 100644 index 000000000..89662bddf --- /dev/null +++ b/server/src/lib/migration/migrations/add-rivals-to-ugpt.ts @@ -0,0 +1,28 @@ +import db from "external/mongo/db"; +import type { Migration } from "utils/types"; + +const migration: Migration = { + id: "add-rivals-to-ugpt", + up: async () => { + await db["game-settings"].update( + {}, + { + $set: { + rivals: [], + }, + }, + { multi: true } + ); + }, + down: async () => { + await db["game-settings"].update( + {}, + { + $unset: { rivals: 1 }, + }, + { multi: true } + ); + }, +}; + +export default migration; diff --git a/server/src/lib/migration/migrations/remove-multifolder-stats.ts b/server/src/lib/migration/migrations/remove-multifolder-stats.ts new file mode 100644 index 000000000..2a9503ee0 --- /dev/null +++ b/server/src/lib/migration/migrations/remove-multifolder-stats.ts @@ -0,0 +1,27 @@ +import db from "external/mongo/db"; +import type { Migration } from "utils/types"; + +const migration: Migration = { + id: "remove-multifolder-stats", + up: async () => { + await db["game-settings"].update( + { + "preferences.stats.mode": "folder", + "preferences.stats.folderID": { $type: "array" }, + }, + { + $pull: { + "preferences.stats": { + folderID: { $type: "array" }, + }, + }, + }, + { multi: true } + ); + }, + down: () => { + throw new Error(`Reverting this change is not possible.`); + }, +}; + +export default migration; diff --git a/server/src/lib/notifications/notification-wrappers.ts b/server/src/lib/notifications/notification-wrappers.ts new file mode 100644 index 000000000..584649784 --- /dev/null +++ b/server/src/lib/notifications/notification-wrappers.ts @@ -0,0 +1,46 @@ +import { SendNotification } from "./notifications"; +import db from "external/mongo/db"; +import { FormatGame } from "tachi-common"; +import type { Game, integer, Playtype, PublicUserDocument } from "tachi-common"; + +/** + * A utility wrapper for sending the SET_RIVAL notification. + * + * @param toUserID - The user to send this notification to. + * @param fromUser - The user who rivalled them. + * @param game - The game they rivalled them on. + * @param playtype - The playtype they rivalled them on. + */ +export async function SendSetRivalNotification( + toUserID: integer, + fromUser: PublicUserDocument, + game: Game, + playtype: Playtype +) { + const alreadyBeenPinged = await db.notifications.findOne({ + sentTo: toUserID, + "body.type": "RIVALED_BY", + "body.content": { + userID: fromUser.id, + game, + playtype, + }, + }); + + if (alreadyBeenPinged) { + return; + } + + return SendNotification( + `${fromUser.username} just added you as a rival for ${FormatGame(game, playtype)}`, + toUserID, + { + type: "RIVALED_BY", + content: { + userID: fromUser.id, + game, + playtype, + }, + } + ); +} diff --git a/server/src/lib/notifications/notifications.test.ts b/server/src/lib/notifications/notifications.test.ts new file mode 100644 index 000000000..eb67f2db9 --- /dev/null +++ b/server/src/lib/notifications/notifications.test.ts @@ -0,0 +1,76 @@ +import { BulkSendNotification, SendNotification } from "./notifications"; +import db from "external/mongo/db"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; + +t.test("#SendNotification", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should send a notification.", async (t) => { + await SendNotification("title", 1, { + type: "MILESTONE_CHANGED", + content: { milestoneID: "foo" }, + }); + + const dbRes = await db.notifications.findOne({ + sentTo: 1, + }); + + t.hasStrict(dbRes, { + sentTo: 1, + title: "title", + read: false, + body: { + type: "MILESTONE_CHANGED", + content: { milestoneID: "foo" }, + }, + }); + + t.end(); + }); + + t.end(); +}); + +t.test("#BulkSendNotification", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should send multiple notifications.", async (t) => { + await BulkSendNotification("title", [1, 2], { + type: "MILESTONE_CHANGED", + content: { milestoneID: "foo" }, + }); + + const dbRes = await db.notifications.findOne({ + sentTo: 1, + }); + + t.hasStrict(dbRes, { + sentTo: 1, + title: "title", + read: false, + body: { + type: "MILESTONE_CHANGED", + content: { milestoneID: "foo" }, + }, + }); + + const dbRes2 = await db.notifications.findOne({ + sentTo: 2, + }); + + t.hasStrict(dbRes2, { + sentTo: 2, + title: "title", + read: false, + body: { + type: "MILESTONE_CHANGED", + content: { milestoneID: "foo" }, + }, + }); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/notifications/notifications.ts b/server/src/lib/notifications/notifications.ts new file mode 100644 index 000000000..b6f873c6e --- /dev/null +++ b/server/src/lib/notifications/notifications.ts @@ -0,0 +1,45 @@ +import db from "external/mongo/db"; +import { Random20Hex } from "utils/misc"; +import type { integer, NotificationBody, NotificationDocument } from "tachi-common"; + +function ConstructNotificationDoc( + title: string, + toUserID: integer, + body: NotificationBody +): NotificationDocument { + return { + title, + sentTo: toUserID, + read: false, + sentAt: Date.now(), + notifID: `N${Random20Hex()}`, + body, + }; +} + +/** + * Send a notification to a user. + * + * @param title - A human friendly title for this notification. + * @param toUserID - The user to send the notification to. + * @param body - The body of the notification. + */ +export function SendNotification(title: string, toUserID: integer, body: NotificationBody) { + const notification = ConstructNotificationDoc(title, toUserID, body); + + return db.notifications.insert(notification); +} + +/** + * Send notifications to multiple users at once. This is more efficient than calling + * send notification in parallel. + */ +export function BulkSendNotification( + title: string, + toUserIDs: Array, + body: NotificationBody +) { + const notifications = toUserIDs.map((e) => ConstructNotificationDoc(title, e, body)); + + return db.notifications.insert(notifications); +} diff --git a/server/src/lib/orphan-queue/orphan-queue.ts b/server/src/lib/orphan-queue/orphan-queue.ts new file mode 100644 index 000000000..c75c0abae --- /dev/null +++ b/server/src/lib/orphan-queue/orphan-queue.ts @@ -0,0 +1,105 @@ +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { GetNextCounterValue } from "utils/db"; +import { DedupeArr } from "utils/misc"; +import type { FilterQuery } from "mongodb"; +import type { + ChartDocument, + IDStrings, + IDStringToGame, + integer, + OrphanChart, + SongDocument, +} from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +/** + * Handles an orphan queue request. + * + * If the chart has never been seen before, add it to the orphan queue + * and return null. + * + * If the chart has been seen before, and has less than N unique players + * who have played it, return null. + * + * If the chart has been seen before, and has >= N unique players who have + * played it, unorphan the chart, and return it. + */ +export async function HandleOrphanQueue( + idString: I, + game: IDStringToGame[I], + chartDoc: ChartDocument, + songDoc: SongDocument, + orphanMatchCriteria: FilterQuery>, + queueSize: integer, + userID: integer, + chartName: string +) { + logger.debug(`Received orphanqueue request for ${chartName}.`); + + const orphanChart = await db["orphan-chart-queue"].findOne( + { idString, ...orphanMatchCriteria }, + { + projectID: true, + } + ); + + if (!orphanChart) { + logger.verbose(`Received unknown chart ${chartName}, orphaning.`); + + await db["orphan-chart-queue"].insert({ + idString, + chartDoc, + songDoc, + userIDs: [userID], + }); + + return null; + } + + orphanChart.userIDs.push(userID); + + const uniqueUsersArr = DedupeArr(orphanChart.userIDs); + + const playcount = uniqueUsersArr.length; + + // If N or more people have played this chart while orphaned, unorphan + // it. + + if (playcount >= queueSize) { + logger.info(`Song ${chartName} was unorphaned by userIDs ${uniqueUsersArr.join(", ")}.`); + const songID = await GetNextCounterValue(`${game}-song-id`); + + logger.verbose(`${chartName} has been assigned songID ${songID}.`); + + const { songDoc, chartDoc } = orphanChart; + + songDoc.id = songID; + chartDoc.songID = songID; + + await db.songs[game].insert(songDoc); + await db.charts[game].insert(chartDoc); + await db["orphan-chart-queue"].remove({ + _id: orphanChart._id, + }); + + return chartDoc as ChartDocument; + } + + // otherwise, update the state of this orphan. + + logger.verbose(`UserID ${userID} played ${chartName}, which is now at ${playcount} plays.`); + await db["orphan-chart-queue"].update( + { + _id: orphanChart._id, + }, + { + $set: { + userIDs: uniqueUsersArr, + }, + } + ); + + return null; +} diff --git a/server/src/lib/rivals/rivals.ts b/server/src/lib/rivals/rivals.ts new file mode 100644 index 000000000..cece54034 --- /dev/null +++ b/server/src/lib/rivals/rivals.ts @@ -0,0 +1,188 @@ +import db from "external/mongo/db"; +import { SetRivalsFailReasons } from "lib/constants/err-codes"; +import CreateLogCtx from "lib/logger/logger"; +import { SendSetRivalNotification } from "lib/notifications/notification-wrappers"; +import { FormatGame } from "tachi-common"; +import { ArrayDiff } from "utils/misc"; +import { GetUsersWithIDs, GetUserWithIDGuaranteed } from "utils/user"; +import type { Game, integer, Playtype } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +/** + * Retrieve all of a user's set rival IDs. + * Throws if the user hasn't played the GPT in question. + */ +export async function GetRivalIDs(userID: integer, game: Game, playtype: Playtype) { + const gameSettings = await db["game-settings"].findOne( + { + userID, + game, + playtype, + }, + { + projection: { + rivals: 1, + }, + } + ); + + if (!gameSettings) { + throw new Error( + `User ${userID} has not played ${FormatGame(game, playtype)}. Cannot retrieve rivals.` + ); + } + + return gameSettings.rivals; +} + +/** + * Get the user documents of the rivals for this UGPT. + * Throws if the user hasn't played the GPT in question. + */ +export async function GetRivalUsers(userID: integer, game: Game, playtype: Playtype) { + const rivalIDs = await GetRivalIDs(userID, game, playtype); + + const rivals = await GetUsersWithIDs(rivalIDs); + + return rivals; +} + +/** + * Sets an array of userIDs to be this user's rivals. Performs validation on all of the + * rivals being players of the game, and not being duplicates. The maximum amount of rivals + * a player can have is 5. + */ +export async function SetRivals( + userID: integer, + game: Game, + playtype: Playtype, + newRivals: Array +) { + if (newRivals.length > 5) { + return SetRivalsFailReasons.TOO_MANY; + } + + if (newRivals.some((e) => e === userID)) { + return SetRivalsFailReasons.RIVALED_SELF; + } + + const playedGPTCount = await db["game-settings"].count({ + userID: { $in: newRivals }, + game, + playtype, + }); + + // note: this check also checks that nothing provided is a duplicate. + if (playedGPTCount !== newRivals.length) { + return SetRivalsFailReasons.RIVALS_HAVENT_PLAYED_GPT; + } + + const currentGameSettings = await db["game-settings"].findOne({ + userID, + game, + playtype, + }); + + if (!currentGameSettings) { + logger.severe( + `User ${userID} attempted to set rivals for ${FormatGame( + game, + playtype + )}, but doesn't have game settings. Was their account deleted in midair?` + ); + + throw new Error( + `User ${userID} attempted to set rivals for ${FormatGame( + game, + playtype + )}, but doesn't have game settings. Was their account deleted in midair?` + ); + } + + const newSubs = ArrayDiff(currentGameSettings.rivals, newRivals); + + const user = await GetUserWithIDGuaranteed(userID); + + await Promise.all( + newSubs.map((toUserID) => SendSetRivalNotification(toUserID, user, game, playtype)) + ); + + return db["game-settings"].update( + { + userID, + game, + playtype, + }, + { + $set: { + rivals: newRivals, + }, + } + ); +} + +/** + * Add a single new rival by their userID. + */ +export async function AddRival(userID: integer, game: Game, playtype: Playtype, newRival: integer) { + const rivalIDs = await GetRivalIDs(userID, game, playtype); + + rivalIDs.push(newRival); + + // We use set rivals because its race condition safe. We don't have to check > 5 + // or anything. + return SetRivals(userID, game, playtype, rivalIDs); +} + +/** + * Remove a single rival by their userID. + * + * @returns null if this UGPT is not rivals with the user, and therefore there is + * nothing to change. + */ +export async function RemoveRival( + userID: integer, + game: Game, + playtype: Playtype, + toRemove: integer +) { + const rivalIDs = await GetRivalIDs(userID, game, playtype); + + const filteredRivals = rivalIDs.filter((e) => e !== toRemove); + + if (filteredRivals.length === rivalIDs.length) { + return null; + } + + return SetRivals(userID, game, playtype, rivalIDs); +} + +/** + * Get all of the userIDs of people who rival the userID for this GPT. + */ +export async function GetChallengerIDs(userID: integer, game: Game, playtype: Playtype) { + const result = await db["game-settings"].find( + { + game, + playtype, + rivals: userID, + }, + { + projection: { + userID: 1, + }, + } + ); + + return result.map((e) => e.userID); +} + +/** + * Get the user documents of everyone who is rivalling this userID for this GPT. + */ +export async function GetChallengerUsers(userID: integer, game: Game, playtype: Playtype) { + const challengerIDs = await GetChallengerIDs(userID, game, playtype); + + return GetUsersWithIDs(challengerIDs); +} diff --git a/server/src/lib/score-import/framework/calculated-data/calculated-data.test.ts b/server/src/lib/score-import/framework/calculated-data/calculated-data.test.ts new file mode 100644 index 000000000..746b8dc0f --- /dev/null +++ b/server/src/lib/score-import/framework/calculated-data/calculated-data.test.ts @@ -0,0 +1,391 @@ +import { CalculateDataForGamePT, CreateCalculatedData } from "./calculated-data"; +import CreateLogCtx from "lib/logger/logger"; +import p from "prudence"; +import t from "tap"; +import { prAssert } from "test-utils/asserts"; +import { + Testing511SPA, + TestingDoraChart, + TestingGITADORADoraDryScore, + TestingIIDXSPDryScore, + TestingSDVXSingleDryScore, +} from "test-utils/test-data"; +import type { ChartDocument, ScoreDocument } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +t.test("#CreateCalculatedData", async (t) => { + const res = await CreateCalculatedData(TestingIIDXSPDryScore, Testing511SPA, 30, logger); + + prAssert( + t, + res, + { + ktLampRating: p.equalTo(10), + BPI: "?number", + }, + "Should correctly produce calculatedData" + ); + + const gitadoraRes = await CreateCalculatedData( + TestingGITADORADoraDryScore, + TestingDoraChart, + 30, + logger + ); + + prAssert( + t, + gitadoraRes, + { + skill: p.isPositiveNonZero, + }, + "Should correctly call rating function overrides for different games" + ); + + const uscRes = await CreateCalculatedData( + { game: "usc", playtype: "Controller" } as ScoreDocument, + { data: { isOfficial: false }, playtype: "Controller" } as ChartDocument, + null, + logger + ); + + t.strictSame(uscRes, { VF6: null }, "Should return null if chart was not an official."); + + const uscKbRes = await CreateCalculatedData( + { game: "usc", playtype: "Keyboard" } as ScoreDocument, + { data: { isOfficial: false }, playtype: "Keyboard" } as ChartDocument, + null, + logger + ); + + t.strictSame( + uscKbRes, + { VF6: null }, + "Should return null if chart was not an official (Keyboard)." + ); + + t.end(); +}); + +/** + * These tests only check that the right properties are assigned. + */ +t.test("#CalculateDataForGamePT", (t) => { + t.test("IIDX:SP", async (t) => { + const res = await CalculateDataForGamePT( + "iidx", + "SP", + Testing511SPA, + TestingIIDXSPDryScore, + 30, + + logger + ); + + prAssert( + t, + res, + { + ktLampRating: "?number", + BPI: "?number", + }, + "Response should contain keys for IIDX:SP" + ); + + t.end(); + }); + + t.test("IIDX:DP", async (t) => { + const res = await CalculateDataForGamePT( + "iidx", + "DP", + Testing511SPA, + + TestingIIDXSPDryScore, + 30, + + logger + ); + + prAssert( + t, + res, + { + ktLampRating: "?number", + BPI: "?number", + }, + "Response should contain keys for IIDX:DP" + ); + + t.end(); + }); + + t.test("SDVX:Single", async (t) => { + const res = await CalculateDataForGamePT( + "sdvx", + "Single", + Testing511SPA, + TestingSDVXSingleDryScore, + null, + logger + ); + + prAssert( + t, + res, + { + VF6: p.nullable(p.isPositive), + }, + "Response should contain keys for SDVX:Single" + ); + + t.end(); + }); + + t.test("DDR:SP", async (t) => { + const res = await CalculateDataForGamePT( + "ddr", + "SP", + Testing511SPA, + TestingIIDXSPDryScore, + null, + logger + ); + + prAssert( + t, + res, + { + MFCP: p.nullable(p.isPositiveInteger), + ktRating: "?number", + }, + "Response should contain keys for DDR:SP" + ); + + t.end(); + }); + + t.test("DDR:DP", async (t) => { + const res = await CalculateDataForGamePT( + "ddr", + "DP", + Testing511SPA, + TestingIIDXSPDryScore, + null, + logger + ); + + prAssert( + t, + res, + { + MFCP: "null", + ktRating: "?number", + }, + "Response should contain nulled keys for DDR:DP" + ); + + t.end(); + }); + + t.test("chunithm:Single", async (t) => { + const res = await CalculateDataForGamePT( + "chunithm", + "Single", + Testing511SPA, + TestingIIDXSPDryScore, + null, + logger + ); + + prAssert( + t, + res, + { + rating: "?number", + }, + "Response should contain nulled keys for chunithm:Single" + ); + + t.end(); + }); + + t.test("maimai:Single", async (t) => { + const res = await CalculateDataForGamePT( + "maimai", + "Single", + Testing511SPA, + TestingIIDXSPDryScore, + null, + logger + ); + + prAssert( + t, + res, + { + ktRating: "?number", + }, + "Response should contain nulled keys for maimai:Single" + ); + + t.end(); + }); + + t.test("museca:Single", async (t) => { + const res = await CalculateDataForGamePT( + "museca", + "Single", + Testing511SPA, + TestingIIDXSPDryScore, + null, + logger + ); + + prAssert( + t, + res, + { + ktRating: "?number", + }, + "Response should contain nulled keys for museca:Single" + ); + + t.end(); + }); + + t.test("bms:7K", async (t) => { + const res = await CalculateDataForGamePT( + "bms", + "7K", + Testing511SPA, + TestingIIDXSPDryScore, + null, + logger + ); + + prAssert( + t, + res, + { + sieglinde: "?number", + }, + "Response should contain nulled keys for bms:7K" + ); + + t.end(); + }); + + t.test("bms:14K", async (t) => { + const res = await CalculateDataForGamePT( + "bms", + "14K", + Testing511SPA, + TestingIIDXSPDryScore, + null, + logger + ); + + prAssert( + t, + res, + { + sieglinde: "?number", + }, + "Response should contain nulled keys for bms:14K" + ); + + t.end(); + }); + + t.test("gitadora:Gita", async (t) => { + const res = await CalculateDataForGamePT( + "gitadora", + "Gita", + Testing511SPA, + TestingIIDXSPDryScore, + null, + logger + ); + + prAssert( + t, + res, + { + skill: "?number", + }, + "Response should contain nulled keys for gitadora:Gita" + ); + + t.end(); + }); + + t.test("gitadora:Dora", async (t) => { + const res = await CalculateDataForGamePT( + "gitadora", + "Dora", + Testing511SPA, + TestingIIDXSPDryScore, + null, + logger + ); + + prAssert( + t, + res, + { + skill: "?number", + }, + "Response should contain nulled keys for gitadora:Dora" + ); + + t.end(); + }); + + t.test("usc:Controller", async (t) => { + const res = await CalculateDataForGamePT( + "usc", + "Controller", + Testing511SPA, + TestingIIDXSPDryScore, + null, + logger + ); + + prAssert( + t, + res, + { + VF6: "?number", + }, + "Response should contain nulled keys for usc:Controller" + ); + + t.end(); + }); + + t.test("usc:Keyboard", async (t) => { + const res = await CalculateDataForGamePT( + "usc", + "Keyboard", + Testing511SPA, + TestingIIDXSPDryScore, + null, + logger + ); + + prAssert( + t, + res, + { + VF6: "?number", + }, + "Response should contain nulled keys for usc:Keyboard" + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/framework/calculated-data/calculated-data.ts b/server/src/lib/score-import/framework/calculated-data/calculated-data.ts new file mode 100644 index 000000000..10590d541 --- /dev/null +++ b/server/src/lib/score-import/framework/calculated-data/calculated-data.ts @@ -0,0 +1,291 @@ +import { + CalculateKTLampRatingIIDXDP, + CalculateKTLampRatingIIDXSP, + CalculateKTRating, + CalculateMFCP, + CalculateSieglinde, +} from "./stats"; +import { + CHUNITHMRating, + GITADORASkill, + Jubility, + PopnClassPoints, + PoyashiBPI, + Volforce, + WACCARate, + ITGHighestUnbroken, +} from "rg-stats"; +import { GetGamePTConfig } from "tachi-common"; +import { IsNullish } from "utils/misc"; +import type { DryScore } from "../common/types"; +import type { KtLogger } from "lib/logger/logger"; +import type { ChartDocument, Game, IDStrings, Lamps, Playtypes, ScoreDocument } from "tachi-common"; + +export async function CreateCalculatedData( + dryScore: DryScore, + chart: ChartDocument, + esd: number | null, + logger: KtLogger +): Promise { + const game = dryScore.game; + const playtype = chart.playtype; + + const calculatedData = await CalculateDataForGamePT( + game, + playtype, + chart, + dryScore, + esd, + logger + ); + + return calculatedData; +} + +type CalculatedDataFunctionsType = { + [I in IDStrings]: ( + dryScore: DryScore, + chart: ChartDocument, + logger: KtLogger + ) => Promise["calculatedData"]> | ScoreDocument["calculatedData"]; +}; + +const CalculatedDataFunctions: CalculatedDataFunctionsType = { + "iidx:SP": CalculateDataIIDX, + "iidx:DP": CalculateDataIIDX, + "sdvx:Single": CalculateDataSDVXorUSC, + "popn:9B": CalculateDataPopn, + "museca:Single": CalculateDataMuseca, + "chunithm:Single": CalculateDataCHUNITHM, + "maimai:Single": () => ({ ktRating: null }), + "gitadora:Gita": CalculateDataGitadora, + "gitadora:Dora": CalculateDataGitadora, + "bms:7K": CalculateDataPMSorBMS, + "bms:14K": CalculateDataPMSorBMS, + "ddr:SP": CalculateDataDDR, + "ddr:DP": CalculateDataDDR, + "usc:Controller": CalculateDataSDVXorUSC, + "usc:Keyboard": CalculateDataSDVXorUSC, + "wacca:Single": CalculateDataWACCA, + "jubeat:Single": CalculateDataJubeat, + "pms:Keyboard": CalculateDataPMSorBMS, + "pms:Controller": CalculateDataPMSorBMS, + "itg:Stamina": CalculateDataITGStamina, +}; + +// Creates Game-Specific calculatedData for the provided game & playtype. +// eslint-disable-next-line require-await +export async function CalculateDataForGamePT( + game: G, + playtype: Playtypes[G], + chart: ChartDocument, + dryScore: DryScore, + + // ESD gets specially passed through because it's not part of the DryScore, but + // can be used for statistics anyway. + esd: number | null, + logger: KtLogger +): Promise { + // @ts-expect-error too many minor complains here... + return CalculatedDataFunctions[`${game}:${playtype}` as IDStrings](dryScore, chart, logger); +} + +type CalculatedData = Required["calculatedData"]>; + +function CalculateDataIIDX( + dryScore: DryScore, + chart: ChartDocument<"iidx:DP" | "iidx:SP">, + logger: KtLogger +): CalculatedData<"iidx:SP"> { + let bpi = null; + + // Legacy check! This can't be undefined now, but it used to be before BPI was + // migrated to chart.data. + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + if (chart.data.kaidenAverage === undefined || chart.data.worldRecord === undefined) { + logger.warn( + `Chart ${chart.chartID}'s kaidenAverage/worldRecord was undefined. This is not legal, and it should be set to null.`, + { chart } + ); + } else if (chart.data.kaidenAverage !== null && chart.data.worldRecord !== null) { + bpi = PoyashiBPI.calculate( + dryScore.scoreData.score, + chart.data.kaidenAverage, + chart.data.worldRecord, + (chart as ChartDocument<"iidx:SP">).data.notecount * 2, + chart.data.bpiCoefficient + ); + + // kesdc = esd === null ? null : CalculateKESDC(BPIData.kesd, esd); disabled + } + + const ktLampRating = + chart.playtype === "SP" + ? CalculateKTLampRatingIIDXSP(dryScore, chart as ChartDocument<"iidx:SP">) + : CalculateKTLampRatingIIDXDP(dryScore, chart as ChartDocument<"iidx:DP">); + + return { + BPI: bpi, + ktLampRating, + }; +} + +function CalculateDataSDVXorUSC( + dryScore: DryScore, + chart: ChartDocument, + _logger: KtLogger +): CalculatedData<"sdvx:Single" | "usc:Controller" | "usc:Keyboard"> { + // for usc, unofficial charts currently have no VF6 value. + if ( + dryScore.game === "usc" && + !(chart as ChartDocument<"usc:Controller" | "usc:Keyboard">).data.isOfficial + ) { + return { VF6: null }; + } + + const VF6 = Volforce.calculateVF6( + dryScore.scoreData.score, + dryScore.scoreData.lamp as Lamps["sdvx:Single"], + chart.levelNum + ); + + return { VF6 }; +} + +function CalculateDataMuseca( + dryScore: DryScore, + chart: ChartDocument, + logger: KtLogger +): CalculatedData<"museca:Single"> { + return { + ktRating: CalculateKTRating(dryScore, "museca", "Single", chart, logger), + }; +} + +function CalculateDataJubeat( + dryScore: DryScore, + chart: ChartDocument, + _logger: KtLogger +): CalculatedData<"jubeat:Single"> { + return { + jubility: Jubility.calculate( + dryScore.scoreData.score, + dryScore.scoreData.percent, + chart.levelNum + ), + }; +} + +function CalculateDataCHUNITHM( + dryScore: DryScore, + chart: ChartDocument +): CalculatedData<"chunithm:Single"> { + return { + rating: CHUNITHMRating.calculate(dryScore.scoreData.score, chart.levelNum), + }; +} + +function CalculateDataGitadora( + dryScore: DryScore, + chart: ChartDocument +): CalculatedData<"gitadora:Dora" | "gitadora:Gita"> { + return { + skill: GITADORASkill.calculate(dryScore.scoreData.percent, chart.levelNum), + }; +} + +function CalculateDataDDR( + dryScore: DryScore, + chart: ChartDocument, + logger: KtLogger +): CalculatedData<"ddr:DP" | "ddr:SP"> { + return { + MFCP: CalculateMFCP(dryScore, chart, logger), + ktRating: CalculateKTRating(dryScore, "ddr", chart.playtype, chart, logger), + }; +} + +export function CalculateDataPMSorBMS( + dryScore: DryScore, + chart: ChartDocument, + _logger: KtLogger +): CalculatedData<"pms:Controller" | "pms:Keyboard"> { + const gptConfig = GetGamePTConfig(dryScore.game, chart.playtype); + + const lampIndex = gptConfig.lamps.indexOf(dryScore.scoreData.lamp); + + return { + sieglinde: CalculateSieglinde(chart, lampIndex), + }; +} + +function CalculateDataWACCA( + dryScore: DryScore, + chart: ChartDocument, + _logger: KtLogger +): CalculatedData<"wacca:Single"> { + const rate = WACCARate.calculate(dryScore.scoreData.score, chart.levelNum); + + return { rate }; +} + +function CalculateDataPopn( + dryScore: DryScore<"popn:9B">, + chart: ChartDocument<"popn:9B">, + _logger: KtLogger +): CalculatedData<"popn:9B"> { + return { + classPoints: PopnClassPoints.calculate( + dryScore.scoreData.score, + dryScore.scoreData.lamp, + chart.levelNum + ), + }; +} + +function CalculateDataITGStamina( + dryScore: DryScore<"itg:Stamina">, + chart: ChartDocument<"itg:Stamina"> +): CalculatedData<"itg:Stamina"> { + // If the user failed -- and we don't know when, return null for everything. + if (dryScore.scoreData.lamp === "FAILED" && IsNullish(dryScore.scoreData.hitMeta.diedAt)) { + return { + blockRating: null, + highest32: null, + highest256: null, + }; + } + + let h32 = ITGHighestUnbroken.calculateFromNPSPerMeasure( + chart.data.breakdown.npsPerMeasure, + chart.data.breakdown.notesPerMeasure, + dryScore.scoreData.hitMeta.diedAt, + 32 + ); + + let h256 = ITGHighestUnbroken.calculateFromNPSPerMeasure( + chart.data.breakdown.npsPerMeasure, + chart.data.breakdown.notesPerMeasure, + dryScore.scoreData.hitMeta.diedAt, + 256 + ); + + // To avoid confusing players, we reject highest 32s less than + // 100bpm. Due to how highest32 is calculated, it correctly comes + // to the conclusion that sometimes you technically just hit 32 unbroken + // measures at like 14 BPM. This is confusing to end users, so we should + // hide it. + if (h32 !== null && h32 < 100) { + h32 = null; + } + + if (h256 !== null && h256 < 100) { + h256 = null; + } + + return { + blockRating: chart.levelNum, + highest32: h32, + highest256: h256, + }; +} diff --git a/server/src/lib/score-import/framework/calculated-data/stats.test.ts b/server/src/lib/score-import/framework/calculated-data/stats.test.ts new file mode 100644 index 000000000..29d270b1a --- /dev/null +++ b/server/src/lib/score-import/framework/calculated-data/stats.test.ts @@ -0,0 +1,357 @@ +import { CalculateKTLampRatingIIDXDP, CalculateKTLampRatingIIDXSP, CalculateMFCP } from "./stats"; +import deepmerge from "deepmerge"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import { Testing511SPA, TestingIIDXSPDryScore } from "test-utils/test-data"; +import type { DryScore } from "../common/types"; +import type { ChartDocument, Difficulties, Lamps, ScoreDocument } from "tachi-common"; + +t.test("#CalculateKTLampRatingIIDXSP", (t) => { + function c( + nc: number | null, + hc: number | null, + exhc: number | null + ): ChartDocument<"iidx:SP"> { + const tierlistInfo: ChartDocument<"iidx:SP">["tierlistInfo"] = {}; + + if (exhc !== null) { + tierlistInfo["kt-EXHC"] = { + value: exhc, + text: `EXHC ${exhc}`, + }; + } + + if (hc !== null) { + tierlistInfo["kt-HC"] = { + value: hc, + text: `HC ${hc}`, + }; + } + + if (nc !== null) { + tierlistInfo["kt-NC"] = { + value: nc, + text: `HC ${nc}`, + }; + } + + return { + ...Testing511SPA, + tierlistInfo, + }; + } + + function s(lamp: Lamps["iidx:DP" | "iidx:SP"]): DryScore<"iidx:DP" | "iidx:SP"> { + return deepmerge(TestingIIDXSPDryScore, { + scoreData: { + lamp, + }, + }); + } + + t.equal( + CalculateKTLampRatingIIDXSP(s("CLEAR"), c(10.5, 10.6, 10.7)), + 10.5, + "Should return NC if the score was NC." + ); + + t.equal( + CalculateKTLampRatingIIDXSP(s("HARD CLEAR"), c(10.5, 10.6, 10.7)), + 10.6, + "Should return HC if the score was HC." + ); + + t.equal( + CalculateKTLampRatingIIDXSP(s("EX HARD CLEAR"), c(10.5, 10.6, 10.7)), + 10.7, + "Should return EXHC if the score was EXHC." + ); + + t.equal( + CalculateKTLampRatingIIDXSP(s("CLEAR"), c(null, 10.6, 10.7)), + 0, + "Should return 0 if the score was NC but no NC was available." + ); + + t.equal( + CalculateKTLampRatingIIDXSP(s("HARD CLEAR"), c(null, null, 10.7)), + 0, + "Should return 0 if the score was HC but no HC or NC was available." + ); + + t.equal( + CalculateKTLampRatingIIDXSP(s("HARD CLEAR"), c(10.5, null, 10.7)), + 10.5, + "Should return NC if the score was HC but no HC was available." + ); + + t.equal( + CalculateKTLampRatingIIDXSP(s("HARD CLEAR"), c(10.9, 10.5, 10.7)), + 10.9, + "Should return NC if the score was HC but NC was worth more." + ); + + t.equal( + CalculateKTLampRatingIIDXSP(s("EX HARD CLEAR"), c(10.9, 10.5, 10.7)), + 10.9, + "Should return NC if the score was EXHC but NC was worth more." + ); + + t.equal( + CalculateKTLampRatingIIDXSP(s("EX HARD CLEAR"), c(10.4, 10.9, 10.7)), + 10.9, + "Should return HC if the score was EXHC but HC was worth more." + ); + + t.equal( + CalculateKTLampRatingIIDXSP(s("CLEAR"), c(null, null, null)), + 10, + "Should return chart level if the chart has no tierlist data." + ); + + t.end(); +}); + +t.test("#CalculateKTLampRatingIIDXDP", (t) => { + function c(dpTier: number | null): ChartDocument<"iidx:DP"> { + return { + ...Testing511SPA, + playtype: "DP", + tierlistInfo: { + "dp-tier": { + value: dpTier, + }, + }, + + // hack over-assert this type, since we're merging the SPA into being + // a DPA. + } as unknown as ChartDocument<"iidx:DP">; + } + + function s(lamp: Lamps["iidx:DP" | "iidx:SP"]): DryScore<"iidx:DP" | "iidx:SP"> { + return deepmerge(TestingIIDXSPDryScore, { + scoreData: { + lamp, + }, + }); + } + + t.equal( + CalculateKTLampRatingIIDXDP(s("CLEAR"), c(10.4)), + 10.4, + "Should return 10.4 if chart has tierlist value of 10.4 and was clear." + ); + + t.equal( + CalculateKTLampRatingIIDXDP(s("FAILED"), c(10.4)), + 0, + "Should return 0 if chart has tierlist value of 10.4 and was not cleared." + ); + + t.equal( + CalculateKTLampRatingIIDXDP(s("CLEAR"), c(null)), + 10, + "Should return chart level if the chart has no tierlist data." + ); + + t.equal( + CalculateKTLampRatingIIDXDP(s("FAILED"), c(null)), + 0, + "Should return 0 if the chart has no tierlist data and was failed." + ); + + t.end(); +}); + +const logger = CreateLogCtx(__filename); + +t.test("#CalculateMFCP", (t) => { + function TestMFCP( + lamp: Lamps["ddr:DP" | "ddr:SP"], + levelNum: number, + difficulty: Difficulties["ddr:DP" | "ddr:SP"] + ) { + return CalculateMFCP( + { + scoreData: { + lamp, + }, + } as ScoreDocument, + { + difficulty, + levelNum, + } as ChartDocument, + logger + ); + } + + t.equal(TestMFCP("FAILED", 10, "EXPERT"), null, "Should return null for non-mfcs"); + + t.equal( + TestMFCP("MARVELOUS FULL COMBO", 10, "BASIC"), + null, + "Should reject charts on BASIC difficulty." + ); + + t.equal( + TestMFCP("MARVELOUS FULL COMBO", 10, "BEGINNER"), + null, + "Should reject charts on BEGINNER difficulty." + ); + + t.test("Should return null for charts with level less than 8", (t) => { + for (let i = 1; i <= 7; i++) { + t.equal( + TestMFCP("MARVELOUS FULL COMBO", i, "EXPERT"), + null, + `Should return null for charts with level ${i}` + ); + } + + t.end(); + }); + + t.equal( + TestMFCP("MARVELOUS FULL COMBO", 8, "EXPERT"), + 1, + "Should return 1 for charts with level 8" + ); + t.equal( + TestMFCP("MARVELOUS FULL COMBO", 9, "EXPERT"), + 1, + "Should return 1 for charts with level 9" + ); + t.equal( + TestMFCP("MARVELOUS FULL COMBO", 10, "EXPERT"), + 1, + "Should return 1 for charts with level 10" + ); + + t.equal( + TestMFCP("MARVELOUS FULL COMBO", 11, "EXPERT"), + 2, + "Should return 2 for charts with level 11" + ); + t.equal( + TestMFCP("MARVELOUS FULL COMBO", 12, "EXPERT"), + 2, + "Should return 2 for charts with level 12" + ); + + t.equal( + TestMFCP("MARVELOUS FULL COMBO", 13, "EXPERT"), + 4, + "Should return 4 for charts with level 13" + ); + + t.equal( + TestMFCP("MARVELOUS FULL COMBO", 14, "EXPERT"), + 8, + "Should return 8 for charts with level 14" + ); + + t.equal( + TestMFCP("MARVELOUS FULL COMBO", 15, "EXPERT"), + 15, + "Should return 15 for charts with level 15" + ); + + t.test("Should return 25 for charts with level 16-20", (t) => { + for (let i = 16; i <= 20; i++) { + t.equal( + TestMFCP("MARVELOUS FULL COMBO", i, "EXPERT"), + 25, + `Should return 25 for charts with level ${i}` + ); + } + + t.end(); + }); + + t.equal( + TestMFCP("MARVELOUS FULL COMBO", NaN, "EXPERT"), + null, + "Invalid level triggers failsafe." + ); + + t.end(); +}); + +t.skip("#CalculateKTRating", (t) => { + // t.test("Should call the success calculator if percent > pivotPercent", async (t) => { + // const r = await CalculateKTRating( + // deepmerge(TestingIIDXSPDryScore, { scoreData: { percent: 80 } }), + // "iidx", + // "SP", + // Testing511SPA, + // logger + // ); + + // t.ok(r > 10, "Should return rating greater than the levelNum of the chart."); + + // t.end(); + // }); + + // t.test("Should call the fail calculator if percent > pivotPercent", async (t) => { + // const r = await CalculateKTRating( + // TestingIIDXSPDryScore, + // "iidx", + // "SP", + // Testing511SPA, + // logger + // ); + + // t.ok(r < 10, "Should return rating less than the levelNum of the chart."); + + // t.end(); + // }); + + // t.test("Should call levelNum if percent === pivotPercent", async (t) => { + // const r = await CalculateKTRating( + // deepmerge(TestingIIDXSPDryScore, { scoreData: { percent: 77.7777 } }), + // "iidx", + // "SP", + // Testing511SPA, + // logger + // ); + + // t.equal( + // // hack for approximate tests + // parseFloat(r.toFixed(2)), + // 10, + // "Should return rating exactly that of the levelNum of the chart." + // ); + + // t.end(); + // }); + + // t.test( + // "Should trigger safety if completely invalid percent somehow gets through", + // async (t) => { + // let r = await CalculateKTRating( + // deepmerge(TestingIIDXSPDryScore, { scoreData: { percent: 1000000000 } }), + // "iidx", + // "SP", + // Testing511SPA, + // logger + // ); + + // t.equal(r, 0, "Should safely return 0 and log a warning."); + + // r = await CalculateKTRating( + // // not high enough to be non-finite but high enough to be > 1000 + // deepmerge(TestingIIDXSPDryScore, { scoreData: { percent: 200 } }), + // "iidx", + // "SP", + // Testing511SPA, + // logger + // ); + + // t.equal(r, 0, "Should safely return 0 and log a warning."); + + // t.end(); + // } + // ); + + t.end(); +}); diff --git a/server/src/lib/score-import/framework/calculated-data/stats.ts b/server/src/lib/score-import/framework/calculated-data/stats.ts new file mode 100644 index 000000000..b683828a7 --- /dev/null +++ b/server/src/lib/score-import/framework/calculated-data/stats.ts @@ -0,0 +1,216 @@ +import { GetGamePTConfig, IIDX_LAMPS } from "tachi-common"; +import type { DryScore } from "../common/types"; +import type { KtLogger } from "lib/logger/logger"; +import type { ChartDocument, Game, integer, Playtype } from "tachi-common"; + +/** + * Calculate Marvelous Full Combo Points. This algorithm + * is used in LIFE4, and described here: + * https://life4ddr.com/requirements/#mfcpoints + * @returns Null if this score was not eligible, a number otherwise. + */ +export function CalculateMFCP(dryScore: DryScore, chartData: ChartDocument, logger: KtLogger) { + if (dryScore.scoreData.lamp !== "MARVELOUS FULL COMBO") { + return null; + } + + // Beginner and BASIC scores are explicitly excluded. + if (chartData.difficulty === "BEGINNER" || chartData.difficulty === "BASIC") { + return null; + } + + if (chartData.levelNum < 8) { + return null; + } else if (chartData.levelNum <= 10) { + return 1; + } else if (chartData.levelNum <= 12) { + return 2; + } else if (chartData.levelNum === 13) { + return 4; + } else if (chartData.levelNum === 14) { + return 8; + } else if (chartData.levelNum === 15) { + return 15; + } else if (chartData.levelNum >= 16) { + return 25; + } + + logger.warn( + `Invalid levelNum passed to MFCP ${chartData.levelNum}. ChartID ${chartData.chartID}.` + ); + + // failsafe + return null; +} + +interface RatingParameters { + failHarshnessMultiplier: number; + pivotPercent: number; + clearExpMultiplier: number; +} + +// Generic Rating Calc that is guaranteed to work for everything. This is unspecialised, and not great. +function KTRatingCalcV1( + percent: number, + levelNum: number, + parameters: RatingParameters, + logger: KtLogger +) { + const percentDiv100 = percent / 100; + + if (percentDiv100 < parameters.pivotPercent) { + return RatingCalcV0Fail(percentDiv100, levelNum, parameters); + } + + return RatingCalcV1Clear(percentDiv100, levelNum, parameters, logger); +} + +function RatingCalcV1Clear( + percentDiv100: number, + levelNum: number, + parameters: RatingParameters, + logger: KtLogger +) { + // https://www.desmos.com/calculator/hn7uxjmjkc + + const rating = + Math.cosh( + parameters.clearExpMultiplier * levelNum * (percentDiv100 - parameters.pivotPercent) + ) + + (levelNum - 1); + + // checks for Infinity or NaN. I'm not sure how this would happen, but it's a failsafe. + if (!Number.isFinite(rating)) { + logger.warn( + `Percent: ${percentDiv100}, Level: ${levelNum} resulted in rating of ${rating}, which is invalid. Defaulting to 0.` + ); + return 0; + } else if (rating > 1000) { + logger.warn( + `Percent: ${percentDiv100}, Level: ${levelNum} resulted in rating of ${rating}, which is invalid (> 1000). Defaulting to 0.` + ); + return 0; + } + + return rating; +} + +function RatingCalcV0Fail(percentDiv100: number, levelNum: number, parameters: RatingParameters) { + // https://www.desmos.com/calculator/hn7uxjmjkc + return ( + percentDiv100 ** (parameters.failHarshnessMultiplier * levelNum) * + (levelNum / parameters.pivotPercent ** (parameters.failHarshnessMultiplier * levelNum)) + ); +} + +const ratingParameters = { + museca: { + failHarshnessMultiplier: 1, + + // grade: not fail + pivotPercent: 0.8, + + // no real reason + clearExpMultiplier: 1, + }, + ddr: { + failHarshnessMultiplier: 0.9, + pivotPercent: 0.9, + clearExpMultiplier: 1, + }, +}; + +export function CalculateKTRating( + dryScore: DryScore, + game: "ddr" | "museca", + playtype: Playtype, + chart: ChartDocument, + logger: KtLogger +) { + const parameters = ratingParameters[game]; + + const levelNum = chart.levelNum; + + return KTRatingCalcV1(dryScore.scoreData.percent, levelNum, parameters, logger); +} + +export function CalculateKTLampRatingIIDXSP(dryScore: DryScore, chart: ChartDocument<"iidx:SP">) { + const ncValue = chart.tierlistInfo["kt-NC"]?.value ?? 0; + const hcValue = Math.max(chart.tierlistInfo["kt-HC"]?.value ?? 0, ncValue); + const exhcValue = Math.max(chart.tierlistInfo["kt-EXHC"]?.value ?? 0, hcValue); + + if (!exhcValue && !hcValue && !ncValue) { + return LampRatingNoTierlistInfo(dryScore, "iidx", chart.playtype, chart); + } + + const lamp = dryScore.scoreData.lamp; + + const gptConfig = GetGamePTConfig("iidx", chart.playtype); + + const lampIndex = gptConfig.lamps.indexOf(lamp); + + if (exhcValue && lampIndex >= IIDX_LAMPS.EX_HARD_CLEAR) { + return exhcValue; + } else if (hcValue && lampIndex >= IIDX_LAMPS.HARD_CLEAR) { + return hcValue; + } else if (ncValue && lampIndex >= IIDX_LAMPS.CLEAR) { + return ncValue; + } + + return 0; +} + +export function CalculateKTLampRatingIIDXDP(dryScore: DryScore, chart: ChartDocument<"iidx:DP">) { + const tierlistValue = chart.tierlistInfo["dp-tier"]?.value ?? 0; + + if (!tierlistValue) { + return LampRatingNoTierlistInfo(dryScore, "iidx", chart.playtype, chart); + } + + const lamp = dryScore.scoreData.lamp; + + const gptConfig = GetGamePTConfig("iidx", chart.playtype); + + const lampIndex = gptConfig.lamps.indexOf(lamp); + + if (lampIndex >= IIDX_LAMPS.CLEAR) { + return tierlistValue; + } + + return 0; +} + +function LampRatingNoTierlistInfo( + dryScore: DryScore, + game: Game, + playtype: Playtype, + chart: ChartDocument +) { + const gptConfig = GetGamePTConfig(game, playtype); + + const lamps = gptConfig.lamps; + + const CLEAR_LAMP_INDEX = lamps.indexOf(gptConfig.clearLamp); + + // if this is a clear + if (lamps.indexOf(dryScore.scoreData.lamp) >= CLEAR_LAMP_INDEX) { + // return this chart's numeric level as the lamp rating + return chart.levelNum; + } + + // else, this score is worth 0. + return 0; +} + +export function CalculateSieglinde(chart: ChartDocument, lampIndex: integer) { + const ecValue = chart.tierlistInfo["sgl-EC"]?.value ?? 0; + const hcValue = chart.tierlistInfo["sgl-HC"]?.value ?? 0; + + if (lampIndex >= IIDX_LAMPS.HARD_CLEAR) { + return Math.max(hcValue, ecValue); + } else if (lampIndex >= IIDX_LAMPS.EASY_CLEAR) { + return ecValue; + } + + return 0; +} diff --git a/server/src/lib/score-import/framework/common/converter-failures.ts b/server/src/lib/score-import/framework/common/converter-failures.ts new file mode 100644 index 000000000..de7f440b2 --- /dev/null +++ b/server/src/lib/score-import/framework/common/converter-failures.ts @@ -0,0 +1,56 @@ +// Various Errors that can occur during processing. + +import type { ImportTypeContextMap, ImportTypeDataMap } from "../../import-types/common/types"; +import type { ImportTypes } from "tachi-common"; + +export class ConverterFailure extends Error { + message: string; + + constructor(message: string) { + super(); + this.message = message; + } +} + +/** + * SkipScoreFailure - This score could not be processed because we do not + * support it. This is not an error, but is not a success either. + * An example scenario would be something like a 5KEY score being imported from SSS. + */ +export class SkipScoreFailure extends ConverterFailure {} + +/** + * KTDataNotFoundError - We could not find the song or chart this score + * belongs to. The identifier used to try and match this chart is stored here. + * Alongside any other fields used in the query. + */ +export class KTDataNotFoundFailure extends ConverterFailure { + data: ImportTypeDataMap[T]; + converterContext: ImportTypeContextMap[T]; + importType: T; + + constructor( + message: string, + importType: T, + data: ImportTypeDataMap[T], + context: ImportTypeContextMap[T] + ) { + super(message); + + this.importType = importType; + this.data = data; + this.converterContext = context; + } +} + +/** + * InvalidScoreError - This score provided invalid data that we + * can not accept. + */ +export class InvalidScoreFailure extends ConverterFailure {} + +/** + * KTInternalFailure - An unexpected, internal error has occured, + * and the score could not be processed. + */ +export class InternalFailure extends ConverterFailure {} diff --git a/server/src/lib/score-import/framework/common/get-input-parser.ts b/server/src/lib/score-import/framework/common/get-input-parser.ts new file mode 100644 index 000000000..b1ec35ff3 --- /dev/null +++ b/server/src/lib/score-import/framework/common/get-input-parser.ts @@ -0,0 +1,27 @@ +import { Parsers } from "lib/score-import/import-types/parsers"; +import type { KtLogger } from "lib/logger/logger"; +import type { + ImportTypeContextMap, + ImportTypeDataMap, + ParserFunctionReturns, +} from "lib/score-import/import-types/common/types"; +import type { ScoreImportJobData } from "lib/score-import/worker/types"; +import type { ImportTypes } from "tachi-common"; + +export function GetInputParser(jobData: ScoreImportJobData) { + // Retrieve the set parser function for this import type. + const ParserFunction = Parsers[jobData.importType]; + + const InputParser = (logger: KtLogger) => + // eslint-disable-next-line lines-around-comment + // @ts-expect-error TypeScript doesn't like the fact that we + // pass this as a rest parameter, since none of the parsers + // actually take rest args. However, this is the only way to + // achieve the dynamic passing we need to, so lets just override + // it here. + ParserFunction(...jobData.parserArguments, logger) as Promise< + ParserFunctionReturns + >; + + return InputParser; +} diff --git a/server/src/lib/score-import/framework/common/import-logger.ts b/server/src/lib/score-import/framework/common/import-logger.ts new file mode 100644 index 000000000..4f95a38cd --- /dev/null +++ b/server/src/lib/score-import/framework/common/import-logger.ts @@ -0,0 +1,22 @@ +import { rootLogger } from "lib/logger/logger"; +import { FormatUserDoc } from "utils/user"; +import type { KtLogger } from "lib/logger/logger"; +import type { ImportTypes, PublicUserDocument } from "tachi-common"; + +export function CreateScoreLogger( + user: PublicUserDocument, + importID: string, + importType: ImportTypes +): KtLogger { + const meta = { + context: ["Score Import", importType, FormatUserDoc(user)], + importID, + }; + + // used so appendLogCtx works + const childLogger = rootLogger.child(meta); + + childLogger.defaultMeta = meta; + + return childLogger as KtLogger; +} diff --git a/server/src/lib/score-import/framework/common/score-utils.test.ts b/server/src/lib/score-import/framework/common/score-utils.test.ts new file mode 100644 index 000000000..8d7e1f721 --- /dev/null +++ b/server/src/lib/score-import/framework/common/score-utils.test.ts @@ -0,0 +1,141 @@ +import { GenericCalculatePercent, GetGradeFromPercent, ValidatePercent } from "./score-utils"; +import t from "tap"; +import { isApproximately } from "test-utils/asserts"; +import { Testing511SPA } from "test-utils/test-data"; +import type { ChartDocument, Game } from "tachi-common"; + +t.test("#GetGradeForPercent", (t) => { + t.equal( + GetGradeFromPercent("chunithm", "Single", 101), + "SSS", + "Should return SSS for the edge case of chunithms 101% == SS." + ); + t.equal( + GetGradeFromPercent("iidx", "SP", 100), + "MAX", + "Should return SSS for the edge case of 100% == MAX (iidx SP)." + ); + t.equal( + GetGradeFromPercent("iidx", "DP", 100), + "MAX", + "Should return SSS for the edge case of 100% == MAX (iidx DP)." + ); + t.equal( + GetGradeFromPercent("iidx", "SP", 100 * (1932 / 2484)), + "AA", + "Should return AA for the edge case of 77.77...% (iidx SP)." + ); + t.equal( + GetGradeFromPercent("iidx", "SP", 100 * (7 / 9)), + "AA", + "Should return AA for the edge case of 77.77...% (iidx SP)." + ); + t.equal( + GetGradeFromPercent("iidx", "SP", 77.77777777777777), + "AA", + "Should return AA for the edge case of 77.77...% (iidx SP)." + ); + + t.equal( + GetGradeFromPercent("iidx", "SP", 0), + "F", + "Should return SSS for the edge case of 0% == F (iidx SP)." + ); + t.equal( + GetGradeFromPercent("iidx", "DP", 0), + "F", + "Should return SSS for the edge case of 0% == F (iidx DP)." + ); + + t.end(); +}); + +t.test("#GenericCalculatePercent", (t) => { + const f = (game: Game, score: number, equal: number) => + isApproximately(t, GenericCalculatePercent(game, score), equal); + + for (const game of ["iidx", "bms", "pms"] as const) { + isApproximately(t, GenericCalculatePercent(game, 1240, Testing511SPA), 78.88); + isApproximately(t, GenericCalculatePercent(game, 0, Testing511SPA), 0); + } + + f("popn", 100_000, 100); + f("popn", 50_000, 50); + f("popn", 0, 0); + + f("maimai", 10, 10); + f("maimai", 101.12, 101.12); + + for (const game of ["usc", "sdvx"] as const) { + f(game, 10_000_000, 100); + f(game, 5_000_000, 50); + f(game, 9_950_000, 99.5); + f(game, 1_370_000, 13.7); + f(game, 0, 0); + } + + for (const game of ["ddr", "museca", "chunithm", "wacca"] as const) { + f(game, 1_000_000, 100); + f(game, 500_000, 50); + f(game, 993_121, 99.3121); + f(game, 1_000, 0.1); + } + + t.throws(() => GenericCalculatePercent("unknown_game" as Game, 100), { + message: /Invalid game/u, + }); + t.throws(() => GenericCalculatePercent("iidx", 100), { + message: /No Chart passed/u, + }); + + t.end(); +}); + +t.test("#ValidatePercent", (t) => { + for (const playtype of ["SP", "DP"] as const) { + t.doesNotThrow(() => { + ValidatePercent("iidx", playtype, 90, Testing511SPA); + }); + t.doesNotThrow(() => { + ValidatePercent("iidx", playtype, 0, Testing511SPA); + }); + t.doesNotThrow(() => { + ValidatePercent("iidx", playtype, 100, Testing511SPA); + }); + + t.throws(() => { + ValidatePercent("iidx", playtype, -50, Testing511SPA); + }); + t.throws(() => { + ValidatePercent("iidx", playtype, 101, Testing511SPA); + }); + } + + const m = (maxPercent: number) => ({ data: { maxPercent } } as ChartDocument); + + t.doesNotThrow(() => { + ValidatePercent("maimai", "Single", 90, m(100)); + }); + t.doesNotThrow(() => { + ValidatePercent("maimai", "Single", 100, m(100)); + }); + t.doesNotThrow(() => { + ValidatePercent("maimai", "Single", 0, m(100)); + }); + t.doesNotThrow(() => { + ValidatePercent("maimai", "Single", 110, m(120)); + }); + t.doesNotThrow(() => { + ValidatePercent("maimai", "Single", 120, m(120)); + }); + t.throws( + () => { + ValidatePercent("maimai", "Single", 130, m(120)); + }, + { + message: /expected a number less than 120/u, + } + ); + + t.end(); +}); diff --git a/server/src/lib/score-import/framework/common/score-utils.ts b/server/src/lib/score-import/framework/common/score-utils.ts new file mode 100644 index 000000000..59021298f --- /dev/null +++ b/server/src/lib/score-import/framework/common/score-utils.ts @@ -0,0 +1,217 @@ +import { InternalFailure, InvalidScoreFailure } from "./converter-failures"; +import CreateLogCtx from "lib/logger/logger"; +import { ESDCore, GetGamePTConfig } from "tachi-common"; +import { NotNullish } from "utils/misc"; +import type { + ChartDocument, + Game, + GameToIDStrings, + Grades, + IDStrings, + Playtype, +} from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +/** + * Util for getting a games' grade for a given percent. + */ +export function GetGradeFromPercent( + game: Game, + playtype: Playtype, + percent: number +): Grades[I] { + const gptConfig = GetGamePTConfig(game, playtype); + const boundaries = gptConfig.gradeBoundaries; + const grades = gptConfig.grades; + + if (!boundaries) { + throw new Error( + `Invalid call to GetGradeFromPercent! GPT ${game}:${playtype} does not use grade boundaries.` + ); + } + + // (hey, this for loop is backwards!) + for (let i = boundaries.length - 1; i >= 0; i--) { + if (percent + Number.EPSILON >= NotNullish(boundaries[i])) { + return grades[i] as Grades[I]; + } + } + + logger.error(`Could not resolve grade for percent ${percent} on game ${game}`); + throw new InternalFailure(`Could not resolve grade for percent ${percent} on game ${game}.`); +} + +/** + * A Generic function for calculating a percent from a given score on + * a given game. + */ +export function GenericCalculatePercent(game: Game, score: number, chart?: ChartDocument): number { + switch (game) { + case "ddr": + case "museca": + case "chunithm": + case "wacca": + return (score / 1_000_000) * 100; + case "sdvx": + case "usc": + return (score / 10_000_000) * 100; + case "popn": + return (score / 100_000) * 100; + case "maimai": + // score in maimai is actually just your percent, since nobody cares about + // money score. + return score; + case "bms": + case "pms": + case "iidx": { + if (!chart) { + logger.severe("No Chart passed to GenericCalcPercent but game was iidx/bms/pms."); + throw new InternalFailure( + "No Chart passed to GenericCalcPercent but game was iidx/bms/pms." + ); + } + + // Yeah, we declare it like this so the below return is actually clear. + // eslint-disable-next-line no-case-declarations + const MAX = + ( + chart as ChartDocument< + | "bms:7K" + | "bms:14K" + | "iidx:DP" + | "iidx:SP" + | "pms:Controller" + | "pms:Keyboard" + > + ).data.notecount * 2; + + return (100 * score) / MAX; + } + + case "jubeat": + case "gitadora": + case "itg": + return score; + + default: { + logger.severe(`Invalid game passed of ${game} to GenericCalcPercent.`); + throw new InternalFailure(`Invalid game passed of ${game} to GenericCalcPercent.`); + } + } +} + +/** + * Helper utility for validating percents on a game. This throws an InvalidScoreFailure if the percent is + * invalid, and returns void on success. + * + * This exists to support maimai, as it has a dynamic "max percent". + */ +export function ValidatePercent( + game: Game, + playtype: Playtype, + percent: number, + chart: ChartDocument +) { + // i love needing a helper function for *ONE* game. + if (game === "maimai") { + const mmChart = chart as ChartDocument<"maimai:Single">; + + if (percent > mmChart.data.maxPercent) { + throw new InvalidScoreFailure( + `Invalid percent - expected a number less than ${mmChart.data.maxPercent}.` + ); + } + } else { + const gptConfig = GetGamePTConfig(game, playtype); + + if (percent > gptConfig.percentMax) { + throw new InvalidScoreFailure( + `Invalid percent of ${percent} - expected a value less than ${gptConfig.percentMax}% (${chart.songID} ${chart.playtype} ${chart.difficulty}).` + ); + } + } + + if (percent < 0) { + throw new InvalidScoreFailure( + `Invalid percent of ${percent} - Expected a positive number? (${chart.songID} ${chart.playtype} ${chart.difficulty})` + ); + } +} + +/** + * Generically gets the grade and percent for a given score on a given game. This only works for games where + * grades are just percent boundaries. This will throw an InvalidScoreFailure if the percent is invalid, + * or if the grade is invalid. + */ +export function GenericGetGradeAndPercent( + game: G, + score: number, + chart: ChartDocument +): { percent: number; grade: Grades[GameToIDStrings[G]] } { + const percent = GenericCalculatePercent(game, score, chart); + + ValidatePercent(game, chart.playtype, percent, chart); + + const grade: Grades[GameToIDStrings[G]] = GetGradeFromPercent(game, chart.playtype, percent); + + return { percent, grade }; +} + +export function JubeatGetGrade(score: number): Grades["jubeat:Single"] { + if (score === 1_000_000) { + return "EXC"; + } else if (score >= 980_000) { + return "SSS"; + } else if (score >= 950_000) { + return "SS"; + } else if (score >= 900_000) { + return "S"; + } else if (score >= 850_000) { + return "A"; + } else if (score >= 800_000) { + return "B"; + } else if (score >= 700_000) { + return "C"; + } else if (score >= 500_000) { + return "D"; + } + + return "E"; +} + +/** + * Calculates the ESD for a given game + percent combo. This function returns + * null if the game does not support support ESD. + */ +export function CalculateESDForGame( + game: Game, + playtype: Playtype, + percent: number +): number | null { + const gptConfig = GetGamePTConfig(game, playtype); + + if (!gptConfig.supportsESD) { + return null; + } + + return ESDCore.CalculateESD(gptConfig.judgementWindows, percent); +} + +/** + * Parses and validates a date from a string. + * @returns Milliseconds from the unix epoch, or null if the initial argument was null or undefined. + */ +export function ParseDateFromString(str: string | null | undefined): number | null { + if (!str) { + return null; + } + + const date = Date.parse(str); + + if (Number.isNaN(date)) { + throw new InvalidScoreFailure(`Invalid/Unparsable score timestamp of ${str}.`); + } + + return date; +} diff --git a/server/src/lib/score-import/framework/common/string-asserts.test.ts b/server/src/lib/score-import/framework/common/string-asserts.test.ts new file mode 100644 index 000000000..fe741a05c --- /dev/null +++ b/server/src/lib/score-import/framework/common/string-asserts.test.ts @@ -0,0 +1,186 @@ +import { InvalidScoreFailure } from "./converter-failures"; +import { AssertStrAsPositiveInt, AssertStrAsPositiveNonZeroInt } from "./string-asserts"; +import t from "tap"; + +function astr(v: string) { + try { + const r = AssertStrAsPositiveInt(v, "err"); + + return r; + } catch (e) { + return e; + } +} + +function astrp(v: string) { + try { + const r = AssertStrAsPositiveNonZeroInt(v, "err"); + + return r; + } catch (e) { + return e; + } +} + +t.test("#AssertStrAsPositiveInt", (t) => { + t.strictSame( + astr("---"), + new InvalidScoreFailure(`err (Not an integer -- ---.)`), + "Should reject non-int input" + ); + + t.strictSame( + astr("1.4"), + new InvalidScoreFailure(`err (Not an integer -- 1.4.)`), + "Should reject float input" + ); + + t.strictSame( + astr("NaN"), + new InvalidScoreFailure(`err (Not an integer -- NaN.)`), + "Should reject NaN" + ); + t.strictSame( + astr("-0.3"), + new InvalidScoreFailure(`err (Not an integer -- -0.3.)`), + "Should reject negative float input" + ); + + t.strictSame( + astr("0xFF"), + new InvalidScoreFailure(`err (Not an integer -- 0xFF.)`), + "Should reject hex input" + ); + + t.strictSame( + astr("0b11"), + new InvalidScoreFailure(`err (Not an integer -- 0b11.)`), + "Should reject binary input" + ); + + t.strictSame( + astr("0o77"), + new InvalidScoreFailure(`err (Not an integer -- 0o77.)`), + "Should reject oct input" + ); + + t.strictSame( + astr("--1"), + new InvalidScoreFailure(`err (Not an integer -- --1.)`), + "Should reject double neg input" + ); + + t.strictSame( + astr("12f"), + new InvalidScoreFailure(`err (Not an integer -- 12f.)`), + "Should reject valid parseInt but invalid Number() input" + ); + + t.strictSame( + astr(`${Number.MAX_SAFE_INTEGER.toString()}000`), + + // @warn Counterintuitive errmsg here. It is an int! + new InvalidScoreFailure( + `err (Not an integer -- ${Number.MAX_SAFE_INTEGER.toString()}000.)` + ), + "Should reject numbers > max_safe_integer." + ); + + t.strictSame( + astr("-1"), + new InvalidScoreFailure(`err (Was negative -- -1.)`), + "Should reject negative integer input" + ); + + t.strictSame(astr("-0"), 0, "Should allow negative 0 input"); + t.strictSame(astr("0"), 0, "Should allow 0 input"); + t.strictSame(astr("13"), 13, "Should allow valid int input"); + + t.end(); +}); + +t.test("#AssertStrAsPositiveNonZeroInt", (t) => { + t.strictSame( + astrp("---"), + new InvalidScoreFailure(`err (Not an integer -- ---.)`), + "Should reject non-int input" + ); + + t.strictSame( + astrp("1.4"), + new InvalidScoreFailure(`err (Not an integer -- 1.4.)`), + "Should reject float input" + ); + + t.strictSame( + astrp("NaN"), + new InvalidScoreFailure(`err (Not an integer -- NaN.)`), + "Should reject NaN" + ); + t.strictSame( + astrp("-0.3"), + new InvalidScoreFailure(`err (Not an integer -- -0.3.)`), + "Should reject negative float input" + ); + + t.strictSame( + astrp("0xFF"), + new InvalidScoreFailure(`err (Not an integer -- 0xFF.)`), + "Should reject hex input" + ); + + t.strictSame( + astrp("0b11"), + new InvalidScoreFailure(`err (Not an integer -- 0b11.)`), + "Should reject binary input" + ); + + t.strictSame( + astrp("0o77"), + new InvalidScoreFailure(`err (Not an integer -- 0o77.)`), + "Should reject oct input" + ); + + t.strictSame( + astrp("--1"), + new InvalidScoreFailure(`err (Not an integer -- --1.)`), + "Should reject double neg input" + ); + + t.strictSame( + astrp("12f"), + new InvalidScoreFailure(`err (Not an integer -- 12f.)`), + "Should reject valid parseInt but invalid Number() input" + ); + + t.strictSame( + astrp(`${Number.MAX_SAFE_INTEGER.toString()}000`), + + // @warn Counterintuitive errmsg here. It is an int! + new InvalidScoreFailure( + `err (Not an integer -- ${Number.MAX_SAFE_INTEGER.toString()}000.)` + ), + "Should reject numbers > max_safe_integer." + ); + + t.strictSame( + astrp("-1"), + new InvalidScoreFailure(`err (Was negative or zero -- -1.)`), + "Should reject negative integer input" + ); + t.strictSame( + astrp("-0"), + new InvalidScoreFailure(`err (Was negative or zero -- 0.)`), + "Should reject negative 0 input" + ); + + t.strictSame( + astrp("0"), + new InvalidScoreFailure(`err (Was negative or zero -- 0.)`), + "Should reject 0 input" + ); + + t.strictSame(astrp("13"), 13, "Should allow valid int input"); + + t.end(); +}); diff --git a/server/src/lib/score-import/framework/common/string-asserts.ts b/server/src/lib/score-import/framework/common/string-asserts.ts new file mode 100644 index 000000000..06c5618f1 --- /dev/null +++ b/server/src/lib/score-import/framework/common/string-asserts.ts @@ -0,0 +1,59 @@ +import { InvalidScoreFailure } from "./converter-failures"; +import { GetGamePTConfig } from "tachi-common"; +import type { Difficulties, Game, IDStrings, Playtype } from "tachi-common"; + +export function AssertStrAsDifficulty( + strVal: string, + game: Game, + playtype: Playtype +): Difficulties[IDStrings] { + const validDifficulties = GetGamePTConfig(game, playtype).difficulties; + + if (!validDifficulties.includes(strVal)) { + throw new InvalidScoreFailure( + `Invalid Difficulty for ${game} ${playtype} - Expected any of ${validDifficulties.join( + ", " + )} (Got ${strVal})` + ); + } + + return strVal; +} + +const isIntegerRegex = /^-?\d+$/u; + +export function AssertStrAsPositiveInt(strVal: string, errorMessage: string) { + const isInt = isIntegerRegex.test(strVal); + + if (!isInt) { + throw new InvalidScoreFailure(`${errorMessage} (Not an integer -- ${strVal}.)`); + } + + const val = Number(strVal); + + if (!Number.isSafeInteger(val)) { + throw new InvalidScoreFailure(`${errorMessage} (Not an integer -- ${strVal}.)`); + } else if (val < 0) { + throw new InvalidScoreFailure(`${errorMessage} (Was negative -- ${strVal}.)`); + } + + return val; +} + +export function AssertStrAsPositiveNonZeroInt(strVal: string, errorMessage: string) { + const isInt = isIntegerRegex.test(strVal); + + if (!isInt) { + throw new InvalidScoreFailure(`${errorMessage} (Not an integer -- ${strVal}.)`); + } + + const val = Number(strVal); + + if (!Number.isSafeInteger(val)) { + throw new InvalidScoreFailure(`${errorMessage} (Not an integer -- ${val}.)`); + } else if (val <= 0) { + throw new InvalidScoreFailure(`${errorMessage} (Was negative or zero -- ${val}.)`); + } + + return val; +} diff --git a/server/src/lib/score-import/framework/common/types.ts b/server/src/lib/score-import/framework/common/types.ts new file mode 100644 index 000000000..cd722594d --- /dev/null +++ b/server/src/lib/score-import/framework/common/types.ts @@ -0,0 +1,14 @@ +import type { IDStrings, Playtype, ScoreDocument } from "tachi-common"; + +/** + * An intermediate score format that will be filled out by + * HydrateScore. + */ +export type DryScore = Pick< + ScoreDocument, + "comment" | "game" | "importType" | "scoreMeta" | "service" | "timeAchieved" +> & { + scoreData: Omit["scoreData"], "esd" | "gradeIndex" | "lampIndex">; +}; + +export type ScorePlaytypeMap = Partial>>; diff --git a/server/src/lib/score-import/framework/express-wrapper.ts b/server/src/lib/score-import/framework/express-wrapper.ts new file mode 100644 index 000000000..680644557 --- /dev/null +++ b/server/src/lib/score-import/framework/express-wrapper.ts @@ -0,0 +1,74 @@ +import { MakeScoreImport } from "./score-import"; +import ScoreImportFatalError from "./score-importing/score-import-error"; +import CreateLogCtx from "lib/logger/logger"; +import { Random20Hex } from "utils/misc"; +import type { ParserArguments } from "../worker/types"; +import type { + ImportDocument, + ImportTypes, + integer, + SuccessfulAPIResponse, + UnsuccessfulAPIResponse, +} from "tachi-common"; + +export interface WrappedAPIResponse { + statusCode: number; + body: SuccessfulAPIResponse | UnsuccessfulAPIResponse; +} + +const logger = CreateLogCtx(__filename); + +/** + * A thin(ish) wrapper for ScoreImportMain which converts thrown + * errors and import documents into a WrappedAPIResponse, which can + * be immediately sent with res.json(). + */ +export async function ExpressWrappedScoreImportMain( + userID: integer, + userIntent: boolean, + importType: I, + parserArguments: ParserArguments +): Promise { + const importID = Random20Hex(); + + logger.debug("Received import request."); + + try { + const res = await MakeScoreImport({ + importID, + importType, + userIntent, + userID, + parserArguments, + }); + + return { + statusCode: 200, + body: { + success: true, + description: "Import successful.", + body: res, + }, + }; + } catch (err) { + if (err instanceof ScoreImportFatalError) { + logger.info(err.message); + return { + statusCode: err.statusCode, + body: { + success: false, + description: err.message, + }, + }; + } + + logger.error(err); + return { + statusCode: 500, + body: { + success: false, + description: "An internal service error has occured. This has been reported!", + }, + }; + } +} diff --git a/server/src/lib/score-import/framework/goals/goals.test.ts b/server/src/lib/score-import/framework/goals/goals.test.ts new file mode 100644 index 000000000..1e5bf5863 --- /dev/null +++ b/server/src/lib/score-import/framework/goals/goals.test.ts @@ -0,0 +1,487 @@ +import { GetRelevantFolderGoals, GetRelevantGoals, UpdateGoalsForUser, ProcessGoal } from "./goals"; +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { + GetKTDataJSON, + Testing511SPA, + TestingIIDXSPScorePB, + HC511Goal, + HC511UserGoal, + TestingIIDXFolderSP10, +} from "test-utils/test-data"; +import { CreateFolderChartLookup } from "utils/folder"; +import crypto from "crypto"; +import type { + ChartDocument, + GoalDocument, + GoalSubscriptionDocument, + SongDocument, +} from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +t.test("#GetRelevantFolderGoals", (t) => { + t.beforeEach(ResetDBState); + + const fakeFolderGoalDocument: GoalDocument = { + charts: { + type: "folder", + data: "ed9d8c734447ce67d7135c0067441a98cc81aeaf", + }, + game: "iidx", + goalID: "fake_goal_id", + playtype: "SP", + timeAdded: 0, + name: "get > 1 ex score on any level 10.", + criteria: { + mode: "single", + value: 1, + key: "scoreData.score", + }, + }; + + const notFolderGoalDocument: GoalDocument = { + charts: { + type: "folder", + data: "some_fake_folder_id", + }, + game: "iidx", + goalID: "fake_bad_goal_id", + playtype: "SP", + timeAdded: 0, + name: "get > 1 ex score on some other folder.", + criteria: { + mode: "single", + value: 1, + key: "scoreData.score", + }, + }; + + t.beforeEach(async () => { + // @ts-expect-error garbage types + const sp11folder = deepmerge(TestingIIDXFolderSP10, { + data: { level: "11" }, + folderID: "foo", + }); + + await db.folders.insert(TestingIIDXFolderSP10); + await db.folders.insert(sp11folder); + await db.goals.insert(fakeFolderGoalDocument); + await db.goals.insert(notFolderGoalDocument); + await CreateFolderChartLookup(TestingIIDXFolderSP10, true); + await CreateFolderChartLookup(sp11folder, true); + }); + + t.test("Should correctly find the goals on this folder.", async (t) => { + const res = await GetRelevantFolderGoals( + ["fake_goal_id", "fake_bad_goal_id"], + [Testing511SPA.chartID] + ); + + t.strictSame( + res, + [fakeFolderGoalDocument], + "Should correctly return only the 511 goal document." + ); + + t.end(); + }); + + t.end(); +}); + +t.test("#GetRelevantGoals", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(async () => { + // use the real data so we have enough charts loaded for this to test properly. + await db.songs.iidx.remove({}); + await db.charts.iidx.remove({}); + await db.charts.iidx.insert( + GetKTDataJSON("./tachi/tachi-charts-iidx.json") as Array< + ChartDocument<"iidx:DP" | "iidx:SP"> + > + ); + await db.songs.iidx.insert( + GetKTDataJSON("./tachi/tachi-songs-iidx.json") as Array> + ); + + const lotsOfCharts = await db.charts.iidx.find({}, { limit: 20 }); + const goals: Array = lotsOfCharts.map((e) => ({ + charts: { + type: "single", + data: e.chartID, + }, + game: "iidx", + goalID: crypto.randomBytes(20).toString("hex"), + playtype: "SP", + timeAdded: 0, + name: "get > 1 ex score on some other folder.", + criteria: { + mode: "single", + value: 1, + key: "scoreData.score", + }, + })); + + await db.goals.insert(goals); + + await db["goal-subs"].insert( + goals.map((e) => ({ + achieved: false, + wasInstantlyAchieved: false, + timeAchieved: null, + game: "iidx", + playtype: "SP", + goalID: e.goalID, + lastInteraction: null, + outOf: 5, + outOfHuman: "HARD CLEAR", + progress: null, + progressHuman: "NO DATA", + timeSet: Date.now(), + userID: 1, + })) + ); + }); + + t.test( + "Should successfully filter goals to only those that are relevant to the session.", + async (t) => { + // lets pretend our session had scores on charts 0->4 and 20->25. We also only have goals on + // charts 1->20, so only 5 of these should resolve. + const ourCharts = [ + ...(await db.charts.iidx.find({}, { limit: 5 })), + ...(await db.charts.iidx.find({}, { skip: 20, limit: 5 })), + ]; + + const chartIDs = new Set(ourCharts.map((e) => e.chartID)); + + const res = await GetRelevantGoals("iidx", 1, chartIDs, logger); + + t.equal(res.goals.length, 5, "Should correctly resolve to 5 goals."); + t.equal(res.goalSubsMap.size, 5, "Should also return 5 goalSubs."); + + t.end(); + } + ); + + t.end(); +}); + +t.test("#UpdateGoalsForUser", (t) => { + t.beforeEach(ResetDBState); + + const baseGoalDocument: GoalDocument = { + charts: { + type: "single" as const, + data: Testing511SPA.chartID, + }, + game: "iidx", + goalID: "FAKE_GOAL_ID", + playtype: "SP", + timeAdded: 0, + name: "get > 1 ex score on some other folder.", + criteria: { + mode: "single", + value: 1, + key: "scoreData.score", + }, + }; + + const baseGoalSubscriptionDocument: GoalSubscriptionDocument = { + achieved: false, + wasInstantlyAchieved: false, + game: "iidx", + playtype: "SP", + goalID: "FAKE_GOAL_ID", + lastInteraction: null, + outOf: 1, + outOfHuman: "1", + progress: 0, + progressHuman: "0", + timeAchieved: null, + timeSet: 0, + userID: 1, + }; + + t.test("Should correctly update goals when user achieves goal.", async (t) => { + await db.goals.insert(baseGoalDocument); + delete baseGoalDocument._id; + + await db["goal-subs"].insert(baseGoalSubscriptionDocument); + + // we dont delete _id here because updategoalsforuser + // depends on usergoal _id + + await db["personal-bests"].insert(TestingIIDXSPScorePB); + delete TestingIIDXSPScorePB._id; + + const ugMap = new Map([["FAKE_GOAL_ID", baseGoalSubscriptionDocument]]); + + const res = await UpdateGoalsForUser([baseGoalDocument], ugMap, 1, logger); + + t.strictSame(res, [ + { + goalID: "FAKE_GOAL_ID", + old: { + progress: 0, + progressHuman: "0", + outOf: 1, + outOfHuman: "1", + achieved: false, + }, + new: { + progress: 1479, + progressHuman: "1479", + outOf: 1, + outOfHuman: "1", + achieved: true, + }, + }, + ]); + + const r = await db["goal-subs"].findOne({ goalID: "FAKE_GOAL_ID", userID: 1 }); + + t.hasStrict( + r, + { + progress: 1479, + progressHuman: "1479", + outOf: 1, + outOfHuman: "1", + achieved: true, + }, + "Should update goals in the database." + ); + + delete baseGoalSubscriptionDocument._id; + + t.end(); + }); + + t.test("Should correctly update goals when user does not achieve goal.", async (t) => { + const goal = deepmerge(baseGoalDocument, { criteria: { value: 2 } }); + + await db.goals.insert(goal); + + const goalSub = deepmerge(baseGoalSubscriptionDocument, { + outOf: 2, + outOfHuman: "2", + }) as unknown as GoalSubscriptionDocument; + + await db["goal-subs"].insert(goalSub); + + // we dont delete _id here because updategoalsforuser + // depends on usergoal _id + + await db["personal-bests"].insert( + deepmerge(TestingIIDXSPScorePB, { scoreData: { score: 1 } }) + ); + + const ugMap = new Map([["FAKE_GOAL_ID", goalSub]]); + + const res = await UpdateGoalsForUser([goal], ugMap, 1, logger); + + t.strictSame(res, [ + { + goalID: "FAKE_GOAL_ID", + old: { + progress: 0, + progressHuman: "0", + outOf: 2, + outOfHuman: "2", + achieved: false, + }, + new: { + progress: 1, + progressHuman: "1", + outOf: 2, + outOfHuman: "2", + achieved: false, + }, + }, + ]); + + const r = await db["goal-subs"].findOne({ goalID: "FAKE_GOAL_ID", userID: 1 }); + + t.hasStrict( + r, + { + progress: 1, + progressHuman: "1", + outOf: 2, + outOfHuman: "2", + achieved: false, + }, + "Should update goals in the database." + ); + + delete baseGoalSubscriptionDocument._id; + + t.end(); + }); + + t.test("Should return [] if no data is to be changed.", async (t) => { + const res = await UpdateGoalsForUser([], new Map(), 1, logger); + + t.strictSame(res, []); + + t.end(); + }); + + t.test("Should handle (skip) goals if no usergoal is set.", async (t) => { + const res = await UpdateGoalsForUser([baseGoalDocument], new Map(), 1, logger); + + t.strictSame(res, []); + + t.end(); + }); + + t.test("Should handle (skip) invalid goals.", async (t) => { + const res = await UpdateGoalsForUser( + [deepmerge(baseGoalDocument, { charts: { type: "INVALID" } })], + new Map([["FAKE_GOAL_ID", baseGoalSubscriptionDocument]]), + 1, + logger + ); + + t.strictSame(res, []); + + t.end(); + }); + + t.end(); +}); + +t.todo("#GetAndUpdateUsersGoals", (t) => { + t.beforeEach(ResetDBState); + + t.end(); +}); + +t.test("#ProcessGoal", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(async () => { + await db.goals.insert(HC511Goal); + }); + + t.test("Should process the users goal if a score has changed.", async (t) => { + await db["goal-subs"].insert(HC511UserGoal); + + // score is EX HARD CLEAR by default. + await db["personal-bests"].insert(TestingIIDXSPScorePB); + + const res = await ProcessGoal(HC511Goal, HC511UserGoal, 1, logger); + + t.not(res, undefined, "Should NOT return undefined."); + + t.strictSame( + res?.import, + { + goalID: "mock_goalID", + old: { + progress: null, + progressHuman: "NO DATA", + outOf: 5, + outOfHuman: "HARD CLEAR", + achieved: false, + }, + new: { + progress: 6, + progressHuman: "EX HARD CLEAR (BP: 2)", + outOf: 5, + outOfHuman: "HARD CLEAR", + achieved: true, + }, + }, + "Should return a valid import goal fragment." + ); + + t.end(); + }); + + t.test("Should unset wasInstantlyAchieved if the goal became unachieved.", async (t) => { + const achievedGoalSub: GoalSubscriptionDocument = { + achieved: true, + game: "iidx", + goalID: "mock_goalID", + lastInteraction: null, + outOf: 5, + outOfHuman: "HARD CLEAR", + playtype: "SP", + progress: 6, + progressHuman: "EX HARD CLEAR", + timeAchieved: 1000, + timeSet: 1000, + wasInstantlyAchieved: true, + userID: 1, + }; + + await db["goal-subs"].insert(achievedGoalSub); + + const res = await ProcessGoal(HC511Goal, achievedGoalSub, 1, logger); + + t.not(res, undefined, "Should NOT return undefined."); + + t.hasStrict( + res?.import, + { + goalID: "mock_goalID", + old: { + progress: 6, + outOf: 5, + achieved: true, + }, + new: { + progress: null, + outOf: 5, + achieved: false, + }, + }, + "Should unachieve the goal." + ); + + t.equal( + res?.bwrite.updateOne.update.$set.wasInstantlyAchieved, + false, + "Goal is to be set as not instantly achieved." + ); + + t.end(); + }); + + t.test("Should return undefined if there's no score.", async (t) => { + await db["goal-subs"].insert(HC511UserGoal); + + const res = await ProcessGoal(HC511Goal, HC511UserGoal, 1, logger); + + t.equal(res, undefined, "Should return undefined."); + + t.end(); + }); + + t.test("Should return undefined if the progress has not changed.", async (t) => { + await db["goal-subs"].insert(HC511UserGoal); + await db["personal-bests"].insert(TestingIIDXSPScorePB); + + const firstUpdate = await ProcessGoal(HC511Goal, HC511UserGoal, 1, logger); + + // ignore this one + t.not(firstUpdate, undefined, "Should NOT return undefined."); + + await db["goal-subs"].bulkWrite([firstUpdate!.bwrite]); + + const goalSub = await db["goal-subs"].findOne({ userID: 1, goalID: HC511Goal.goalID }); + + const secondUpdate = await ProcessGoal(HC511Goal, goalSub!, 1, logger); + + t.equal(secondUpdate, undefined, "Should return undefined."); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/framework/goals/goals.ts b/server/src/lib/score-import/framework/goals/goals.ts new file mode 100644 index 000000000..8a59bc924 --- /dev/null +++ b/server/src/lib/score-import/framework/goals/goals.ts @@ -0,0 +1,289 @@ +import db from "external/mongo/db"; +import { EvaluateGoalForUser } from "lib/targets/goals"; +import { EmitWebhookEvent } from "lib/webhooks/webhooks"; +import type { KtLogger } from "lib/logger/logger"; +import type { Game, GoalDocument, GoalSubscriptionDocument, integer } from "tachi-common"; + +/** + * Update a user's progress on all of their set goals. + */ +export async function GetAndUpdateUsersGoals( + game: Game, + userID: integer, + chartIDs: Set, + logger: KtLogger +) { + const { goals, goalSubsMap } = await GetRelevantGoals(game, userID, chartIDs, logger); + + if (!goals.length) { + // if we hit the below code with an empty array mongodb will flip out on the bulkwrite op + return []; + } + + logger.verbose(`Found ${goals.length} relevant goals.`); + + return UpdateGoalsForUser(goals, goalSubsMap, userID, logger); +} + +export async function UpdateGoalsForUser( + goals: Array, + goalSubsMap: Map, + userID: integer, + logger: KtLogger +) { + const returns = await Promise.all( + goals.map((goal: GoalDocument) => { + const goalSub = goalSubsMap.get(goal.goalID); + + if (!goalSub) { + logger.error( + `UserGoal:GoalID mismatch ${goal.goalID} - this user has no goalSub for this, yet it is set.` + ); + + return null; + } + + return ProcessGoal(goal, goalSub, userID, logger).catch((err: Error) => { + logger.warn( + `Failed to process goal '${goal.name}' for ${userID}, ${err.message}. Skipping.`, + { goal, err, userID, goalSub } + ); + + return undefined; + }); + }) + ); + + const importInfo = []; + const bulkWrite = []; + const webhookEventContent = []; + + for (const ret of returns) { + if (!ret) { + continue; + } + + importInfo.push(ret.import); + bulkWrite.push(ret.bwrite); + + if (ret.webhookEvent) { + webhookEventContent.push(ret.webhookEvent); + } + } + + if (bulkWrite.length === 0) { + // bulkwrite cannot be an empty array -- this means there's nothing to update or return, then. + // i.e. goals was non empty but returns was entirely [undefined, undefined...]. + return []; + } + + if (webhookEventContent.length !== 0 && goals[0]) { + await EmitWebhookEvent({ + type: "goals-achieved/v1", + content: { goals: webhookEventContent, userID, game: goals[0].game }, + }); + } + + await db["goal-subs"].bulkWrite(bulkWrite, { ordered: false }); + + return importInfo; +} + +/** + * Calls EvaluateGoalForUser, then processes the returns into a bulkWrite + * operation and an import statistic. + * @returns undefined on error (i.e. EvaluateGoalForUser) OR if there's nothing + * to say (i.e. user didnt raise the goal). + */ +export async function ProcessGoal( + goal: GoalDocument, + goalSub: GoalSubscriptionDocument, + userID: integer, + logger: KtLogger +) { + const res = await EvaluateGoalForUser(goal, userID, logger); + + if (!res) { + // some sort of error occured - its logged by the previous function. + return; + } + + // nothing has changed + if (goalSub.progress === res.progress && goalSub.outOf === res.outOf) { + return; + } + + const newData = { + progress: res.progress, + progressHuman: res.progressHuman, + outOf: res.outOf, + outOfHuman: res.outOfHuman, + achieved: res.achieved, + }; + + const oldData = { + progress: goalSub.progress, + progressHuman: goalSub.progressHuman, + outOf: goalSub.outOf, + outOfHuman: goalSub.outOfHuman, + achieved: goalSub.achieved, + }; + + let webhookEvent = null; + + // if this is a newly-achieved goal + + if (res.achieved && !goalSub.achieved) { + webhookEvent = { + goalID: goal.goalID, + old: oldData, + new: newData, + playtype: goal.playtype, + }; + } + + const setData = { + ...newData, + timeAchieved: newData.achieved ? Date.now() : null, + + // we're guaranteed that this works, because things + // that haven't changed return nothing instead of + // getting to this point. + lastInteraction: Date.now(), + } as unknown as Partial; + + // If this goal was achieved, and is now *not* achieved, we need to unset + // some things. + if (goalSub.achieved && !res.achieved) { + logger.info(`User ${userID} lost their achieved status on ${goal.name}.`, { + goal, + res, + goalSub, + }); + + // This goal can't be marked as instantly achieved, since it was lost. + setData.wasInstantlyAchieved = false; + } + + const bulkWrite = { + updateOne: { + filter: { goalID: goalSub.goalID, userID: goalSub.userID }, + update: { + $set: setData, + }, + }, + }; + + return { + bwrite: bulkWrite, + import: { + goalID: goal.goalID, + old: oldData, + new: newData, + }, + webhookEvent, + }; +} + +/** + * Gets the goals the user has set for this game and playtype. + * Then, filters it based on the chartIDs involved in this import. + * + * This optimisation allows users to have *lots* of goals, but only ever + * evaluate the ones we need to. + * @returns An array of Goals, and an array of goalSubs. + */ +export async function GetRelevantGoals( + game: Game, + userID: integer, + chartIDs: Set, + logger: KtLogger +): Promise<{ goals: Array; goalSubsMap: Map }> { + const goalSubs = await db["goal-subs"].find({ game, userID }); + + logger.verbose(`Found user has ${goalSubs.length} goals.`); + + if (!goalSubs.length) { + return { goals: [], goalSubsMap: new Map() }; + } + + const goalIDs = goalSubs.map((e) => e.goalID); + + const chartIDsArr: Array = []; + + for (const c of chartIDs) { + chartIDsArr.push(c); + } + + const goals = await Promise.all([ + // this gets the relevantGoals for direct and multi + db.goals.find({ + "charts.type": { $in: ["single", "multi"] }, + "charts.data": { $in: chartIDsArr }, + goalID: { $in: goalIDs }, + }), + db.goals.find({ + "charts.type": "any", + goalID: { $in: goalIDs }, + }), + GetRelevantFolderGoals(goalIDs, chartIDsArr), + ]).then((r) => r.flat(1)); + + const goalSet = new Set(goals.map((e) => e.goalID)); + + const goalSubsMap: Map = new Map(); + + for (const goalSub of goalSubs) { + if (!goalSet.has(goalSub.goalID)) { + continue; + } + + // since these are guaranteed to be unique, lets make a hot map of goalID -> goalSubDocument, so we can + // pull them in for post-processing and filter out the goalSubDocuments that aren't relevant. + goalSubsMap.set(goalSub.goalID, goalSub); + } + + return { + goals, + goalSubsMap, + }; +} + +/** + * Returns the set of goals where its folder contains any member + * of chartIDsArr. + */ +export function GetRelevantFolderGoals(goalIDs: Array, chartIDsArr: Array) { + // Slightly black magic - this is kind of like doing an SQL join. + // it's weird to do this in mongodb, but this seems like the right + // way to actually handle this. + + const result: Promise> = db.goals.aggregate([ + { + $match: { + "charts.type": "folder", + goalID: { $in: goalIDs }, + }, + }, + { + $lookup: { + from: "folder-chart-lookup", + localField: "charts.data", + foreignField: "folderID", + as: "folderCharts", + }, + }, + { + $match: { + "folderCharts.chartID": { $in: chartIDsArr }, + }, + }, + { + $project: { + folderCharts: 0, + }, + }, + ]); + + return result; +} diff --git a/server/src/lib/score-import/framework/import-locks/lock.ts b/server/src/lib/score-import/framework/import-locks/lock.ts new file mode 100644 index 000000000..419f818a1 --- /dev/null +++ b/server/src/lib/score-import/framework/import-locks/lock.ts @@ -0,0 +1,50 @@ +import db from "external/mongo/db"; +import type { integer } from "tachi-common"; + +/** + * If a user has no ongoing import, enable the import lock and return true. + * If a user has an ongoing import, return false. + * + * @param userID - The user this import lock is for. + * @returns True if the lock was set successfully, false if the user already + * has a lock. + */ +export async function CheckAndSetOngoingImportLock(userID: integer) { + const lockExists = await db["import-locks"].findOne({ + userID, + }); + + if (!lockExists) { + await db["import-locks"].insert({ + userID, + locked: false, + }); + } + + const lockWasSet = await db["import-locks"].findOneAndUpdate( + { + userID, + locked: false, + }, + { + $set: { locked: true }, + } + ); + + return !lockWasSet; +} + +/** + * Disable a users import lock. + */ +export function UnsetOngoingImportLock(userID: integer) { + return db["import-locks"].findOneAndUpdate( + { + userID, + locked: true, + }, + { + $set: { locked: false }, + } + ); +} diff --git a/server/src/lib/score-import/framework/milestones/milestones.test.ts b/server/src/lib/score-import/framework/milestones/milestones.test.ts new file mode 100644 index 000000000..317d9815d --- /dev/null +++ b/server/src/lib/score-import/framework/milestones/milestones.test.ts @@ -0,0 +1,369 @@ +import { UpdateUsersMilestones } from "./milestones"; +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { TestingIIDXSPMilestone } from "test-utils/test-data"; +import type { GoalImportInfo } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +function CreateMockGII(...garr: Array<[string, boolean]>) { + return garr.map((e) => ({ + goalID: e[0], + old: {}, + new: { achieved: e[1] }, + })) as unknown as Array; +} + +t.test("#UpdateUsersMilestones", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(() => db.milestones.insert(TestingIIDXSPMilestone)); + t.beforeEach(() => + db["milestone-subs"].insert({ + achieved: false, + wasInstantlyAchieved: false, + game: "iidx", + milestoneID: TestingIIDXSPMilestone.milestoneID, + playtype: "SP", + progress: 0, + timeAchieved: null, + lastInteraction: null, + timeSet: 0, + userID: 1, + }) + ); + + t.test("Test with clean achieved milestone.", async (t) => { + const res = await UpdateUsersMilestones( + CreateMockGII( + ["eg_goal_1", true], + ["eg_goal_2", true], + ["eg_goal_3", true], + ["eg_goal_4", true] + ), + "iidx", + ["SP"], + 1, + logger + ); + + t.strictSame( + res, + [ + { + milestoneID: "example_milestone_id", + old: { + progress: 0, + achieved: false, + }, + new: { + progress: 4, + achieved: true, + }, + }, + ], + "Should correctly assert the milestone is achieved." + ); + + t.end(); + }); + + t.test("Test with unclean achieved milestone.", async (t) => { + const res = await UpdateUsersMilestones( + CreateMockGII( + ["eg_goal_1", true], + ["eg_goal_2", true], + ["eg_goal_3", true], + ["eg_goal_4", true], + ["x_goal_1", true], + ["x_goal_2", true], + ["x_goal_3", true] + ), + "iidx", + ["SP"], + 1, + logger + ); + + t.strictSame( + res, + [ + { + milestoneID: "example_milestone_id", + old: { + progress: 0, + achieved: false, + }, + new: { + progress: 4, + achieved: true, + }, + }, + ], + "Should correctly assert the milestone is achieved." + ); + + t.end(); + }); + + t.test("Test with increased progress on milestone.", async (t) => { + const res = await UpdateUsersMilestones( + CreateMockGII(["eg_goal_1", true], ["eg_goal_2", true]), + "iidx", + ["SP"], + 1, + logger + ); + + t.strictSame( + res, + [ + { + milestoneID: "example_milestone_id", + old: { + progress: 0, + achieved: false, + }, + new: { + progress: 2, + achieved: false, + }, + }, + ], + "Should correctly assert the milestone progress has increased." + ); + + t.end(); + }); + + t.test("Test with no new goals on milestone.", async (t) => { + const res = await UpdateUsersMilestones([], "iidx", ["SP"], 1, logger); + + t.strictSame(res, [], "Should correctly return no changes."); + + t.end(); + }); + + t.test("Test with new goals on multiple milestones.", async (t) => { + delete TestingIIDXSPMilestone._id; + await db.milestones.insert( + // eslint-disable-next-line lines-around-comment + // @ts-expect-error lol + deepmerge(TestingIIDXSPMilestone, { + milestoneID: "some_other_milestone_with_mutual_goals", + }) + ); + await db["milestone-subs"].insert({ + achieved: false, + wasInstantlyAchieved: false, + game: "iidx", + milestoneID: "some_other_milestone_with_mutual_goals", + playtype: "SP", + progress: 0, + timeAchieved: null, + lastInteraction: null, + timeSet: 0, + userID: 1, + }); + + const res = await UpdateUsersMilestones( + CreateMockGII( + ["eg_goal_1", true], + ["eg_goal_2", true], + ["eg_goal_3", true], + ["eg_goal_4", true], + ["x_goal_1", true], + ["x_goal_2", true], + ["x_goal_3", true] + ), + "iidx", + ["SP", "DP"], + 1, + logger + ); + + t.strictSame( + res, + [ + { + milestoneID: "example_milestone_id", + old: { + progress: 0, + achieved: false, + }, + new: { + progress: 4, + achieved: true, + }, + }, + { + milestoneID: "some_other_milestone_with_mutual_goals", + old: { + progress: 0, + achieved: false, + }, + new: { + progress: 4, + achieved: true, + }, + }, + ], + "Should correctly assert the milestones are achieved." + ); + t.end(); + }); + + t.test("Test with multiple milestones that only some match", async (t) => { + delete TestingIIDXSPMilestone._id; + await db.milestones.insert([ + // @ts-expect-error lol + deepmerge(TestingIIDXSPMilestone, { + milestoneID: "some_other_milestone_with_mutual_goals", + }), + deepmerge( + TestingIIDXSPMilestone, + { + milestoneID: "dp_milestone", + playtype: "DP", + milestoneData: [ + { + goals: [{ goalID: "foobar" }], + }, + ], + }, + { arrayMerge: (d, s) => s } + ), + deepmerge( + TestingIIDXSPMilestone, + { + milestoneID: "other_game_milestone", + game: "museca", + playtype: "Single", + milestoneData: [ + { + goals: [{ goalID: "foo" }], + }, + ], + }, + { arrayMerge: (d, s) => s } + ), + deepmerge( + TestingIIDXSPMilestone, + { + milestoneID: "iidx_with_not_goal", + game: "iidx", + playtype: "SP", + milestoneData: [ + { + goals: [{ goalID: "not_real_goal_id" }], + }, + ], + }, + { arrayMerge: (d, s) => s } + ), + ]); + + await db["milestone-subs"].insert([ + { + achieved: false, + wasInstantlyAchieved: false, + game: "iidx", + milestoneID: "some_other_milestone_with_mutual_goals", + playtype: "SP", + progress: 0, + timeAchieved: null, + lastInteraction: null, + timeSet: 0, + userID: 1, + }, + { + achieved: false, + wasInstantlyAchieved: false, + + game: "iidx", + milestoneID: "dp_milestone", + playtype: "DP", + progress: 0, + timeAchieved: null, + lastInteraction: null, + timeSet: 0, + userID: 1, + }, + { + achieved: false, + wasInstantlyAchieved: false, + + game: "museca", + milestoneID: "other_game_milestone", + playtype: "Single", + progress: 0, + timeAchieved: null, + lastInteraction: null, + timeSet: 0, + userID: 1, + }, + { + achieved: false, + wasInstantlyAchieved: false, + game: "iidx", + milestoneID: "iidx_with_not_goal", + playtype: "SP", + progress: 0, + timeAchieved: null, + lastInteraction: null, + timeSet: 0, + userID: 1, + }, + ]); + + const res = await UpdateUsersMilestones( + CreateMockGII( + ["eg_goal_1", true], + ["eg_goal_2", true], + ["eg_goal_3", true], + ["eg_goal_4", true], + ["x_goal_1", true], + ["x_goal_2", true], + ["x_goal_3", true] + ), + "iidx", + ["SP", "DP"], + 1, + logger + ); + + t.strictSame( + res, + [ + { + milestoneID: "example_milestone_id", + old: { + progress: 0, + achieved: false, + }, + new: { + progress: 4, + achieved: true, + }, + }, + { + milestoneID: "some_other_milestone_with_mutual_goals", + old: { + progress: 0, + achieved: false, + }, + new: { + progress: 4, + achieved: true, + }, + }, + ], + "Should correctly assert the milestones are achieved." + ); + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/framework/milestones/milestones.ts b/server/src/lib/score-import/framework/milestones/milestones.ts new file mode 100644 index 000000000..1982f64f8 --- /dev/null +++ b/server/src/lib/score-import/framework/milestones/milestones.ts @@ -0,0 +1,184 @@ +import db from "external/mongo/db"; +import { CalculateMilestoneOutOf, GetGoalIDsFromMilestone } from "lib/targets/milestones"; +import { EmitWebhookEvent } from "lib/webhooks/webhooks"; +import type { KtLogger } from "lib/logger/logger"; +import type { BulkWriteUpdateOneOperation } from "mongodb"; +import type { + Game, + GoalImportInfo, + integer, + MilestoneDocument, + MilestoneImportInfo, + Playtype, + MilestoneSubscriptionDocument, + GoalImportStat, +} from "tachi-common"; + +/** + * Processes and updates a user's milestones from their Goal Import Info (i.e. what is returned + * about goals from imports) + */ +export function ProcessMilestoneFromGII( + milestone: MilestoneDocument, + gii: Map +) { + const goalIDs = GetGoalIDsFromMilestone(milestone); + + let progress = 0; + + for (const goalID of goalIDs) { + const userInfo = gii.get(goalID); + + if (!userInfo) { + continue; + } + + if (!userInfo.achieved) { + continue; + } + + progress++; + } + + const outOf = CalculateMilestoneOutOf(milestone); + + // milestone achieved! + if (progress >= outOf) { + return { achieved: true, progress }; + } + + return { achieved: false, progress }; +} + +export async function UpdateUsersMilestones( + importGoalInfo: Array, + game: Game, + playtypes: Array, + userID: integer, + logger: KtLogger +) { + const goalSubInfoMap: Map = new Map(); + + const goalIDs = []; + + for (const e of importGoalInfo) { + goalSubInfoMap.set(e.goalID, e.new); + goalIDs.push(e.goalID); + } + + const { milestones, milestoneSubs } = await GetRelevantMilestones( + goalIDs, + game, + playtypes, + userID, + logger + ); + + // create a map here to avoid linear searching when + // co-iterating + const milestoneSubMap = new Map(); + + for (const um of milestoneSubs) { + milestoneSubMap.set(um.milestoneID, um); + } + + const importGoalMap = new Map(); + + for (const ig of importGoalInfo) { + importGoalMap.set(ig.goalID, ig.new); + } + + const bwrite: Array> = []; + + const importMilestoneInfo: Array = []; + + for (const milestone of milestones) { + const { achieved, progress } = ProcessMilestoneFromGII(milestone, importGoalMap); + + const milestoneSub = milestoneSubMap.get(milestone.milestoneID); + + if (!milestoneSub) { + logger.severe( + `Invalid state achieved in milestone processing - processed milestone that user did not have? ${milestone.milestoneID}` + ); + + throw new Error("Invalid state achieved in milestone processing."); + } + + const bwriteOp: BulkWriteUpdateOneOperation = { + updateOne: { + filter: { milestoneID: milestone.milestoneID }, + update: { + $set: { + achieved, + progress, + }, + }, + }, + }; + + const milestoneInfo = { + milestoneID: milestoneSub.milestoneID, + old: { + progress: milestoneSub.progress, + achieved: milestoneSub.achieved, + }, + new: { + progress, + achieved, + }, + }; + + if (progress !== milestoneSub.progress) { + importMilestoneInfo.push(milestoneInfo); + + // @ts-expect-error This property isn't read only, because I said so. + bwriteOp.updateOne.update.$set!.lastInteraction = Date.now(); + } + + bwrite.push(bwriteOp); + + if (achieved && !milestoneSub.achieved) { + void EmitWebhookEvent({ + type: "milestone-achieved/v1", + content: { + userID, + ...milestoneInfo, + game, + playtype: milestone.playtype, + }, + }); + } + } + + if (bwrite.length !== 0) { + await db["milestone-subs"].bulkWrite(bwrite, { ordered: false }); + } + + return importMilestoneInfo; +} + +async function GetRelevantMilestones( + goalIDs: Array, + game: Game, + playtypes: Array, + userID: integer, + logger: KtLogger +) { + const milestoneSubs = await db["milestone-subs"].find({ + game, + playtype: { $in: playtypes }, + userID, + }); + + logger.debug(`Found ${milestoneSubs.length} milestone-subs.`); + + const milestones = await db.milestones.find({ + milestoneID: { $in: milestoneSubs.map((e) => e.milestoneID) }, + "milestoneData.goals.goalID": { $in: goalIDs }, + }); + + logger.debug(`Found ${milestones.length} relevant milestones.`); + + return { milestoneSubs, milestones }; +} diff --git a/server/src/lib/score-import/framework/orphans/orphans.test.ts b/server/src/lib/score-import/framework/orphans/orphans.test.ts new file mode 100644 index 000000000..5bcc74ef5 --- /dev/null +++ b/server/src/lib/score-import/framework/orphans/orphans.test.ts @@ -0,0 +1,251 @@ +import { OrphanScore, ReprocessOrphan } from "./orphans"; +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import fjsh from "fast-json-stable-hash"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import type { BatchManualContext } from "../../import-types/common/batch-manual/types"; +import type { OrphanScoreDocument } from "../../import-types/common/types"; +import type { BatchManualScore } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +const batchManualScore: BatchManualScore = { + score: 500, + lamp: "HARD CLEAR", + matchType: "songTitle", + identifier: "5.1.1.", + difficulty: "ANOTHER", +}; + +const batchManualContext: BatchManualContext = { + game: "iidx", + playtype: "SP", + service: "foo", + version: "27", +}; + +t.test("#OrphanScore", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should orphan data and context information.", async (t) => { + const res = await OrphanScore( + "ir/direct-manual", + 1, + batchManualScore, + batchManualContext, + "Example Error Message", + "iidx", + logger + ); + + t.equal(res.success, true); + t.equal( + res.orphanID, + `O${fjsh.hash( + { + importType: "ir/direct-manual", + data: batchManualScore, + context: batchManualContext, + userID: 1, + }, + "sha256" + )}`, + "Should be a checksum of the orphan's contents." + ); + + const dbCheck = await db["orphan-scores"].findOne({ + orphanID: res.orphanID, + }); + + t.hasStrict(dbCheck, { + orphanID: res.orphanID, + userID: 1, + data: batchManualScore, + context: batchManualContext, + importType: "ir/direct-manual", + errMsg: "Example Error Message", + }); + + t.ok( + Math.abs(dbCheck!.timeInserted - Date.now()) < 10_000, + "timeInserted should be decently close to now." + ); + + t.end(); + }); + + t.test("Should skip orphans that already exist.", async (t) => { + const res1 = await OrphanScore( + "ir/direct-manual", + 1, + batchManualScore, + batchManualContext, + "Example Error Message", + "iidx", + logger + ); + + const res2 = await OrphanScore( + "ir/direct-manual", + 1, + batchManualScore, + batchManualContext, + "Example Error Message", + "iidx", + logger + ); + + t.equal(res2.success, false); + t.equal(res1.orphanID, res2.orphanID); + + const dbCheck = await db["orphan-scores"].count(); + + t.equal(dbCheck, 1); + }); + + t.end(); +}); + +t.test("#ReprocessOrphan", (t) => { + t.beforeEach(ResetDBState); + + const orphanDoc: OrphanScoreDocument = { + context: batchManualContext, + data: batchManualScore, + errMsg: "foo", + importType: "ir/direct-manual", + orphanID: "foo", + timeInserted: 0, + game: "iidx", + userID: 1, + }; + + t.test("Should convert and insert an orphan if parents are found", async (t) => { + // this orphan doc is for 5.1.1. SPA, which definitely exists in + // the test DB. + const res = await ReprocessOrphan(orphanDoc, [], logger); + + t.hasStrict( + res, + { + success: true, + type: "ScoreImported", + message: + "Imported score R7a3a2b04bd4882ec06c198d78297fe3d56561502c7b134c067214bbfdf4f1602.", + content: { + score: { + game: "iidx", + service: "foo (DIRECT-MANUAL)", + comment: null, + importType: "ir/direct-manual", + timeAchieved: null, + scoreData: { + lampIndex: 5, + lamp: "HARD CLEAR", + score: 500, + }, + highlight: false, + userID: 1, + songID: 1, + chartID: "c2311194e3897ddb5745b1760d2c0141f933e683", + scoreID: + "R7a3a2b04bd4882ec06c198d78297fe3d56561502c7b134c067214bbfdf4f1602", + playtype: "SP", + isPrimary: true, + }, + }, + }, + "Should successfully import the score." + ); + + const orphan = await db["orphan-scores"].findOne({ orphanID: orphanDoc.orphanID }); + + t.equal(orphan, null, "Should remove the orphan document."); + + t.end(); + }); + + t.test("Should delete the orphan doc and return null if the score is invalid.", async (t) => { + await db["orphan-scores"].insert(orphanDoc); + const res = await ReprocessOrphan( + deepmerge(orphanDoc, { + data: { + score: 99999, + }, + }), + [], + logger + ); + + t.equal(res, null); + + const orphan = await db["orphan-scores"].findOne({ orphanID: orphanDoc.orphanID }); + + t.equal(orphan, null, "Should remove the orphan document."); + + t.end(); + }); + + t.test( + "Should keep the orphan doc and return false if no parents could be found.", + async (t) => { + await db["orphan-scores"].insert(orphanDoc); + const res = await ReprocessOrphan( + deepmerge(orphanDoc, { + data: { + identifier: "NONSENSE CHART TITLE", + }, + }), + [], + logger + ); + + t.equal(res, false); + + const orphan = await db["orphan-scores"].findOne({ orphanID: orphanDoc.orphanID }); + + t.not(orphan, null, "Should not remove the orphan document."); + + t.end(); + } + ); + + t.test( + "Should keep the orphan doc and return false if an internal failure was triggered.", + async (t) => { + await db["orphan-scores"].insert(orphanDoc); + const GAZER_SHA256 = "195fe1be5c3e74fccd04dc426e05f8a9cfa8a1059c339d0a23e99f63661f0b7d"; + + // force an internal failure by removing all bms songs and then + // leaving a valid bms chart to match with. + await db.songs.bms.remove({}); + + const res = await ReprocessOrphan( + deepmerge(orphanDoc, { + context: { + game: "bms", + playtype: "7K", + }, + data: { + matchType: "bmsChartHash", + identifier: GAZER_SHA256, + }, + }), + [], + logger + ); + + t.equal(res, false); + + const orphan = await db["orphan-scores"].findOne({ orphanID: orphanDoc.orphanID }); + + t.not(orphan, null, "Should not remove the orphan document."); + + t.end(); + } + ); + + t.end(); +}); diff --git a/server/src/lib/score-import/framework/orphans/orphans.ts b/server/src/lib/score-import/framework/orphans/orphans.ts new file mode 100644 index 000000000..7c8071233 --- /dev/null +++ b/server/src/lib/score-import/framework/orphans/orphans.ts @@ -0,0 +1,169 @@ +import { Converters } from "../../import-types/converters"; +import { + ConverterFailure, + InternalFailure, + KTDataNotFoundFailure, +} from "../common/converter-failures"; +import { HandlePostImportSteps } from "../score-importing/score-import-main"; +import { ProcessSuccessfulConverterReturn } from "../score-importing/score-importing"; +import db from "external/mongo/db"; +import fjsh from "fast-json-stable-hash"; +import { GetUserWithID } from "utils/user"; +import type { + ConverterFunction, + ConverterFnReturnOrFailure, + ImportTypeContextMap, + ImportTypeDataMap, + OrphanScoreDocument, +} from "../../import-types/common/types"; +import type { KtLogger } from "lib/logger/logger"; +import type { Game, ImportTypes, integer } from "tachi-common"; + +/** + * Creates an OrphanedScore document from the data and context, + * and inserts it into the DB if it is not already in there. + * + * @returns Returns { success: true | false, orphanID } + */ +export async function OrphanScore( + importType: T, + userID: integer, + data: ImportTypeDataMap[T], + context: ImportTypeContextMap[T], + errMsg: string | null, + game: Game, + logger: KtLogger +) { + const orphan: Pick = { + importType, + data, + context, + userID, + }; + + logger.debug("Orphaning document", orphan); + + let orphanID; + + try { + orphanID = `O${fjsh.hash(orphan, "sha256")}`; + } catch (err) { + logger.error(`Failed to orphan chart -- `, { err, orphan }); + throw new Error(`Failed to orphan chart. ${(err as Error).message}`); + } + + const exists = await db["orphan-scores"].findOne({ orphanID }); + + if (exists) { + logger.debug(`Skipped orphaning score ${orphanID} because it already exists.`); + return { success: false, orphanID }; + } + + const orphanScoreDoc: OrphanScoreDocument = { + ...orphan, + orphanID, + game, + errMsg, + timeInserted: Date.now(), + }; + + logger.debug(`Inserting orphanScoreDoc...`, orphanScoreDoc); + + await db["orphan-scores"].insert(orphanScoreDoc); + + return { success: true, orphanID }; +} + +/** + * Takes an orphan document and re-runs the converter->scoreimport pipeline on its data. + * + * @returns False if no parent documents could be found for the score again, + * Null if the orphan document was removed, but no score was inserted (i.e. score was orphaned AND invalid, so nothing + * could be imported when parents were found). + * ImportProcessingInfo on success. + */ +export async function ReprocessOrphan( + orphan: OrphanScoreDocument, + blacklist: Array, + logger: KtLogger +) { + const ConverterFunction = Converters[orphan.importType] as ConverterFunction< + ImportTypeDataMap[ImportTypes], + ImportTypeContextMap[ImportTypes] + >; + + let res: ConverterFnReturnOrFailure; + + try { + res = await ConverterFunction(orphan.data, orphan.context, orphan.importType, logger); + } catch (err) { + // this is impossible to test, so we're going to ignore it + /* istanbul ignore next */ + if (!(err instanceof ConverterFailure)) { + logger.error(`Converter function ${orphan.importType} returned unexpected error.`, { + err, + }); + + // throw this higher up, i guess. + throw err; + } + + res = err; + } + + // If the data still can't be found, we do nothing about it. + if (res instanceof KTDataNotFoundFailure) { + logger.debug(`Unorphaning ${orphan.orphanID} failed. (${res.message})`); + return false; + } else if (res instanceof InternalFailure) { + logger.error(`Orphan Internal Failure - ${res.message}, OrphanID ${orphan.orphanID}`); + + return false; + } else if (res instanceof ConverterFailure) { + logger.warn( + `received ConverterFailure ${res.message} on orphan ${orphan.orphanID}. Removing orphan.` + ); + + // @danger - This could go terribly, if there's a mistake in the converterFN we might accidentally + // remove a users score. + await db["orphan-scores"].remove({ orphanID: orphan.orphanID }); + + return null; + } + + await db["orphan-scores"].remove({ orphanID: orphan.orphanID }); + + // else, import the orphan. + const converterReturns = await ProcessSuccessfulConverterReturn( + orphan.userID, + res, + blacklist, + logger, + true + ); + + if (converterReturns === null || !converterReturns.success) { + return null; + } + + const user = await GetUserWithID(orphan.userID); + + if (!user) { + logger.severe( + `Orphan ${orphan.orphanID} belongs to ${orphan.userID}, but that user no longer exists in the database. Going to skip this and remove the orphan.` + ); + return null; + } + + await HandlePostImportSteps( + [converterReturns], + user, + orphan.importType, + orphan.game, + null, + logger, + undefined + ); + + return converterReturns; +} diff --git a/server/src/lib/score-import/framework/pb/create-pb-doc.test.ts b/server/src/lib/score-import/framework/pb/create-pb-doc.test.ts new file mode 100644 index 000000000..69765301a --- /dev/null +++ b/server/src/lib/score-import/framework/pb/create-pb-doc.test.ts @@ -0,0 +1,200 @@ +import { CreatePBDoc } from "./create-pb-doc"; +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { GetGamePTConfig } from "tachi-common"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { Testing511SPA, TestingBMS7KScore, TestingIIDXSPScore } from "test-utils/test-data"; +import type { KtLogger } from "lib/logger/logger"; + +const IIDXScore = TestingIIDXSPScore; + +const logger = CreateLogCtx(__filename); + +const lamps = GetGamePTConfig("iidx", "SP").lamps; + +t.test("#CreatePBDoc", (t) => { + t.beforeEach(ResetDBState); + + const chartID = Testing511SPA.chartID; + + const ExamplePBDoc = { + chartID, + userID: 1, + songID: 1, + + // rankingData -- is not present because it is not added until post-processing. + highlight: false, + isPrimary: true, + timeAchieved: 1619454485988, + game: "iidx", + playtype: "SP", + composedFrom: { + scorePB: IIDXScore.scoreID, + lampPB: "LAMP_PB_ID", + }, + scoreData: { + score: IIDXScore.scoreData.score, + percent: IIDXScore.scoreData.percent, + esd: IIDXScore.scoreData.esd, + grade: IIDXScore.scoreData.grade, + gradeIndex: IIDXScore.scoreData.gradeIndex, + judgements: IIDXScore.scoreData.judgements, + lamp: "FULL COMBO", + lampIndex: lamps.indexOf("FULL COMBO"), + hitMeta: { bp: 1 }, + }, + calculatedData: { + ktLampRating: 12, + }, + }; + + t.test( + "(IIDX) Should use the GameSpecificMergeFN to also join the BP PB if necessary.", + async (t) => { + await db.scores.remove({}); + await db.scores.insert([ + IIDXScore, + deepmerge(IIDXScore, { + scoreData: { + lamp: "FULL COMBO", + lampIndex: lamps.indexOf("FULL COMBO"), + score: 0, + percent: 0, + hitMeta: { + bp: 15, + }, + }, + calculatedData: { + ktLampRating: 12, + }, + scoreID: "LAMP_PB_ID", + }), + deepmerge(IIDXScore, { + scoreData: { + lamp: "CLEAR", + lampIndex: lamps.indexOf("CLEAR"), + score: 1, + percent: 1, + hitMeta: { + bp: 5, + }, + }, + calculatedData: { + ktLampRating: 10, + }, + scoreID: "BP_PB_ID", + }), + ]); + + const res = await CreatePBDoc(1, chartID, logger); + + t.not(res, undefined, "Should actually return something."); + + t.strictSame( + res, + deepmerge(ExamplePBDoc, { + composedFrom: { + other: [{ name: "Best BP", scoreID: "BP_PB_ID" }], + }, + scoreData: { + hitMeta: { + bp: 5, + gsm: null, + gauge: null, + gaugeHistory: null, + }, + }, + }), + "Should correctly return a merged PBDocument with BP" + ); + + t.end(); + } + ); + + t.test("Should merge a score and lamp PB into one document.", async (t) => { + const d = deepmerge(IIDXScore, { + scoreData: { + lamp: "FULL COMBO", + lampIndex: lamps.indexOf("FULL COMBO"), + score: 0, + percent: 0, + hitMeta: { + bp: 1, + }, + }, + calculatedData: { + ktLampRating: 12, + }, + scoreID: "LAMP_PB_ID", + }); + + await db.scores.remove({}); + await db.scores.insert([IIDXScore, d]); + + const res = await CreatePBDoc(1, chartID, logger); + + t.not(res, undefined, "Should actually return something."); + + t.strictSame(res, ExamplePBDoc, "Should correctly return a merged PBDocument"); + + t.end(); + }); + + t.test("Should bail safely if no score exists when one should", async (t) => { + // a work of genius + const fakeLogger = { + severe: () => (severeCalled = true), + } as unknown as KtLogger; + + let severeCalled = false; + + await db.scores.remove({}); + + const res = await CreatePBDoc(1, chartID, fakeLogger); + + t.equal(res, undefined, "Should return nothing (and emit a warning)"); + + t.equal(severeCalled, true, "Severe logging should have been called."); + + t.end(); + }); + + t.test("(BMS) Should inherit sieglinde from the higher rated score.", async (t) => { + await db.scores.remove({}); + await db.scores.insert([ + TestingBMS7KScore, + deepmerge(TestingBMS7KScore, { + scoreData: { + lamp: "FULL COMBO", + lampIndex: lamps.indexOf("FULL COMBO"), + score: 0, + percent: 0, + hitMeta: { + bp: 15, + }, + }, + calculatedData: { + sieglinde: 500, + }, + scoreID: "LAMP_PB_ID", + }), + ]); + + const res = await CreatePBDoc(1, TestingBMS7KScore.chartID, logger); + + t.not(res, undefined, "Should actually return something."); + + t.equal( + res?.calculatedData.sieglinde, + 500, + "Should select the lampPBs sieglinde and not the score PBs." + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/framework/pb/create-pb-doc.ts b/server/src/lib/score-import/framework/pb/create-pb-doc.ts new file mode 100644 index 000000000..3d186d906 --- /dev/null +++ b/server/src/lib/score-import/framework/pb/create-pb-doc.ts @@ -0,0 +1,192 @@ +import { + BMSMergeFn, + IIDXMergeFn, + PopnMergeFn, + SDVXMergeFn, + USCMergeFn, +} from "./game-specific-merge"; +import db from "external/mongo/db"; +import type { KtLogger } from "lib/logger/logger"; +import type { BulkWriteUpdateOneOperation } from "mongodb"; +import type { Game, integer, PBScoreDocument, ScoreDocument } from "tachi-common"; + +export type PBScoreDocumentNoRank = Omit; + +export async function CreatePBDoc(userID: integer, chartID: string, logger: KtLogger) { + const scorePB = await db.scores.findOne( + { + userID, + chartID, + }, + { + sort: { + "scoreData.percent": -1, + }, + } + ); + + if (!scorePB) { + logger.severe( + `User ${userID} has no scores on chart, but a PB was attempted to be created?`, + { + chartID, + userID, + } + ); + return; + } + + const lampPB = (await db.scores.findOne( + { + userID, + chartID, + }, + { + sort: { + "scoreData.lampIndex": -1, + }, + } + )) as ScoreDocument; + + // ^ guaranteed to not be null, as this always resolves + // to atleast one score (and we got ScorePB above, so we know there's + // atleast one). + + const pbDoc = await MergeScoreLampIntoPB(userID, scorePB, lampPB, logger); + + if (!pbDoc) { + return; + } + + // finally, return our full pbDoc, that does NOT have the ranking props. + // (We will add those later) + return pbDoc; +} + +/** + * Updates user's rankings on a given chart. + */ +export async function UpdateChartRanking(chartID: string) { + const scores = await db["personal-bests"].find( + { chartID }, + { + sort: { + "scoreData.percent": -1, + timeAchieved: -1, + }, + } + ); + + const bwrite: Array> = []; + + let rank = 0; + + for (const score of scores) { + rank++; + + bwrite.push({ + updateOne: { + filter: { chartID: score.chartID, userID: score.userID }, + update: { + $set: { + rankingData: { + rank, + outOf: scores.length, + }, + }, + }, + }, + }); + } + + // If a score is deleted such that the chart is now empty of + // scores, the below statement will crash with no op specified. + if (bwrite.length === 0) { + return; + } + + await db["personal-bests"].bulkWrite(bwrite, { ordered: false }); +} + +async function MergeScoreLampIntoPB( + userID: integer, + scorePB: ScoreDocument, + lampPB: ScoreDocument, + logger: KtLogger +): Promise { + // @hack + // since time cannot be negative, this is a rough hack + // to resolve nullable timeAchieveds without hitting NaN. + let timeAchieved: number | null = Math.max( + scorePB.timeAchieved ?? -1, + lampPB.timeAchieved ?? -1 + ); + + if (timeAchieved === -1) { + timeAchieved = null; + } + + const pbDoc: PBScoreDocumentNoRank = { + composedFrom: { + scorePB: scorePB.scoreID, + lampPB: lampPB.scoreID, + }, + chartID: scorePB.chartID, + userID, + songID: scorePB.songID, + highlight: scorePB.highlight || lampPB.highlight, + timeAchieved, + game: scorePB.game, + playtype: scorePB.playtype, + isPrimary: scorePB.isPrimary, + scoreData: { + score: scorePB.scoreData.score, + percent: scorePB.scoreData.percent, + esd: scorePB.scoreData.esd, + grade: scorePB.scoreData.grade, + gradeIndex: scorePB.scoreData.gradeIndex, + lamp: lampPB.scoreData.lamp, + lampIndex: lampPB.scoreData.lampIndex, + judgements: scorePB.scoreData.judgements, + + // this will probably be overrode by game-specific fns + hitMeta: scorePB.scoreData.hitMeta, + }, + calculatedData: scorePB.calculatedData, + }; + + const GameSpecificMergeFn = GetGameSpecificMergeFn(scorePB.game); + + if (GameSpecificMergeFn) { + // @ts-expect-error Yeah, this call sucks. It correctly warns us that scorePB and lampPB + // might've diverged, but we know they haven't. + const success = await GameSpecificMergeFn(pbDoc, scorePB, lampPB, logger); + + // If the mergeFn returns false, this means something has gone + // rather wrong. We just return undefined here, which in turn + // tells our calling code to skip this PB entirely. + if (!success) { + return; + } + } + + return pbDoc; +} + +function GetGameSpecificMergeFn(game: Game) { + switch (game) { + case "iidx": + return IIDXMergeFn; + case "usc": + return USCMergeFn; + case "sdvx": + return SDVXMergeFn; + case "popn": + return PopnMergeFn; + case "bms": + case "pms": + return BMSMergeFn; + default: + return null; + } +} diff --git a/server/src/lib/score-import/framework/pb/game-specific-merge.ts b/server/src/lib/score-import/framework/pb/game-specific-merge.ts new file mode 100644 index 000000000..d23f4a4fc --- /dev/null +++ b/server/src/lib/score-import/framework/pb/game-specific-merge.ts @@ -0,0 +1,143 @@ +import { InternalFailure } from "../common/converter-failures"; +import db from "external/mongo/db"; +import { Volforce } from "rg-stats"; +import { FindChartWithChartID } from "utils/queries/charts"; +import type { KtLogger } from "lib/logger/logger"; +import type { PBScoreDocument, ScoreDocument } from "tachi-common"; + +export async function IIDXMergeFn( + pbDoc: PBScoreDocument<"iidx:DP" | "iidx:SP">, + scorePB: ScoreDocument<"iidx:DP" | "iidx:SP">, + lampPB: ScoreDocument<"iidx:DP" | "iidx:SP">, + logger: KtLogger +): Promise { + // lampRating needs to be updated. + pbDoc.calculatedData.ktLampRating = lampPB.calculatedData.ktLampRating; + + // bad+poor PB document. This is a weird, third indepdenent metric that IIDX players sometimes care about. + const bpPB = (await db.scores.findOne( + { + userID: scorePB.userID, + chartID: scorePB.chartID, + "scoreData.hitMeta.bp": { $exists: true }, + }, + { + sort: { + // bp 0 is the best BP, bp 1 is worse, so on + "scoreData.hitMeta.bp": 1, + }, + } + )) as ScoreDocument<"iidx:DP" | "iidx:SP"> | null; + + if (!bpPB) { + logger.verbose( + `Could not find BP PB for ${scorePB.userID} ${scorePB.chartID} in PB joining. User likely has no scores with BP defined.`, + { pbDoc } + ); + + // this isn't actually an error! we just don't have to do anything. + return true; + } + + // by default scorePB is chosen for hitMeta fields, so, we can skip any assignments here by returning here. + if (bpPB.scoreID === scorePB.scoreID) { + logger.debug(`Skipped merging BP PB as scorePB was also BP PB.`); + return true; + } else if (bpPB.scoreID === lampPB.scoreID) { + pbDoc.scoreData.hitMeta.bp = lampPB.scoreData.hitMeta.bp; + logger.debug(`Skipped adding BP PB as composedFrom because lampPB was also BP PB.`); + return true; + } + + pbDoc.scoreData.hitMeta.bp = bpPB.scoreData.hitMeta.bp!; + + pbDoc.composedFrom.other = [{ name: "Best BP", scoreID: bpPB.scoreID }]; + + // Update lamp related iidx-specific info from the lampPB. + pbDoc.scoreData.hitMeta.gsm = lampPB.scoreData.hitMeta.gsm ?? null; + pbDoc.scoreData.hitMeta.gauge = lampPB.scoreData.hitMeta.gauge ?? null; + pbDoc.scoreData.hitMeta.gaugeHistory = lampPB.scoreData.hitMeta.gaugeHistory ?? null; + + return true; +} + +export function PopnMergeFn( + pbDoc: PBScoreDocument<"popn:9B">, + scorePB: ScoreDocument<"popn:9B">, + lampPB: ScoreDocument<"popn:9B">, + _logger: KtLogger +) { + pbDoc.scoreData.hitMeta.specificClearType = lampPB.scoreData.hitMeta.specificClearType; + + return true; +} + +export function BMSMergeFn( + pbDoc: PBScoreDocument<"bms:7K" | "bms:14K">, + scorePB: ScoreDocument<"bms:7K" | "bms:14K">, + lampPB: ScoreDocument<"bms:7K" | "bms:14K">, + _logger: KtLogger +) { + pbDoc.calculatedData.sieglinde = lampPB.calculatedData.sieglinde; + + return true; +} + +/** + * This function recalculates and applies VF6 to the PB document. + * + * This is near-identical to the SDVXMergeFn. See that. + */ +export async function USCMergeFn( + pbDoc: PBScoreDocument<"usc:Controller" | "usc:Keyboard">, + scorePB: ScoreDocument<"usc:Controller" | "usc:Keyboard">, + lampPB: ScoreDocument<"usc:Controller" | "usc:Keyboard">, + logger: KtLogger +) { + // @optimisable - see SDVXMergeFn + const chart = await FindChartWithChartID("usc", pbDoc.chartID); + + if (!chart) { + logger.severe(`Chart ${pbDoc.chartID} disappeared underfoot?`); + throw new InternalFailure(`Chart ${pbDoc.chartID} disappeared underfoot?`); + } + + pbDoc.calculatedData.VF6 = Volforce.calculateVF6( + pbDoc.scoreData.score, + pbDoc.scoreData.lamp, + chart.levelNum + ); + + return true; +} + +/** + * This function recalculates and applies VF6 to the PB document. + * + * SDVX cannot just select the larger volforce - instead, volforce has to be + * re-calculated for any different permutation of scorePB + lampPB. + */ +export async function SDVXMergeFn( + pbDoc: PBScoreDocument<"sdvx:Single">, + scorePB: ScoreDocument<"sdvx:Single">, + lampPB: ScoreDocument<"sdvx:Single">, + logger: KtLogger +): Promise { + // @optimisable + // This is a re-fetch, but it's difficult to pass the chart all + // the way down here due to how chartIDs (set) works. :( + const chart = await FindChartWithChartID("sdvx", pbDoc.chartID); + + if (!chart) { + logger.severe(`Chart ${pbDoc.chartID} disappeared underfoot?`); + throw new InternalFailure(`Chart ${pbDoc.chartID} disappeared underfoot?`); + } + + pbDoc.calculatedData.VF6 = Volforce.calculateVF6( + pbDoc.scoreData.score, + pbDoc.scoreData.lamp, + chart.levelNum + ); + + return true; +} diff --git a/server/src/lib/score-import/framework/pb/process-pbs.test.ts b/server/src/lib/score-import/framework/pb/process-pbs.test.ts new file mode 100644 index 000000000..2167591f7 --- /dev/null +++ b/server/src/lib/score-import/framework/pb/process-pbs.test.ts @@ -0,0 +1,61 @@ +import { ProcessPBs } from "./process-pbs"; +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { Testing511SPA, TestingIIDXSPScore } from "test-utils/test-data"; +import crypto from "crypto"; + +const logger = CreateLogCtx(__filename); + +t.test("#ProcessPBs", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should successfully insert a pb into the score-pb database", async (t) => { + await db["personal-bests"].remove({}); + + // scores on 511 SPA are pre-loaded into the database + await ProcessPBs(1, new Set([Testing511SPA.chartID]), logger); + + const pbs = await db["personal-bests"].find({}); + + t.equal(pbs.length, 1, "Should match the amount of PBs inserted into the DB."); + + t.end(); + }); + + t.test("Should successfully insert multiple pbs into the score-pb database", async (t) => { + await db["personal-bests"].remove({}); + + await db.scores.insert([ + // @ts-expect-error lol + deepmerge(TestingIIDXSPScore, { + chartID: "test1", + scoreID: crypto.randomBytes(20).toString("hex"), + }), + + // @ts-expect-error lol + deepmerge(TestingIIDXSPScore, { + chartID: "test2", + scoreID: crypto.randomBytes(20).toString("hex"), + }), + + // @ts-expect-error lol + deepmerge(TestingIIDXSPScore, { + chartID: "test3", + scoreID: crypto.randomBytes(20).toString("hex"), + }), + ]); + + await ProcessPBs(1, new Set([Testing511SPA.chartID, "test1", "test2", "test3"]), logger); + + const pbs = await db["personal-bests"].find({}); + + t.equal(pbs.length, 4, "Should match the amount of PBs inserted into the DB."); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/framework/pb/process-pbs.ts b/server/src/lib/score-import/framework/pb/process-pbs.ts new file mode 100644 index 000000000..2a51addb7 --- /dev/null +++ b/server/src/lib/score-import/framework/pb/process-pbs.ts @@ -0,0 +1,64 @@ +import { CreatePBDoc, UpdateChartRanking } from "./create-pb-doc"; +import db from "external/mongo/db"; +import type { PBScoreDocumentNoRank } from "./create-pb-doc"; +import type { KtLogger } from "lib/logger/logger"; +import type { integer } from "tachi-common"; + +/** + * Process, recalculate and update a users PBs for this set of chartIDs. + */ +export async function ProcessPBs( + userID: integer, + chartIDs: Set, + logger: KtLogger +): Promise { + if (chartIDs.size === 0) { + return; + } + + const promises = []; + + for (const chartID of chartIDs) { + promises.push(CreatePBDoc(userID, chartID, logger)); + } + + const pbDocsReturn = await Promise.all(promises); + + const pbDocs: Array = []; + + for (const doc of pbDocsReturn) { + if (!doc) { + continue; + } + + pbDocs.push(doc); + } + + if (pbDocsReturn.length === 0) { + return; + } + + // so here's the kinda awkward part - for the time between this operation + // and the next one - THE SCORE PBS ARE IN THE DATABASE WITHOUT RANKINGDATA. + // this *is* bad behaviour, but I don't have a nice way to fix it. + // This should be fixed in the future to avoid crashes between these two + // calls - but that is unlikely. + await db["personal-bests"].bulkWrite( + pbDocs.map((e) => ({ + updateOne: { + filter: { chartID: e.chartID, userID: e.userID }, + update: { $set: e }, + upsert: true, + }, + })), + { + ordered: false, + } + ); + + // now that everything has been updated or inserted, we can refresh + // the chart rankings. + await Promise.all(pbDocs.map((e) => UpdateChartRanking(e.chartID))); + + // and we're done! +} diff --git a/server/src/lib/score-import/framework/score-import.ts b/server/src/lib/score-import/framework/score-import.ts new file mode 100644 index 000000000..141d0461d --- /dev/null +++ b/server/src/lib/score-import/framework/score-import.ts @@ -0,0 +1,103 @@ +/* eslint-disable no-await-in-loop */ +import { GetInputParser } from "./common/get-input-parser"; +import ScoreImportFatalError from "./score-importing/score-import-error"; +import ScoreImportMain from "./score-importing/score-import-main"; +import ScoreImportQueue, { ScoreImportQueueEvents } from "../worker/queue"; +import { JOB_RETRY_COUNT } from "lib/constants/tachi"; +import CreateLogCtx from "lib/logger/logger"; +import { ServerConfig } from "lib/setup/config"; +import { Sleep } from "utils/misc"; +import type { ScoreImportJobData, ScoreImportWorkerReturns } from "../worker/types"; +import type { ImportDocument, ImportTypes, integer } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +/** + * Makes a score import given ScoreImportJobData. + * If USE_EXTERNAL_SCORE_IMPORT_WORKER is set, then this will instead + * place this on the score import queue, and the worker will process it. + * + * Otherwise, it will just perform score importing on the same process. + * @returns An import document if awaited, however, you should not + * await this if you don't need the import document! Import Documents + * may take multiple minutes to generate for large imports. If you control + * the client, make it poll /api/v1/ongoing-imports/:importID. + */ +export async function MakeScoreImport( + jobData: ScoreImportJobData +): Promise { + if (ServerConfig.USE_EXTERNAL_SCORE_IMPORT_WORKER && process.env.IS_JOB === undefined) { + let timesAttempted = 1; + + // There's no chance this thing goes on 7 times. + // if it does, this import has been trying for the past 6 hours or so. + while (timesAttempted <= JOB_RETRY_COUNT) { + const job = await ScoreImportQueue.add( + `Import ${jobData.importID}${timesAttempted > 0 ? ` (TRY${timesAttempted})` : ""}`, + jobData, + { + jobId: `${jobData.importID}:TRY${timesAttempted}`, + } + ); + + const data = (await job.waitUntilFinished( + ScoreImportQueueEvents + )) as ScoreImportWorkerReturns; + + if (data.success) { + return data.importDocument; + } else if (data.statusCode !== 409) { + throw new ScoreImportFatalError(data.statusCode, data.description); + } + + const backoff = ExponentialBackoff(timesAttempted - 1); + + logger.info( + `User ${jobData.userID} already had an import ongoing. (${ + jobData.importID + }) Backing off for ${(backoff / 1_000).toFixed(2)} seconds.` + ); + + // If we get here, we were 409'd and the user already has an ongoing + // import. + // In the interest of not just throwing scores away, we'll back off a bit + // and then restart the job. + await Sleep(backoff); + + timesAttempted++; + } + + logger.error( + `User ${jobData.userID} didn't get an import through in around 6 hours. Has their lock gotten stuck?`, + jobData + ); + + throw new ScoreImportFatalError( + 409, + "Couldn't get an import through in the past 6 hours, at all." + ); + } else { + const InputParser = GetInputParser(jobData); + + return ScoreImportMain( + jobData.userID, + jobData.userIntent, + jobData.importType, + InputParser, + jobData.importID + ); + } +} + +function ExponentialBackoff(exponent: integer) { + // n | backoff + // 0 | 4 Seconds + // 1 | 16 Seconds + // 2 | 64 Seconds + // 3 | 256 Seconds + // 4 | 1024 Seconds + // ... + // ends at 7, which is around 4 hours. + + return 1000 * 4 ** (exponent + 1); +} diff --git a/server/src/lib/score-import/framework/score-importing/hydrate-score.test.ts b/server/src/lib/score-import/framework/score-importing/hydrate-score.test.ts new file mode 100644 index 000000000..154db9c93 --- /dev/null +++ b/server/src/lib/score-import/framework/score-importing/hydrate-score.test.ts @@ -0,0 +1,5 @@ +import t from "tap"; + +t.todo("#HydrateScore", (t) => { + t.end(); +}); diff --git a/server/src/lib/score-import/framework/score-importing/hydrate-score.ts b/server/src/lib/score-import/framework/score-importing/hydrate-score.ts new file mode 100644 index 000000000..8238a0b90 --- /dev/null +++ b/server/src/lib/score-import/framework/score-importing/hydrate-score.ts @@ -0,0 +1,61 @@ +import { CreateCalculatedData } from "../calculated-data/calculated-data"; +import { CalculateESDForGame } from "../common/score-utils"; +import { GetGamePTConfig } from "tachi-common"; +import type { DryScore } from "../common/types"; +import type { KtLogger } from "lib/logger/logger"; +import type { ChartDocument, integer, ScoreDocument, SongDocument } from "tachi-common"; + +/** + * Takes an "intermediate" score and appends the rest of the data it needs. + * @param dryScore The intermediate score to make into a real score. + * @param userID The userID this score is for. + */ +export async function HydrateScore( + userID: integer, + dryScore: DryScore, + chart: ChartDocument, + song: SongDocument, + scoreID: string, + logger: KtLogger +): Promise { + const esd = CalculateESDForGame( + dryScore.game, + chart.playtype, + dryScore.scoreData.percent / 100 + ); + + const calculatedData = await CreateCalculatedData(dryScore, chart, esd, logger); + + const { scoreData: dryScoreData, ...rest } = dryScore; + + const gptConfig = GetGamePTConfig(dryScore.game, chart.playtype); + + // Fill out the rest of the fields we want for scoreData + const scoreData = { + lampIndex: gptConfig.lamps.indexOf(dryScore.scoreData.lamp), + gradeIndex: gptConfig.grades.indexOf(dryScore.scoreData.grade), + esd, + ...dryScoreData, + }; + + const score: ScoreDocument = { + // extract all of the non-scoreData props from a dry score and push them here + ...rest, + + // then push our score data. + scoreData, + + // everything below this point is sane + highlight: false, + timeAdded: Date.now(), + userID, + calculatedData, + songID: song.id, + chartID: chart.chartID, + scoreID, + playtype: chart.playtype, + isPrimary: chart.isPrimary, + }; + + return score; +} diff --git a/server/src/lib/score-import/framework/score-importing/insert-score.test.ts b/server/src/lib/score-import/framework/score-importing/insert-score.test.ts new file mode 100644 index 000000000..4b2f6062a --- /dev/null +++ b/server/src/lib/score-import/framework/score-importing/insert-score.test.ts @@ -0,0 +1,155 @@ +import { InsertQueue, QueueScoreInsert } from "./insert-score"; +import db from "external/mongo/db"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import type { ScoreDocument } from "tachi-common"; + +// these two get the same tests, because they're too closely linked +t.test("#QueueScoreInsert, #InsertQueue", async (t) => { + t.beforeEach(ResetDBState); + + // empty scoreDB after + t.afterEach(async () => { + await db.scores.remove({}); + }); + + t.test("Single Queue Test", async (t) => { + // fake score doc + const res = await QueueScoreInsert({ + scoreID: "foo", + userID: 1, + } as unknown as ScoreDocument); + + t.equal( + res, + true, + "QueueScoreInsert should not insert a score when the queue is not full." + ); + + // this is the best way to get the size of the queue + const flushSize = await InsertQueue(1); + + t.equal(flushSize, 1, "QueueScoreInsert should append the score to the queue."); + + const dbRes = await db.scores.find({ + scoreID: "foo", + }); + + t.equal( + dbRes.length, + 1, + "InsertQueue should insert all 1 members of the queue into the database." + ); + + t.end(); + }); + + // flush queue just incase former test fails. + let r = await InsertQueue(1); + + t.test("Queue Overflow Test", async (t) => { + for (let i = 0; i < 499; i++) { + // eslint-disable-next-line no-await-in-loop + await QueueScoreInsert({ + scoreID: i, + chartID: "test", + userID: 1, + } as unknown as ScoreDocument); + } + + const overflowRes = await QueueScoreInsert({ + scoreID: "foo", + chartID: "test", + userID: 1, + } as unknown as ScoreDocument); + + t.equal( + overflowRes, + 500, + "Appending 500 items to the queue should result in them being inserted." + ); + + const flushRes = await InsertQueue(1); + + t.equal(flushRes, 0, "The queue should now be empty."); + + const dbRes = await db.scores.find({ + scoreID: { $exists: true }, + chartID: "test", + }); + + t.equal( + dbRes.length, + 500, + "InsertQueue should insert all 500 members of the queue into the database." + ); + + t.end(); + }); + + // flush queue just incase former test fails. + r = await InsertQueue(1); + + t.equal(r, 0, "Queue should be empty after test."); + + t.test("Queue Dedupe Test", async (t) => { + await QueueScoreInsert({ + scoreID: 1, + chartID: "foo", + userID: 1, + } as unknown as ScoreDocument); + const r2 = await QueueScoreInsert({ + scoreID: 1, + chartID: "foo", + userID: 1, + } as unknown as ScoreDocument); + + t.equal(r2, null, "Should return null when a duplicate scoreID is submitted"); + + const flushRes = await InsertQueue(1); + + t.equal(flushRes, 1, "Should flush 1 score document"); + + const dbRes = await db.scores.find({ + chartID: "foo", + }); + + t.equal(dbRes.length, 1, "Should only insert one document"); + }); + + t.test("Should give separate users separate queues.", async (t) => { + await QueueScoreInsert({ + scoreID: "1", + chartID: "foo", + userID: 1, + } as unknown as ScoreDocument); + await QueueScoreInsert({ + scoreID: "2", + chartID: "foo", + userID: 2, + } as unknown as ScoreDocument); + + const r1 = await InsertQueue(1); + + t.equal(r1, 1, "Queue for userID 1 should have length 1."); + + const r2 = await InsertQueue(2); + + t.equal(r2, 1, "Queue for userID 2 should also have length 1."); + + t.end(); + }); + + t.test("Should not throw if InsertQueue is called on an empty queue.", async (t) => { + try { + await InsertQueue(1); + t.pass("Did not throw when inserting an empty queue."); + } catch (err) { + t.fail((err as Error).message); + } + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/framework/score-importing/insert-score.ts b/server/src/lib/score-import/framework/score-importing/insert-score.ts new file mode 100644 index 000000000..a3ccc0e6a --- /dev/null +++ b/server/src/lib/score-import/framework/score-importing/insert-score.ts @@ -0,0 +1,105 @@ +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import type { ScoreDocument, integer } from "tachi-common"; + +const logger = CreateLogCtx(__filename); +const MAX_PIPELINE_LENGTH = 500; + +interface ScoreQueue { + queue: Array; + scoreIDSet: Set; +} + +const ScoreQueues: Record = {}; + +/** + * Returns this user's score queue. A score queue is a temporary place scores are saved + * so that they can be inserted into the database in bulk. + * + * This massively improves performance on large imports instead of constantly running single imports. + * + * If a score queue does not exist for the user, one is created. + */ +function GetOrSetScoreQueue(userID: integer) { + const queue = ScoreQueues[userID]; + + if (!queue) { + return SetScoreQueue(userID); + } + + return queue; +} + +export function GetScoreQueueMaybe(userID: integer): ScoreQueue | undefined { + return ScoreQueues[userID]; +} + +function SetScoreQueue(userID: integer) { + const queue: ScoreQueue = { + queue: [], + scoreIDSet: new Set(), + }; + + ScoreQueues[userID] = queue; + + return queue; +} + +/** + * Adds a new score to the given queue. + */ +function AddToScoreQueue(scoreQueue: ScoreQueue, score: ScoreDocument) { + scoreQueue.queue.push(score); + scoreQueue.scoreIDSet.add(score.scoreID); +} + +export async function InsertQueue(userID: integer) { + const scoreQueue = GetOrSetScoreQueue(userID); + + const queuedScores = scoreQueue.queue.splice(0); + + if (queuedScores.length !== 0) { + // Yeah, this is sketchy. Ah well. + // eslint-disable-next-line @typescript-eslint/no-dynamic-delete + delete ScoreQueues[userID]; + + try { + await db.scores.insert(queuedScores); + } catch (err) { + logger.warn( + `Triggered duplicate key protection. Race condition protected against, but this is not good.`, + { err } + ); + return null; + } + } + + return queuedScores.length; +} + +/** + * Adds a score to a queue to be inserted in batch to the database. + * @param score - The score document to queue. + * @returns True on success, The amount of scores inserted on auto-pipeline-flush, and null if + * the score provided is already loaded. + */ +export function QueueScoreInsert(score: ScoreDocument) { + const scoreQueue = GetOrSetScoreQueue(score.userID); + + if (scoreQueue.scoreIDSet.has(score.scoreID)) { + // skip + logger.verbose(`Score ID ${score.scoreID} was already queued to be imported.`); + return null; + } + + AddToScoreQueue(scoreQueue, score); + + logger.debug(`ScoreQueue for ${score.userID} is now at ${scoreQueue.queue.length}.`); + + if (scoreQueue.queue.length >= MAX_PIPELINE_LENGTH) { + logger.verbose(`Triggered pipeline flush with len ${scoreQueue.queue.length}.`); + return InsertQueue(score.userID); + } + + return true; +} diff --git a/server/src/lib/score-import/framework/score-importing/score-id.test.ts b/server/src/lib/score-import/framework/score-importing/score-id.test.ts new file mode 100644 index 000000000..306c9cef8 --- /dev/null +++ b/server/src/lib/score-import/framework/score-importing/score-id.test.ts @@ -0,0 +1,94 @@ +import { CreateScoreID, GetWithScoreID } from "./score-id"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { Testing511SPA, TestingIIDXSPDryScore } from "test-utils/test-data"; +import type { ScoreDocument } from "tachi-common"; + +t.test("#GetWithScoreID", async (t) => { + await ResetDBState(); + + const sc = await GetWithScoreID("TESTING_SCORE_ID"); + + t.not(sc, null, "Return a score for a valid score id"); + + const nl = await GetWithScoreID("INVALID SCORE ID"); + + t.equal(nl, null, "Should return null for score IDs it cannot resolve"); + + t.end(); +}); + +t.test("#CreateScoreID", (t) => { + const scoreID = CreateScoreID(1, TestingIIDXSPDryScore, Testing511SPA.chartID); + + t.match( + scoreID, + /^R[0-9a-f]{40}/u, + "Should return an R followed by 40 characters of lowercase hex as scoreID." + ); + + t.not( + scoreID, + CreateScoreID(2, TestingIIDXSPDryScore, Testing511SPA.chartID), + "Hash should be affected by userID." + ); + + t.equal( + scoreID, + CreateScoreID(1, TestingIIDXSPDryScore, Testing511SPA.chartID), + "ScoreIDs should be consistently generatable" + ); + + // duplicate score + const minimalScore = { + scoreData: { + percent: TestingIIDXSPDryScore.scoreData.percent, + score: TestingIIDXSPDryScore.scoreData.score, + grade: TestingIIDXSPDryScore.scoreData.grade, + lamp: TestingIIDXSPDryScore.scoreData.lamp, + }, + }; + + t.equal( + scoreID, + CreateScoreID(1, minimalScore as ScoreDocument, Testing511SPA.chartID), + "ScoreIDs should only be affected by score, percent, grade and lamp." + ); + + minimalScore.scoreData.percent = 0; + + t.not( + scoreID, + CreateScoreID(1, minimalScore as ScoreDocument, Testing511SPA.chartID), + "ScoreIDs should not produce the same value if percent is different." + ); + + minimalScore.scoreData.percent = TestingIIDXSPDryScore.scoreData.percent; + minimalScore.scoreData.score = 0; + + t.not( + scoreID, + CreateScoreID(1, minimalScore as ScoreDocument, Testing511SPA.chartID), + "ScoreIDs should not produce the same value if score is different." + ); + + minimalScore.scoreData.score = TestingIIDXSPDryScore.scoreData.score; + minimalScore.scoreData.lamp = "ASSIST CLEAR"; + + t.not( + scoreID, + CreateScoreID(1, minimalScore as ScoreDocument, Testing511SPA.chartID), + "ScoreIDs should not produce the same value if lamp is different." + ); + + minimalScore.scoreData.lamp = TestingIIDXSPDryScore.scoreData.lamp; + minimalScore.scoreData.grade = "F"; + + t.not( + scoreID, + CreateScoreID(1, minimalScore as ScoreDocument, Testing511SPA.chartID), + "ScoreIDs should not produce the same value if grade is different." + ); + + t.end(); +}); diff --git a/server/src/lib/score-import/framework/score-importing/score-id.ts b/server/src/lib/score-import/framework/score-importing/score-id.ts new file mode 100644 index 000000000..43bb41642 --- /dev/null +++ b/server/src/lib/score-import/framework/score-importing/score-id.ts @@ -0,0 +1,32 @@ +import db from "external/mongo/db"; +import crypto from "crypto"; +import type { DryScore } from "../common/types"; +import type { integer } from "tachi-common"; + +/** + * Performs sha256 hashing on the input data. + * @param scoreIDString - The string to sha256 hash. + * @returns A sha256 checksum in lowercase hex. + */ +function HashScoreIDString(scoreIDString: string) { + return crypto.createHash("sha256").update(scoreIDString).digest("hex"); +} + +/** + * Creates an identifier for this score. + * This is used to deduplicate repeated scores. + * @returns @see HashScoreIDString - prefixed with R. + */ +export function CreateScoreID(userID: integer, dryScore: DryScore, chartID: string) { + const hash = HashScoreIDString( + `${userID}|${chartID}|${dryScore.scoreData.lamp}|${dryScore.scoreData.grade}|${dryScore.scoreData.score}|${dryScore.scoreData.percent}` + ); + + return `R${hash}`; +} + +export function GetWithScoreID(scoreID: string) { + return db.scores.findOne({ + scoreID, + }); +} diff --git a/server/src/lib/score-import/framework/score-importing/score-import-error.test.ts b/server/src/lib/score-import/framework/score-importing/score-import-error.test.ts new file mode 100644 index 000000000..64327ce1d --- /dev/null +++ b/server/src/lib/score-import/framework/score-importing/score-import-error.test.ts @@ -0,0 +1,11 @@ +import ScoreImportFatalError from "./score-import-error"; +import t from "tap"; + +t.test("#new ScoreImportFatalError()", (t) => { + const err = new ScoreImportFatalError(500, "error message"); + + t.equal(err.statusCode, 500, "Should store the status code passed to it."); + t.equal(err.message, "error message", "Should store description as the error message."); + + t.end(); +}); diff --git a/server/src/lib/score-import/framework/score-importing/score-import-error.ts b/server/src/lib/score-import/framework/score-importing/score-import-error.ts new file mode 100644 index 000000000..38206fd20 --- /dev/null +++ b/server/src/lib/score-import/framework/score-importing/score-import-error.ts @@ -0,0 +1,16 @@ +/** + * Throw this if the ScoreImport needs to exit and return + * something to the user. This is used for expected errors, + * such as the user passing unparsable data. Unlike Failures, + * throwing this at any time will exit the *entire* score import + * process. + */ +export default class ScoreImportFatalError extends Error { + statusCode: number; + + constructor(statusCode: number, description: string) { + super(description); + + this.statusCode = statusCode; + } +} diff --git a/server/src/lib/score-import/framework/score-importing/score-import-main.ts b/server/src/lib/score-import/framework/score-importing/score-import-main.ts new file mode 100644 index 000000000..819e3a835 --- /dev/null +++ b/server/src/lib/score-import/framework/score-importing/score-import-main.ts @@ -0,0 +1,432 @@ +import ScoreImportFatalError from "./score-import-error"; +import { ImportAllIterableData } from "./score-importing"; +import { Converters } from "../../import-types/converters"; +import { InternalFailure } from "../common/converter-failures"; +import { CreateScoreLogger } from "../common/import-logger"; +import { GetAndUpdateUsersGoals } from "../goals/goals"; +import { CheckAndSetOngoingImportLock, UnsetOngoingImportLock } from "../import-locks/lock"; +import { UpdateUsersMilestones } from "../milestones/milestones"; +import { ProcessPBs } from "../pb/process-pbs"; +import { CreateSessions } from "../sessions/sessions"; +import { UpdateUsersGamePlaytypeStats } from "../user-game-stats/update-ugs"; +import db from "external/mongo/db"; +import { GetGameConfig } from "tachi-common"; +import { GetMillisecondsSince } from "utils/misc"; +import { GetUserWithID } from "utils/user"; +import type { ConverterFunction, ImportInputParser } from "../../import-types/common/types"; +import type { ScorePlaytypeMap } from "../common/types"; +import type { ClassHandler } from "../user-game-stats/types"; +import type { KtLogger } from "lib/logger/logger"; +import type { ScoreImportJob } from "lib/score-import/worker/types"; +import type { + Game, + IDStrings, + ImportDocument, + ImportProcessingInfo, + ImportTypes, + integer, + Playtype, + PublicUserDocument, +} from "tachi-common"; + +/** + * Performs a Score Import. + * + * If a job is passed, progress will be set throughout the job. + */ +export default async function ScoreImportMain( + userID: integer, + userIntent: boolean, + importType: ImportTypes, + InputParser: ImportInputParser, + importID: string, + providedLogger?: KtLogger, + job?: ScoreImportJob +) { + const user = await GetUserWithID(userID); + + if (!user) { + throw new InternalFailure( + `User with ID ${userID} does not exist, but attempted to make an import?` + ); + } + + let logger; + + if (!providedLogger) { + // If they weren't given to us - + // we create an "import logger". + // this holds a reference to the user's name, ID, and type + // of score import for any future debugging. + logger = CreateScoreLogger(user, importID, importType); + logger.debug("Received import request."); + } else { + logger = providedLogger; + } + + const hasNoOngoingImport = await CheckAndSetOngoingImportLock(user.id); + + if (hasNoOngoingImport) { + logger.info(`User ${userID} made an import while they had one ongoing.`); + + // @danger + // Throwing away an import if the user already has one outgoing is *bad*, as in the case + // of degraded performance we might just start throwing scores away. + // Under normal circumstances, there is no scenario where a user would have two ongoing + // imports at the same time - even if they were using single-score imports on a 5 second + // chart, as each score import takes only around ~10-15milliseconds. + throw new ScoreImportFatalError(409, "This user already has an ongoing import."); + } + + try { + const timeStarted = Date.now(); + + void SetJobProgress(job, "Parsing score data."); + + // --- 1. Parsing --- + // We get an iterable from the provided parser function, alongside some context and a converter function. + // This iterable does not have to be an array - it's anything that's iterable, like a generator. + const parseTimeStart = process.hrtime.bigint(); + const { iterable, context, game, classHandler } = await InputParser(logger); + + const parseTime = GetMillisecondsSince(parseTimeStart); + + logger.debug(`Parsing took ${parseTime} milliseconds.`); + + void SetJobProgress( + job, + `Parsed Score Data. Took ${parseTime}ms. Importing ${ + Array.isArray(iterable) ? iterable.length : "an unknown amount of" + } scores.` + ); + + // We have to cast here due to typescript generic confusions. This is guaranteed` to be correct. + const ConverterFunction = Converters[importType] as unknown as ConverterFunction; + + // --- 2. Importing --- + // ImportAllIterableData iterates over the iterable, applying the converter function to each bit of data. + const importTimeStart = process.hrtime.bigint(); + + let importInfo; + const startOfImportingScores = Date.now(); + + // Score imports are not transaction based. As such, if they fail midway through, corrupt state + // may occur. This sucks, but we can band-aid over some of the worse parts. Here, if our score + // import fails, we **know** that we might've inserted scores but not properly handled their + // state. If so, we should attempt to revert any of those scores. + // + // There are still places where Tachi can fail on importing scores and result in corrupt state, + // but this band-aid fix handles all known cases of a partial-import failure. + try { + importInfo = await ImportAllIterableData( + user.id, + importType, + iterable, + ConverterFunction, + context, + game, + logger, + job + ); + } catch (err) { + logger.error( + `An error was thrown from ImportAllIterableData, which has resulted in a potential partial-score-import. Undoing scores inserted from this import.`, + { err } + ); + + // Remove all scores from the database for this user which were imported after our timer started. + const r = await db.scores.remove({ + userID: user.id, + timeAdded: { $gte: startOfImportingScores }, + }); + + logger.error( + `Removed ${r.deletedCount} scores from the database to undo partial-import.` + ); + + throw err; + } + + const importTime = GetMillisecondsSince(importTimeStart); + const importTimeRel = importTime / importInfo.length; + + logger.debug(`Importing took ${importTime} milliseconds. (${importTimeRel}ms/doc)`); + + void SetJobProgress(job, `Imported scores, took ${importTime} milliseconds. `); + + // Steps 3-8 are handled inside here. + // This was moved inside here so the score de-orphaning process + // could hook into importing better + const { + playtypes, + scoreIDs, + errors, + sessionInfo, + classDeltas, + goalInfo, + milestoneInfo, + relativeTimes, + absoluteTimes, + } = await HandlePostImportSteps( + importInfo, + user, + importType, + game, + classHandler, + logger, + job + ); + + const { importParseTimeRel, pbTimeRel, sessionTimeRel } = relativeTimes; + const { importParseTime, sessionTime, pbTime, ugsTime, goalTime, milestoneTime } = + absoluteTimes; + + void SetJobProgress(job, "Finalising Import."); + + // --- 9. Finalise Import Document --- + // Create and Save an import document to the database, and finish everything up! + const ImportDocument: ImportDocument = { + importType, + idStrings: playtypes.map((e) => `${game}:${e}`) as Array, + scoreIDs, + playtypes, + game, + errors, + importID, + timeFinished: Date.now(), + timeStarted, + createdSessions: sessionInfo, + userID: user.id, + classDeltas, + goalInfo, + milestoneInfo, + userIntent, + }; + + const logMessage = `Import took: ${ImportDocument.timeFinished - timeStarted}ms, with ${ + importInfo.length + } documents (Fails: ${errors.length}, Successes: ${scoreIDs.length}, Sessions: ${ + sessionInfo.length + }). Aprx ${(ImportDocument.timeFinished - timeStarted) / importInfo.length}ms/doc`; + + // I only really want to log "big" imports. The others are here for debugging purposes. + if (scoreIDs.length > 500) { + logger.info(logMessage); + } else if (scoreIDs.length > 1) { + logger.verbose(logMessage); + } else { + logger.debug(logMessage); + } + + await db.imports.insert(ImportDocument); + + // we don't await this because we don't + // particularly care about waiting for it. + void db["import-timings"].insert({ + importID, + timestamp: Date.now(), + total: ImportDocument.timeFinished - timeStarted, + rel: { + import: importTimeRel, + importParse: importParseTimeRel, + pb: pbTimeRel, + session: sessionTimeRel, + }, + abs: { + parse: parseTime, + import: importTime, + importParse: importParseTime, + session: sessionTime, + pb: pbTime, + ugs: ugsTime, + goal: goalTime, + milestone: milestoneTime, + }, + }); + + return ImportDocument; + } finally { + await UnsetOngoingImportLock(user.id); + } +} + +/** + * Handles every single processing step after actually loading scores + * into the database, such as updating goals, reprocessing sessions, + * and updating a users game stats. + */ +export async function HandlePostImportSteps( + importInfo: Array, + user: PublicUserDocument, + importType: ImportTypes, + game: Game, + classHandler: ClassHandler | null, + logger: KtLogger, + job: ScoreImportJob | undefined +) { + // --- 3. ParseImportInfo --- + // ImportInfo is a relatively complex structure. We need some information from it for subsequent steps + // such as the list of chartIDs involved in this import. + const importParseTimeStart = process.hrtime.bigint(); + const { scorePlaytypeMap, errors, scoreIDs, chartIDs } = ParseImportInfo(importInfo); + + const importParseTime = GetMillisecondsSince(importParseTimeStart); + const importParseTimeRel = importParseTime / importInfo.length; + + logger.debug( + `Import Parsing took ${importParseTime} milliseconds. (${importParseTimeRel}ms/doc)` + ); + + void SetJobProgress(job, "Inserting Sessions."); + + // --- 4. Sessions --- + // We create (or update existing) sessions here. This uses the aforementioned parsed import info + // to determine what goes where. + const sessionTimeStart = process.hrtime.bigint(); + const sessionInfo = await CreateSessions(user.id, importType, game, scorePlaytypeMap, logger); + + const sessionTime = GetMillisecondsSince(sessionTimeStart); + const sessionTimeRel = sessionTime / sessionInfo.length; + + logger.debug(`Session Processing took ${sessionTime} milliseconds (${sessionTimeRel}ms/doc).`); + + void SetJobProgress(job, "Processing scores and updating PBs."); + + // --- 5. PersonalBests --- + // We want to keep an updated reference of a users best score on a given chart. + // This function also handles conjoining different scores together (such as unioning best lamp and + // best score). + const pbTimeStart = process.hrtime.bigint(); + + await ProcessPBs(user.id, chartIDs, logger); + + const pbTime = GetMillisecondsSince(pbTimeStart); + const pbTimeRel = pbTime / chartIDs.size; + + logger.debug(`PB Processing took ${pbTime} milliseconds (${pbTimeRel}ms/doc)`); + + const playtypes = Object.keys(scorePlaytypeMap) as Array; + + void SetJobProgress(job, "Updating profile statistics."); + + // --- 6. Game Stats --- + // This function updates the users "stats" for this game - such as their profile rating or their classes. + const ugsTimeStart = process.hrtime.bigint(); + const classDeltas = await UpdateUsersGameStats(game, playtypes, user.id, classHandler, logger); + + const ugsTime = GetMillisecondsSince(ugsTimeStart); + + logger.debug(`UGS Processing took ${ugsTime} milliseconds.`); + + void SetJobProgress(job, "Updating Goals."); + + // --- 7. Goals --- + // Evaluate and update the users goals. This returns information about goals that have changed. + const goalTimeStart = process.hrtime.bigint(); + const goalInfo = await GetAndUpdateUsersGoals(game, user.id, chartIDs, logger); + + const goalTime = GetMillisecondsSince(goalTimeStart); + + logger.debug(`Goal Processing took ${goalTime} milliseconds.`); + + void SetJobProgress(job, "Updating Milestones."); + + // --- 8. Milestones --- + // Evaluate and update the users milestones. This returns... + const milestoneTimeStart = process.hrtime.bigint(); + const milestoneInfo = await UpdateUsersMilestones(goalInfo, game, playtypes, user.id, logger); + + const milestoneTime = GetMillisecondsSince(milestoneTimeStart); + + logger.debug(`Milestone Processing took ${milestoneTime} milliseconds.`); + + return { + classDeltas, + milestoneInfo, + goalInfo, + playtypes, + scoreIDs, + errors, + sessionInfo, + relativeTimes: { + importParseTimeRel, + pbTimeRel, + sessionTimeRel, + }, + absoluteTimes: { + importParseTime, + sessionTime, + pbTime, + ugsTime, + goalTime, + milestoneTime, + }, + }; +} + +/** + * Calls UpdateUsersGamePlaytypeStats for every playtype in the import. + * @returns A flattened array of ClassDeltas + */ +async function UpdateUsersGameStats( + game: Game, + modifiedPlaytypes: Array, + userID: integer, + classHandler: ClassHandler | null, + logger: KtLogger +) { + const promises = []; + + // Instead of using the provided playtypes, run the classHandler on all + // playtypes. This should only happen if a classHandler is provided, and is + // a hack fix for things like #480. + const allPlaytypes = GetGameConfig(game).validPlaytypes; + + const playtypes = classHandler ? allPlaytypes : modifiedPlaytypes; + + for (const pt of playtypes) { + promises.push(UpdateUsersGamePlaytypeStats(game, pt, userID, classHandler, logger)); + } + + const r = await Promise.all(promises); + + return r.flat(1); +} + +/** + * Parses the return of ImportProcessingInfo into relevant information + * for the rest the import. + * @returns The list of scoreIDs used in the import, the list of errors + * A set of unique chartIDs involved in the import and the scores mapped + * on their playtype. + */ +function ParseImportInfo(importInfo: Array) { + const scorePlaytypeMap: ScorePlaytypeMap = {}; + + const scoreIDs = []; + const errors = []; + const chartIDs: Set = new Set(); + + for (const info of importInfo) { + if (info.success) { + scoreIDs.push(info.content.score.scoreID); + chartIDs.add(info.content.score.chartID); + + if (scorePlaytypeMap[info.content.score.playtype]) { + scorePlaytypeMap[info.content.score.playtype]!.push(info.content.score); + } else { + scorePlaytypeMap[info.content.score.playtype] = [info.content.score]; + } + } else { + errors.push({ type: info.type, message: info.message }); + } + } + + return { scoreIDs, errors, scorePlaytypeMap, chartIDs }; +} + +function SetJobProgress(job: ScoreImportJob | undefined, description: string) { + if (job) { + return job.updateProgress({ description }); + } +} diff --git a/server/src/lib/score-import/framework/score-importing/score-importing.test.ts b/server/src/lib/score-import/framework/score-importing/score-importing.test.ts new file mode 100644 index 000000000..fa681eb3c --- /dev/null +++ b/server/src/lib/score-import/framework/score-importing/score-importing.test.ts @@ -0,0 +1,9 @@ +import t from "tap"; + +t.todo("#ImportAllIterableData", (t) => { + t.end(); +}); + +t.todo("#ImportIterableDatapoint", (t) => { + t.end(); +}); diff --git a/server/src/lib/score-import/framework/score-importing/score-importing.ts b/server/src/lib/score-import/framework/score-importing/score-importing.ts new file mode 100644 index 000000000..ed7f9f346 --- /dev/null +++ b/server/src/lib/score-import/framework/score-importing/score-importing.ts @@ -0,0 +1,342 @@ +import { HydrateScore } from "./hydrate-score"; +import { GetScoreQueueMaybe, InsertQueue, QueueScoreInsert } from "./insert-score"; +import { CreateScoreID } from "./score-id"; +import { + ConverterFailure, + InternalFailure, + InvalidScoreFailure, + KTDataNotFoundFailure, + SkipScoreFailure, +} from "../common/converter-failures"; +import { OrphanScore } from "../orphans/orphans"; +import db from "external/mongo/db"; +import { AppendLogCtx } from "lib/logger/logger"; +import type { + ConverterFnReturnOrFailure, + ConverterFnSuccessReturn, + ConverterFunction, +} from "../../import-types/common/types"; +import type { DryScore } from "../common/types"; +import type { KtLogger } from "lib/logger/logger"; +import type { ScoreImportJob } from "lib/score-import/worker/types"; +import type { + ChartDocument, + Game, + ImportProcessingInfo, + ImportTypes, + integer, + ScoreDocument, + SongDocument, +} from "tachi-common"; + +/** + * Processes the iterable data into the Tachi database. + * @param userID - The user this score import was for. + * @param iterableData - The data to iterate upon. + * @param ConverterFunction - The function needed to convert the data into an IntermediateScore + * @param context - Any context the Converter may need in order to make decisions. + * @returns An array of ImportProcessInfo objects. + */ +export async function ImportAllIterableData( + userID: integer, + importType: ImportTypes, + iterableData: AsyncIterable | Iterable, + ConverterFunction: ConverterFunction, + context: C, + game: Game, + logger: KtLogger, + job: ScoreImportJob | undefined +): Promise> { + logger.verbose("Getting Blacklist..."); + + // @optimisable: could filter harder with score.game and score.playtype + // stuff. + const blacklist = ( + await db["score-blacklist"].find({ + userID, + }) + ).map((e) => e.scoreID); + + logger.verbose(`Starting Data Processing...`); + + const processedResults = []; + + let i = 0; + + // for await is used here as iterableData may be an async iterable + // An example would be making an api request after exhausting + // the first set of data. + for await (const data of iterableData) { + processedResults.push( + await ImportIterableDatapoint( + userID, + importType, + data, + ConverterFunction, + context, + game, + blacklist, + logger + ) + ); + + i++; + + if (job) { + void job.updateProgress({ description: `Imported ${i} scores.` }); + } + } + + // We need to filter out nulls, which we don't care for (these are neither successes or failures) + + logger.verbose(`Finished Importing Data (${processedResults.length} datapoints).`); + logger.debug(`Removing null returns...`); + + const datapoints = processedResults.filter((e) => e !== null) as Array; + + logger.debug(`Removed null from results.`); + + logger.verbose(`received ${datapoints.length} returns, from ${processedResults.length} data.`); + + // Flush the score queue out after finishing most of the import. This ensures no scores get left in the + // queue. + const emptied = await InsertQueue(userID); + + if (emptied !== 0 && emptied !== null) { + logger.verbose(`Emptied ${emptied} documents from score queue.`); + } + + return datapoints; +} + +/** + * Processes a single data object into one or many ImportProcessingInfo objects. + * @param userID - The user this score is from. + * @param data - The data to process. + * @param ConverterFunction - The processor function that takes the data and returns the partialScore(s) + * @param context - Any context the processor might need that it can not infer from the data object. + * @returns An array of ImportProcessingInfo objects, or a single ImportProcessingInfo object + */ +export async function ImportIterableDatapoint( + userID: integer, + importType: ImportTypes, + data: D, + ConverterFunction: ConverterFunction, + context: C, + game: Game, + blacklist: Array, + logger: KtLogger +): Promise { + // Converter Function Return + let cfnReturn: ConverterFnReturnOrFailure; + + try { + cfnReturn = await ConverterFunction(data, context, importType, logger); + } catch (err) { + cfnReturn = err as ConverterFailure | Error; + } + + // if this conversion failed, return it in the proper format + if (cfnReturn instanceof ConverterFailure) { + if (cfnReturn instanceof KTDataNotFoundFailure) { + logger.info(`KTDataNotFoundFailure: ${cfnReturn.message}`, { + cfnReturn, + hideFromConsole: ["cfnReturn"], + }); + + logger.debug("Inserting orphan...", { cfnReturn }); + + const insertOrphan = await OrphanScore( + cfnReturn.importType, + userID, + cfnReturn.data, + cfnReturn.converterContext, + cfnReturn.message, + game, + logger + ); + + if (insertOrphan.success) { + logger.debug("Orphan inserted successfully.", { orphanID: insertOrphan.orphanID }); + return { + success: false, + type: "KTDataNotFound", + message: cfnReturn.message, + content: { + context: cfnReturn.converterContext, + data: cfnReturn.data, + orphanID: insertOrphan.orphanID, + }, + }; + } + + logger.debug(`Orphan already exists.`, { orphanID: insertOrphan.orphanID }); + + return { + success: false, + type: "OrphanExists", + message: cfnReturn.message, + content: { + orphanID: insertOrphan.orphanID, + }, + }; + } else if (cfnReturn instanceof InvalidScoreFailure) { + logger.info(`InvalidScoreFailure: ${cfnReturn.message}`, { + cfnReturn, + hideFromConsole: ["cfnReturn"], + }); + return { + success: false, + type: "InvalidDatapoint", + message: cfnReturn.message, + content: {}, + }; + } else if (cfnReturn instanceof InternalFailure) { + logger.error(`Internal error occured.`, { cfnReturn }); + return { + success: false, + type: "InternalError", + + // could return cfnReturn.message here, but we might want to hide the details of the crash. + message: "An internal error has occured.", + content: {}, + }; + } else if (cfnReturn instanceof SkipScoreFailure) { + return null; + } + + logger.warn(`Unknown error returned as ConverterFailure, Ignoring.`, { + err: cfnReturn, + }); + return { + success: false, + type: "InternalError", + message: "An internal service error has occured.", + content: {}, + }; + } + + if (cfnReturn instanceof Error) { + logger.error(`Unknown error thrown from converter, Ignoring.`, { + err: cfnReturn, + }); + return { + success: false, + type: "InternalError", + message: "An internal service error has occured.", + content: {}, + }; + } + + return ProcessSuccessfulConverterReturn(userID, cfnReturn, blacklist, logger); +} + +export async function ProcessSuccessfulConverterReturn( + userID: integer, + cfnReturn: ConverterFnSuccessReturn, + blacklist: Array, + logger: KtLogger, + forceImmediateImport = false +): Promise { + const result = await HydrateAndInsertScore( + userID, + cfnReturn.dryScore, + cfnReturn.chart, + cfnReturn.song, + blacklist, + logger, + forceImmediateImport + ); + + // This used to be a ScoreExists error. However, we never actually care about + // handling ScoreExists errors (they're nobodies issue) + // so instead, the function will just return null, and we pass that on here. + if (result === null) { + return null; + } + + logger.debug(`Successfully imported score: ${result.scoreID}`); + + return { + success: true, + type: "ScoreImported", + message: `Imported score ${result.scoreID}.`, + content: { + score: result, + }, + }; +} + +/** + * Hydrates and inserts a score to the Tachi database. + * @param userID - The user this score is from. + * @param dryScore - The score that is to be hydrated and inserted. + * @param chart - The chart this score is on. + * @param song - The song this score is on. + * @param blacklist - A list of ScoreIDs to never write to the database. + * + * @param force - Whether to immediately insert the score into the database + * or not. + */ +async function HydrateAndInsertScore( + userID: integer, + dryScore: DryScore, + chart: ChartDocument, + song: SongDocument, + blacklist: Array, + importLogger: KtLogger, + force = false +): Promise { + const scoreID = CreateScoreID(userID, dryScore, chart.chartID); + + // sub-context the logger so the below logs are more accurate + const logger = AppendLogCtx(scoreID, importLogger); + + if (blacklist.length && blacklist.includes(scoreID)) { + logger.verbose("Skipped score, as it was on the blacklist."); + return null; + } + + const existingScore = await db.scores.findOne( + { + scoreID, + }, + { + // micro-optimisation - mongoDB is significantly faster when returning less fields + // since we only care about whether we have a score or not here, we can minimise returned + // fields. + projection: { + _id: 1, + }, + } + ); + + if (existingScore) { + logger.verbose(`Skipped score.`); + return null; + } + + // If this users score queue + if (GetScoreQueueMaybe(userID)?.scoreIDSet.has(scoreID) === true) { + logger.verbose(`Skipped score.`); + return null; + } + + const score = await HydrateScore(userID, dryScore, chart, song, scoreID, logger); + + let res; + + if (force) { + res = await db.scores.insert(score); + } else { + res = await QueueScoreInsert(score); + } + + // this is a last resort for avoiding doubled imports + if (res === null) { + logger.verbose(`Skipped score - Race Condition protection triggered.`); + return null; + } + + return score; +} diff --git a/server/src/lib/score-import/framework/sessions/calculated-data.test.ts b/server/src/lib/score-import/framework/sessions/calculated-data.test.ts new file mode 100644 index 000000000..375488ffc --- /dev/null +++ b/server/src/lib/score-import/framework/sessions/calculated-data.test.ts @@ -0,0 +1,67 @@ +import { CreateSessionCalcData } from "./calculated-data"; +import t from "tap"; + +function ratingwrap(ratings: Array<[number, number]>) { + return ratings.map((e) => ({ + calculatedData: { + BPI: e[0], + ktLampRating: e[1], + }, + })); +} + +function avgbest10(arr: Array) { + return ( + arr + .sort((a, b) => b - a) + .slice(0, 10) + .reduce((a, e) => a + e, 0) / 10 + ); +} + +t.test("#CreateSessionCalcData", (t) => { + t.test("Should return null if less than 10 scores", (t) => { + const res = CreateSessionCalcData("iidx", "SP", ratingwrap([[1, 2]])); + + t.strictSame(res, { BPI: null, ktLampRating: null }); + + t.end(); + }); + + t.test("Should calculate session performance", (t) => { + const { BPI, ktLampRating } = CreateSessionCalcData( + "iidx", + "SP", + ratingwrap([ + [1, 1], + [2, 2], + [3, 4], + [4, 4], + [6, 1], + [1, 6], + [1, 1], + [2, 2], + [3, 4], + [4, 4], + [6, 1], + [1, 6], + ]) + ); + + t.equal( + ktLampRating, + avgbest10([1, 2, 4, 4, 1, 6, 1, 2, 4, 4, 1, 6]), + "Should correctly calculate lamp performance" + ); + + t.equal( + BPI, + avgbest10([1, 2, 3, 4, 6, 1, 1, 2, 3, 4, 6, 1]), + "Should correctly calculate BPI performance" + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/framework/sessions/calculated-data.ts b/server/src/lib/score-import/framework/sessions/calculated-data.ts new file mode 100644 index 000000000..483de3a5c --- /dev/null +++ b/server/src/lib/score-import/framework/sessions/calculated-data.ts @@ -0,0 +1,139 @@ +import type { + Game, + IDStrings, + integer, + Playtype, + ScoreDocument, + SessionCalculatedDataLookup, + SessionDocument, +} from "tachi-common"; + +type ScoreCalculatedDataOnly = Pick; + +function AverageBestN(vals: Array, n = 10) { + const numbers = vals.filter((e) => typeof e === "number") as Array; + + if (numbers.length < n) { + return null; + } + + return ( + numbers + .sort((a, b) => b - a) + .slice(0, n) + .reduce((a, e) => a + e, 0) / n + ); +} + +function SumAll(arr: Array, prop: keyof ScoreDocument["calculatedData"]) { + return arr.reduce((a, e) => { + if (typeof e.calculatedData[prop] === "number") { + return a + e.calculatedData[prop]!; + } + + return a; + }, 0); +} + +function AvgBest10Map( + arr: Array, + prop: keyof ScoreDocument["calculatedData"] +) { + return AverageBestN( + arr.map((e) => e.calculatedData[prop]), + 10 + ); +} + +function AvgBestNMap( + arr: Array, + prop: keyof ScoreDocument["calculatedData"], + n: integer +) { + return AverageBestN( + arr.map((e) => e.calculatedData[prop]), + n + ); +} + +type SessionCalcDataFn = ( + scd: Array +) => Partial>; + +function GetGPTSessionCalcDataFn(game: Game, playtype: Playtype): SessionCalcDataFn { + switch (`${game}:${playtype}` as IDStrings) { + case "iidx:SP": + case "iidx:DP": + return (scd) => ({ + BPI: AvgBest10Map(scd, "BPI"), + ktLampRating: AvgBest10Map(scd, "ktLampRating"), + }); + case "sdvx:Single": + case "usc:Controller": + case "usc:Keyboard": + return (scd) => { + const VF6 = AvgBest10Map(scd, "VF6"); + + return { + VF6, + ProfileVF6: VF6 === null ? null : VF6 * 50, + }; + }; + + case "popn:9B": + return (scd) => ({ + classPoints: AvgBest10Map(scd, "classPoints"), + }); + case "museca:Single": + return (scd) => ({ + naiveRating: AvgBest10Map(scd, "rating"), + }); + case "gitadora:Dora": + case "gitadora:Gita": + return (scd) => ({ + skill: AvgBest10Map(scd, "skill"), + }); + case "bms:7K": + case "bms:14K": + case "pms:Controller": + case "pms:Keyboard": + return (scd) => ({ + sieglinde: AvgBest10Map(scd, "sieglinde"), + }); + case "ddr:SP": + case "ddr:DP": + return (scd) => ({ + MFCP: SumAll(scd, "MFCP"), + ktRating: AvgBest10Map(scd, "ktRating"), + }); + case "jubeat:Single": + return (scd) => ({ + jubility: AvgBest10Map(scd, "jubility"), + }); + case "wacca:Single": + return (scd) => ({ + rate: AvgBest10Map(scd, "rate"), + }); + case "chunithm:Single": + return (scd) => ({ + naiveRating: AvgBest10Map(scd, "rating"), + }); + case "maimai:Single": + return () => ({}); + case "itg:Stamina": + return (scd) => ({ + blockRating: AvgBestNMap(scd, "blockRating", 5), + average32Speed: AvgBestNMap(scd, "highest32", 5), + }); + } +} + +export function CreateSessionCalcData( + game: Game, + playtype: Playtype, + scoreCalcData: Array +): SessionDocument["calculatedData"] { + const SessionCalculatedDataFunction = GetGPTSessionCalcDataFn(game, playtype); + + return SessionCalculatedDataFunction(scoreCalcData); +} diff --git a/server/src/lib/score-import/framework/sessions/name-generation.test.ts b/server/src/lib/score-import/framework/sessions/name-generation.test.ts new file mode 100644 index 000000000..28ec06a3c --- /dev/null +++ b/server/src/lib/score-import/framework/sessions/name-generation.test.ts @@ -0,0 +1,10 @@ +import { GenerateRandomSessionName } from "./name-generation"; +import t from "tap"; + +t.test("#GenerateRandomSessionName", (t) => { + const res = GenerateRandomSessionName(); + + t.type(res, "string", "Should return a string."); + + t.end(); +}); diff --git a/server/src/lib/score-import/framework/sessions/name-generation.ts b/server/src/lib/score-import/framework/sessions/name-generation.ts new file mode 100644 index 000000000..cc35c8e71 --- /dev/null +++ b/server/src/lib/score-import/framework/sessions/name-generation.ts @@ -0,0 +1,9 @@ +import { GetRandomAdjective, GetRandomNoun } from "datasets/words"; + +export function GenerateRandomSessionName() { + const adj1 = GetRandomAdjective(); + const adj2 = GetRandomAdjective(); + const noun = GetRandomNoun(); + + return `${adj1} ${adj2} ${noun}`; +} diff --git a/server/src/lib/score-import/framework/sessions/sessions.test.ts b/server/src/lib/score-import/framework/sessions/sessions.test.ts new file mode 100644 index 000000000..8d3569f10 --- /dev/null +++ b/server/src/lib/score-import/framework/sessions/sessions.test.ts @@ -0,0 +1,447 @@ +import { CreateSessions, LoadScoresIntoSessions } from "./sessions"; +import { CreateScoreLogger } from "../common/import-logger"; +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { TestingIIDXSPScore, TestingIIDXSPScorePB } from "test-utils/test-data"; +import type { PublicUserDocument, ScoreDocument, SessionDocument } from "tachi-common"; + +const logger = CreateScoreLogger( + { username: "test_zkldi", id: 1 } as PublicUserDocument, + "foo", + "ir/direct-manual" +); + +t.test("#CreateSessions", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(() => db.sessions.remove({})); + + t.test("Should compose sessions from one timestamped score provided.", async (t) => { + const res = await CreateSessions( + 1, + "ir/direct-manual", + "iidx", + { SP: [TestingIIDXSPScore] }, + logger + ); + + t.match(res, [ + { + sessionID: /^Q[a-f0-9]{40}$/u, + type: "Created", + }, + ]); + + t.equal(res.length, 1); + + const session = await db.sessions.findOne({ userID: 1, game: "iidx", playtype: "SP" }); + + const sessionCount = await db.sessions.count({ userID: 1, game: "iidx", playtype: "SP" }); + + t.equal(sessionCount, 1); + + t.hasStrict(session, { + userID: 1, + importType: "ir/direct-manual", + + // name: "adjective1 adjective2 noun1", + sessionID: res[0]?.sessionID, + desc: null, + game: "iidx", + playtype: "SP", + highlight: false, + scoreInfo: [ + { + scoreID: "TESTING_SCORE_ID", + isNewScore: true, + }, + ], + + // timeInserted: 1622289329729, + timeStarted: 1619454485988, + timeEnded: 1619454485988, + calculatedData: {}, + }); + + t.end(); + }); + + t.test("Should not compose sessions from untimestamped scores.", async (t) => { + const res = await CreateSessions( + 1, + "ir/direct-manual", + "iidx", + { SP: [deepmerge(TestingIIDXSPScore, { timeAchieved: null })] }, + logger + ); + + t.strictSame(res, []); + + const sessionCount = await db.sessions.count({ userID: 1, game: "iidx", playtype: "SP" }); + + t.equal(sessionCount, 0); + + t.end(); + }); + + t.test("Should compose sessions for multiple playtypes.", async (t) => { + const res = await CreateSessions( + 1, + "ir/direct-manual", + "iidx", + { DP: [deepmerge(TestingIIDXSPScore, { playtype: "DP" })], SP: [TestingIIDXSPScore] }, + logger + ); + + t.equal(res.length, 2); + + const sessionCount = await db.sessions.count({ userID: 1, game: "iidx", playtype: "SP" }); + + t.equal(sessionCount, 1); + + const sessionCountDP = await db.sessions.count({ userID: 1, game: "iidx", playtype: "DP" }); + + t.equal(sessionCountDP, 1); + + t.end(); + }); + t.end(); +}); + +// just an arbitrary start point for our sessions as an offset +const start = 1619454485988; + +t.test("#LoadScoresIntoSessions", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(() => db.sessions.remove({})); + + t.test("Should create sessions from scores.", async (t) => { + const res = await LoadScoresIntoSessions( + 1, + "ir/direct-manual", + [null, start, start + 1000, start + 2000, start + 3000].map((e, i) => + deepmerge(TestingIIDXSPScore, { timeAchieved: e, scoreID: `SCORE_ID_${i}` }) + ) as Array, + "iidx", + "SP", + logger + ); + + t.match(res, [ + { + sessionID: /^Q[a-f0-9]{40}$/u, + type: "Created", + }, + ]); + + const sessions = await db.sessions.find({ game: "iidx", playtype: "SP", userID: 1 }); + + t.equal(sessions.length, 1); + + t.strictSame(sessions[0]?.scoreInfo, [ + { + scoreID: "SCORE_ID_1", + isNewScore: true, + }, + { + scoreID: "SCORE_ID_2", + isNewScore: true, + }, + { + scoreID: "SCORE_ID_3", + isNewScore: true, + }, + { + scoreID: "SCORE_ID_4", + isNewScore: true, + }, + ]); + + t.end(); + }); + + t.test("Should sort scores before creating sessions.", async (t) => { + const res = await LoadScoresIntoSessions( + 1, + "ir/direct-manual", + [null, start, start - 4000, start + 2000, start - 3000, null, start + 1000].map( + (e, i) => + deepmerge(TestingIIDXSPScore, { timeAchieved: e, scoreID: `SCORE_ID_${i}` }) + ) as Array, + "iidx", + "SP", + logger + ); + + t.match(res, [ + { + sessionID: /^Q[a-f0-9]{40}$/u, + type: "Created", + }, + ]); + + const sessions = await db.sessions.find({ game: "iidx", playtype: "SP", userID: 1 }); + + t.equal(sessions.length, 1); + + t.strictSame(sessions[0]?.scoreInfo, [ + { + scoreID: "SCORE_ID_2", + isNewScore: true, + }, + { + scoreID: "SCORE_ID_4", + isNewScore: true, + }, + { + scoreID: "SCORE_ID_1", + isNewScore: true, + }, + { + scoreID: "SCORE_ID_6", + isNewScore: true, + }, + { + scoreID: "SCORE_ID_3", + isNewScore: true, + }, + ]); + + t.end(); + }); + + const TWO_HOURS = 1000 * 60 * 60 * 2; + + t.test("Should create multiple sessions if scores are far apart.", async (t) => { + const res = await LoadScoresIntoSessions( + 1, + "ir/direct-manual", + [ + null, + start, + start + 1000, + start + 2000, + start + TWO_HOURS + 4000, + start + TWO_HOURS + 5000, + start + TWO_HOURS + 6000, + ].map((e, i) => + deepmerge(TestingIIDXSPScore, { timeAchieved: e, scoreID: `SCORE_ID_${i}` }) + ) as Array, + "iidx", + "SP", + logger + ); + + t.match(res, [ + { + sessionID: /^Q[a-f0-9]{40}$/u, + type: "Created", + }, + { + sessionID: /^Q[a-f0-9]{40}$/u, + type: "Created", + }, + ]); + + const sessions = await db.sessions.find({ game: "iidx", playtype: "SP", userID: 1 }); + + t.equal(sessions.length, 2); + + t.strictSame(sessions[0]?.scoreInfo, [ + { + scoreID: "SCORE_ID_1", + isNewScore: true, + }, + { + scoreID: "SCORE_ID_2", + isNewScore: true, + }, + { + scoreID: "SCORE_ID_3", + isNewScore: true, + }, + ]); + t.strictSame(sessions[1]?.scoreInfo, [ + { + scoreID: "SCORE_ID_4", + isNewScore: true, + }, + { + scoreID: "SCORE_ID_5", + isNewScore: true, + }, + { + scoreID: "SCORE_ID_6", + isNewScore: true, + }, + ]); + + t.end(); + }); + + t.test("Should append to existing sessions.", async (t) => { + await db.sessions.insert({ + sessionID: "EXAMPLE_SESSION_ID", + userID: 1, + game: "iidx", + playtype: "SP", + importType: "ir/direct-manual", + timeStarted: start, + timeEnded: start, + scoreInfo: [ + { + scoreID: "EXAMPLE_SCORE_ID", + isNewScore: true, + }, + ], + } as SessionDocument); + + const res = await LoadScoresIntoSessions( + 1, + "ir/direct-manual", + [null, start, start + 1000, start + 2000].map((e, i) => + deepmerge(TestingIIDXSPScore, { timeAchieved: e, scoreID: `SCORE_ID_${i}` }) + ) as Array, + "iidx", + "SP", + logger + ); + + t.strictSame(res, [ + { + sessionID: "EXAMPLE_SESSION_ID", + type: "Appended", + }, + ]); + + const sessions = await db.sessions.find({ game: "iidx", playtype: "SP", userID: 1 }); + + t.equal(sessions.length, 1); + + t.strictSame(sessions[0]?.scoreInfo, [ + { + scoreID: "EXAMPLE_SCORE_ID", + isNewScore: true, + }, + { + scoreID: "SCORE_ID_1", + isNewScore: true, + }, + { + scoreID: "SCORE_ID_2", + isNewScore: true, + }, + { + scoreID: "SCORE_ID_3", + isNewScore: true, + }, + ]); + + t.equal(sessions[0]?.timeEnded, start + 2000); + + t.end(); + }); + + t.test("Should change the timeStarted of existing sessions if prepending.", async (t) => { + await db.sessions.insert({ + sessionID: "EXAMPLE_SESSION_ID", + userID: 1, + game: "iidx", + playtype: "SP", + importType: "ir/direct-manual", + timeStarted: start, + timeEnded: start, + scoreInfo: [ + { + scoreID: "EXAMPLE_SCORE_ID", + isNewScore: true, + }, + ], + } as SessionDocument); + + const res = await LoadScoresIntoSessions( + 1, + "ir/direct-manual", + [null, start, start - 1000, start - 2000].map((e, i) => + deepmerge(TestingIIDXSPScore, { timeAchieved: e, scoreID: `SCORE_ID_${i}` }) + ) as Array, + "iidx", + "SP", + logger + ); + + t.strictSame(res, [ + { + sessionID: "EXAMPLE_SESSION_ID", + type: "Appended", + }, + ]); + + const sessions = await db.sessions.find({ game: "iidx", playtype: "SP", userID: 1 }); + + t.equal(sessions.length, 1); + + t.strictSame(sessions[0]?.scoreInfo, [ + { + scoreID: "EXAMPLE_SCORE_ID", + isNewScore: true, + }, + { + scoreID: "SCORE_ID_3", + isNewScore: true, + }, + { + scoreID: "SCORE_ID_2", + isNewScore: true, + }, + { + scoreID: "SCORE_ID_1", + isNewScore: true, + }, + ]); + + t.equal(sessions[0]?.timeStarted, start - 2000); + + t.end(); + }); + + t.test("Should calculate pbDifferences if a scorePB exists.", async (t) => { + await db["personal-bests"].insert(TestingIIDXSPScorePB); + + const res = await LoadScoresIntoSessions( + 1, + "ir/direct-manual", + [TestingIIDXSPScore], + "iidx", + "SP", + logger + ); + + t.match(res, [ + { + sessionID: /^Q[a-f0-9]{40}$/u, + type: "Created", + }, + ]); + + const sessions = await db.sessions.find({ game: "iidx", playtype: "SP", userID: 1 }); + + t.equal(sessions.length, 1); + + t.strictSame(sessions[0]?.scoreInfo, [ + { + scoreID: "TESTING_SCORE_ID", + isNewScore: false, + gradeDelta: -4, + lampDelta: -2, + percentDelta: -44.08396946564885, + scoreDelta: -693, + }, + ]); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/framework/sessions/sessions.ts b/server/src/lib/score-import/framework/sessions/sessions.ts new file mode 100644 index 000000000..aa6c4f3d8 --- /dev/null +++ b/server/src/lib/score-import/framework/sessions/sessions.ts @@ -0,0 +1,283 @@ +import { CreateSessionCalcData } from "./calculated-data"; +import { GenerateRandomSessionName } from "./name-generation"; +import db from "external/mongo/db"; +import { AppendLogCtx } from "lib/logger/logger"; +import { GetScoresFromSession } from "utils/session"; +import crypto from "crypto"; +import type { ScorePlaytypeMap } from "../common/types"; +import type { KtLogger } from "lib/logger/logger"; +import type { + Game, + ImportTypes, + integer, + PBScoreDocument, + Playtype, + ScoreDocument, + SessionDocument, + SessionInfoReturn, + SessionScoreInfo, +} from "tachi-common"; + +const TWO_HOURS = 1000 * 60 * 60 * 2; + +export async function CreateSessions( + userID: integer, + importType: ImportTypes, + game: Game, + scorePtMap: ScorePlaytypeMap, + logger: KtLogger +) { + const allSessionInfo = []; + + /* eslint-disable no-await-in-loop */ + for (const [playtype, scores] of Object.entries(scorePtMap)) { + const sessionInfo = await LoadScoresIntoSessions( + userID, + importType, + scores, + game, + playtype as Playtype, + logger + ); + + allSessionInfo.push(...sessionInfo); + } + /* eslint-enable no-await-in-loop */ + + return allSessionInfo; +} + +/** + * Compares a score and the previous PB the user had and returns the difference + * as a SessionScoreInfo object. + */ +function ProcessScoreIntoSessionScoreInfo( + score: ScoreDocument, + previousPB: PBScoreDocument | undefined +): SessionScoreInfo { + if (!previousPB) { + return { + scoreID: score.scoreID, + isNewScore: true, + }; + } + + return { + scoreID: score.scoreID, + isNewScore: false, + gradeDelta: score.scoreData.gradeIndex - previousPB.scoreData.gradeIndex, + lampDelta: score.scoreData.lampIndex - previousPB.scoreData.lampIndex, + percentDelta: score.scoreData.percent - previousPB.scoreData.percent, + scoreDelta: score.scoreData.score - previousPB.scoreData.score, + }; +} + +export function CreateSessionID() { + return `Q${crypto.randomBytes(20).toString("hex")}`; +} + +function UpdateExistingSession( + existingSession: SessionDocument, + newInfo: Array, + oldScores: Array, + newScores: Array +) { + const allScores = [...oldScores, ...newScores]; + + const calculatedData = CreateSessionCalcData( + existingSession.game, + existingSession.playtype, + allScores + ); + + existingSession.calculatedData = calculatedData; + existingSession.scoreInfo = [...existingSession.scoreInfo, ...newInfo]; + + if (newScores[0]!.timeAchieved! < existingSession.timeStarted) { + existingSession.timeStarted = newScores[0]!.timeAchieved!; + } + + if (newScores[newScores.length - 1]!.timeAchieved! > existingSession.timeEnded) { + existingSession.timeEnded = newScores[newScores.length - 1]!.timeAchieved!; + } + + return existingSession; +} + +function CreateSession( + userID: integer, + importType: ImportTypes, + groupInfo: Array, + groupScores: Array, + game: Game, + playtype: Playtype +): SessionDocument { + const name = GenerateRandomSessionName(); + + const calculatedData = CreateSessionCalcData(game, playtype, groupScores); + + return { + userID, + importType, + name, + sessionID: CreateSessionID(), + desc: null, + game, + playtype, + highlight: false, + scoreInfo: groupInfo, + timeInserted: Date.now(), + timeStarted: groupScores[0]!.timeAchieved!, + timeEnded: groupScores[groupScores.length - 1]!.timeAchieved!, + calculatedData, + views: 0, + }; +} + +export async function LoadScoresIntoSessions( + userID: integer, + importType: ImportTypes, + importScores: Array, + game: Game, + playtype: Playtype, + baseLogger: KtLogger +): Promise> { + const logger = AppendLogCtx("Session Generation", baseLogger); + + const timestampedScores = []; + + for (const score of importScores) { + if (score.timeAchieved === null) { + logger.verbose(`Ignored score ${score.scoreID}, as it had no timeAchieved.`); + + // ignore scores without timestamps. We can't use these for sessions. + continue; + } + + timestampedScores.push(score); + } + + // If we have nothing to work with, why bother? + if (timestampedScores.length === 0) { + logger.verbose(`Skipped calculating sessions as there were no timestamped scores`); + return []; + } + + // sort scores ascendingly. + timestampedScores.sort((a, b) => a.timeAchieved! - b.timeAchieved!); + + // The "Score Groups" for the array of scores provided. + // This contains scores split on 2hr margins, which allows for more optimised + // session db requests. + const sessionScoreGroups: Array> = []; + let curGroup: Array = []; + let lastTimestamp = 0; + + for (const score of timestampedScores) { + if (score.timeAchieved! < lastTimestamp + TWO_HOURS) { + curGroup.push(score); + } else { + sessionScoreGroups.push(curGroup); + curGroup = [score]; + } + + lastTimestamp = score.timeAchieved!; + } + + // There's no state here where curGroup is empty, + // so push the group (which is guaranteed to have atleast one score) + sessionScoreGroups.push(curGroup); + + logger.verbose(`Created ${sessionScoreGroups.length} groups from timestamped scores.`); + + const sessionInfoReturns: Array = []; + + // All async operations inside here *need* to be done in lockstep to avoid colliding sessions. + // realistically, that shouldn't be possible, but hey. + /* eslint-disable no-await-in-loop */ + for (const groupScores of sessionScoreGroups) { + if (groupScores.length === 0) { + continue; + } + + const startOfGroup = groupScores[0]!.timeAchieved!; + const endOfGroup = groupScores[groupScores.length - 1]!.timeAchieved!; + + // A bug exists here where if a session is created + // backwards in time, this will grab your PBs + // from the future. + // this is marked as wontfix under #179 + const pbs = await db["personal-bests"].find({ + chartID: { $in: groupScores.map((e) => e.chartID) }, + userID, + }); + + const pbMap: Map = new Map(); + + for (const pb of pbs) { + pbMap.set(pb.chartID, pb); + } + + const groupInfo = groupScores.map((e) => + ProcessScoreIntoSessionScoreInfo(e, pbMap.get(e.chartID)) + ); + + // Find any sessions with +/-2hrs of this group. This is rather exhaustive, and could result in some issues + // if this query returns more than one session. We should account for that by smushing sessions together. + // This is not possible however, so this is now just a known tachi oddity. + const nearbySession = await db.sessions.findOne({ + userID, + game, + playtype, + importType, + $or: [ + { timeStarted: { $gte: startOfGroup - TWO_HOURS, $lt: endOfGroup + TWO_HOURS } }, + { timeEnded: { $gte: startOfGroup - TWO_HOURS, $lt: endOfGroup + TWO_HOURS } }, + ], + }); + + let infoReturn: SessionInfoReturn; + + if (nearbySession) { + logger.verbose( + `Found nearby session for ${userID} (${game} ${playtype}) around ${startOfGroup} ${endOfGroup}.` + ); + + const oldScores = await GetScoresFromSession(nearbySession); + + const session = UpdateExistingSession(nearbySession, groupInfo, oldScores, groupScores); + + infoReturn = { sessionID: session.sessionID, type: "Appended" }; + + await db.sessions.update( + { + sessionID: session.sessionID, + }, + { + $set: session, + } + ); + } else { + logger.debug( + `Creating new session for ${userID} (${game} ${playtype}) around ${startOfGroup} ${endOfGroup}.` + ); + + const session = CreateSession( + userID, + importType, + groupInfo, + groupScores, + game, + playtype + ); + + infoReturn = { sessionID: session.sessionID, type: "Created" }; + await db.sessions.insert(session); + } + + sessionInfoReturns.push(infoReturn); + } + /* eslint-enable no-await-in-loop */ + + return sessionInfoReturns; +} diff --git a/server/src/lib/score-import/framework/user-game-stats/builtin-class-handlers.test.ts b/server/src/lib/score-import/framework/user-game-stats/builtin-class-handlers.test.ts new file mode 100644 index 000000000..02492b806 --- /dev/null +++ b/server/src/lib/score-import/framework/user-game-stats/builtin-class-handlers.test.ts @@ -0,0 +1,107 @@ +import { + CalculateGitadoraColour, + GitadoraSkillToColour, + CalculateSDVXClass, + SDVXVF6ToClass, +} from "./builtin-class-handlers"; +import { GitadoraColours, SDVXVFClasses } from "lib/constants/classes"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; + +const logger = CreateLogCtx(__filename); + +t.test("#CalculateGitadoraColour", (t) => { + t.strictSame( + CalculateGitadoraColour("gitadora", "Gita", 1, { skill: 1500 }), + { + colour: GitadoraColours.ORANGE_GRADIENT, + }, + "Should wrap the skill colour." + ); + + t.end(); +}); + +t.test("#GitadoraSkillToColour", (t) => { + t.equal(GitadoraSkillToColour(0), GitadoraColours.WHITE); + t.equal(GitadoraSkillToColour(999), GitadoraColours.WHITE); + t.equal(GitadoraSkillToColour(1000), GitadoraColours.ORANGE); + t.equal(GitadoraSkillToColour(1500), GitadoraColours.ORANGE_GRADIENT); + t.equal(GitadoraSkillToColour(2000), GitadoraColours.YELLOW); + t.equal(GitadoraSkillToColour(2500), GitadoraColours.YELLOW_GRADIENT); + t.equal(GitadoraSkillToColour(3000), GitadoraColours.GREEN); + t.equal(GitadoraSkillToColour(3500), GitadoraColours.GREEN_GRADIENT); + t.equal(GitadoraSkillToColour(4000), GitadoraColours.BLUE); + t.equal(GitadoraSkillToColour(4500), GitadoraColours.BLUE_GRADIENT); + t.equal(GitadoraSkillToColour(5000), GitadoraColours.PURPLE); + t.equal(GitadoraSkillToColour(5500), GitadoraColours.PURPLE_GRADIENT); + t.equal(GitadoraSkillToColour(6000), GitadoraColours.RED); + t.equal(GitadoraSkillToColour(6500), GitadoraColours.RED_GRADIENT); + t.equal(GitadoraSkillToColour(7000), GitadoraColours.BRONZE); + t.equal(GitadoraSkillToColour(7500), GitadoraColours.SILVER); + t.equal(GitadoraSkillToColour(8000), GitadoraColours.GOLD); + t.equal(GitadoraSkillToColour(8500), GitadoraColours.RAINBOW); + + t.end(); +}); + +t.test("#CalculateSDVXClass", (t) => { + t.strictSame(CalculateSDVXClass("sdvx", "Single", 1, { VF6: 10 }, logger), { + vfClass: SDVXVFClasses.COBALT_I, + }); + + t.end(); +}); + +t.test("#SDVXVF6ToClass", (t) => { + function f(vf: number) { + return SDVXVF6ToClass(vf, logger); + } + + t.equal(f(0), SDVXVFClasses.SIENNA_I); + t.equal(f(2.5), SDVXVFClasses.SIENNA_II); + t.equal(f(5), SDVXVFClasses.SIENNA_III); + t.equal(f(7.5), SDVXVFClasses.SIENNA_IV); + t.equal(f(10), SDVXVFClasses.COBALT_I); + t.equal(f(10.5), SDVXVFClasses.COBALT_II); + t.equal(f(11), SDVXVFClasses.COBALT_III); + t.equal(f(11.5), SDVXVFClasses.COBALT_IV); + t.equal(f(12), SDVXVFClasses.DANDELION_I); + t.equal(f(12.5), SDVXVFClasses.DANDELION_II); + t.equal(f(13), SDVXVFClasses.DANDELION_III); + t.equal(f(13.5), SDVXVFClasses.DANDELION_IV); + + t.equal(f(14), SDVXVFClasses.CYAN_I); + t.equal(f(14.25), SDVXVFClasses.CYAN_II); + t.equal(f(14.5), SDVXVFClasses.CYAN_III); + t.equal(f(14.75), SDVXVFClasses.CYAN_IV); + t.equal(f(15), SDVXVFClasses.SCARLET_I); + t.equal(f(15.25), SDVXVFClasses.SCARLET_II); + t.equal(f(15.5), SDVXVFClasses.SCARLET_III); + t.equal(f(15.75), SDVXVFClasses.SCARLET_IV); + t.equal(f(16), SDVXVFClasses.CORAL_I); + t.equal(f(16.25), SDVXVFClasses.CORAL_II); + t.equal(f(16.5), SDVXVFClasses.CORAL_III); + t.equal(f(16.75), SDVXVFClasses.CORAL_IV); + t.equal(f(17), SDVXVFClasses.ARGENTO_I); + t.equal(f(17.25), SDVXVFClasses.ARGENTO_II); + t.equal(f(17.5), SDVXVFClasses.ARGENTO_III); + t.equal(f(17.75), SDVXVFClasses.ARGENTO_IV); + t.equal(f(18), SDVXVFClasses.ELDORA_I); + t.equal(f(18.25), SDVXVFClasses.ELDORA_II); + t.equal(f(18.5), SDVXVFClasses.ELDORA_III); + t.equal(f(18.75), SDVXVFClasses.ELDORA_IV); + t.equal(f(19), SDVXVFClasses.CRIMSON_I); + t.equal(f(19.25), SDVXVFClasses.CRIMSON_II); + t.equal(f(19.5), SDVXVFClasses.CRIMSON_III); + t.equal(f(19.75), SDVXVFClasses.CRIMSON_IV); + + t.equal(f(20), SDVXVFClasses.IMPERIAL_I); + t.equal(f(21), SDVXVFClasses.IMPERIAL_II); + t.equal(f(22), SDVXVFClasses.IMPERIAL_III); + t.equal(f(23), SDVXVFClasses.IMPERIAL_IV); + t.equal(f(24), SDVXVFClasses.IMPERIAL_IV); + t.equal(f(1000), SDVXVFClasses.IMPERIAL_IV); + + t.end(); +}); diff --git a/server/src/lib/score-import/framework/user-game-stats/builtin-class-handlers.ts b/server/src/lib/score-import/framework/user-game-stats/builtin-class-handlers.ts new file mode 100644 index 000000000..1d30fc16e --- /dev/null +++ b/server/src/lib/score-import/framework/user-game-stats/builtin-class-handlers.ts @@ -0,0 +1,256 @@ +import { + CHUNITHM_COLOURS, + GitadoraColours, + JUBEAT_COLOURS, + POPN_CLASSES, + SDVXVFClasses, + WACCA_COLOURS, +} from "lib/constants/classes"; +import { IsNullish } from "utils/misc"; +import type { KtLogger } from "lib/logger/logger"; +import type { Game, integer, Playtype, ScoreCalculatedDataLookup } from "tachi-common"; +import type { GameClasses } from "tachi-common/js/game-classes"; + +export function CalculateSDVXClass( + game: Game, + playtype: Playtype, + userID: integer, + ratings: Partial>, + logger: KtLogger +): Partial> { + if (ratings.VF6 === undefined) { + return {}; + } + + return { vfClass: SDVXVF6ToClass(ratings.VF6, logger) }; +} + +/** + * Converts a user's profile VF6 to a class. There are almost 40 classes, and writing + * if statements for all of them is a painful endeavour. This function returns an index + * derived from the gaps between classes, to avoid writing out all those statements. + * @see https://bemaniwiki.com/index.php?SOUND%20VOLTEX%20VIVID%20WAVE/VOLFORCE + */ +export function SDVXVF6ToClass(vf: number, logger: KtLogger) { + // This is impossible, but a failsafe regardless + if (vf >= 24) { + logger.warn(`User has excessive VF5 of ${vf}. Defaulting to Imperial IV.`); + return SDVXVFClasses.IMPERIAL_IV; + } else if (vf >= 20) { + // imperial i -> iv has gaps of 1 + return SDVXVFClasses.IMPERIAL_I + Math.floor(vf - 20); + } else if (vf >= 14) { + // cyan i -> crimson iv has gaps of 0.25 + return SDVXVFClasses.CYAN_I + Math.floor(4 * (vf - 14)); + } else if (vf >= 10) { + // cobalt i -> dandelion iv have gaps of 0.5 + return SDVXVFClasses.COBALT_I + Math.floor(2 * (vf - 10)); + } + + return Math.floor(vf / 2.5); +} + +export function CalculateGitadoraColour( + game: Game, + playtype: Playtype, + userID: integer, + ratings: Record +): Partial> { + if (IsNullish(ratings.skill)) { + return {}; + } + + const colour = GitadoraSkillToColour(ratings.skill); + + return { + colour, + }; +} + +export function GitadoraSkillToColour(sk: number) { + if (sk >= 8500) { + return GitadoraColours.RAINBOW; + } else if (sk >= 8000) { + return GitadoraColours.GOLD; + } else if (sk >= 7500) { + return GitadoraColours.SILVER; + } else if (sk >= 7000) { + return GitadoraColours.BRONZE; + } else if (sk >= 6500) { + return GitadoraColours.RED_GRADIENT; + } else if (sk >= 6000) { + return GitadoraColours.RED; + } else if (sk >= 5500) { + return GitadoraColours.PURPLE_GRADIENT; + } else if (sk >= 5000) { + return GitadoraColours.PURPLE; + } else if (sk >= 4500) { + return GitadoraColours.BLUE_GRADIENT; + } else if (sk >= 4000) { + return GitadoraColours.BLUE; + } else if (sk >= 3500) { + return GitadoraColours.GREEN_GRADIENT; + } else if (sk >= 3000) { + return GitadoraColours.GREEN; + } else if (sk >= 2500) { + return GitadoraColours.YELLOW_GRADIENT; + } else if (sk >= 2000) { + return GitadoraColours.YELLOW; + } else if (sk >= 1500) { + return GitadoraColours.ORANGE_GRADIENT; + } else if (sk >= 1000) { + return GitadoraColours.ORANGE; + } + + return GitadoraColours.WHITE; +} + +export function CalculateWACCAColour( + game: Game, + playtype: Playtype, + userID: integer, + ratings: Record +) { + if (IsNullish(ratings.rate)) { + return {}; + } + + const colour = WACCARateToColour(ratings.rate); + + return { colour }; +} + +function WACCARateToColour(rate: number) { + if (rate >= 2500) { + return WACCA_COLOURS.RAINBOW; + } else if (rate >= 2200) { + return WACCA_COLOURS.GOLD; + } else if (rate >= 1900) { + return WACCA_COLOURS.SILVER; + } else if (rate >= 1600) { + return WACCA_COLOURS.BLUE; + } else if (rate >= 1300) { + return WACCA_COLOURS.PURPLE; + } else if (rate >= 1000) { + return WACCA_COLOURS.RED; + } else if (rate >= 600) { + return WACCA_COLOURS.YELLOW; + } else if (rate >= 300) { + return WACCA_COLOURS.NAVY; + } + + return WACCA_COLOURS.ASH; +} + +export function CalculatePopnClass( + game: Game, + playtype: Playtype, + userID: integer, + ratings: Record +) { + if (IsNullish(ratings.naiveClassPoints)) { + return {}; + } + + const cls = PopnClassPointsToClass(ratings.naiveClassPoints); + + return { class: cls }; +} + +function PopnClassPointsToClass(points: number) { + if (points < 21) { + return POPN_CLASSES.KITTY; + } else if (points < 34) { + return POPN_CLASSES.GRADE_SCHOOL; + } else if (points < 46) { + return POPN_CLASSES.DELINQUENT; + } else if (points < 59) { + return POPN_CLASSES.DETECTIVE; + } else if (points < 68) { + return POPN_CLASSES.IDOL; + } else if (points < 79) { + return POPN_CLASSES.GENERAL; + } else if (points < 91) { + return POPN_CLASSES.HERMIT; + } + + return POPN_CLASSES.GOD; +} + +export function CalculateChunithmColour( + game: Game, + playtype: Playtype, + userID: integer, + ratings: Record +) { + if (IsNullish(ratings.naiveRating)) { + return {}; + } + + const colour = ChuniRatingToColour(ratings.naiveRating); + + return { colour }; +} + +function ChuniRatingToColour(rating: number) { + if (rating >= 15) { + return CHUNITHM_COLOURS.RAINBOW; + } else if (rating >= 14.5) { + return CHUNITHM_COLOURS.PLATINUM; + } else if (rating >= 14) { + return CHUNITHM_COLOURS.GOLD; + } else if (rating >= 13) { + return CHUNITHM_COLOURS.SILVER; + } else if (rating >= 12) { + return CHUNITHM_COLOURS.BRONZE; + } else if (rating >= 10) { + return CHUNITHM_COLOURS.PURPLE; + } else if (rating >= 7) { + return CHUNITHM_COLOURS.RED; + } else if (rating >= 4) { + return CHUNITHM_COLOURS.ORANGE; + } else if (rating >= 2) { + return CHUNITHM_COLOURS.GREEN; + } + + return CHUNITHM_COLOURS.BLUE; +} + +export function CalculateJubeatColour( + game: Game, + playtype: Playtype, + userID: integer, + ratings: Record +) { + if (IsNullish(ratings.jubility)) { + return {}; + } + + const colour = JubilityToColour(ratings.jubility); + + return { colour }; +} + +function JubilityToColour(jubility: number) { + if (jubility >= 9500) { + return JUBEAT_COLOURS.GOLD; + } else if (jubility >= 8500) { + return JUBEAT_COLOURS.ORANGE; + } else if (jubility >= 7000) { + return JUBEAT_COLOURS.PINK; + } else if (jubility >= 5500) { + return JUBEAT_COLOURS.PURPLE; + } else if (jubility >= 4000) { + return JUBEAT_COLOURS.VIOLET; + } else if (jubility >= 2500) { + return JUBEAT_COLOURS.BLUE; + } else if (jubility >= 1500) { + return JUBEAT_COLOURS.LIGHT_BLUE; + } else if (jubility >= 750) { + return JUBEAT_COLOURS.GREEN; + } else if (jubility >= 250) { + return JUBEAT_COLOURS.YELLOW_GREEN; + } + + return JUBEAT_COLOURS.BLACK; +} diff --git a/server/src/lib/score-import/framework/user-game-stats/classes.test.ts b/server/src/lib/score-import/framework/user-game-stats/classes.test.ts new file mode 100644 index 000000000..d27ce5947 --- /dev/null +++ b/server/src/lib/score-import/framework/user-game-stats/classes.test.ts @@ -0,0 +1,143 @@ +import { ProcessClassDeltas, UpdateUGSClasses } from "./classes"; +import { GitadoraColours } from "lib/constants/classes"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import type { UserGameStats } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +t.test("#UpdateUGSClasses", (t) => { + t.test("Should produce an empty object by default", async (t) => { + const res = await UpdateUGSClasses("iidx", "SP", 1, {}, null, logger); + + t.strictSame(res, {}); + + t.end(); + }); + + t.test("Should call and merge the ClassHandler", async (t) => { + const res = await UpdateUGSClasses("iidx", "SP", 1, {}, () => ({ dan: 2 }), logger); + + t.strictSame(res, { dan: 2 }); + + t.end(); + }); + + t.test("Should call static handlers if there is one", async (t) => { + const res = await UpdateUGSClasses( + "gitadora", + "Dora", + 1, + { + skill: 9000, + }, + null, + logger + ); + + t.strictSame(res, { colour: GitadoraColours.RAINBOW }); + + t.end(); + }); + + t.end(); +}); + +t.test("#ProcessClassDeltas", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return improved classes from null", async (t) => { + const res = await ProcessClassDeltas("iidx", "SP", { dan: 18 }, null, 1, logger); + + t.strictSame(res, [ + { + game: "iidx", + set: "dan", + playtype: "SP", + old: null, + new: 18, + }, + ]); + + t.end(); + }); + + t.test("Should return improved classes from null class", async (t) => { + const res = await ProcessClassDeltas( + "iidx", + "SP", + { dan: 18 }, + { classes: {} } as UserGameStats, + 1, + logger + ); + + t.strictSame(res, [ + { + game: "iidx", + set: "dan", + playtype: "SP", + old: null, + new: 18, + }, + ]); + + t.end(); + }); + + t.test("Should return improved classes", async (t) => { + const res = await ProcessClassDeltas( + "iidx", + "SP", + { dan: 18 }, + { classes: { dan: 17 } } as unknown as UserGameStats, + 1, + logger + ); + + t.strictSame(res, [ + { + game: "iidx", + set: "dan", + playtype: "SP", + old: 17, + new: 18, + }, + ]); + + t.end(); + }); + + t.test("Should not return identical classes", async (t) => { + const res = await ProcessClassDeltas( + "iidx", + "SP", + { dan: 18 }, + { classes: { dan: 18 } } as unknown as UserGameStats, + 1, + logger + ); + + t.strictSame(res, []); + + t.end(); + }); + + t.test("Should not return worse classes", async (t) => { + const res = await ProcessClassDeltas( + "iidx", + "SP", + { dan: 16 }, + { classes: { dan: 18 } } as unknown as UserGameStats, + 1, + logger + ); + + t.strictSame(res, []); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/framework/user-game-stats/classes.ts b/server/src/lib/score-import/framework/user-game-stats/classes.ts new file mode 100644 index 000000000..865f4d835 --- /dev/null +++ b/server/src/lib/score-import/framework/user-game-stats/classes.ts @@ -0,0 +1,203 @@ +import { + CalculateChunithmColour, + CalculateGitadoraColour, + CalculateJubeatColour, + CalculatePopnClass, + CalculateSDVXClass, + CalculateWACCAColour, +} from "./builtin-class-handlers"; +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import { EmitWebhookEvent } from "lib/webhooks/webhooks"; +import { ReturnClassIfGreater } from "utils/class"; +import type { ClassHandler, ScoreClasses } from "./types"; +import type { KtLogger } from "lib/logger/logger"; +import type { + ClassDelta, + Game, + IDStrings, + integer, + Playtype, + Playtypes, + UserGameStats, +} from "tachi-common"; +import type { GameClasses } from "tachi-common/js/game-classes"; + +type ClassHandlerMap = { + [G in Game]: + | { + [P in Playtypes[G]]: ClassHandler; + } + | null; +}; + +/** + * Describes the static class handlers for a game, I.E. ones that are + * always meant to be called when new scores are found. + * + * These can be calculated without any external (i.e. user/api-provided) data. + * + * A good example of this would be, say, jubeat's colours - the boundaries depend entirely + * on your profile skill level, which is known at the time this function is called. + */ +const STATIC_CLASS_HANDLERS: ClassHandlerMap = { + iidx: null, + bms: null, + chunithm: { + Single: CalculateChunithmColour, + }, + ddr: null, + gitadora: { + Gita: CalculateGitadoraColour, + Dora: CalculateGitadoraColour, + }, + maimai: null, + museca: null, + popn: { + "9B": CalculatePopnClass, + }, + sdvx: { + Single: CalculateSDVXClass, + }, + usc: null, + wacca: { + Single: CalculateWACCAColour, + }, + jubeat: { + Single: CalculateJubeatColour, + }, + pms: null, + itg: null, +}; + +/** + * Calculates a User's Game Stats Classes. This function is rather complex, because the reality is rather complex. + * + * A class is simply a hard bounded division dependent on a user. Such as a Dan or a skill level dependent on a statistic. + * Not all services expose this information in the same way, so this function takes an async resolve function, + * which is allowed to return its own classes. These will be merged with the classes that *we* can calculate. + * + * As an example, we are always able to calculate things like Gitadora's colours. We know the user's skill statistic, + * and a colour is just between X-Y skill. However, we cannot always calculate something like IIDX's dans. Infact, + * there's no calculation involved. We need to instead request this information from a service. For things like ARC + * they expose this on a dedicated endpoint. + * The custom function allows us to request that data from a custom endpoint, and merge it with things we can always + * calculate. + * + * @param ratings - A users ratings. This is calculated in rating.ts, and passed via update-ugs.ts. + * We request this because we need it for things like gitadora's skill divisions - We don't need to calculate our skill + * statistic twice if we just request it be passed to us! + * @param ImportTypeClassResolveFn - The Custom Resolve Function that certain import types may pass to us as a means + * for retrieving information about a class. This returns the same thing as this function, and it is merged with the + * defaults. + */ +export async function UpdateUGSClasses( + game: Game, + playtype: Playtype, + userID: integer, + ratings: Record, + ClassHandler: ClassHandler | null, + logger: KtLogger +): Promise { + let classes: ScoreClasses = {}; + + // @ts-expect-error This one sucks - I need to look into a better way of representing these types + if (STATIC_CLASS_HANDLERS[game]?.[playtype] !== undefined) { + // @ts-expect-error see above + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call + classes = await STATIC_CLASS_HANDLERS[game][playtype]( + game, + playtype, + userID, + ratings, + logger + ); + } + + if (ClassHandler) { + logger.debug(`Calling custom class handler.`); + const customClasses = (await ClassHandler(game, playtype, userID, ratings, logger)) ?? {}; + + classes = deepmerge(customClasses, classes); + } + + return classes; +} + +/** + * Calculates the class "deltas" for this users classes. + * This is for calculating scenarios where a users class has improved (i.e. they have gone from 9th dan to 10th dan). + * + * Knowing this information allows us to attach it onto the import, and also emit things on webhooks. + * This function emits webhook events and inserts classachieved documents into the DB!** + */ +export async function ProcessClassDeltas( + game: Game, + playtype: Playtype, + classes: ScoreClasses, + userGameStats: UserGameStats | null, + userID: integer, + logger: KtLogger +): Promise> { + const deltas: Array = []; + + const achievementOps = []; + + for (const s of Object.keys(classes)) { + const classSet = s as keyof GameClasses; + const classVal = classes[classSet]; + + if (classVal === undefined) { + logger.debug(`Skipped deltaing-class ${classSet}.`); + continue; + } + + try { + const isGreater = ReturnClassIfGreater(classSet, classVal, userGameStats); + + if (isGreater === false) { + continue; + } else { + let delta: ClassDelta; + + if (isGreater === null) { + delta = { + game, + set: classSet, + playtype, + old: null, + new: classVal, + }; + } else { + delta = { + game, + set: classSet, + playtype, + old: userGameStats!.classes[classSet]!, + new: classVal, + }; + } + + void EmitWebhookEvent({ type: "class-update/v1", content: { userID, ...delta } }); + + achievementOps.push({ + userID, + classSet: delta.set, + classOldValue: delta.old, + classValue: delta.new, + game, + playtype, + timeAchieved: Date.now(), + }); + + deltas.push(delta); + } + } catch (err) { + logger.error(err); + } + } + + await db["class-achievements"].insert(achievementOps); + + return deltas; +} diff --git a/server/src/lib/score-import/framework/user-game-stats/rating.test.ts b/server/src/lib/score-import/framework/user-game-stats/rating.test.ts new file mode 100644 index 000000000..c7c3b941d --- /dev/null +++ b/server/src/lib/score-import/framework/user-game-stats/rating.test.ts @@ -0,0 +1,76 @@ +import { CalculateRatings } from "./rating"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; + +const logger = CreateLogCtx(__filename); + +t.test("#CalculateRatings", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return BPI for IIDX", async (t) => { + const res = await CalculateRatings("iidx", "SP", 1, logger); + + t.strictSame(res, { BPI: null, ktLampRating: null }, "Should return BPI as a custom key."); + + const resDP = await CalculateRatings("iidx", "DP", 1, logger); + + t.strictSame( + resDP, + { BPI: null, ktLampRating: null }, + "Should return BPI as a custom key." + ); + + t.end(); + }); + + t.test("Should return VF6 for SDVX", async (t) => { + const res = await CalculateRatings("sdvx", "Single", 1, logger); + + t.strictSame(res, { VF6: null }, "Should return VF6 keys."); + + t.end(); + }); + + t.test("Should return VF6 for USC:Keyboard", async (t) => { + const res = await CalculateRatings("usc", "Keyboard", 1, logger); + + t.strictSame(res, { VF6: null }, "Should return VF6 keys."); + + t.end(); + }); + + t.test("Should return VF6 for USC:Controller", async (t) => { + const res = await CalculateRatings("usc", "Controller", 1, logger); + + t.strictSame(res, { VF6: null }, "Should return VF6 keys."); + + t.end(); + }); + + t.test("Should return MFCP for DDR", async (t) => { + const res = await CalculateRatings("ddr", "SP", 1, logger); + + t.strictSame(res, { MFCP: null, ktRating: null }, "Should return MFCP keys."); + + const resDP = await CalculateRatings("ddr", "DP", 1, logger); + + t.strictSame(resDP, { MFCP: null, ktRating: null }, "Should return MFCP keys."); + + t.end(); + }); + + t.test("Should return skill for Gitadora", async (t) => { + const res = await CalculateRatings("gitadora", "Dora", 1, logger); + + t.strictSame(res, { skill: null, naiveSkill: null }, "Should return skill keys."); + + const resDP = await CalculateRatings("gitadora", "Gita", 1, logger); + + t.strictSame(resDP, { skill: null, naiveSkill: null }, "Should return skill keys."); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/framework/user-game-stats/rating.ts b/server/src/lib/score-import/framework/user-game-stats/rating.ts new file mode 100644 index 000000000..0ad94f750 --- /dev/null +++ b/server/src/lib/score-import/framework/user-game-stats/rating.ts @@ -0,0 +1,353 @@ +import db from "external/mongo/db"; +import type { KtLogger } from "lib/logger/logger"; +import type { + Game, + IDStrings, + integer, + PBScoreDocument, + Playtype, + ScoreCalculatedDataLookup, + UserGameStats, +} from "tachi-common"; + +type CustomCalcNames = ScoreCalculatedDataLookup[IDStrings]; + +function LazySumAll(key: CustomCalcNames) { + return async (game: Game, playtype: Playtype, userID: integer) => { + const sc = await db["personal-bests"].find({ + game, + playtype, + userID, + isPrimary: true, + [`calculatedData.${key}`]: { $type: "number" }, + }); + + if (sc.length === 0) { + return null; + } + + const result = sc.reduce((a, e) => a + e.calculatedData[key]!, 0); + + return result; + }; +} + +/** + * Curries a function that returns the sum of N best ratings on `key`. + * + * @param key - What rating value to sum. + * @param n - The amount of rating values to pull. + * @param returnMean - Optionally, if true, return the sum of these values divided by N. + * @param nullIfNotEnoughScores - If true, return null if the total scores this user has is less than N. + * + * @returns - Number if the user has scores with that rating algorithm, null if they have + * no scores with this rating algorithm that are non-null. + */ +function LazyCalcN( + key: CustomCalcNames, + n: integer, + returnMean = false, + nullIfNotEnoughScores = false +) { + return async (game: Game, playtype: Playtype, userID: integer) => { + const sc = await db["personal-bests"].find( + { + game, + playtype, + userID, + isPrimary: true, + [`calculatedData.${key}`]: { $type: "number" }, + }, + { + limit: n, + sort: { [`calculatedData.${key}`]: -1 }, + } + ); + + if (sc.length === 0) { + return null; + } + + if (nullIfNotEnoughScores && sc.length < n) { + return null; + } + + let result = sc.reduce((a, e) => a + e.calculatedData[key]!, 0); + + if (returnMean) { + result = result / n; + } + + return result; + }; +} + +const LazySumN = (key: CustomCalcNames, n: integer, nullIfNotEnoughScores = false) => + LazyCalcN(key, n, false, nullIfNotEnoughScores); +const LazyMeanN = (key: CustomCalcNames, n: integer, nullIfNotEnoughScores = false) => + LazyCalcN(key, n, true, nullIfNotEnoughScores); + +type RatingFunction = ( + game: Game, + playtype: Playtype, + userID: integer, + logger: KtLogger +) => Promise; + +function GetGPTRatingFunction(game: Game, playtype: Playtype): RatingFunction { + switch (`${game}:${playtype}` as IDStrings) { + case "iidx:SP": + case "iidx:DP": + return async (g, p, u) => ({ + BPI: await LazyMeanN("BPI", 20, true)(g, p, u), + ktLampRating: await LazyMeanN("ktLampRating", 20)(g, p, u), + }); + case "sdvx:Single": + case "usc:Keyboard": + case "usc:Controller": + return async (g, p, u) => ({ + VF6: await LazySumN("VF6", 50)(g, p, u), + }); + case "ddr:SP": + case "ddr:DP": + return async (g, p, u) => ({ + MFCP: await LazySumAll("MFCP")(g, p, u), + ktRating: await LazyMeanN("ktRating", 20)(g, p, u), + }); + case "gitadora:Dora": + case "gitadora:Gita": + return async (g, p, u, l) => ({ + skill: await CalculateGitadoraSkill(g, p, u, l), + naiveSkill: await LazySumN("skill", 50)(g, p, u), + }); + case "bms:7K": + case "bms:14K": + case "pms:Keyboard": + case "pms:Controller": + return async (g, p, u) => ({ + sieglinde: await LazyMeanN("sieglinde", 20)(g, p, u), + }); + case "chunithm:Single": + return async (g, p, u) => ({ + naiveRating: await LazyMeanN("rating", 20)(g, p, u), + }); + case "popn:9B": + return async (g, p, u) => ({ + naiveClassPoints: await LazyMeanN("classPoints", 20)(g, p, u), + }); + case "museca:Single": + return async (g, p, u) => ({ + ktRating: await LazyMeanN("ktRating", 20)(g, p, u), + }); + case "maimai:Single": + return async (g, p, u) => ({ + ktRating: await LazyMeanN("ktRating", 20)(g, p, u), + }); + case "wacca:Single": + return async (g, p, u, l) => ({ + naiveRate: await LazySumN("rate", 50)(g, p, u), + rate: await CalculateWACCARate(g, p, u, l), + }); + case "jubeat:Single": + return async (g, p, u, l) => ({ + jubility: await CalculateJubility(g, p, u, l), + naiveJubility: await LazySumN("jubility", 60)(g, p, u), + }); + case "itg:Stamina": + // HighestX is equivalent to summing 1. + return async (g, p, u) => ({ + highestBlock: await LazySumN("blockRating", 1, true)(g, p, u), + highest32: await LazySumN("highest32", 1, true)(g, p, u), + highest256: await LazySumN("highest256", 1, true)(g, p, u), + }); + } +} + +export function CalculateRatings( + game: Game, + playtype: Playtype, + userID: integer, + logger: KtLogger +): Promise>> { + const RatingFunction = GetGPTRatingFunction(game, playtype); + + return RatingFunction(game, playtype, userID, logger); +} + +// Wacca has a funny algorithm for rate involving gitadora-style latest chart bonuses, +async function CalculateWACCARate( + game: Game, + playtype: Playtype, + userID: integer, + _logger: KtLogger +) { + const hotChartIDs = ( + await db.charts.wacca.find({ "data.isHot": true }, { projection: { chartID: 1 } }) + ).map((e) => e.chartID); + + const coldChartIDs = ( + await db.charts.wacca.find({ "data.isHot": false }, { projection: { chartID: 1 } }) + ).map((e) => e.chartID); + + const best15Hot = await db["personal-bests"].find( + { + game, + playtype, + userID, + chartID: { $in: hotChartIDs }, + "calculatedData.rate": { $type: "number" }, + }, + { + sort: { + "calculatedData.rate": -1, + }, + limit: 15, + projection: { + "calculatedData.rate": 1, + }, + } + ); + + const best35Cold = await db["personal-bests"].find( + { + game, + playtype, + userID, + chartID: { $in: coldChartIDs }, + "calculatedData.rate": { $type: "number" }, + }, + { + sort: { + "calculatedData.rate": -1, + }, + limit: 35, + projection: { + "calculatedData.rate": 1, + }, + } + ); + + if (best15Hot.length + best35Cold.length === 0) { + return null; + } + + return ( + best15Hot.reduce((a, e) => a + e.calculatedData.rate!, 0) + + best35Cold.reduce((a, e) => a + e.calculatedData.rate!, 0) + ); +} + +async function CalculateGitadoraSkill( + game: Game, + playtype: Playtype, + userID: integer, + _logger: KtLogger +) { + const hotSongIDs = ( + await db.songs.gitadora.find({ "data.isHot": true }, { projection: { id: 1 } }) + ).map((e) => e.id); + + // get it + const coldSongIDs = ( + await db.songs.gitadora.find({ "data.isHot": false }, { projection: { id: 1 } }) + ).map((e) => e.id); + + const [bestHotScores, bestScores] = await Promise.all([ + GetBestRatingOnSongs(hotSongIDs, userID, game, playtype, "skill"), + GetBestRatingOnSongs(coldSongIDs, userID, game, playtype, "skill"), + ]); + + if (bestHotScores.length + bestScores.length === 0) { + return null; + } + + let skill = 0; + + skill = skill + bestHotScores.reduce((a, e) => a + e.calculatedData.skill!, 0); + skill = skill + bestScores.reduce((a, e) => a + e.calculatedData.skill!, 0); + + return skill; +} + +export async function GetBestRatingOnSongs( + songIDs: Array, + userID: integer, + game: Game, + playtype: Playtype, + ratingProp: "skill", + limit = 25 +): Promise> { + const r: Array<{ doc: PBScoreDocument }> = await db["personal-bests"].aggregate([ + { + $match: { + game, + playtype, + userID, + songID: { $in: songIDs }, + }, + }, + { + $sort: { + [`calculatedData.${ratingProp}`]: -1, + }, + }, + { + $group: { + _id: "$songID", + doc: { $first: "$$ROOT" }, + }, + }, + { + $limit: limit, + }, + ]); + + return r.map((e) => e.doc); +} + +async function CalculateJubility( + game: Game, + playtype: Playtype, + userID: integer, + _logger: KtLogger +): Promise { + const hotSongs = await db.songs.jubeat.find( + { "data.displayVersion": "festo" }, + { projection: { id: 1 } } + ); + + const hotSongIDs = hotSongs.map((e) => e.id); + + const coldSongs = await db.songs.jubeat.find( + { "data.displayVersion": { $ne: "festo" } }, + { projection: { id: 1 } } + ); + + const coldSongIDs = coldSongs.map((e) => e.id); + + const [bestHotScores, bestScores] = await Promise.all([ + db["personal-bests"].find( + { userID, songID: { $in: hotSongIDs } }, + { + sort: { "calculatedData.jubility": -1 }, + limit: 30, + projection: { "calculatedData.jubility": 1 }, + } + ), + db["personal-bests"].find( + { userID, songID: { $in: coldSongIDs } }, + { + sort: { "calculatedData.jubility": -1 }, + limit: 30, + projection: { "calculatedData.jubility": 1 }, + } + ), + ]); + + let skill = 0; + + skill = skill + bestHotScores.reduce((a, e) => a + e.calculatedData.jubility!, 0); + skill = skill + bestScores.reduce((a, e) => a + e.calculatedData.jubility!, 0); + + return skill; +} diff --git a/server/src/lib/score-import/framework/user-game-stats/types.ts b/server/src/lib/score-import/framework/user-game-stats/types.ts new file mode 100644 index 000000000..8bf5f0516 --- /dev/null +++ b/server/src/lib/score-import/framework/user-game-stats/types.ts @@ -0,0 +1,13 @@ +import type { KtLogger } from "lib/logger/logger"; +import type { Game, IDStrings, integer, Playtype } from "tachi-common"; +import type { GameClasses } from "tachi-common/js/game-classes"; + +export type ScoreClasses = Partial>; + +export type ClassHandler = ( + game: Game, + playtype: Playtype, + userID: integer, + ratings: Record, + logger: KtLogger +) => Promise | ScoreClasses | undefined; diff --git a/server/src/lib/score-import/framework/user-game-stats/update-ugs.test.ts b/server/src/lib/score-import/framework/user-game-stats/update-ugs.test.ts new file mode 100644 index 000000000..9b9aa3481 --- /dev/null +++ b/server/src/lib/score-import/framework/user-game-stats/update-ugs.test.ts @@ -0,0 +1,211 @@ +import { UpdateUsersGamePlaytypeStats } from "./update-ugs"; +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { TestingIIDXSPScorePB } from "test-utils/test-data"; +import crypto from "crypto"; + +const logger = CreateLogCtx(__filename); + +// more of an integration test +t.test("#UpdateUsersGamePlaytypeStats", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(async () => { + delete TestingIIDXSPScorePB._id; + await db["personal-bests"].insert(TestingIIDXSPScorePB); + }); + + t.test( + "Should create new UserGameStats and UserGameSettings if the user has none", + async (t) => { + await db["game-stats"].remove({}); + await db["game-settings"].remove({}); + + const res = await UpdateUsersGamePlaytypeStats("iidx", "SP", 1, null, logger); + + t.strictSame(res, [], "Should return an empty object"); + + const gs = await db["game-stats"].findOne(); + + t.hasStrict( + gs, + { + game: "iidx", + playtype: "SP", + userID: 1, + ratings: { ktLampRating: 0 }, + classes: {}, + }, + "Should insert an appropriate game-stats object" + ); + + const settings = await db["game-settings"].findOne(); + + t.hasStrict(settings, { + game: "iidx", + playtype: "SP", + userID: 1, + preferences: {}, + }); + + t.end(); + } + ); + + t.test("Should update UserGameStats if the user has one", async (t) => { + await db["game-stats"].remove({}); + + await db["game-stats"].insert({ + game: "iidx", + playtype: "SP", + userID: 1, + ratings: { ktLampRating: 0 }, + classes: {}, + }); + + // insert some mock scores + const ratings = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; + + await db["personal-bests"].insert( + ratings.map((e) => + deepmerge(TestingIIDXSPScorePB, { + chartID: crypto.randomBytes(20).toString("hex"), + calculatedData: { + ktLampRating: e, + }, + }) + ) + ); + + const res = await UpdateUsersGamePlaytypeStats("iidx", "SP", 1, null, logger); + + t.strictSame(res, [], "Should return an empty object"); + + const gs = await db["game-stats"].findOne(); + + t.hasStrict( + gs, + { + game: "iidx", + playtype: "SP", + userID: 1, + ratings: { ktLampRating: ratings.reduce((a, e) => a + e, 0) / 20 }, + classes: {}, + }, + "Should update the game-stats object" + ); + + t.end(); + }); + + t.test("Should return class deltas", async (t) => { + await db["game-stats"].remove({}); + + await db["game-stats"].insert({ + game: "iidx", + playtype: "SP", + userID: 1, + ratings: { ktLampRating: 0 }, + + classes: {}, + }); + + const res = await UpdateUsersGamePlaytypeStats( + "iidx", + "SP", + 1, + () => ({ dan: 18 }), + logger + ); + + t.strictSame( + res, + [ + { + game: "iidx", + set: "dan", + playtype: "SP", + old: null, + new: 18, + }, + ], + "Should return the class delta" + ); + + const gs = await db["game-stats"].findOne(); + + t.hasStrict( + gs, + { + game: "iidx", + playtype: "SP", + userID: 1, + ratings: { ktLampRating: 0 }, + classes: { + dan: 18, + }, + }, + "Should update the game-stats object" + ); + + t.end(); + }); + + t.test("Should return updated class deltas", async (t) => { + await db["game-stats"].remove({}); + + await db["game-stats"].insert({ + game: "iidx", + playtype: "SP", + userID: 1, + ratings: { ktLampRating: 0 }, + classes: { + dan: 17, + }, + }); + + const res = await UpdateUsersGamePlaytypeStats( + "iidx", + "SP", + 1, + () => ({ dan: 18 }), + logger + ); + + t.strictSame( + res, + [ + { + game: "iidx", + set: "dan", + playtype: "SP", + old: 17, + new: 18, + }, + ], + "Should return the updated class delta" + ); + + const gs = await db["game-stats"].findOne(); + + t.hasStrict( + gs, + { + game: "iidx", + playtype: "SP", + userID: 1, + ratings: { ktLampRating: 0 }, + classes: { + dan: 18, + }, + }, + "Should update the game-stats object" + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/framework/user-game-stats/update-ugs.ts b/server/src/lib/score-import/framework/user-game-stats/update-ugs.ts new file mode 100644 index 000000000..6b0033297 --- /dev/null +++ b/server/src/lib/score-import/framework/user-game-stats/update-ugs.ts @@ -0,0 +1,94 @@ +// "rating" refers to a user's profile statistics, as in their "rating" on a game. +// Some games have dedicated methods to calculate statistics like these, other games do not. +// That's about all there is to it! + +import { ProcessClassDeltas, UpdateUGSClasses } from "./classes"; +import { CalculateRatings } from "./rating"; +import db from "external/mongo/db"; +import { CreateGameSettings } from "lib/game-settings/create-game-settings"; +import type { ClassHandler } from "./types"; +import type { KtLogger } from "lib/logger/logger"; +import type { ClassDelta, Game, integer, Playtype, UserGameStats } from "tachi-common"; + +export async function UpdateUsersGamePlaytypeStats( + game: Game, + playtype: Playtype, + userID: integer, + classHandler: ClassHandler | null, + logger: KtLogger +): Promise> { + const ratings = await CalculateRatings(game, playtype, userID, logger); + + // Attempt to find a users game stats if one already exists. If one doesn't exist, + // this is this players first import for this game! + const userGameStats = await db["game-stats"].findOne({ + game, + playtype, + userID, + }); + + logger.debug(`Calculating UGSClasses...`); + + const classes = await UpdateUGSClasses(game, playtype, userID, ratings, classHandler, logger); + + logger.debug(`Finished Calculating UGSClasses`); + + logger.debug(`Calculating Class Deltas...`); + + const deltas = await ProcessClassDeltas(game, playtype, classes, userGameStats, userID, logger); + + logger.debug(`Had ${deltas.length} deltas.`); + + if (userGameStats) { + logger.debug(`Updated player gamestats for ${game} (${playtype})`); + + const updateClasses: Record = {}; + + for (const delta of deltas) { + updateClasses[`classes.${delta.set}`] = delta.new; + } + + await db["game-stats"].update( + { + game, + playtype, + userID, + }, + { + $set: { + ratings, + ...updateClasses, + }, + } + ); + } else { + const hasAnyScores = await db.scores.findOne({ + game, + playtype, + userID, + }); + + if (!hasAnyScores) { + logger.debug("Not creating new game stats for user with no scores.", { + userID, + game, + playtype, + }); + return deltas; + } + + const newStats: UserGameStats = { + game, + playtype, + userID, + ratings, + classes, + }; + + logger.info(`Created new gamestats for ${game} (${playtype})`); + await db["game-stats"].insert(newStats); + await CreateGameSettings(userID, game, playtype); + } + + return deltas; +} diff --git a/server/src/lib/score-import/import-types/api/arc-iidx/class-handler.test.ts b/server/src/lib/score-import/import-types/api/arc-iidx/class-handler.test.ts new file mode 100644 index 000000000..14350654d --- /dev/null +++ b/server/src/lib/score-import/import-types/api/arc-iidx/class-handler.test.ts @@ -0,0 +1,147 @@ +import { CreateArcIIDXClassHandler } from "./class-handler"; +import { IIDXDans } from "lib/constants/classes"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import { MockJSONFetch } from "test-utils/mock-fetch"; +import ResetDBState from "test-utils/resets"; + +const logger = CreateLogCtx(__filename); + +t.test("#CreateArcIIDXClassHandler", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return a working ClassHandler.", async (t) => { + const mockFetch = MockJSONFetch({ + "https://arc.example.com/api/v1/iidx/28/profiles/?_id=profile": { + _items: [ + { + sp: { + rank: "中伝", + }, + dp: { + rank: "ニ段", + }, + }, + ], + }, + }); + + const fn = await CreateArcIIDXClassHandler("profile", "token", mockFetch); + + t.equal(fn.length, 5); + + // its not async but typescript complains + const res = await fn("iidx", "SP", 1, {}, logger); + + t.equal(res!.dan, IIDXDans.CHUUDEN); + + const res2 = await fn("iidx", "DP", 1, {}, logger); + + t.equal(res2!.dan, IIDXDans.DAN_2); + + t.end(); + }); + + t.test("Should handle null.", async (t) => { + const mockFetch = MockJSONFetch({ + "https://arc.example.com/api/v1/iidx/28/profiles/?_id=profile": { + _items: [ + { + sp: { + rank: null, + }, + dp: { + rank: null, + }, + }, + ], + }, + }); + + const fn = await CreateArcIIDXClassHandler("profile", "token", mockFetch); + + t.equal(fn.length, 5); + + const res = await fn("iidx", "SP", 1, {}, logger); + + t.strictSame(res, {}); + + const res2 = await fn("iidx", "DP", 1, {}, logger); + + t.strictSame(res2, {}); + + t.end(); + }); + + t.test("Should handle undefined.", async (t) => { + const mockFetch = MockJSONFetch({ + "https://arc.example.com/api/v1/iidx/28/profiles/?_id=profile": { + _items: [{}], + }, + }); + + const fn = await CreateArcIIDXClassHandler("profile", "token", mockFetch); + + t.equal(fn.length, 5); + + const res = await fn("iidx", "SP", 1, {}, logger); + + t.strictSame(res, {}); + + const res2 = await fn("iidx", "DP", 1, {}, logger); + + t.strictSame(res2, {}); + + t.end(); + }); + + t.test("Should handle invalid classes.", async (t) => { + const mockFetch = MockJSONFetch({ + "https://arc.example.com/api/v1/iidx/28/profiles/?_id=profile": { + _items: [ + { + sp: { + rank: "invalid", + }, + }, + ], + }, + }); + + const fn = await CreateArcIIDXClassHandler("profile", "token", mockFetch); + + t.equal(fn.length, 5); + + const res = await fn("iidx", "SP", 1, {}, logger); + + t.strictSame(res, {}); + + t.end(); + }); + + t.test("Should trigger failsafe if invalid playtype is used.", async (t) => { + const mockFetch = MockJSONFetch({ + "https://arc.example.com/api/v1/iidx/28/profiles/?_id=profile": { + _items: [ + { + sp: { + rank: "中伝", + }, + }, + ], + }, + }); + + const fn = await CreateArcIIDXClassHandler("profile", "token", mockFetch); + + t.equal(fn.length, 5); + + const res = await fn("iidx", "14K", 1, {}, logger); + + t.strictSame(res, {}); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/api/arc-iidx/class-handler.ts b/server/src/lib/score-import/import-types/api/arc-iidx/class-handler.ts new file mode 100644 index 000000000..caf2a8e33 --- /dev/null +++ b/server/src/lib/score-import/import-types/api/arc-iidx/class-handler.ts @@ -0,0 +1,110 @@ +import { IIDXDans } from "lib/constants/classes"; +import { ServerConfig } from "lib/setup/config"; +import nodeFetch from "utils/fetch"; +import { HasOwnProperty, IsRecord } from "utils/misc"; +import { CreateURLWithParams } from "utils/url"; +import type { ClassHandler } from "../../../framework/user-game-stats/types"; + +export async function CreateArcIIDXClassHandler( + profileID: string, + token: string, + fetch = nodeFetch +): Promise { + let json: unknown; + let err: unknown; + + // SP and DP dans are located in the same place, + // fetch once, then return a function that traverses this data. + try { + const url = CreateURLWithParams(`${ServerConfig.ARC_API_URL}/api/v1/iidx/28/profiles/`, { + _id: profileID, + }); + + const res = await fetch(url.href, { + headers: { + Authorization: `Bearer ${token}`, + }, + }); + + json = (await res.json()) as unknown; + } catch (e) { + err = e; + } + + return (game, playtype, userID, ratings, logger) => { + if (err !== undefined) { + logger.error( + `An error occured while updating classes for ${ServerConfig.ARC_API_URL}.`, + { err } + ); + return {}; + } + + if (!IsRecord(json)) { + logger.warn(`ARC returned a non-record as their JSON? Can't handle class updates.`, { + json, + }); + return {}; + } + + // we're just going to lazily path directly towards the rank. + // if ARC sends us an unexpected JSON structure or whatever + // we wont crash. + let arcClass: string | null | undefined; + + if (playtype === "SP") { + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access + arcClass = (json as any)._items?.[0]?.sp?.rank; + } else if (playtype === "DP") { + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access + arcClass = (json as any)._items?.[0]?.dp?.rank; + } else { + logger.error(`ARCIIDXClassUpdater called with invalid playtype of ${playtype}.`); + return {}; + } + + if (arcClass === null) { + return {}; + } + + // arc's classes sometimes have trailing/leading spaces. + const trimmedArcClass = (arcClass ?? "").trim(); + + if (!HasOwnProperty(ARCClasses, trimmedArcClass)) { + logger.warn(`Invalid dan sent from ARC ${trimmedArcClass}. Ignoring.`); + return {}; + } + + return { + dan: ARCClasses[trimmedArcClass], + }; + }; +} + +const ARCClasses = { + 皆伝: IIDXDans.KAIDEN, + 中伝: IIDXDans.CHUUDEN, + 十段: IIDXDans.DAN_10, + 九段: IIDXDans.DAN_9, + 八段: IIDXDans.DAN_8, + 七段: IIDXDans.DAN_7, + 六段: IIDXDans.DAN_6, + 五段: IIDXDans.DAN_5, + 四段: IIDXDans.DAN_4, + 三段: IIDXDans.DAN_3, + + // These two look very similar but they aren't + // and ARC uses both, from what I can tell. + // How nice of them. + 二段: IIDXDans.DAN_2, + ニ段: IIDXDans.DAN_2, + + 初段: IIDXDans.DAN_1, + 一級: IIDXDans.KYU_1, + 二級: IIDXDans.KYU_2, + 三級: IIDXDans.KYU_3, + 四級: IIDXDans.KYU_4, + 五級: IIDXDans.KYU_5, + 六級: IIDXDans.KYU_6, + 七級: IIDXDans.KYU_7, +}; diff --git a/server/src/lib/score-import/import-types/api/arc-iidx/converter.test.ts b/server/src/lib/score-import/import-types/api/arc-iidx/converter.test.ts new file mode 100644 index 000000000..f05f477cd --- /dev/null +++ b/server/src/lib/score-import/import-types/api/arc-iidx/converter.test.ts @@ -0,0 +1,92 @@ +import { ConvertAPIArcIIDX, ResolveARCIIDXLamp } from "./converter"; +import deepmerge from "deepmerge"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { GetKTDataJSON, Testing511Song, Testing511SPA } from "test-utils/test-data"; +import type { ARCIIDXScore } from "./types"; + +const logger = CreateLogCtx(__filename); + +const arcScore = GetKTDataJSON("./api-arc/iidx-score.json") as ARCIIDXScore; + +t.test("#ConvertAPIArcIIDX", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should convert a valid score", async (t) => { + const res = await ConvertAPIArcIIDX(arcScore, {}, "api/arc-iidx", logger); + + t.hasStrict(res, { + song: Testing511Song, + chart: Testing511SPA, + dryScore: { + comment: null, + game: "iidx", + importType: "api/arc-iidx", + timeAchieved: 1604784681894, + service: "ARC IIDX28", + scoreData: { + grade: "A", + score: 1200, + judgements: {}, + hitMeta: { + bp: 43, + }, + lamp: "HARD CLEAR", + }, + scoreMeta: {}, + }, + }); + + t.end(); + }); + + t.test("Should throw on an invalid score", (t) => { + t.rejects( + () => + ConvertAPIArcIIDX( + deepmerge(arcScore, { ex_score: "foo" }), + {}, + "api/arc-iidx", + logger + ), + { + message: /Invalid ARC Score:/iu, + } + ); + + t.end(); + }); + + t.test("Should throw on no chart", (t) => { + t.rejects( + () => + ConvertAPIArcIIDX( + deepmerge(arcScore, { chart_id: "foo" }), + {}, + "api/arc-iidx", + logger + ), + { + message: /Could not find chart/iu, + } + ); + + t.end(); + }); + + t.end(); +}); + +t.test("#ResolveARCIIDXLamp", (t) => { + t.equal(ResolveARCIIDXLamp("NO_PLAY"), "NO PLAY"); + t.equal(ResolveARCIIDXLamp("FAILED"), "FAILED"); + t.equal(ResolveARCIIDXLamp("ASSIST_CLEAR"), "ASSIST CLEAR"); + t.equal(ResolveARCIIDXLamp("EASY_CLEAR"), "EASY CLEAR"); + t.equal(ResolveARCIIDXLamp("CLEAR"), "CLEAR"); + t.equal(ResolveARCIIDXLamp("HARD_CLEAR"), "HARD CLEAR"); + t.equal(ResolveARCIIDXLamp("EX_HARD_CLEAR"), "EX HARD CLEAR"); + t.equal(ResolveARCIIDXLamp("FULL_COMBO"), "FULL COMBO"); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/api/arc-iidx/converter.ts b/server/src/lib/score-import/import-types/api/arc-iidx/converter.ts new file mode 100644 index 000000000..730f476fa --- /dev/null +++ b/server/src/lib/score-import/import-types/api/arc-iidx/converter.ts @@ -0,0 +1,114 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { + InvalidScoreFailure, + KTDataNotFoundFailure, +} from "../../../framework/common/converter-failures"; +import { + GenericGetGradeAndPercent, + ParseDateFromString, +} from "../../../framework/common/score-utils"; +import p from "prudence"; +import { FormatPrError } from "utils/prudence"; +import { FindChartOnARCID } from "utils/queries/charts"; +import { FindSongOnIDGuaranteed } from "utils/queries/songs"; +import type { DryScore } from "../../../framework/common/types"; +import type { ConverterFunction } from "../../common/types"; +import type { ARCIIDXScore } from "./types"; +import type { PrudenceSchema } from "prudence"; +import type { Lamps } from "tachi-common"; +import type { EmptyObject } from "utils/types"; + +// There's a bunch of other useless fields but we don't care +const PR_ARC_IIDX_SCORE: PrudenceSchema = { + chart_id: "string", + lamp: p.isIn( + "FULL_COMBO", + "EX_HARD_CLEAR", + "HARD_CLEAR", + "CLEAR", + "EASY_CLEAR", + "ASSIST_CLEAR", + "FAILED", + "NO_PLAY" + ), + ex_score: p.isPositiveInteger, + miss_count: p.nullable(p.isPositiveInteger), + timestamp: "string", +}; + +export const ConvertAPIArcIIDX: ConverterFunction = async ( + data, + context, + importType, + logger +) => { + const err = p(data, PR_ARC_IIDX_SCORE, {}, { throwOnNonObject: false, allowExcessKeys: true }); + + if (err) { + throw new InvalidScoreFailure(FormatPrError(err, "Invalid ARC Score: ")); + } + + // confirmed by Prudence above. + const score = data as ARCIIDXScore; + + const chart = await FindChartOnARCID("iidx", score.chart_id); + + if (!chart) { + throw new KTDataNotFoundFailure( + `Could not find chart with chart_id ${score.chart_id}.`, + importType, + data, + context + ); + } + + const song = await FindSongOnIDGuaranteed("iidx", chart.songID, logger); + + const { grade, percent } = GenericGetGradeAndPercent("iidx", score.ex_score, chart); + + const timeAchieved = ParseDateFromString(score.timestamp); + + const lamp = ResolveARCIIDXLamp(score.lamp); + + const dryScore: DryScore<"iidx:DP" | "iidx:SP"> = { + comment: null, + game: "iidx", + importType, + timeAchieved, + service: "ARC IIDX28", + scoreData: { + grade, + percent, + score: score.ex_score, + judgements: {}, + hitMeta: { + bp: score.miss_count, + }, + lamp, + }, + scoreMeta: {}, + }; + + return { song, chart, dryScore }; +}; + +export function ResolveARCIIDXLamp(lamp: ARCIIDXScore["lamp"]): Lamps["iidx:DP" | "iidx:SP"] { + switch (lamp) { + case "NO_PLAY": + return "NO PLAY"; + case "FAILED": + return "FAILED"; + case "ASSIST_CLEAR": + return "ASSIST CLEAR"; + case "EASY_CLEAR": + return "EASY CLEAR"; + case "CLEAR": + return "CLEAR"; + case "HARD_CLEAR": + return "HARD CLEAR"; + case "EX_HARD_CLEAR": + return "EX HARD CLEAR"; + case "FULL_COMBO": + return "FULL COMBO"; + } +} diff --git a/server/src/lib/score-import/import-types/api/arc-iidx/parser.test.ts b/server/src/lib/score-import/import-types/api/arc-iidx/parser.test.ts new file mode 100644 index 000000000..5e04b5d2c --- /dev/null +++ b/server/src/lib/score-import/import-types/api/arc-iidx/parser.test.ts @@ -0,0 +1,67 @@ +import { ParseArcIIDX } from "./parser"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import { agta } from "test-utils/misc"; +import { MockJSONFetch } from "test-utils/mock-fetch"; +import ResetDBState from "test-utils/resets"; + +const logger = CreateLogCtx(__filename); + +t.test("#ParseArcIIDX", (t) => { + t.beforeEach(ResetDBState); + + const mockArcAPI = MockJSONFetch({ + "https://arc.example.com/api/v1/iidx/28/player_bests/?profile_id=profile": { + _links: { + _next: "https://arc.example.com/api/v1/iidx/28/player_bests/?profile_id=profile&page=2", + }, + _items: [1, 2, 3], + }, + "https://arc.example.com/api/v1/iidx/28/player_bests/?profile_id=profile&page=2": { + _links: { + _next: null, + }, + _items: [4, 5, 6], + }, + }); + + t.test("Should iterate over the API.", async (t) => { + await db["arc-saved-profiles"].insert({ + userID: 1, + accountID: "profile", + forImportType: "api/arc-iidx", + }); + + const res = await ParseArcIIDX(1, logger, mockArcAPI); + + t.equal(res.game, "iidx"); + t.strictSame(res.context, {}); + + const iter = await agta(res.iterable); + + t.strictSame(iter, [1, 2, 3, 4, 5, 6]); + + t.end(); + }); + + t.test("Should throw a fatal error if no saved profile exists for this user.", async (t) => { + t.rejects(() => ParseArcIIDX(1, logger, mockArcAPI), { + message: /No authentication was stored for api\/arc-iidx/iu, + }); + + await db["arc-saved-profiles"].insert({ + userID: 1, + accountID: "profile", + forImportType: "api/arc-sdvx", + }); + + t.rejects(() => ParseArcIIDX(1, logger, mockArcAPI), { + message: /No authentication was stored for api\/arc-iidx/iu, + }); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/api/arc-iidx/parser.ts b/server/src/lib/score-import/import-types/api/arc-iidx/parser.ts new file mode 100644 index 000000000..ce6e801e6 --- /dev/null +++ b/server/src/lib/score-import/import-types/api/arc-iidx/parser.ts @@ -0,0 +1,44 @@ +import { CreateArcIIDXClassHandler } from "./class-handler"; +import { TraverseKaiAPI } from "../../common/api-kai/traverse-api"; +import { ServerConfig } from "lib/setup/config"; +import nodeFetch from "utils/fetch"; +import { GetArcAuthGuaranteed } from "utils/queries/auth"; +import type { ParserFunctionReturns } from "../../common/types"; +import type { KtLogger } from "lib/logger/logger"; +import type { integer } from "tachi-common"; +import type { EmptyObject } from "utils/types"; + +export async function ParseArcIIDX( + userID: integer, + logger: KtLogger, + fetch = nodeFetch +): Promise> { + const authDoc = await GetArcAuthGuaranteed(userID, "api/arc-iidx", logger); + + if (!ServerConfig.ARC_AUTH_TOKEN || !ServerConfig.ARC_API_URL) { + throw new Error( + `Cannot parse ArcIIDX withouth ARC_API_URL and ARC_AUTH_TOKEN being defined.` + ); + } + + return { + iterable: TraverseKaiAPI( + ServerConfig.ARC_API_URL, + + // BISTROVER + // The trailing slash is critical! ARC only allows /? queries. + `/api/v1/iidx/28/player_bests/?profile_id=${authDoc.accountID}`, + ServerConfig.ARC_AUTH_TOKEN, + logger, + null, + fetch + ), + context: {}, + classHandler: await CreateArcIIDXClassHandler( + authDoc.accountID, + ServerConfig.ARC_AUTH_TOKEN, + fetch + ), + game: "iidx", + }; +} diff --git a/server/src/lib/score-import/import-types/api/arc-iidx/types.ts b/server/src/lib/score-import/import-types/api/arc-iidx/types.ts new file mode 100644 index 000000000..896ad68a6 --- /dev/null +++ b/server/src/lib/score-import/import-types/api/arc-iidx/types.ts @@ -0,0 +1,17 @@ +import type { integer } from "tachi-common"; + +export interface ARCIIDXScore { + chart_id: string; + lamp: + | "ASSIST_CLEAR" + | "CLEAR" + | "EASY_CLEAR" + | "EX_HARD_CLEAR" + | "FAILED" + | "FULL_COMBO" + | "HARD_CLEAR" + | "NO_PLAY"; + ex_score: integer; + miss_count: integer | null; + timestamp: string; +} diff --git a/server/src/lib/score-import/import-types/api/arc-sdvx/converter.test.ts b/server/src/lib/score-import/import-types/api/arc-sdvx/converter.test.ts new file mode 100644 index 000000000..f3fc83471 --- /dev/null +++ b/server/src/lib/score-import/import-types/api/arc-sdvx/converter.test.ts @@ -0,0 +1,94 @@ +import { ConvertAPIArcSDVX, ResolveARCSDVXLamp } from "./converter"; +import deepmerge from "deepmerge"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { GetKTDataJSON, TestingAlbidaADV, TestingSDVXAlbidaSong } from "test-utils/test-data"; +import type { ARCSDVXScore } from "./types"; + +const logger = CreateLogCtx(__filename); + +const arcScore = GetKTDataJSON("./api-arc/sdvx-score.json") as ARCSDVXScore; + +t.test("#ConvertAPIArcSDVX", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should convert a valid score", async (t) => { + const res = await ConvertAPIArcSDVX(arcScore, {}, "api/arc-sdvx", logger); + + t.hasStrict(res, { + song: TestingSDVXAlbidaSong, + chart: TestingAlbidaADV, + dryScore: { + comment: null, + game: "sdvx", + importType: "api/arc-sdvx", + timeAchieved: 1567685885077, + service: "ARC SDVX V", + scoreData: { + grade: "AA", + percent: 93.125, + score: 9312500, + judgements: { + critical: 946, + near: 45, + miss: 49, + }, + hitMeta: { + maxCombo: 184, + }, + lamp: "CLEAR", + }, + scoreMeta: {}, + }, + }); + + t.end(); + }); + + t.test("Should throw on an invalid score", (t) => { + t.rejects( + () => + ConvertAPIArcSDVX( + deepmerge(arcScore, { score: "foo" }), + {}, + "api/arc-sdvx", + logger + ), + { + message: /Invalid ARC Score:/iu, + } + ); + + t.end(); + }); + + t.test("Should throw on no chart", (t) => { + t.rejects( + () => + ConvertAPIArcSDVX( + deepmerge(arcScore, { chart_id: "foo" }), + {}, + "api/arc-sdvx", + logger + ), + { + message: /Could not find chart/iu, + } + ); + + t.end(); + }); + + t.end(); +}); + +t.test("#ResolveARCSDVXLamp", (t) => { + t.equal(ResolveARCSDVXLamp("PLAY"), "FAILED"); + t.equal(ResolveARCSDVXLamp("CLEAR"), "CLEAR"); + t.equal(ResolveARCSDVXLamp("HC"), "EXCESSIVE CLEAR"); + t.equal(ResolveARCSDVXLamp("UC"), "ULTIMATE CHAIN"); + t.equal(ResolveARCSDVXLamp("PUC"), "PERFECT ULTIMATE CHAIN"); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/api/arc-sdvx/converter.ts b/server/src/lib/score-import/import-types/api/arc-sdvx/converter.ts new file mode 100644 index 000000000..6daa26c13 --- /dev/null +++ b/server/src/lib/score-import/import-types/api/arc-sdvx/converter.ts @@ -0,0 +1,111 @@ +import { + InvalidScoreFailure, + KTDataNotFoundFailure, +} from "../../../framework/common/converter-failures"; +import { + GenericGetGradeAndPercent, + ParseDateFromString, +} from "../../../framework/common/score-utils"; +import p from "prudence"; +import { FormatPrError } from "utils/prudence"; +import { FindChartOnARCID } from "utils/queries/charts"; +import { FindSongOnIDGuaranteed } from "utils/queries/songs"; +import type { DryScore } from "../../../framework/common/types"; +import type { ConverterFunction } from "../../common/types"; +import type { ARCSDVXScore } from "./types"; +import type { PrudenceSchema } from "prudence"; +import type { Lamps } from "tachi-common"; +import type { EmptyObject } from "utils/types"; + +// There's a bunch of other useless fields but we don't care +const PR_ARC_SDVX_SCORE: PrudenceSchema = { + chart_id: "string", + score: p.isBoundedInteger(0, 10_000_000), + lamp: p.isIn("UC", "PUC", "HC", "PLAY", "CLEAR"), + btn_rate: p.isBetween(0, 100), + long_rate: p.isBetween(0, 100), + vol_rate: p.isBetween(0, 100), + critical: p.isPositiveInteger, + near: p.isPositiveInteger, + error: p.isPositiveInteger, + timestamp: "string", +}; + +export const ConvertAPIArcSDVX: ConverterFunction = async ( + data, + context, + importType, + logger +) => { + const err = p(data, PR_ARC_SDVX_SCORE, {}, { throwOnNonObject: false, allowExcessKeys: true }); + + if (err) { + throw new InvalidScoreFailure(FormatPrError(err, "Invalid ARC Score: ")); + } + + // confirmed by Prudence above. + const score = data as ARCSDVXScore; + + const chart = await FindChartOnARCID("sdvx", score.chart_id); + + if (!chart) { + throw new KTDataNotFoundFailure( + `Could not find chart with chart_id ${score.chart_id}.`, + importType, + data, + context + ); + } + + const song = await FindSongOnIDGuaranteed("sdvx", chart.songID, logger); + + const { grade, percent } = GenericGetGradeAndPercent("sdvx", score.score, chart); + + const timeAchieved = ParseDateFromString(score.timestamp); + + const lamp = ResolveARCSDVXLamp(score.lamp); + + const dryScore: DryScore<"sdvx:Single"> = { + comment: null, + game: "sdvx", + importType, + timeAchieved, + service: "ARC SDVX V", + scoreData: { + grade, + percent, + score: score.score, + judgements: { + critical: score.critical, + near: score.near, + miss: score.error, + }, + hitMeta: { + maxCombo: score.max_chain, + }, + lamp, + }, + scoreMeta: {}, + }; + + return { song, chart, dryScore }; +}; + +/** + * ARC has a bug where all sdvx scores are clears no matter what. + * This function takes the score and lamp and rederives the lamp. + */ +export function ResolveARCSDVXLamp(lamp: ARCSDVXScore["lamp"]): Lamps["sdvx:Single"] { + switch (lamp) { + case "PLAY": + return "FAILED"; + case "CLEAR": + return "CLEAR"; + case "HC": + return "EXCESSIVE CLEAR"; + case "UC": + return "ULTIMATE CHAIN"; + case "PUC": + return "PERFECT ULTIMATE CHAIN"; + } +} diff --git a/server/src/lib/score-import/import-types/api/arc-sdvx/parser.test.ts b/server/src/lib/score-import/import-types/api/arc-sdvx/parser.test.ts new file mode 100644 index 000000000..85cf412dd --- /dev/null +++ b/server/src/lib/score-import/import-types/api/arc-sdvx/parser.test.ts @@ -0,0 +1,67 @@ +import { ParseArcSDVX } from "./parser"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import { agta } from "test-utils/misc"; +import { MockJSONFetch } from "test-utils/mock-fetch"; +import ResetDBState from "test-utils/resets"; + +const logger = CreateLogCtx(__filename); + +t.test("#ParseArcSDVX", (t) => { + t.beforeEach(ResetDBState); + const mockArcAPI = MockJSONFetch({ + "https://arc.example.com/api/v1/sdvx/6/player_bests/?profile_id=profile": { + _links: { + _next: "https://arc.example.com/api/v1/sdvx/6/player_bests/?profile_id=profile&page=2", + }, + _items: [1, 2, 3], + }, + "https://arc.example.com/api/v1/sdvx/6/player_bests/?profile_id=profile&page=2": { + _links: { + _next: null, + }, + _items: [4, 5, 6], + }, + }); + + t.test("Should iterate over the API.", async (t) => { + await db["arc-saved-profiles"].insert({ + userID: 1, + accountID: "profile", + forImportType: "api/arc-sdvx", + }); + + const res = await ParseArcSDVX(1, logger, mockArcAPI); + + t.equal(res.game, "sdvx"); + t.strictSame(res.context, {}); + t.equal(res.classHandler, null); + + const iter = await agta(res.iterable); + + t.strictSame(iter, [1, 2, 3, 4, 5, 6]); + + t.end(); + }); + + t.test("Should throw a fatal error if no saved profile exists for this user.", async (t) => { + t.rejects(() => ParseArcSDVX(1, logger, mockArcAPI), { + message: /No authentication was stored for api\/arc-sdvx/iu, + }); + + await db["arc-saved-profiles"].insert({ + userID: 1, + accountID: "profile", + forImportType: "api/arc-iidx", + }); + + t.rejects(() => ParseArcSDVX(1, logger, mockArcAPI), { + message: /No authentication was stored for api\/arc-sdvx/iu, + }); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/api/arc-sdvx/parser.ts b/server/src/lib/score-import/import-types/api/arc-sdvx/parser.ts new file mode 100644 index 000000000..0d2acf469 --- /dev/null +++ b/server/src/lib/score-import/import-types/api/arc-sdvx/parser.ts @@ -0,0 +1,39 @@ +import { TraverseKaiAPI } from "../../common/api-kai/traverse-api"; +import { ServerConfig } from "lib/setup/config"; +import nodeFetch from "utils/fetch"; +import { GetArcAuthGuaranteed } from "utils/queries/auth"; +import type { ParserFunctionReturns } from "../../common/types"; +import type { KtLogger } from "lib/logger/logger"; +import type { integer } from "tachi-common"; +import type { EmptyObject } from "utils/types"; + +export async function ParseArcSDVX( + userID: integer, + logger: KtLogger, + fetch = nodeFetch +): Promise> { + const authDoc = await GetArcAuthGuaranteed(userID, "api/arc-sdvx", logger); + + if (!ServerConfig.ARC_AUTH_TOKEN || !ServerConfig.ARC_API_URL) { + throw new Error( + `Cannot parse ArcSDVX withouth ARC_API_URL and ARC_AUTH_TOKEN being defined.` + ); + } + + return { + iterable: TraverseKaiAPI( + ServerConfig.ARC_API_URL, + + // EXCEED GEAR. + // The trailing slash is critical! ARC only allows /? queries. + `/api/v1/sdvx/6/player_bests/?profile_id=${authDoc.accountID}`, + ServerConfig.ARC_AUTH_TOKEN, + logger, + null, + fetch + ), + context: {}, + classHandler: null, + game: "sdvx", + }; +} diff --git a/server/src/lib/score-import/import-types/api/arc-sdvx/types.ts b/server/src/lib/score-import/import-types/api/arc-sdvx/types.ts new file mode 100644 index 000000000..d419c7d59 --- /dev/null +++ b/server/src/lib/score-import/import-types/api/arc-sdvx/types.ts @@ -0,0 +1,15 @@ +import type { integer } from "tachi-common"; + +export interface ARCSDVXScore { + chart_id: string; + score: integer; + lamp: "CLEAR" | "HC" | "PLAY" | "PUC" | "UC"; + btn_rate: number; + long_rate: number; + vol_rate: number; + critical: integer; + near: integer; + error: integer; + max_chain: integer; + timestamp: string; +} diff --git a/server/src/lib/score-import/import-types/api/eag-iidx/parser.ts b/server/src/lib/score-import/import-types/api/eag-iidx/parser.ts new file mode 100644 index 000000000..20da61482 --- /dev/null +++ b/server/src/lib/score-import/import-types/api/eag-iidx/parser.ts @@ -0,0 +1,10 @@ +import { ParseKaiIIDX } from "../../common/api-kai/iidx/parser"; +import { GetKaiAuthGuaranteed } from "utils/queries/auth"; +import type { KtLogger } from "lib/logger/logger"; +import type { integer } from "tachi-common"; + +export async function ParseEagIIDX(userID: integer, logger: KtLogger) { + const authDoc = await GetKaiAuthGuaranteed(userID, "EAG", logger); + + return ParseKaiIIDX("EAG", authDoc, logger); +} diff --git a/server/src/lib/score-import/import-types/api/eag-sdvx/parser.ts b/server/src/lib/score-import/import-types/api/eag-sdvx/parser.ts new file mode 100644 index 000000000..e2085a2e1 --- /dev/null +++ b/server/src/lib/score-import/import-types/api/eag-sdvx/parser.ts @@ -0,0 +1,10 @@ +import { ParseKaiSDVX } from "../../common/api-kai/sdvx/parser"; +import { GetKaiAuthGuaranteed } from "utils/queries/auth"; +import type { KtLogger } from "lib/logger/logger"; +import type { integer } from "tachi-common"; + +export async function ParseEagSDVX(userID: integer, logger: KtLogger) { + const authDoc = await GetKaiAuthGuaranteed(userID, "EAG", logger); + + return ParseKaiSDVX("EAG", authDoc, logger); +} diff --git a/server/src/lib/score-import/import-types/api/flo-iidx/parser.ts b/server/src/lib/score-import/import-types/api/flo-iidx/parser.ts new file mode 100644 index 000000000..45eb57ddb --- /dev/null +++ b/server/src/lib/score-import/import-types/api/flo-iidx/parser.ts @@ -0,0 +1,10 @@ +import { ParseKaiIIDX } from "../../common/api-kai/iidx/parser"; +import { GetKaiAuthGuaranteed } from "utils/queries/auth"; +import type { KtLogger } from "lib/logger/logger"; +import type { integer } from "tachi-common"; + +export async function ParseFloIIDX(userID: integer, logger: KtLogger) { + const authDoc = await GetKaiAuthGuaranteed(userID, "FLO", logger); + + return ParseKaiIIDX("FLO", authDoc, logger); +} diff --git a/server/src/lib/score-import/import-types/api/flo-sdvx/parser.ts b/server/src/lib/score-import/import-types/api/flo-sdvx/parser.ts new file mode 100644 index 000000000..9f8d83de5 --- /dev/null +++ b/server/src/lib/score-import/import-types/api/flo-sdvx/parser.ts @@ -0,0 +1,10 @@ +import { ParseKaiSDVX } from "../../common/api-kai/sdvx/parser"; +import { GetKaiAuthGuaranteed } from "utils/queries/auth"; +import type { KtLogger } from "lib/logger/logger"; +import type { integer } from "tachi-common"; + +export async function ParseFloSDVX(userID: integer, logger: KtLogger) { + const authDoc = await GetKaiAuthGuaranteed(userID, "FLO", logger); + + return ParseKaiSDVX("FLO", authDoc, logger); +} diff --git a/server/src/lib/score-import/import-types/api/min-sdvx/parser.ts b/server/src/lib/score-import/import-types/api/min-sdvx/parser.ts new file mode 100644 index 000000000..6d7ddf6da --- /dev/null +++ b/server/src/lib/score-import/import-types/api/min-sdvx/parser.ts @@ -0,0 +1,10 @@ +import { ParseKaiSDVX } from "../../common/api-kai/sdvx/parser"; +import { GetKaiAuthGuaranteed } from "utils/queries/auth"; +import type { KtLogger } from "lib/logger/logger"; +import type { integer } from "tachi-common"; + +export async function ParseMinSDVX(userID: integer, logger: KtLogger) { + const authDoc = await GetKaiAuthGuaranteed(userID, "MIN", logger); + + return ParseKaiSDVX("MIN", authDoc, logger); +} diff --git a/server/src/lib/score-import/import-types/common/api-kai/iidx/class-handler.test.ts b/server/src/lib/score-import/import-types/common/api-kai/iidx/class-handler.test.ts new file mode 100644 index 000000000..b9b2daed8 --- /dev/null +++ b/server/src/lib/score-import/import-types/common/api-kai/iidx/class-handler.test.ts @@ -0,0 +1,175 @@ +import { CreateKaiIIDXClassHandler } from "./class-handler"; +import { KaiTypeToBaseURL } from "../utils"; +import { IIDXDans } from "lib/constants/classes"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import { MockBasicFetch, MockJSONFetch } from "test-utils/mock-fetch"; +import ResetDBState from "test-utils/resets"; + +const logger = CreateLogCtx(__filename); + +t.test("#CreateKaiIIDXClassHandler", async (t) => { + t.beforeEach(ResetDBState); + + const fn = await CreateKaiIIDXClassHandler( + "FLO", + "token", + MockJSONFetch({ + [`${KaiTypeToBaseURL("FLO")}/api/iidx/v2/player_profile`]: { + _links: {}, + iidx_id: 12345678, + dj_name: "SOMEONE", + sp: 18, + dp: 4, + access_time: "2021-08-08T18:50:40Z", + register_time: "2019-01-19T12:53:50Z", + }, + }) + ); + + t.test("Should return a function with arity 5.", (t) => { + t.equal(fn.length, 5); + + t.end(); + }); + + t.test("Should call the provided URL with the authentication token", (t) => { + const res = fn("iidx", "SP", 1, {}, logger); + + t.strictSame(res, { dan: 18 }); + + t.end(); + }); + + t.test("Should return nothing if dan is not a number", async (t) => { + const fn = await CreateKaiIIDXClassHandler( + "FLO", + "token", + MockJSONFetch({ + [`${KaiTypeToBaseURL("FLO")}/api/iidx/v2/player_profile`]: { + _links: {}, + iidx_id: 12345678, + dj_name: "SOMEONE", + sp: "NOT A NUMBER", + dp: 4, + access_time: "2021-08-08T18:50:40Z", + register_time: "2019-01-19T12:53:50Z", + }, + }) + ); + + const res = fn("iidx", "SP", 1, {}, logger); + + t.strictSame(res, {}); + + t.end(); + }); + + t.test("Should return nothing if dan is too great", async (t) => { + const fn = await CreateKaiIIDXClassHandler( + "FLO", + "token", + MockJSONFetch({ + [`${KaiTypeToBaseURL("FLO")}/api/iidx/v2/player_profile`]: { + _links: {}, + iidx_id: 12345678, + dj_name: "SOMEONE", + sp: IIDXDans.KAIDEN + 1, + dp: 4, + access_time: "2021-08-08T18:50:40Z", + register_time: "2019-01-19T12:53:50Z", + }, + }) + ); + + const res = fn("iidx", "SP", 1, {}, logger); + + t.strictSame(res, {}); + + t.end(); + }); + + t.test("Should return nothing if dan is negative", async (t) => { + const fn = await CreateKaiIIDXClassHandler( + "FLO", + "token", + MockJSONFetch({ + [`${KaiTypeToBaseURL("FLO")}/api/iidx/v2/player_profile`]: { + _links: {}, + iidx_id: 12345678, + dj_name: "SOMEONE", + sp: IIDXDans.KYU_7 - 1, + dp: 4, + access_time: "2021-08-08T18:50:40Z", + register_time: "2019-01-19T12:53:50Z", + }, + }) + ); + + const res = fn("iidx", "SP", 1, {}, logger); + + t.strictSame(res, {}); + + t.end(); + }); + + t.test("Should gracefully handle negative API responses", async (t) => { + const fn = await CreateKaiIIDXClassHandler("FLO", "token", MockBasicFetch({ status: 500 })); + + const res = fn("iidx", "SP", 1, {}, logger); + + t.strictSame(res, {}); + + t.end(); + }); + + t.test("Should ignore null dans", async (t) => { + const fn = await CreateKaiIIDXClassHandler( + "FLO", + "token", + MockJSONFetch({ + [`${KaiTypeToBaseURL("FLO")}/api/iidx/v2/player_profile`]: { + _links: {}, + iidx_id: 12345678, + dj_name: "SOMEONE", + sp: 1, + dp: null, + access_time: "2021-08-08T18:50:40Z", + register_time: "2019-01-19T12:53:50Z", + }, + }) + ); + + const res = fn("iidx", "DP", 1, {}, logger); + + t.strictSame(res, {}); + + t.end(); + }); + + t.test("Should handle invalid playtypes", async (t) => { + const fn = await CreateKaiIIDXClassHandler( + "FLO", + "token", + MockJSONFetch({ + [`${KaiTypeToBaseURL("FLO")}/api/iidx/v2/player_profile`]: { + _links: {}, + iidx_id: 12345678, + dj_name: "SOMEONE", + sp: 1, + dp: 1, + access_time: "2021-08-08T18:50:40Z", + register_time: "2019-01-19T12:53:50Z", + }, + }) + ); + + const res = fn("iidx", "14K", 1, {}, logger); + + t.strictSame(res, {}); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/common/api-kai/iidx/class-handler.ts b/server/src/lib/score-import/import-types/common/api-kai/iidx/class-handler.ts new file mode 100644 index 000000000..e5ae16ecc --- /dev/null +++ b/server/src/lib/score-import/import-types/common/api-kai/iidx/class-handler.ts @@ -0,0 +1,89 @@ +import { KaiTypeToBaseURL } from "../utils"; +import { IIDXDans } from "lib/constants/classes"; +import nodeFetch from "utils/fetch"; +import { IsRecord } from "utils/misc"; +import type { ClassHandler } from "lib/score-import/framework/user-game-stats/types"; + +export async function CreateKaiIIDXClassHandler( + kaiType: "EAG" | "FLO", + token: string, + fetch = nodeFetch +): Promise { + let json: unknown; + let err: unknown; + const baseUrl = KaiTypeToBaseURL(kaiType); + + // SP and DP dans are located in the same place, + // fetch once, then return a function that traverses this data. + try { + const res = await fetch(`${baseUrl}/api/iidx/v2/player_profile`, { + headers: { + Authorization: `Bearer ${token}`, + "Content-Type": "application/json", + }, + }); + + json = (await res.json()) as unknown; + } catch (e: unknown) { + err = e; + } + + return (game, playtype, userID, ratings, logger) => { + if (err !== undefined) { + logger.error(`An error occured while updating classes for ${baseUrl}.`, { err }); + return {}; + } + + if (!IsRecord(json)) { + logger.error(`JSON Returned from server was not an object? Not updating anything.`, { + json, + }); + return {}; + } + + let maybeIIDXDan: unknown; + + if (playtype === "SP") { + maybeIIDXDan = json.sp; + } else if (playtype === "DP") { + maybeIIDXDan = json.dp; + } else { + logger.warn(`KAIIIDXClassUpdater called with invalid playtype of ${playtype}.`); + return {}; + } + + if ( + maybeIIDXDan === null || + maybeIIDXDan === undefined || + typeof maybeIIDXDan !== "number" + ) { + logger.info(`User has no ${playtype} dan. Not updating anything.`); + return {}; + } + + const iidxDan: number = maybeIIDXDan; + + if (!Number.isInteger(iidxDan)) { + logger.warn(`${baseUrl} returned a dan of ${iidxDan}, which was not a number.`); + return {}; + } + + if (iidxDan > IIDXDans.KAIDEN) { + logger.warn( + `${baseUrl} returned a dan of ${iidxDan}, which was greater than KAIDEN (${IIDXDans.KAIDEN}.)` + ); + return {}; + } + + if (iidxDan < IIDXDans.KYU_7) { + logger.warn( + `${baseUrl} returned a dan of ${iidxDan}, which was less than KYU_7 (${IIDXDans.KYU_7}.)` + ); + return {}; + } + + return { + dan: iidxDan, + }; + }; +} diff --git a/server/src/lib/score-import/import-types/common/api-kai/iidx/converter.test.ts b/server/src/lib/score-import/import-types/common/api-kai/iidx/converter.test.ts new file mode 100644 index 000000000..5c2becbea --- /dev/null +++ b/server/src/lib/score-import/import-types/common/api-kai/iidx/converter.test.ts @@ -0,0 +1,154 @@ +import { ConvertAPIKaiIIDX } from "./converter"; +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { LoadTachiIIDXData, Testing511Song, Testing511SPA } from "test-utils/test-data"; + +const logger = CreateLogCtx(__filename); + +const iidxScore = { + chart_id: 3848, + music_id: 1000, + music_difficulty: 2, + play_style: "SINGLE", + difficulty: "ANOTHER", + iidx_id: 35247879, + version_played: 26, + lamp: 5, + ex_score: 1570, + grade: "AA", + miss_count: 24, + fast_count: null, + slow_count: null, + timestamp: "2020-10-31T19:10:50Z", + _id: 189232, +}; + +t.test("#ConvertAPIKaiIIDX", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return a dryScore on valid input.", async (t) => { + const res = await ConvertAPIKaiIIDX(iidxScore, { service: "FLO" }, "api/flo-iidx", logger); + + t.hasStrict(res, { + song: Testing511Song, + chart: Testing511SPA, + dryScore: { + comment: null, + game: "iidx", + importType: "api/flo-iidx", + timeAchieved: 1604171450000, + service: "FLO", + scoreData: { + grade: "MAX-", + + // percent: 99.87277353689568 floating point, + score: 1570, + lamp: "HARD CLEAR", + judgements: {}, + hitMeta: { + fast: null, + slow: null, + bp: 24, + }, + }, + scoreMeta: {}, + }, + }); + + t.end(); + }); + + t.test("Should convert a legacy leggendaria songID.", async (t) => { + await LoadTachiIIDXData(); + + const res = await ConvertAPIKaiIIDX( + deepmerge(iidxScore, { music_id: 24101 }), + { service: "FLO" }, + "api/flo-iidx", + logger + ); + + t.hasStrict(res, { + song: { + title: "冬椿 ft. Kanae Asaba", + }, + chart: { + difficulty: "LEGGENDARIA", + data: { + inGameID: 24011, + }, + }, + dryScore: { + comment: null, + game: "iidx", + importType: "api/flo-iidx", + timeAchieved: 1604171450000, + service: "FLO", + scoreData: { + grade: "C", + score: 1570, + lamp: "HARD CLEAR", + judgements: {}, + hitMeta: { + fast: null, + slow: null, + bp: 24, + }, + }, + scoreMeta: {}, + }, + }); + + t.end(); + }); + + t.test("Should throw KTDataNotFound on unknown chart", (t) => { + t.rejects( + () => + ConvertAPIKaiIIDX( + deepmerge(iidxScore, { music_id: 0 }), + { service: "FLO" }, + "api/flo-iidx", + logger + ), + { + message: /Could not find chart with songID 0 \(SP ANOTHER - Version 26\)/u, + } + ); + + t.end(); + }); + + t.test("Should throw InvalidScoreFailure on invalid score", (t) => { + t.rejects( + () => + ConvertAPIKaiIIDX( + deepmerge(iidxScore, { music_id: "foo" }), + { service: "FLO" }, + "api/flo-iidx", + logger + ), + { + message: + /Error: music_id.*Expected a positive integer.* received foo \[type: string\]/iu, + } + ); + + t.end(); + }); + + t.test("Should throw InternalFailure on song-chart desync", async (t) => { + await db.songs.iidx.remove({}); + + t.rejects(() => ConvertAPIKaiIIDX(iidxScore, { service: "FLO" }, "api/flo-iidx", logger), { + message: /Song-Chart desync/u, + }); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/common/api-kai/iidx/converter.ts b/server/src/lib/score-import/import-types/common/api-kai/iidx/converter.ts new file mode 100644 index 000000000..3b1b26494 --- /dev/null +++ b/server/src/lib/score-import/import-types/common/api-kai/iidx/converter.ts @@ -0,0 +1,281 @@ +import { + InternalFailure, + InvalidScoreFailure, + KTDataNotFoundFailure, +} from "../../../../framework/common/converter-failures"; +import { + GenericGetGradeAndPercent, + ParseDateFromString, +} from "../../../../framework/common/score-utils"; +import p from "prudence"; +import { FormatPrError } from "utils/prudence"; +import { FindIIDXChartOnInGameIDVersion } from "utils/queries/charts"; +import { FindSongOnID } from "utils/queries/songs"; +import type { DryScore } from "../../../../framework/common/types"; +import type { ConverterFunction } from "../../types"; +import type { KaiContext, KaiIIDXScore } from "../types"; +import type { integer, Lamps } from "tachi-common"; + +const PR_KAI_IIDX_SCORE = { + music_id: p.isPositiveInteger, + play_style: p.isIn("SINGLE", "DOUBLE"), + difficulty: p.isIn("BEGINNER", "NORMAL", "HYPER", "ANOTHER", "LEGGENDARIA"), + version_played: p.isBoundedInteger(9, 28), + lamp: p.isBoundedInteger(0, 7), + ex_score: p.isPositiveInteger, + miss_count: p.or(p.isPositiveInteger, p.is(-1), "null"), + fast_count: p.nullable(p.isPositiveInteger), + slow_count: p.nullable(p.isPositiveInteger), + timestamp: "string", +}; + +function ResolveKaiLamp(lamp: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7): Lamps["iidx:DP" | "iidx:SP"] { + switch (lamp) { + case 0: + return "NO PLAY"; + case 1: + return "FAILED"; + case 3: + return "EASY CLEAR"; + case 2: + return "ASSIST CLEAR"; + case 4: + return "CLEAR"; + case 5: + return "HARD CLEAR"; + case 6: + return "EX HARD CLEAR"; + case 7: + return "FULL COMBO"; + } +} + +// LEGGENDARIAs got turned into a real difficulty as of HEROIC VERSE. +// This service still sends the old songIDs when old scores are requested, +// so we need to convert it up. +const OldLeggendariaConversionTable: Record = { + // RUGGED ASH† -> RUGGED ASH + 1100: 1017, + + // Clione† -> Clione + 4100: 4005, + + // ABSOLUTE† -> ABSOLUTE + 4101: 4001, + + // RIDE ON THE LIGHT (HI GREAT MIX) † -> RIDE ON THE LIGHT (HI GREAT MIX) + 5100: 5014, + + // RED ZONE† -> RED ZONE + 11100: 11032, + + // spiral galaxy† -> spiral galaxy + 11101: 11012, + + // Little Little Princess† -> Little Little Princess + 12100: 12002, + + // CONTRACT† -> CONTRACT + 13100: 13010, + + // VANESSA† -> VANESSA + 14100: 14009, + + // KAMAITACHI† -> KAMAITACHI + 14101: 14046, + + // ICARUS† -> ICARUS + 15101: 15023, + + // THE DEEP STRIKER† -> THE DEEP STRIKER + 15102: 15007, + + // Blue Rain† -> Blue Rain + 15104: 15004, + + // Wanna Party?† -> Wanna Party? + 15105: 15045, + + // 凛として咲く花の如く† -> 凛として咲く花の如く + 16101: 16050, + + // THANK YOU FOR PLAYING† -> THANK YOU FOR PLAYING + 16102: 16045, + + // naughty girl@Queen's Palace† -> naughty girl@Queen's Palace + 16103: 16031, + + // Kung-fu Empire† -> Kung-fu Empire + 16104: 16015, + + // SOLID STATE SQUAD† -> SOLID STATE SQUAD + 17101: 17060, + + // Golden Palms† -> Golden Palms + 18100: 18025, + + // おおきなこえで† -> おおきなこえで + 18103: 18011, + + // QUANTUM TELEPORTATION† -> QUANTUM TELEPORTATION + 19100: 19063, + + // 朧† -> 朧 + 20103: 20100, + + // 仮想空間の旅人たち† -> 仮想空間の旅人たち + 20104: 20039, + + // LUV CAN SAVE U† -> LUV CAN SAVE U + 20105: 20068, + + // Howling† -> Howling + 20106: 20024, + + // 龍と少女とデコヒーレンス† -> 龍と少女とデコヒーレンス + 20107: 20019, + + // Close the World feat.a☆ru†LEGGENDARIA -> Close the World feat. a☆ru + 21100: 21012, + + // Sigmund†LEGGENDARIA -> Sigmund + 21101: 21059, + + // Ancient Scapes†LEGGENDARIA -> Ancient Scapes + 21102: 21069, + + // invoker†LEGGENDARIA -> invoker + 21103: 21073, + + // Feel The Beat†LEGGENDARIA -> Feel The Beat + 21104: 21052, + + // 疾風迅雷†LEGGENDARIA -> 疾風迅雷 + 21105: 21048, + + // Verflucht†LEGGENDARIA -> Verflucht + 21106: 21050, + + // 廿† -> 廿 + 21107: 21029, + + // CHRONO DIVER -NORNIR-† -> CHRONO DIVER -NORNIR- + 22101: 22008, + + // chrono diver -fragment-† -> chrono diver -fragment- + 22102: 22013, + + // 恋は白帯、サンシロー† -> 恋は白帯、サンシロー + 22103: 22024, + + // Beat Radiance† -> Beat Radiance + 22104: 22027, + + // 超青少年ノ為ノ超多幸ナ超古典的超舞曲† -> 超青少年ノ為ノ超多幸ナ超古典的超舞曲 + 22105: 22031, + + // EBONY & IVORY† -> EBONY & IVORY + 22106: 22089, + + // Cosmic Cat† -> Cosmic Cat + 22107: 22006, + + // Damage Per Second† -> Damage Per Second + 23100: 23054, + + // STARLIGHT DANCEHALL† -> STARLIGHT DANCEHALL + 23101: 23031, + + // Amazing Mirage† -> Amazing Mirage + 24100: 24041, + + // 冬椿 ft. Kanae Asaba† -> 冬椿 ft. Kanae Asaba + 24101: 24011, +}; + +export const ConvertAPIKaiIIDX: ConverterFunction = async ( + data, + context, + importType, + logger +) => { + const err = p(data, PR_KAI_IIDX_SCORE, {}, { allowExcessKeys: true }); + + if (err) { + throw new InvalidScoreFailure(FormatPrError(err)); + } + + // prudence checks this above. + const score = data as KaiIIDXScore; + + const playtype = score.play_style === "SINGLE" ? "SP" : "DP"; + + const version = score.version_played.toString(); + + if (!["20", "21", "22", "23", "24", "25", "26", "27", "28"].includes(version)) { + throw new InvalidScoreFailure(`Unsupported version ${score.version_played}.`); + } + + let musicID = score.music_id; + + if (OldLeggendariaConversionTable[score.music_id] !== undefined) { + musicID = OldLeggendariaConversionTable[score.music_id]!; + + // This is now definitely a leggendaria. + score.difficulty = "LEGGENDARIA"; + } + + const chart = await FindIIDXChartOnInGameIDVersion( + musicID, + playtype, + score.difficulty, + + // they send integers like 25, 27 - this will convert to our versions. + version as "20" | "21" | "22" | "23" | "24" | "25" | "26" | "27" | "28" + ); + + if (!chart) { + throw new KTDataNotFoundFailure( + `Could not find chart with songID ${musicID} (${playtype} ${score.difficulty} - Version ${score.version_played})`, + importType, + data, + context + ); + } + + const song = await FindSongOnID("iidx", chart.songID); + + if (!song) { + logger.severe(`Song-Chart desync with song ID ${chart.songID} (iidx).`); + throw new InternalFailure(`Song-Chart desync with song ID ${chart.songID} (iidx).`); + } + + const lamp = ResolveKaiLamp(score.lamp); + + const { percent, grade } = GenericGetGradeAndPercent("iidx", score.ex_score, chart); + + const timeAchieved = ParseDateFromString(score.timestamp); + + const dryScore: DryScore<"iidx:DP" | "iidx:SP"> = { + comment: null, + game: "iidx", + importType, + timeAchieved, + service: context.service, + scoreData: { + grade, + percent, + score: score.ex_score, + lamp, + judgements: {}, + hitMeta: { + fast: score.fast_count, + slow: score.slow_count, + bp: score.miss_count === -1 || score.miss_count === null ? null : score.miss_count, + }, + }, + scoreMeta: {}, + }; + + return { song, chart, dryScore }; +}; diff --git a/server/src/lib/score-import/import-types/common/api-kai/iidx/parser.test.ts b/server/src/lib/score-import/import-types/common/api-kai/iidx/parser.test.ts new file mode 100644 index 000000000..c1c3563d0 --- /dev/null +++ b/server/src/lib/score-import/import-types/common/api-kai/iidx/parser.test.ts @@ -0,0 +1,84 @@ +import { ParseKaiIIDX } from "./parser"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import { MockJSONFetch } from "test-utils/mock-fetch"; +import ResetDBState from "test-utils/resets"; + +const fakeAuth = { + userID: 1, + refreshToken: "foo", + service: "FLO" as const, + token: "bar", +}; + +const logger = CreateLogCtx(__filename); + +t.test("#ParseKaiIIDX", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should iterate over the IIDX FLO API asynchronously.", async (t) => { + const mockFloAPI = MockJSONFetch({ + "https://flo.example.com/api/iidx/v2/play_history": { + _links: { + _next: "https://flo.example.com/api/iidx/v2/play_history?page=2", + }, + _items: [1, 2, 3, 4], + }, + "https://flo.example.com/api/iidx/v2/play_history?page=2": { + _links: { + _next: null, + }, + _items: [5, 6], + }, + }); + + const res = await ParseKaiIIDX("FLO", fakeAuth, logger, mockFloAPI); + + t.equal(res.game, "iidx"); + t.strictSame(res.context, { service: "FLO" }); + + const iter = []; + + for await (const el of res.iterable) { + iter.push(el); + } + + t.strictSame(iter, [1, 2, 3, 4, 5, 6]); + + t.end(); + }); + + t.test("Should iterate over the IIDX EAG API asynchronously.", async (t) => { + const mockEagAPI = MockJSONFetch({ + "https://eag.example.com/api/iidx/v2/play_history": { + _links: { + _next: "https://eag.example.com/api/iidx/v2/play_history?page=2", + }, + _items: [1, 2, 3, 4], + }, + "https://eag.example.com/api/iidx/v2/play_history?page=2": { + _links: { + _next: null, + }, + _items: [5, 6], + }, + }); + + const res = await ParseKaiIIDX("EAG", fakeAuth, logger, mockEagAPI); + + t.equal(res.game, "iidx"); + t.strictSame(res.context, { service: "EAG" }); + + const iter = []; + + for await (const el of res.iterable) { + iter.push(el); + } + + t.strictSame(iter, [1, 2, 3, 4, 5, 6]); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/common/api-kai/iidx/parser.ts b/server/src/lib/score-import/import-types/common/api-kai/iidx/parser.ts new file mode 100644 index 000000000..12fce6a53 --- /dev/null +++ b/server/src/lib/score-import/import-types/common/api-kai/iidx/parser.ts @@ -0,0 +1,34 @@ +import { CreateKaiIIDXClassHandler } from "./class-handler"; +import { CreateKaiReauthFunction } from "../reauth"; +import { TraverseKaiAPI } from "../traverse-api"; +import { KaiTypeToBaseURL } from "../utils"; +import nodeFetch from "utils/fetch"; +import type { ParserFunctionReturns } from "../../types"; +import type { KaiContext } from "../types"; +import type { KtLogger } from "lib/logger/logger"; +import type { KaiAuthDocument } from "tachi-common"; + +export async function ParseKaiIIDX( + service: "EAG" | "FLO", + authDoc: KaiAuthDocument, + logger: KtLogger, + fetch = nodeFetch +): Promise> { + const baseUrl = KaiTypeToBaseURL(service); + + return { + iterable: TraverseKaiAPI( + baseUrl, + "/api/iidx/v2/play_history", + authDoc.token, + logger, + CreateKaiReauthFunction(service, authDoc, logger, fetch), + fetch + ), + context: { + service, + }, + classHandler: await CreateKaiIIDXClassHandler(service, authDoc.token, fetch), + game: "iidx", + }; +} diff --git a/server/src/lib/score-import/import-types/common/api-kai/reauth.test.ts b/server/src/lib/score-import/import-types/common/api-kai/reauth.test.ts new file mode 100644 index 000000000..4160f5184 --- /dev/null +++ b/server/src/lib/score-import/import-types/common/api-kai/reauth.test.ts @@ -0,0 +1,128 @@ +import { CreateKaiReauthFunction } from "./reauth"; +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { ServerConfig } from "lib/setup/config"; +import t from "tap"; +import { MockJSONFetch } from "test-utils/mock-fetch"; +import ResetDBState from "test-utils/resets"; +import type { KaiAuthDocument } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +const authDoc: KaiAuthDocument = { + refreshToken: "REFRESH_TOKEN", + service: "FLO", + token: "foobar", + userID: 1, +}; + +t.test("#CreateKaiReauthFunction", (t) => { + t.beforeEach(ResetDBState); + // eslint-disable-next-line no-return-await + t.beforeEach(async () => await db["kai-auth-tokens"].remove({})); + + if (!ServerConfig.FLO_OAUTH2_INFO) { + throw new Error( + `Panic in test - No dummy FLO_OAUTH2_INFO configured, and the test depends on some dummy data here.` + ); + } + + t.test("Should create a working reauthentication for the service.", async (t) => { + const mockFetch = MockJSONFetch({ + [`${ServerConfig.FLO_API_URL}/oauth/token?refresh_token=${ + authDoc.refreshToken + }&grant_type=refresh_token&client_secret=${ + ServerConfig.FLO_OAUTH2_INFO!.CLIENT_SECRET + }&client_id=${ServerConfig.FLO_OAUTH2_INFO!.CLIENT_ID}`]: { + refresh_token: "NEW_REFRESH_TOKEN", + access_token: "NEW_ACCESS_TOKEN", + }, + }); + + await db["kai-auth-tokens"].insert(deepmerge(authDoc, {})); + + const reauthFn = CreateKaiReauthFunction("FLO", authDoc, logger, mockFetch); + + t.equal(reauthFn.length, 0, "Should return a function with arity 0."); + + const data = await reauthFn(); + + t.equal(data, "NEW_ACCESS_TOKEN"); + + const dbChange = await db["kai-auth-tokens"].findOne({ + userID: 1, + service: "FLO", + }); + + // should also update the db + t.equal(dbChange?.refreshToken, "NEW_REFRESH_TOKEN"); + t.equal(dbChange?.token, "NEW_ACCESS_TOKEN"); + + t.end(); + }); + + t.test("Should throw on fetch error.", async (t) => { + // will fail + const mockFetch = MockJSONFetch({}); + + await db["kai-auth-tokens"].insert(deepmerge(authDoc, {})); + + const reauthFn = CreateKaiReauthFunction("FLO", authDoc, logger, mockFetch); + + t.rejects(() => reauthFn(), { + message: "An error has occured while attempting reauthentication.", + }); + + const dbChange = await db["kai-auth-tokens"].findOne({ + userID: 1, + service: "FLO", + }); + + t.equal( + dbChange?.refreshToken, + authDoc.refreshToken, + "DB should not be changed for refreshToken." + ); + t.equal(dbChange?.token, authDoc.token, "DB should not be changed for token."); + + t.end(); + }); + + t.test("Should throw on invalid JSON response", async (t) => { + const mockFetch = MockJSONFetch({ + [`${ServerConfig.FLO_API_URL}/oauth/token?refresh_token=${ + authDoc.refreshToken + }&grant_type=refresh_token&client_secret=${ + ServerConfig.FLO_OAUTH2_INFO!.CLIENT_SECRET + }&client_id=${ServerConfig.FLO_OAUTH2_INFO!.CLIENT_ID}`]: { + // missing refresh_token + access_token: "NEW_ACCESS_TOKEN", + }, + }); + + await db["kai-auth-tokens"].insert(deepmerge(authDoc, {})); + + const reauthFn = CreateKaiReauthFunction("FLO", authDoc, logger, mockFetch); + + t.rejects(() => reauthFn(), { + message: "An error has occured while attempting reauthentication.", + }); + + const dbChange = await db["kai-auth-tokens"].findOne({ + userID: 1, + service: "FLO", + }); + + t.equal( + dbChange?.refreshToken, + authDoc.refreshToken, + "DB should not be changed for refreshToken." + ); + t.equal(dbChange?.token, authDoc.token, "DB should not be changed for token."); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/common/api-kai/reauth.ts b/server/src/lib/score-import/import-types/common/api-kai/reauth.ts new file mode 100644 index 000000000..3bbe6c74b --- /dev/null +++ b/server/src/lib/score-import/import-types/common/api-kai/reauth.ts @@ -0,0 +1,109 @@ +import { GetKaiTypeClientCredentials, KaiTypeToBaseURL } from "./utils"; +import db from "external/mongo/db"; +import ScoreImportFatalError from "lib/score-import/framework/score-importing/score-import-error"; +import p from "prudence"; +import nodeFetch from "utils/fetch"; +import { CreateURLWithParams } from "utils/url"; +import type { KtLogger } from "lib/logger/logger"; +import type { KaiAuthDocument } from "tachi-common"; + +const REAUTH_SCHEMA = { + access_token: "string", + refresh_token: "string", +}; + +export function CreateKaiReauthFunction( + kaiType: "EAG" | "FLO" | "MIN", + authDoc: KaiAuthDocument, + logger: KtLogger, + fetch = nodeFetch +) { + const maybeCredentials = GetKaiTypeClientCredentials(kaiType); + + /* istanbul ignore next */ + if (!maybeCredentials) { + logger.error( + `No CLIENT_ID or CLIENT_SECRET was configured for ${kaiType}. Cannot create reauth function.` + ); + throw new ScoreImportFatalError( + 500, + `Fatal error in performing authentication. This has been reported.` + ); + } + + const { CLIENT_ID, CLIENT_SECRET } = maybeCredentials; + + return async () => { + let res; + + try { + const url = CreateURLWithParams(`${KaiTypeToBaseURL(kaiType)}/oauth/token`, { + refresh_token: authDoc.refreshToken, + grant_type: "refresh_token", + client_secret: CLIENT_SECRET, + client_id: CLIENT_ID, + }); + + res = await fetch(url.href); + } catch (err) { + logger.error(`Unexpected error while fetching reauth?`, { res, err }); + throw new ScoreImportFatalError( + 500, + "An error has occured while attempting reauthentication." + ); + } + + /* istanbul ignore next */ + if (res.status !== 200) { + logger.error(`Unexpected ${res.status} error while fetching reauth?`, { res }); + throw new ScoreImportFatalError( + 500, + "An error has occured while attempting reauthentication." + ); + } + + let json; + /* istanbul ignore next */ + + try { + json = (await res.json()) as unknown; + } catch (err) { + logger.error(`Invalid JSON body in successful reauth response.`, { res, err }); + throw new ScoreImportFatalError( + 500, + "An error has occured while attempting reauthentication." + ); + } + + const err = p(json, REAUTH_SCHEMA, {}, { allowExcessKeys: true, throwOnNonObject: false }); + + if (err) { + logger.error(`Invalid JSON body in successful reauth response.`, { err, json }); + throw new ScoreImportFatalError( + 500, + "An error has occured while attempting reauthentication." + ); + } + + // asserted by prudence + const validatedContent = json as { + refresh_token: string; + access_token: string; + }; + + await db["kai-auth-tokens"].update( + { + userID: authDoc.userID, + service: authDoc.service, + }, + { + $set: { + refreshToken: validatedContent.refresh_token, + token: validatedContent.access_token, + }, + } + ); + + return validatedContent.access_token; + }; +} diff --git a/server/src/lib/score-import/import-types/common/api-kai/sdvx/class-handler.test.ts b/server/src/lib/score-import/import-types/common/api-kai/sdvx/class-handler.test.ts new file mode 100644 index 000000000..7cbf90a67 --- /dev/null +++ b/server/src/lib/score-import/import-types/common/api-kai/sdvx/class-handler.test.ts @@ -0,0 +1,146 @@ +import { CreateKaiSDVXClassHandler } from "./class-handler"; +import { KaiTypeToBaseURL } from "../utils"; +import { SDVXDans } from "lib/constants/classes"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import { MockBasicFetch, MockJSONFetch } from "test-utils/mock-fetch"; +import ResetDBState from "test-utils/resets"; + +const logger = CreateLogCtx(__filename); + +t.test("#CreateKaiSDVXClassHandler", async (t) => { + t.beforeEach(ResetDBState); + + const fn = await CreateKaiSDVXClassHandler( + "FLO", + "token", + MockJSONFetch({ + [`${KaiTypeToBaseURL("FLO")}/api/sdvx/v1/player_profile`]: { + _links: {}, + sdvx_id: 12345678, + name: "SOMEONE", + skill_level: 10, + access_time: "2019-08-26T18:22:36Z", + register_time: "2019-08-26T18:22:36Z", + }, + }) + ); + + t.test("Should return a function with arity 5.", (t) => { + t.equal(fn.length, 5); + + t.end(); + }); + + t.test("Should call the provided URL with the authentication token", (t) => { + const res = fn("sdvx", "Single", 1, {}, logger); + + t.strictSame(res, { dan: 9 }); + + t.end(); + }); + + t.test("Should return nothing if dan is not a number", async (t) => { + const fn = await CreateKaiSDVXClassHandler( + "FLO", + "token", + MockJSONFetch({ + [`${KaiTypeToBaseURL("FLO")}/api/sdvx/v1/player_profile`]: { + _links: {}, + sdvx_id: 12345678, + name: "SOMEONE", + skill_level: "NOT A NUMBER", + access_time: "2019-08-26T18:22:36Z", + register_time: "2019-08-26T18:22:36Z", + }, + }) + ); + + const res = fn("sdvx", "Single", 1, {}, logger); + + t.strictSame(res, {}); + + t.end(); + }); + + t.test("Should return nothing if dan is too great", async (t) => { + const fn = await CreateKaiSDVXClassHandler( + "FLO", + "token", + MockJSONFetch({ + [`${KaiTypeToBaseURL("FLO")}/api/sdvx/v1/player_profile`]: { + _links: {}, + sdvx_id: 12345678, + name: "SOMEONE", + skill_level: SDVXDans.INF + 2, + access_time: "2019-08-26T18:22:36Z", + register_time: "2019-08-26T18:22:36Z", + }, + }) + ); + + const res = fn("sdvx", "Single", 1, {}, logger); + + t.strictSame(res, {}); + + t.end(); + }); + + t.test("Should return nothing if dan is negative", async (t) => { + const fn = await CreateKaiSDVXClassHandler( + "FLO", + "token", + MockJSONFetch({ + [`${KaiTypeToBaseURL("FLO")}/api/sdvx/v1/player_profile`]: { + _links: {}, + sdvx_id: 12345678, + name: "SOMEONE", + skill_level: -1, + access_time: "2019-08-26T18:22:36Z", + register_time: "2019-08-26T18:22:36Z", + }, + }) + ); + + const res = fn("sdvx", "Single", 1, {}, logger); + + t.strictSame(res, {}); + + t.end(); + }); + + t.test("Should gracefully handle negative API responses", async (t) => { + const fn = await CreateKaiSDVXClassHandler("FLO", "token", MockBasicFetch({ status: 500 })); + + const res = fn("sdvx", "Single", 1, {}, logger); + + t.strictSame(res, {}); + + t.end(); + }); + + t.test("Should ignore null dans", async (t) => { + const fn = await CreateKaiSDVXClassHandler( + "FLO", + "token", + MockJSONFetch({ + [`${KaiTypeToBaseURL("FLO")}/api/sdvx/v1/player_profile`]: { + _links: {}, + sdvx_id: 12345678, + name: "SOMEONE", + skill_level: null, + access_time: "2019-08-26T18:22:36Z", + register_time: "2019-08-26T18:22:36Z", + }, + }) + ); + + const res = fn("sdvx", "Single", 1, {}, logger); + + t.strictSame(res, {}); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/common/api-kai/sdvx/class-handler.ts b/server/src/lib/score-import/import-types/common/api-kai/sdvx/class-handler.ts new file mode 100644 index 000000000..4d6b339b4 --- /dev/null +++ b/server/src/lib/score-import/import-types/common/api-kai/sdvx/class-handler.ts @@ -0,0 +1,84 @@ +import { KaiTypeToBaseURL } from "../utils"; +import { SDVXDans } from "lib/constants/classes"; +import nodeFetch from "utils/fetch"; +import { IsRecord } from "utils/misc"; +import type { ClassHandler } from "lib/score-import/framework/user-game-stats/types"; + +export async function CreateKaiSDVXClassHandler( + kaiType: "EAG" | "FLO" | "MIN", + token: string, + fetch = nodeFetch +): Promise { + let json: unknown; + let err: unknown; + const baseUrl = KaiTypeToBaseURL(kaiType); + + // SP and DP dans are located in the same place, + // fetch once, then return a function that traverses this data. + try { + const res = await fetch(`${baseUrl}/api/sdvx/v1/player_profile`, { + headers: { + Authorization: `Bearer ${token}`, + "Content-Type": "application/json", + }, + }); + + json = (await res.json()) as unknown; + } catch (e: unknown) { + err = e; + } + + return (game, playtype, userID, ratings, logger) => { + if (err !== undefined) { + logger.error(`An error occured while updating classes for ${baseUrl}.`, { err }); + return {}; + } + + if (!IsRecord(json)) { + logger.error(`JSON Returned from server was not an object? Not updating anything.`, { + json, + }); + return {}; + } + + if ( + json.skill_level === null || + json.skill_level === undefined || + typeof json.skill_level !== "number" + ) { + logger.info(`User has no skill_level. Not updating anything.`); + return {}; + } + + const sdvxDan: number | null = json.skill_level - 1; + + if (!Number.isInteger(sdvxDan)) { + logger.warn(`${baseUrl} returned a dan of ${sdvxDan}, which was not an integer.`); + return {}; + } + + if (sdvxDan > SDVXDans.INF) { + logger.warn( + `${baseUrl} returned a dan of ${sdvxDan}, which was greater than INF (${SDVXDans.INF}.)` + ); + return {}; + } + + // Kai APIs return -1 to indicate no dan. They also sometimes return undefined. + // I'm not too sure why. + if (sdvxDan === -1) { + return {}; + } + + if (sdvxDan < SDVXDans.DAN_1) { + logger.warn( + `${baseUrl} returned a dan of ${sdvxDan}, which was less than DAN_1 (${SDVXDans.DAN_1}.)` + ); + return {}; + } + + return { + dan: sdvxDan, + }; + }; +} diff --git a/server/src/lib/score-import/import-types/common/api-kai/sdvx/converter.test.ts b/server/src/lib/score-import/import-types/common/api-kai/sdvx/converter.test.ts new file mode 100644 index 000000000..37a54cead --- /dev/null +++ b/server/src/lib/score-import/import-types/common/api-kai/sdvx/converter.test.ts @@ -0,0 +1,155 @@ +import { ConvertAPIKaiSDVX, ConvertDifficulty, ConvertVersion, ResolveKaiLamp } from "./converter"; +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { TestingAlbidaADV, TestingSDVXAlbidaSong } from "test-utils/test-data"; + +const logger = CreateLogCtx(__filename); + +const sdvxScore = { + sdvx_id: 32157055, + music_id: 1, + music_difficulty: 1, + + // exg + played_version: 6, + + clear_type: 2, + max_chain: 179, + score: 9310699, + critical: 1754, + near: 112, + error: 78, + early: 70, + late: 42, + gauge_type: 0, + gauge_rate: 90.01, + timestamp: "2020-08-30T13:08:11Z", + _id: 127108, +}; + +t.test("#ConvertAPIKaiSDVX", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return a dryScore on valid input.", async (t) => { + const res = await ConvertAPIKaiSDVX(sdvxScore, { service: "FLO" }, "api/flo-sdvx", logger); + + t.hasStrict(res, { + song: TestingSDVXAlbidaSong, + chart: TestingAlbidaADV, + dryScore: { + comment: null, + game: "sdvx", + importType: "api/flo-sdvx", + timeAchieved: 1598792891000, + service: "FLO", + scoreData: { + grade: "AA", + + // percent: 93.10699, floating point + score: 9310699, + lamp: "CLEAR", + judgements: { + critical: 1754, + near: 112, + miss: 78, + }, + hitMeta: { + fast: 70, + slow: 42, + gauge: 90.01, + maxCombo: 179, + }, + }, + scoreMeta: {}, + }, + }); + + t.end(); + }); + + t.test("Should throw KTDataNotFound on unknown chart", (t) => { + t.rejects( + () => + ConvertAPIKaiSDVX( + deepmerge(sdvxScore, { music_id: 0 }), + { service: "FLO" }, + "api/flo-sdvx", + logger + ), + { + message: /Could not find chart with songID 0 \(ADV - Version exceed\)/u, + } + ); + + t.end(); + }); + + t.test("Should throw InvalidScoreFailure on invalid score", (t) => { + t.rejects( + () => + ConvertAPIKaiSDVX( + deepmerge(sdvxScore, { music_id: "foo" }), + { service: "FLO" }, + "api/flo-sdvx", + logger + ), + { + message: + /Error: music_id.*Expected a positive integer.* received foo \[type: string\]/iu, + } + ); + + t.end(); + }); + + t.test("Should throw InternalFailure on song-chart desync", async (t) => { + await db.songs.sdvx.remove({}); + + t.rejects(() => ConvertAPIKaiSDVX(sdvxScore, { service: "FLO" }, "api/flo-sdvx", logger), { + message: /Song-Chart desync/u, + }); + + t.end(); + }); + + t.end(); +}); + +t.test("#ConvertDifficulty", (t) => { + t.equal(ConvertDifficulty(0), "NOV"); + t.equal(ConvertDifficulty(1), "ADV"); + t.equal(ConvertDifficulty(2), "EXH"); + t.equal(ConvertDifficulty(3), "ANY_INF"); + t.equal(ConvertDifficulty(4), "MXM"); + t.throws(() => ConvertDifficulty(5)); + + t.end(); +}); + +t.test("#ConvertVersion", (t) => { + t.equal(ConvertVersion(1), "booth"); + t.equal(ConvertVersion(2), "inf"); + t.equal(ConvertVersion(3), "gw"); + t.equal(ConvertVersion(4), "heaven"); + t.equal(ConvertVersion(5), "vivid"); + t.equal(ConvertVersion(6), "exceed"); + t.throws(() => ConvertVersion(7)); + t.throws(() => ConvertVersion(0)); + + t.end(); +}); + +t.test("#ResolveKaiLamp", (t) => { + t.equal(ResolveKaiLamp(1), "FAILED"); + t.equal(ResolveKaiLamp(2), "CLEAR"); + t.equal(ResolveKaiLamp(3), "EXCESSIVE CLEAR"); + t.equal(ResolveKaiLamp(4), "ULTIMATE CHAIN"); + t.equal(ResolveKaiLamp(5), "PERFECT ULTIMATE CHAIN"); + t.throws(() => ResolveKaiLamp(6)); + t.throws(() => ResolveKaiLamp(0)); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/common/api-kai/sdvx/converter.ts b/server/src/lib/score-import/import-types/common/api-kai/sdvx/converter.ts new file mode 100644 index 000000000..5def625e5 --- /dev/null +++ b/server/src/lib/score-import/import-types/common/api-kai/sdvx/converter.ts @@ -0,0 +1,157 @@ +import { + InternalFailure, + InvalidScoreFailure, + KTDataNotFoundFailure, +} from "../../../../framework/common/converter-failures"; +import { + GenericGetGradeAndPercent, + ParseDateFromString, +} from "../../../../framework/common/score-utils"; +import p from "prudence"; +import { FormatPrError } from "utils/prudence"; +import { FindSDVXChartOnInGameIDVersion } from "utils/queries/charts"; +import { FindSongOnID } from "utils/queries/songs"; +import type { DryScore } from "../../../../framework/common/types"; +import type { ConverterFunction } from "../../types"; +import type { KaiContext, KaiSDVXScore } from "../types"; +import type { Lamps } from "tachi-common"; + +const PR_KAI_SDVX_SCORE = { + music_id: p.isPositiveInteger, + music_difficulty: p.isBoundedInteger(0, 4), + played_version: p.isBoundedInteger(1, 6), + clear_type: p.isBoundedInteger(1, 5), + max_chain: p.isPositiveInteger, + score: p.isBoundedInteger(0, 10_000_000), + critical: p.isPositiveInteger, + near: p.isPositiveInteger, + error: p.nullable(p.isPositiveInteger), + early: p.nullable(p.isPositiveInteger), + late: p.nullable(p.isPositiveInteger), + gauge_rate: p.isBetween(0, 100), + timestamp: "string", +}; + +export const ConvertAPIKaiSDVX: ConverterFunction = async ( + data, + context, + importType, + logger +) => { + const err = p(data, PR_KAI_SDVX_SCORE, {}, { allowExcessKeys: true }); + + if (err) { + throw new InvalidScoreFailure(FormatPrError(err)); + } + + // prudence checks this above. + const score = data as KaiSDVXScore; + + const difficulty = ConvertDifficulty(score.music_difficulty); + const version = ConvertVersion(score.played_version); + + const chart = await FindSDVXChartOnInGameIDVersion(score.music_id, difficulty, version); + + if (!chart) { + throw new KTDataNotFoundFailure( + `Could not find chart with songID ${score.music_id} (${difficulty} - Version ${version})`, + importType, + data, + context + ); + } + + const song = await FindSongOnID("sdvx", chart.songID); + + if (!song) { + logger.severe(`Song-Chart desync with song ID ${chart.songID} (sdvx).`); + throw new InternalFailure(`Song-Chart desync with song ID ${chart.songID} (sdvx).`); + } + + const lamp = ResolveKaiLamp(score.clear_type); + + const { percent, grade } = GenericGetGradeAndPercent("sdvx", score.score, chart); + + const timeAchieved = ParseDateFromString(score.timestamp); + + const dryScore: DryScore<"sdvx:Single"> = { + comment: null, + game: "sdvx", + importType, + timeAchieved, + service: context.service, + scoreData: { + grade, + percent, + score: score.score, + lamp, + judgements: { + critical: score.critical, + near: score.near, + miss: score.error, + }, + hitMeta: { + fast: score.early, + slow: score.late, + gauge: score.gauge_rate, + maxCombo: score.max_chain, + }, + }, + scoreMeta: {}, + }; + + return { song, chart, dryScore }; +}; + +export function ConvertDifficulty(diff: number) { + switch (diff) { + case 0: + return "NOV"; + case 1: + return "ADV"; + case 2: + return "EXH"; + case 3: + return "ANY_INF"; + case 4: + return "MXM"; + } + + throw new InvalidScoreFailure(`Invalid difficulty of ${diff} - Could not convert.`); +} + +export function ConvertVersion(ver: number) { + switch (ver) { + case 1: + return "booth"; + case 2: + return "inf"; + case 3: + return "gw"; + case 4: + return "heaven"; + case 5: + return "vivid"; + case 6: + return "exceed"; + } + + throw new InvalidScoreFailure(`Unknown Game Version ${ver}.`); +} + +export function ResolveKaiLamp(clear: number): Lamps["sdvx:Single"] { + switch (clear) { + case 1: + return "FAILED"; + case 2: + return "CLEAR"; + case 3: + return "EXCESSIVE CLEAR"; + case 4: + return "ULTIMATE CHAIN"; + case 5: + return "PERFECT ULTIMATE CHAIN"; + } + + throw new InvalidScoreFailure(`Invalid lamp of ${clear} - Could not convert.`); +} diff --git a/server/src/lib/score-import/import-types/common/api-kai/sdvx/parser.test.ts b/server/src/lib/score-import/import-types/common/api-kai/sdvx/parser.test.ts new file mode 100644 index 000000000..ee4f069e9 --- /dev/null +++ b/server/src/lib/score-import/import-types/common/api-kai/sdvx/parser.test.ts @@ -0,0 +1,84 @@ +import { ParseKaiSDVX } from "./parser"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import { MockJSONFetch } from "test-utils/mock-fetch"; +import ResetDBState from "test-utils/resets"; + +const fakeAuth = { + userID: 1, + refreshToken: "foo", + service: "FLO" as const, + token: "bar", +}; + +const logger = CreateLogCtx(__filename); + +t.test("#ParseKaiSDVX", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should iterate over the SDVX FLO API asynchronously.", async (t) => { + const mockFloAPI = MockJSONFetch({ + "https://flo.example.com/api/sdvx/v1/play_history": { + _links: { + _next: "https://flo.example.com/api/sdvx/v1/play_history?page=2", + }, + _items: [1, 2, 3, 4], + }, + "https://flo.example.com/api/sdvx/v1/play_history?page=2": { + _links: { + _next: null, + }, + _items: [5, 6], + }, + }); + + const res = await ParseKaiSDVX("FLO", fakeAuth, logger, mockFloAPI); + + t.equal(res.game, "sdvx"); + t.strictSame(res.context, { service: "FLO" }); + + const iter = []; + + for await (const el of res.iterable) { + iter.push(el); + } + + t.strictSame(iter, [1, 2, 3, 4, 5, 6]); + + t.end(); + }); + + t.test("Should iterate over the SDVX EAG API asynchronously.", async (t) => { + const mockEagAPI = MockJSONFetch({ + "https://eag.example.com/api/sdvx/v1/play_history": { + _links: { + _next: "https://eag.example.com/api/sdvx/v1/play_history?page=2", + }, + _items: [1, 2, 3, 4], + }, + "https://eag.example.com/api/sdvx/v1/play_history?page=2": { + _links: { + _next: null, + }, + _items: [5, 6], + }, + }); + + const res = await ParseKaiSDVX("EAG", fakeAuth, logger, mockEagAPI); + + t.equal(res.game, "sdvx"); + t.strictSame(res.context, { service: "EAG" }); + + const iter = []; + + for await (const el of res.iterable) { + iter.push(el); + } + + t.strictSame(iter, [1, 2, 3, 4, 5, 6]); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/common/api-kai/sdvx/parser.ts b/server/src/lib/score-import/import-types/common/api-kai/sdvx/parser.ts new file mode 100644 index 000000000..e34a28edf --- /dev/null +++ b/server/src/lib/score-import/import-types/common/api-kai/sdvx/parser.ts @@ -0,0 +1,34 @@ +import { CreateKaiSDVXClassHandler } from "./class-handler"; +import { CreateKaiReauthFunction } from "../reauth"; +import { TraverseKaiAPI } from "../traverse-api"; +import { KaiTypeToBaseURL } from "../utils"; +import nodeFetch from "utils/fetch"; +import type { ParserFunctionReturns } from "../../types"; +import type { KaiContext } from "../types"; +import type { KtLogger } from "lib/logger/logger"; +import type { KaiAuthDocument } from "tachi-common"; + +export async function ParseKaiSDVX( + service: "EAG" | "FLO" | "MIN", + authDoc: KaiAuthDocument, + logger: KtLogger, + fetch = nodeFetch +): Promise> { + const baseUrl = KaiTypeToBaseURL(service); + + return { + iterable: TraverseKaiAPI( + baseUrl, + "/api/sdvx/v1/play_history", + authDoc.token, + logger, + CreateKaiReauthFunction(service, authDoc, logger, fetch), + fetch + ), + context: { + service, + }, + classHandler: await CreateKaiSDVXClassHandler(service, authDoc.token, fetch), + game: "sdvx", + }; +} diff --git a/server/src/lib/score-import/import-types/common/api-kai/traverse-api.test.ts b/server/src/lib/score-import/import-types/common/api-kai/traverse-api.test.ts new file mode 100644 index 000000000..3593ad6b3 --- /dev/null +++ b/server/src/lib/score-import/import-types/common/api-kai/traverse-api.test.ts @@ -0,0 +1,204 @@ +import { TraverseKaiAPI } from "./traverse-api"; +import ScoreImportFatalError from "../../../framework/score-importing/score-import-error"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import { agta } from "test-utils/misc"; +import { MockBasicFetch, MockJSONFetch } from "test-utils/mock-fetch"; +import ResetDBState from "test-utils/resets"; +import type { NodeFetch } from "utils/fetch"; + +const logger = CreateLogCtx(__filename); + +const fakeAuth = "bar"; + +t.test("#TraverseKaiAPI", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should traverse the API", async (t) => { + const mockKaiAPI = MockJSONFetch({ + "http://url.com/sub": { + _links: { + _next: "http://url.com/sub?page=2", + }, + _items: [1, 2, 3, 4], + }, + "http://url.com/sub?page=2": { + _links: { + _next: null, + }, + _items: [5, 6], + }, + }); + + const res = TraverseKaiAPI("http://url.com", "/sub", fakeAuth, logger, null, mockKaiAPI); + + const elements = await agta(res); + + t.strictSame(elements, [1, 2, 3, 4, 5, 6]); + + t.end(); + }); + + t.test("Should throw on attempted SSRF", (t) => { + const mockKaiAPI = MockJSONFetch({ + "http://url.com/sub": { + _links: { + _next: "http://evil.com/sub?page=2", + }, + _items: [1, 2, 3, 4], + }, + "http://url.com/sub?page=2": { + _links: { + _next: null, + }, + _items: [5, 6], + }, + }); + const res = TraverseKaiAPI("http://url.com", "/sub", fakeAuth, logger, null, mockKaiAPI); + + t.rejects( + () => agta(res), + new ScoreImportFatalError(500, `http://url.com returned invalid data.`) + ); + + t.end(); + }); + + t.test("Should throw on invalid response JSON", (t) => { + const mockKaiAPI = (() => ({ json: null })) as unknown as NodeFetch; + const res = TraverseKaiAPI("http://url.com", "/sub", fakeAuth, logger, null, mockKaiAPI); + + t.rejects(() => agta(res)); + + t.end(); + }); + + t.test("Should throw on request failure", (t) => { + const mockKaiAPI = () => { + throw new Error("Fake Request timeout..."); + }; + + const res = TraverseKaiAPI("http://url.com", "/sub", fakeAuth, logger, null, mockKaiAPI); + + t.rejects(() => agta(res)); + + t.end(); + }); + + t.test("Should throw on invalid _links", (t) => { + const mockKaiAPI = MockJSONFetch({ + "http://url.com/sub": { + _links: null, + }, + }); + + const res = TraverseKaiAPI("http://url.com", "/sub", fakeAuth, logger, null, mockKaiAPI); + + t.rejects(() => agta(res)); + + const mockKaiAPI2 = MockJSONFetch({ + "http://url.com/sub": { + _links: "foo", + }, + }); + + const res2 = TraverseKaiAPI("http://url.com", "/sub", fakeAuth, logger, null, mockKaiAPI2); + + t.rejects(() => agta(res2)); + + t.end(); + }); + + t.test("Should throw on invalid _links._next", (t) => { + const mockKaiAPI = MockJSONFetch({ + "http://url.com/sub": { + _links: {}, + }, + }); + + const res = TraverseKaiAPI("http://url.com", "/sub", fakeAuth, logger, null, mockKaiAPI); + + t.rejects(() => agta(res)); + + const mockKaiAPI2 = MockJSONFetch({ + "http://url.com/sub": { + _links: { + _next: {}, + }, + }, + }); + + const res2 = TraverseKaiAPI("http://url.com", "/sub", fakeAuth, logger, null, mockKaiAPI2); + + t.rejects(() => agta(res2)); + + t.end(); + }); + + t.test("Should throw on invalid _items", (t) => { + const mockKaiAPI = MockJSONFetch({ + "http://url.com/sub": { + _links: { + _next: null, + }, + _items: {}, + }, + }); + + const res = TraverseKaiAPI("http://url.com", "/sub", fakeAuth, logger, null, mockKaiAPI); + + t.rejects(() => agta(res)); + + t.end(); + }); + + t.test("Should throw on infinite loop", (t) => { + const mockKaiAPI = MockJSONFetch({ + "http://url.com/sub": { + _links: { + _next: "http://url.com/sub", + }, + _items: [1, 2, 3, 4], + }, + }); + + const res = TraverseKaiAPI("http://url.com", "/sub", fakeAuth, logger, null, mockKaiAPI); + + t.rejects(() => agta(res)); + + t.end(); + }); + + t.test("Should attempt reauthentication if authentication fails.", async (t) => { + const mockKaiAPI = MockBasicFetch({ status: 401 }); + + let hasAttemptedReauth = false; + + const res = TraverseKaiAPI( + "http://url.com", + "/sub", + fakeAuth, + logger, + // eslint-disable-next-line @typescript-eslint/require-await + async () => { + hasAttemptedReauth = true; + return "bar"; + }, + mockKaiAPI + ); + + await t.rejects( + // eslint-disable-next-line lines-around-comment + // not redundant here + // eslint-disable-next-line no-return-await + async () => await agta(res), + "Should correctly bail out of an endless reauth loop." + ); + + t.equal(hasAttemptedReauth, true, "Should have called the reauth function."); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/common/api-kai/traverse-api.ts b/server/src/lib/score-import/import-types/common/api-kai/traverse-api.ts new file mode 100644 index 000000000..16fc63605 --- /dev/null +++ b/server/src/lib/score-import/import-types/common/api-kai/traverse-api.ts @@ -0,0 +1,193 @@ +import ScoreImportFatalError from "../../../framework/score-importing/score-import-error"; +import { VERSION_STR } from "lib/constants/version"; +import { TachiConfig } from "lib/setup/config"; +import nodeFetch from "utils/fetch"; +import { IsRecord } from "utils/misc"; +import { URL } from "url"; +import type { KtLogger } from "lib/logger/logger"; + +/** + * A Kai Reauth function is an async function that returns a string + * which represents the new token to use, OR throws a score import + * fatal error if reauthentication fails. + */ +export type KaiAPIReauthFunction = () => Promise; + +/** + * there is the (strange) case here where we could end up + * infinitely requesting re-auth and, despite succeeding, + * continually failing on new requests. + * in this case, we check if we've exceeded the maximum amount of + * reauths, and will throw if it is exceeded. + */ +const MAX_REAUTH_ATTEMPTS = 1; + +/** + * Defines the absolute maximum amount of loops this function can do. + * A maliciously crafted API can cause us to enter an infinite loop and + * blow up - we don't want that. + */ +const MAX_ITERATIONS = 500; + +/** + * Traverses a Kai-like personal_bests api. + * @param baseUrl The base URL to fetch requests from. - like https://google.com + * @param subUrl The endpoint for the scores - /api/v1/personal_bests + * @param authDoc The user's authentication document. + * @param fetch This is so `fetch` can be mocked with something + * that wont make http requests during tests. + */ +export async function* TraverseKaiAPI( + baseUrl: string, + subUrl: string, + token: string, + logger: KtLogger, + reauthFunction: KaiAPIReauthFunction | null = null, + fetch = nodeFetch +) { + let fetchMoreData = true; + let url = `${baseUrl}${subUrl}`; + + let reauthAttempts = 0; + let currentIteration = 0; + + while (fetchMoreData) { + // Rough SSRF check - KAI-like apis could potentially get us to perform + // SSRF. We check if the origin of the next request is exactly the + // original, expected, base URL. + const origin = new URL(url).origin; + + if (origin !== baseUrl) { + logger.severe(`${baseUrl} attempted SSRF with url ${url}?`); + + throw new ScoreImportFatalError(500, `${baseUrl} returned invalid data.`); + } + + let json; + let res; + + // wrap all this in a try catch just incase the fetch or the res + // json call fails. + + try { + // eslint-disable-next-line no-await-in-loop + res = await fetch(url, { + headers: { + Authorization: `Bearer ${token}`, + "User-Agent": `${TachiConfig.NAME}/${VERSION_STR}`, + "Content-Type": "application/json", + }, + }); + } catch (err) { + logger.error(`received invalid response from ${url}.`, { err }); + throw new ScoreImportFatalError( + 500, + `received invalid response from their API. Are they down?` + ); + } + + // if we are unauthorised or forbidden we need to attempt + // reauth + if (res.status === 401 || res.status === 403) { + reauthAttempts++; + if (reauthAttempts > MAX_REAUTH_ATTEMPTS) { + throw new ScoreImportFatalError( + 500, + `Attempted to reauthenticate with ${baseUrl} more than ${MAX_REAUTH_ATTEMPTS} times. The problem is likely not on our end.` + ); + } + + if (!reauthFunction) { + throw new ScoreImportFatalError( + res.status, + `Unable to authenticate with ${baseUrl} and reauthentication was not possible.` + ); + } + + // reassigning this param is fine. + // eslint-disable-next-line no-param-reassign, no-await-in-loop + token = await reauthFunction(); + + // then go to the start of the while loop. + continue; + } + + let text; + + try { + // Split this into text -> JSON parse so we can read the text for better error messages + // in the case of disaster. + // eslint-disable-next-line no-await-in-loop + text = await res.text(); + + json = JSON.parse(text) as unknown; + } catch (err) { + logger.error( + `Received invalid (non-json) response from ${url}. Status code was ${res.status}.`, + { err, text } + ); + throw new ScoreImportFatalError( + 500, + `Received invalid response from their API. Are they down?` + ); + } + + if (!IsRecord(json)) { + logger.error(`Received invalid (non-object, but json) response from ${url}.`, { json }); + throw new ScoreImportFatalError( + 500, + `Received invalid response from their API. Are they down?` + ); + } + + if (!IsRecord(json._links)) { + logger.error(`Received invalid JSON from ${url}. Invalid _links.`, { body: json }); + + throw new ScoreImportFatalError( + 500, + `Received no _links prop from their API. This is not an error with ${TachiConfig.NAME}.` + ); + } + + currentIteration++; + + if (currentIteration > MAX_ITERATIONS) { + logger.error( + `An infinite loop has occured - Terminating at MAX_ITERATIONS (${MAX_ITERATIONS}).` + ); + throw new ScoreImportFatalError( + 508, + "An infinite loop appears to have occured while synchronising with this api." + ); + } + + if (typeof json._links._next === "string") { + url = json._links._next; + } else if (json._links._next === null) { + // exit the loop after this, we're on the last page. + fetchMoreData = false; + } else { + logger.error(`Received invalid response from ${url}. Invalid _links._next.`, { + body: json, + }); + + throw new ScoreImportFatalError( + 500, + `Received invalid _links._next prop from their API.` + ); + } + + if (!Array.isArray(json._items)) { + logger.error(`Received invalid response from ${url}. Invalid _items.`, { + body: json, + }); + + throw new ScoreImportFatalError(500, `Received invalid _items from their API.`); + } + + // yield everything out of the score array + for (const score of json._items) { + yield score as unknown; + } + } +} diff --git a/server/src/lib/score-import/import-types/common/api-kai/types.ts b/server/src/lib/score-import/import-types/common/api-kai/types.ts new file mode 100644 index 000000000..f548ada41 --- /dev/null +++ b/server/src/lib/score-import/import-types/common/api-kai/types.ts @@ -0,0 +1,40 @@ +import type { integer } from "tachi-common"; + +export interface KaiIIDXScore { + music_id: integer; + play_style: "DOUBLE" | "SINGLE"; + difficulty: "ANOTHER" | "BEGINNER" | "HYPER" | "LEGGENDARIA" | "NORMAL"; + version_played: integer; + lamp: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7; + ex_score: integer; + + // -1 => null + miss_count: integer | null; + + fast_count: integer | null; + slow_count: integer | null; + timestamp: string; +} + +export interface KaiSDVXScore { + music_id: integer; + music_difficulty: 0 | 1 | 2 | 3 | 4; + played_version: integer; + + // 0 here is 'PLAYED' + clear_type: 0 | 1 | 2 | 3 | 4; + score: integer; + max_chain: integer; + critical: integer; + near: integer; + error: integer | null; + early: integer | null; + late: integer | null; + gauge_type: 0 | 1 | 2 | 3; + gauge_rate: integer; + timestamp: string; +} + +export interface KaiContext { + service: "EAG" | "FLO" | "MIN"; +} diff --git a/server/src/lib/score-import/import-types/common/api-kai/utils.ts b/server/src/lib/score-import/import-types/common/api-kai/utils.ts new file mode 100644 index 000000000..03cb20880 --- /dev/null +++ b/server/src/lib/score-import/import-types/common/api-kai/utils.ts @@ -0,0 +1,42 @@ +import { ServerConfig } from "lib/setup/config"; + +export function KaiTypeToBaseURL(kaiType: "EAG" | "FLO" | "MIN") { + switch (kaiType) { + case "FLO": { + if (!ServerConfig.FLO_API_URL) { + throw new Error(`Got kaiType FLO, but no API_URL was defined?`); + } + + return ServerConfig.FLO_API_URL; + } + + case "EAG": { + if (!ServerConfig.EAG_API_URL) { + throw new Error(`Got kaiType EAG, but no API_URL was defined?`); + } + + return ServerConfig.EAG_API_URL; + } + + case "MIN": { + if (!ServerConfig.MIN_API_URL) { + throw new Error(`Got kaiType MIN, but no API_URL was defined?`); + } + + return ServerConfig.MIN_API_URL; + } + + default: + throw new Error(`Invalid Kai Type ${kaiType} provided.`); + } +} + +export function GetKaiTypeClientCredentials(kaiType: "EAG" | "FLO" | "MIN") { + if (kaiType === "FLO") { + return ServerConfig.FLO_OAUTH2_INFO; + } else if (kaiType === "EAG") { + return ServerConfig.EAG_OAUTH2_INFO; + } + + return ServerConfig.MIN_OAUTH2_INFO; +} diff --git a/server/src/lib/score-import/import-types/common/batch-manual/class-handler.ts b/server/src/lib/score-import/import-types/common/batch-manual/class-handler.ts new file mode 100644 index 000000000..d8427ac81 --- /dev/null +++ b/server/src/lib/score-import/import-types/common/batch-manual/class-handler.ts @@ -0,0 +1,72 @@ +import ScoreImportFatalError from "lib/score-import/framework/score-importing/score-import-error"; +import { GetGamePTConfig } from "tachi-common"; +import { NotNullish } from "utils/misc"; +import type { ClassHandler } from "lib/score-import/framework/user-game-stats/types"; +import type { GamePTConfig, IDStrings } from "tachi-common"; +import type { GameClasses, GameClassSets } from "tachi-common/js/game-classes"; + +// Note: This is tested by batch-manuals parser.test.ts. +export function CreateBatchManualClassHandler( + classes: Record +): ClassHandler { + return (game, playtype, userID, ratings, logger) => { + const gptConfig = GetGamePTConfig(game, playtype); + + const newObj: Partial> = {}; + + for (const [s, classID] of Object.entries(classes)) { + const set = s as GameClassSets[IDStrings]; + + const index = ClassIDToIndex(gptConfig, set, classID); + + if (index === null) { + logger.warn( + `User passed invalid class of ${classID} for set ${set}. Expected any of ${gptConfig.classHumanisedFormat[ + set + ] + .map((e) => e.id) + .join(", ")}` + ); + + throw new ScoreImportFatalError( + 400, + `Invalid class of ${classID} for set ${set}. Expected any of ${gptConfig.classHumanisedFormat[ + set + ] + .map((e) => e.id) + .join(", ")}` + ); + } + + newObj[set] = index; + } + + return newObj; + }; +} + +/** + * Given a gpt classes ID, return its index value. + * + * Returns null if the classID doesn't exist. + * @returns + */ +function ClassIDToIndex( + gptConfig: GamePTConfig, + classSet: GameClassSets[IDStrings], + classID: string +) { + const classes = gptConfig.classHumanisedFormat[classSet]; + + for (let i = 0; i < classes.length; i++) { + const classInfo = NotNullish(classes[i]); + + // Object.entries on an array returns [string, T], counterintuitively. + // Ah well. We'll just iterate over it like this. + if (classInfo.id === classID) { + return i; + } + } + + return null; +} diff --git a/server/src/lib/score-import/import-types/common/batch-manual/converter.test.ts b/server/src/lib/score-import/import-types/common/batch-manual/converter.test.ts new file mode 100644 index 000000000..6f2424bf8 --- /dev/null +++ b/server/src/lib/score-import/import-types/common/batch-manual/converter.test.ts @@ -0,0 +1,713 @@ +import { ConverterBatchManual, ResolveChartFromSong, ResolveMatchTypeToKTData } from "./converter"; +import { InvalidScoreFailure } from "../../../framework/common/converter-failures"; +import deepmerge from "deepmerge"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { BMSGazerChart, BMSGazerSong, Testing511Song, Testing511SPA } from "test-utils/test-data"; +import { EscapeStringRegexp } from "utils/misc"; +import type { BatchManualContext } from "./types"; +import type { BatchManualScore, Game } from "tachi-common"; + +const baseBatchManualScore = { + score: 500, + lamp: "HARD CLEAR" as const, + matchType: "tachiSongID" as const, + identifier: "1", + playtype: "SP" as const, + difficulty: "ANOTHER" as const, +}; + +const context = { + game: "iidx" as const, + playtype: "SP" as const, + service: "foo", + version: null, +}; + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +const ktdWrap = (msg: string, game: Game = "iidx", version = null): any => ({ + importType: "file/batch-manual", + message: new RegExp(EscapeStringRegexp(msg), "u"), + converterContext: { game, service: "foo", version }, + + // any under t.match rules. + data: {}, +}); + +const logger = CreateLogCtx(__filename); + +const importType = "file/batch-manual" as const; + +t.test("#ResolveMatchTypeToKTData", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should resolve for the songID if the matchType is songID", async (t) => { + const res = await ResolveMatchTypeToKTData( + baseBatchManualScore, + context, + importType, + logger + ); + + t.hasStrict( + res, + { song: { id: 1 }, chart: Testing511SPA }, + "Should return the right song and chart." + ); + + t.rejects( + () => + ResolveMatchTypeToKTData( + // eslint-disable-next-line lines-around-comment + // @ts-expect-error bad + deepmerge(baseBatchManualScore, { identifier: "90000" }), + context, + importType, + logger + ), + ktdWrap("Cannot find song with songID 90000") + ); + + t.end(); + }); + + t.test("Should resolve for the song title if the matchType is songTitle", async (t) => { + const res = await ResolveMatchTypeToKTData( + deepmerge(baseBatchManualScore, { matchType: "songTitle", identifier: "5.1.1." }), + context, + importType, + logger + ); + + t.hasStrict( + res, + { song: { id: 1 }, chart: Testing511SPA }, + "Should return the right song and chart." + ); + + t.rejects( + () => + ResolveMatchTypeToKTData( + deepmerge(baseBatchManualScore, { + matchType: "songTitle", + identifier: "INVALID_TITLE", + }), + context, + importType, + logger + ), + ktdWrap("Cannot find song with title INVALID_TITLE") + ); + + t.end(); + }); + + t.test("Should resolve for the bms chartHash if the matchType is bmsChartHash", async (t) => { + const GAZER17MD5 = "38616b85332037cc12924f2ae2840262"; + const GAZER17SHA256 = "195fe1be5c3e74fccd04dc426e05f8a9cfa8a1059c339d0a23e99f63661f0b7d"; + + const bmsContext: BatchManualContext = deepmerge(context, { game: "bms", playtype: "7K" }); + + const resMD5 = await ResolveMatchTypeToKTData( + deepmerge(baseBatchManualScore, { + matchType: "bmsChartHash", + identifier: GAZER17MD5, + }), + bmsContext, + importType, + logger + ); + + t.hasStrict( + resMD5, + { song: BMSGazerSong, chart: BMSGazerChart }, + "Should return the right song and chart." + ); + + const resSHA256 = await ResolveMatchTypeToKTData( + deepmerge(baseBatchManualScore, { + matchType: "bmsChartHash", + identifier: GAZER17SHA256, + }), + bmsContext, + importType, + logger + ); + + t.hasStrict( + resSHA256, + { song: BMSGazerSong, chart: BMSGazerChart }, + "Should return the right song and chart." + ); + + t.rejects( + () => + ResolveMatchTypeToKTData( + deepmerge(baseBatchManualScore, { + matchType: "bmsChartHash", + identifier: "bad_hash", + }), + bmsContext, + importType, + logger + ), + ktdWrap("Cannot find chart for hash ", "bms") + ); + + t.end(); + }); + + t.test("Should resolve for the popn chartHash if the matchType is popnChartHash", async (t) => { + const chartHash = "2c26d666fa7c907e85115dbb279c267c14a263d47b2d46a93f99eae49d779119"; + + const popnContext: BatchManualContext = deepmerge(context, { + game: "popn", + playtype: "9B", + }); + + const res = await ResolveMatchTypeToKTData( + deepmerge(baseBatchManualScore, { + matchType: "popnChartHash", + identifier: chartHash, + }), + popnContext, + importType, + logger + ); + + t.hasStrict( + res, + { + song: { id: 1 }, + chart: { + songID: 1, + data: { hashSHA256: chartHash }, + playtype: "9B", + }, + }, + "Should return the right song and chart." + ); + + t.end(); + }); + + t.test("Should reject if popnChartHash is used while game is not popn", (t) => { + const chartHash = "2c26d666fa7c907e85115dbb279c267c14a263d47b2d46a93f99eae49d779119"; + + t.rejects(() => + ResolveMatchTypeToKTData( + deepmerge(baseBatchManualScore, { + matchType: "popnChartHash", + identifier: chartHash, + }), + context, + importType, + logger + ) + ); + + t.end(); + }); + + t.test("Should resolve for the usc chartHash if the matchType is uscChartHash", async (t) => { + const chartHash = "USC_CHART_HASH"; + + const uscContext: BatchManualContext = deepmerge(context, { + game: "usc", + playtype: "Controller", + }); + + const res = await ResolveMatchTypeToKTData( + deepmerge(baseBatchManualScore, { + matchType: "uscChartHash", + identifier: chartHash, + }), + uscContext, + importType, + logger + ); + + t.hasStrict( + res, + { + song: { id: 1 }, + chart: { songID: 1, chartID: "USC_CHART_ID", playtype: "Controller" }, + }, + "Should return the right song and chart." + ); + + t.end(); + }); + + t.test("Should honor playtype in uscChartHash despite non-unique chartIDs.", (t) => { + const chartHash = "USC_CHART_HASH"; + + const uscContext: BatchManualContext = deepmerge(context, { + game: "usc", + playtype: "Keyboard", + }); + + t.rejects( + () => + ResolveMatchTypeToKTData( + deepmerge(baseBatchManualScore, { + matchType: "uscChartHash", + identifier: chartHash, + }), + uscContext, + importType, + logger + ), + ktdWrap("Cannot find chart with hash USC_CHART_HASH", "usc") + ); + + t.end(); + }); + + t.test("Should reject if ddrSongHash is called without game = ddr", (t) => { + t.rejects( + ResolveMatchTypeToKTData( + deepmerge(baseBatchManualScore, { + matchType: "ddrSongHash", + playtype: "SP", + difficulty: "DIFFICULT", + }), + context, + importType, + logger + ), + new InvalidScoreFailure("Cannot use ddrSongHash lookup on iidx.") + ); + + t.end(); + }); + + t.test("Should resolve for the ddr songHash if the matchType is ddrSongHash", async (t) => { + const PUTY_ID = "DQlQ1DlPbq900oqdOo8l0d6I1lIOl99l"; + + const res = await ResolveMatchTypeToKTData( + deepmerge(baseBatchManualScore, { + matchType: "ddrSongHash", + identifier: PUTY_ID, + playtype: "SP", + difficulty: "DIFFICULT", + }), + deepmerge(context, { game: "ddr" }), + importType, + logger + ); + + t.hasStrict( + res, + { + song: { id: 10 }, + chart: { chartID: "48024d36bbe76c9fed09c3ffdc19412925d1efd3" }, + }, + "Should return the right song and chart." + ); + + t.rejects( + () => + ResolveMatchTypeToKTData( + deepmerge(baseBatchManualScore, { + matchType: "ddrSongHash", + identifier: "Bad_ID", + playtype: "SP", + difficulty: "EXPERT", + }), + deepmerge(context, { game: "ddr" }), + importType, + logger + ), + ktdWrap("Cannot find chart for songHash", "ddr") + ); + + t.end(); + }); + + t.test("Should trigger failsave if invalid matchType is provided.", (t) => { + t.rejects( + () => + ResolveMatchTypeToKTData( + deepmerge(baseBatchManualScore, { + matchType: "BAD_MATCHTYPE", + }), + context, + importType, + logger + ), + new InvalidScoreFailure(`Invalid matchType BAD_MATCHTYPE`) + ); + + t.end(); + }); + + t.end(); +}); + +t.test("#ResolveChartFromSong", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return the chart for the song + ptdf", async (t) => { + const res = await ResolveChartFromSong( + Testing511Song, + + // has playtype + diff + baseBatchManualScore, + + { game: "iidx", service: "foo", playtype: "SP", version: null }, + importType + ); + + t.hasStrict(res, Testing511SPA); + + t.end(); + }); + + t.test("Should throw an error if no difficulty is provided.", (t) => { + t.rejects( + () => + ResolveChartFromSong( + Testing511Song, + deepmerge(baseBatchManualScore, { difficulty: null }), + { game: "iidx", service: "foo", playtype: "SP", version: null }, + importType + ), + new InvalidScoreFailure( + `Missing 'difficulty' field, but was necessary for this lookup.` + ) + ); + + t.end(); + }); + + t.test("Should throw an error if an invalid difficulty is provided.", (t) => { + t.rejects( + () => + ResolveChartFromSong( + Testing511Song, + deepmerge(baseBatchManualScore, { + difficulty: "NOT_VALID_DIFFICULTY" as const, + }), + { game: "iidx", service: "foo", playtype: "SP", version: null }, + importType + ), + new InvalidScoreFailure( + `Invalid Difficulty for iidx SP - Expected any of BEGINNER, NORMAL, HYPER, ANOTHER, LEGGENDARIA` + ) + ); + + t.end(); + }); + + t.test("Should throw an error if no chart could be found.", (t) => { + t.rejects( + () => + ResolveChartFromSong( + Testing511Song, + + // 511 has no legg (yet, lol) + deepmerge(baseBatchManualScore, { difficulty: "LEGGENDARIA" as const }), + { game: "iidx", service: "foo", version: null, playtype: "SP" }, + importType + ), + ktdWrap("Cannot find chart for 5.1.1. (SP LEGGENDARIA)") + ); + + t.end(); + }); + + t.test("Should successfully lookup if version is provided.", async (t) => { + const res = await ResolveChartFromSong( + Testing511Song, + baseBatchManualScore, + { + game: "iidx", + service: "foo", + playtype: "SP", + version: "27", + }, + importType + ); + + t.hasStrict(res, Testing511SPA); + + t.end(); + }); + + t.end(); +}); + +t.test("#ConverterFn", (t) => { + t.test("Should produce a DryScore", async (t) => { + const res = await ConverterBatchManual( + baseBatchManualScore, + { game: "iidx", service: "foo", playtype: "SP", version: null }, + importType, + logger + ); + + t.hasStrict(res, { + chart: Testing511SPA, + song: { id: 1 }, + dryScore: { + game: "iidx", + service: "foo (BATCH-MANUAL)", + comment: null, + importType: "file/batch-manual", + timeAchieved: null, + scoreData: { + lamp: "HARD CLEAR", + score: 500, + grade: "E", + + // percent: 31.5, -- ish, FPA is hard. + judgements: {}, + hitMeta: {}, + }, + scoreMeta: {}, + }, + }); + + t.end(); + }); + + t.test("Should cap pop'n grades at A if they failed.", async (t) => { + const res = await ConverterBatchManual( + { + score: 99_000, + lamp: "FAILED", + difficulty: "Easy", + matchType: "tachiSongID", + identifier: "1", + }, + { game: "popn", service: "foo", playtype: "9B", version: null }, + importType, + logger + ); + + t.hasStrict(res, { + chart: { songID: 1, difficulty: "Easy" }, + song: { id: 1 }, + dryScore: { + game: "popn", + service: "foo (BATCH-MANUAL)", + comment: null, + importType: "file/batch-manual", + timeAchieved: null, + scoreData: { + lamp: "FAILED", + score: 99_000, + grade: "A", + judgements: {}, + hitMeta: {}, + }, + scoreMeta: {}, + }, + }); + + t.end(); + }); + + t.test("Should cap pop'n grades at A if they bordered AA.", async (t) => { + const res = await ConverterBatchManual( + { + score: 90_000, + lamp: "FAILED", + difficulty: "Easy", + matchType: "tachiSongID", + identifier: "1", + }, + { game: "popn", service: "foo", playtype: "9B", version: null }, + importType, + logger + ); + + t.hasStrict(res, { + chart: { songID: 1, difficulty: "Easy" }, + song: { id: 1 }, + dryScore: { + game: "popn", + service: "foo (BATCH-MANUAL)", + comment: null, + importType: "file/batch-manual", + timeAchieved: null, + scoreData: { + lamp: "FAILED", + score: 90_000, + grade: "A", + judgements: {}, + hitMeta: {}, + }, + scoreMeta: {}, + }, + }); + + t.end(); + }); + + const baseJubeatScore: BatchManualScore = { + percent: 10, + score: 920_000, + identifier: "1", + lamp: "CLEAR", + matchType: "tachiSongID", + difficulty: "ADV", + }; + + t.test("Should use the provided percent parameter for jubeat", async (t) => { + const res = await ConverterBatchManual( + baseJubeatScore, + { game: "jubeat", service: "foo", playtype: "Single", version: null }, + importType, + logger + ); + + t.hasStrict(res, { + chart: { songID: 1, difficulty: "ADV", playtype: "Single" }, + song: { id: 1 }, + dryScore: { + game: "jubeat", + service: "foo (BATCH-MANUAL)", + comment: null, + importType: "file/batch-manual", + timeAchieved: null, + scoreData: { + lamp: "CLEAR", + score: 920_000, + grade: "S", + percent: 10, + judgements: {}, + hitMeta: {}, + }, + scoreMeta: {}, + }, + }); + + t.end(); + }); + + t.test("Should throw if the percent parameter is not given for jubeat", (t) => { + t.rejects( + () => + ConverterBatchManual( + deepmerge(baseJubeatScore, { percent: undefined }), + { game: "jubeat", service: "foo", playtype: "Single", version: null }, + importType, + logger + ), + { message: /The percent field must be filled out/u } + ); + + t.end(); + }); + + t.test( + "Should throw if the percent parameter is too small for jubeat when the score is reasonably high", + (t) => { + t.rejects( + () => + ConverterBatchManual( + deepmerge(baseJubeatScore, { percent: 0.1, score: 100_000 } as Partial< + BatchManualScore<"jubeat:Single"> + >), + { game: "jubeat", service: "foo", playtype: "Single", version: null }, + importType, + logger + ), + { + message: + "The percent you passed for this jubeat score was less than 1, but the score was above 100k. This is not possible. Have you sent percent as a number between 0 and 1?", + } + ); + + t.end(); + } + ); + + t.test( + "Should throw if the percent parameter is over 100 but the chart is not hard mode (for jubeat)", + (t) => { + t.rejects( + () => + ConverterBatchManual( + deepmerge(baseJubeatScore, { percent: 110 }), + { game: "jubeat", service: "foo", playtype: "Single", version: null }, + importType, + logger + ), + { message: /The percent field must be <= 100 for normal mode./u } + ); + + t.end(); + } + ); + + t.test("Should throw if the score parameter is invalid for jubeat", (t) => { + t.rejects( + () => + ConverterBatchManual( + deepmerge(baseJubeatScore, { score: 2_000_000 }), + { game: "jubeat", service: "foo", playtype: "Single", version: null }, + importType, + logger + ), + { message: /The score field must be a positive integer/u } + ); + + t.end(); + }); + + t.test("Should produce a with timeAchieved null if timeAchieved is 0", async (t) => { + const res = await ConverterBatchManual( + deepmerge(baseBatchManualScore, { timeAchieved: 0 }), + { game: "iidx", service: "foo", playtype: "SP", version: null }, + importType, + logger + ); + + t.hasStrict(res, { + chart: Testing511SPA, + song: { id: 1 }, + dryScore: { + game: "iidx", + service: "foo (BATCH-MANUAL)", + comment: null, + importType: "file/batch-manual", + timeAchieved: null, + scoreData: { + lamp: "HARD CLEAR", + score: 500, + grade: "E", + + // percent: 31.5, -- ish, FPA is hard. + judgements: {}, + hitMeta: {}, + }, + scoreMeta: {}, + }, + }); + + t.end(); + }); + + t.test("Should reject a score with > 100%", (t) => { + t.rejects( + () => + ConverterBatchManual( + // eslint-disable-next-line lines-around-comment + // @ts-expect-error broken deepmerge + deepmerge(baseBatchManualScore, { score: 2000 }), + { game: "iidx", service: "foo", playtype: "SP", version: null }, + importType, + logger + ), + { message: /Invalid percent/u } + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/common/batch-manual/converter.ts b/server/src/lib/score-import/import-types/common/batch-manual/converter.ts new file mode 100644 index 000000000..f431c28bc --- /dev/null +++ b/server/src/lib/score-import/import-types/common/batch-manual/converter.ts @@ -0,0 +1,451 @@ +import { + InternalFailure, + InvalidScoreFailure, + KTDataNotFoundFailure, +} from "../../../framework/common/converter-failures"; +import { GenericGetGradeAndPercent, JubeatGetGrade } from "../../../framework/common/score-utils"; +import { + AssertStrAsDifficulty, + AssertStrAsPositiveInt, +} from "../../../framework/common/string-asserts"; +import db from "external/mongo/db"; +import { + FindBMSChartOnHash, + FindChartWithPTDF, + FindChartWithPTDFVersion, + FindDDRChartOnSongHash, + FindITGChartOnHash, +} from "utils/queries/charts"; +import { FindSongOnID, FindSongOnTitleInsensitive } from "utils/queries/songs"; +import type { DryScore } from "../../../framework/common/types"; +import type { ConverterFunction } from "../types"; +import type { BatchManualContext } from "./types"; +import type { KtLogger } from "lib/logger/logger"; +import type { + BatchManualScore, + ChartDocument, + Grades, + IDStrings, + ImportTypes, + SongDocument, +} from "tachi-common"; + +/** + * Creates a ConverterFn for the BatchManualScore format. This curries + * the importType into the function, so the right failures can be + * returned. + * @returns A BatchManualScore Converter. + */ +export const ConverterBatchManual: ConverterFunction = async ( + data, + context, + importType, + logger +) => { + const game = context.game; + + const { song, chart } = await ResolveMatchTypeToKTData(data, context, importType, logger); + + // yet another temporary hack, jubeat's percent is not a function of score, + // it's actually an entirely separate metric. We need to support this, so we'll + // run like this. + + let percent: number; + let grade: Grades[IDStrings]; + + if (game === "jubeat") { + if (data.percent === undefined) { + throw new InvalidScoreFailure( + `The percent field must be filled out for jubeat scores.` + ); + } + + const accidentallyDividedTooMuchPercent = (chart as ChartDocument<"jubeat:Single">).data + .isHardMode + ? 1.2 + : 1; + + if (data.percent <= accidentallyDividedTooMuchPercent && data.score >= 100_000) { + throw new InvalidScoreFailure( + `The percent you passed for this jubeat score was less than 1, but the score was above 100k. This is not possible. Have you sent percent as a number between 0 and 1?` + ); + } + + if (data.percent > 100 && !(chart as ChartDocument<"jubeat:Single">).data.isHardMode) { + throw new InvalidScoreFailure(`The percent field must be <= 100 for normal mode.`); + } + + // Since GenericGetGradeAndPercent also handles validating percent, we need + // to handle validating percent here. + if (data.score > 1_000_000) { + throw new InvalidScoreFailure( + `The score field must be a positive integer between 0 and 1 million.` + ); + } + + percent = data.percent; + + grade = JubeatGetGrade(data.score); + } else { + ({ percent, grade } = GenericGetGradeAndPercent(context.game, data.score, chart)); + + // Temporary hack -- Pop'n upper bounds grades like this. We need to tuck this + // away further inside genericgetgradeandpercent or something. + if (game === "popn" && data.lamp === "FAILED" && percent >= 90) { + grade = "A"; + } + } + + let service = context.service; + + if (importType === "ir/direct-manual") { + service = `${service} (DIRECT-MANUAL)`; + } else if (importType === "file/batch-manual") { + service = `${service} (BATCH-MANUAL)`; + } + + const dryScore: DryScore = { + game, + service, + comment: data.comment ?? null, + importType, + + // For backwards compatibility reasons, an explicitly passed timeAchieved of 0 should be interpreted as null. + timeAchieved: data.timeAchieved === 0 ? null : data.timeAchieved ?? null, + scoreData: { + lamp: data.lamp, + score: data.score, + grade, + percent, + judgements: data.judgements ?? {}, + hitMeta: data.hitMeta ?? {}, + }, + scoreMeta: data.scoreMeta ?? {}, + }; + + return { + chart, + song, + dryScore, + }; +}; + +export async function ResolveMatchTypeToKTData( + data: BatchManualScore, + context: BatchManualContext, + importType: ImportTypes, + logger: KtLogger +): Promise<{ song: SongDocument; chart: ChartDocument }> { + const game = context.game; + + switch (data.matchType) { + case "bmsChartHash": { + if (game !== "bms") { + throw new InvalidScoreFailure(`Cannot use bmsChartHash lookup on ${game}.`); + } + + const chart = await FindBMSChartOnHash(data.identifier); + + if (!chart) { + throw new KTDataNotFoundFailure( + `Cannot find chart for hash ${data.identifier}.`, + importType, + data, + context + ); + } + + if (chart.playtype !== context.playtype) { + throw new InvalidScoreFailure( + `Chart ${chart.chartID}'s playtype was ${chart.playtype}, but this was not equal to the import playtype of ${context.playtype}.` + ); + } + + const song = await FindSongOnID(game, chart.songID); + + if (!song) { + logger.severe(`BMS songID ${chart.songID} has charts but no parent song.`); + throw new InternalFailure( + `BMS songID ${chart.songID} has charts but no parent song.` + ); + } + + return { chart, song }; + } + + case "itgChartHash": { + if (game !== "itg") { + throw new InvalidScoreFailure(`Cannot use itgChartHash lookup on ${game}.`); + } + + const chart = await FindITGChartOnHash(data.identifier); + + if (!chart) { + throw new KTDataNotFoundFailure( + `Cannot find chart for itgChartHash ${data.identifier}.`, + importType, + data, + context + ); + } + + const song = await FindSongOnID(game, chart.songID); + + if (!song) { + logger.severe(`ITG songID ${chart.songID} has charts but no parent song.`); + throw new InternalFailure( + `ITG songID ${chart.songID} has charts but no parent song.` + ); + } + + return { song, chart }; + } + + case "ddrSongHash": { + if (game !== "ddr") { + throw new InvalidScoreFailure(`Cannot use ddrSongHash lookup on ${game}.`); + } + + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + if (!data.difficulty) { + throw new InvalidScoreFailure( + `Missing 'difficulty' field, but is needed for ddrSongHash lookup.` + ); + } + + const difficulty = AssertStrAsDifficulty(data.difficulty, game, context.playtype); + + const chart = await FindDDRChartOnSongHash( + data.identifier, + context.playtype, + difficulty + ); + + if (!chart) { + throw new KTDataNotFoundFailure( + `Cannot find chart for songHash ${data.identifier} (${context.playtype} ${difficulty}).`, + importType, + data, + context + ); + } + + const song = await FindSongOnID(game, chart.songID); + + if (!song) { + logger.severe(`DDR songID ${chart.songID} has charts but no parent song.`); + throw new InternalFailure( + `DDR songID ${chart.songID} has charts but no parent song.` + ); + } + + return { song, chart }; + } + + case "popnChartHash": { + if (game !== "popn") { + throw new InvalidScoreFailure(`Cannot use popnChartHash lookup on ${game}.`); + } + + const chart = await db.charts.popn.findOne({ + playtype: context.playtype, + "data.hashSHA256": data.identifier, + }); + + if (!chart) { + throw new KTDataNotFoundFailure( + `Cannot find chart for popnChartHash ${data.identifier} (${context.playtype}).`, + importType, + data, + context + ); + } + + const song = await FindSongOnID(game, chart.songID); + + if (!song) { + logger.severe(`Pop'n songID ${chart.songID} has charts but no parent song.`); + throw new InternalFailure( + `Pop'n songID ${chart.songID} has charts but no parent song.` + ); + } + + return { song, chart }; + } + + case "tachiSongID": { + const songID = AssertStrAsPositiveInt( + data.identifier, + "Invalid songID - must be a stringified positive integer." + ); + + const song = await FindSongOnID(game, songID); + + if (!song) { + throw new KTDataNotFoundFailure( + `Cannot find song with songID ${data.identifier}.`, + importType, + data, + context + ); + } + + const chart = await ResolveChartFromSong(song, data, context, importType); + + return { song, chart }; + } + + case "songTitle": { + const song = await FindSongOnTitleInsensitive(game, data.identifier); + + if (!song) { + throw new KTDataNotFoundFailure( + `Cannot find song with title ${data.identifier}.`, + importType, + data, + context + ); + } + + const chart = await ResolveChartFromSong(song, data, context, importType); + + return { song, chart }; + } + + case "inGameID": { + const gamesWithInGameIDSupport = [ + "iidx", + "popn", + "ddr", + "sdvx", + "jubeat", + "chunithm", + "gitadora", + "maimai", + "museca", + ]; + + if (!gamesWithInGameIDSupport.includes(game)) { + throw new InvalidScoreFailure( + `Cannot use inGameID on game ${game}. The game may not have a concept of an in game ID, or support just might not exist yet.` + ); + } + + let identifier: number | string = data.identifier; + + // ddr uses weird strings as IDs instead of numbers + + if (game !== "ddr") { + identifier = Number(data.identifier); + } + + const difficulty = AssertStrAsDifficulty(data.difficulty, game, context.playtype); + + const chart = await db.charts[game].findOne({ + "data.inGameID": identifier, + playtype: context.playtype, + difficulty, + }); + + if (!chart) { + throw new KTDataNotFoundFailure( + `Cannot find chart for inGameID ${data.identifier} (${context.playtype}).`, + importType, + data, + context + ); + } + + const song = await db.songs[game].findOne({ id: chart.songID }); + + if (!song) { + logger.severe(`Song-Chart desync on ${chart.songID}.`); + throw new InternalFailure(`Failed to get song for a chart that exists.`); + } + + return { song, chart }; + } + + case "uscChartHash": { + if (game !== "usc") { + throw new InvalidScoreFailure(`uscChartMash matchType can only be used on USC.`); + } + + const chart = await db.charts.usc.findOne({ + "data.hashSHA1": data.identifier, + playtype: context.playtype, + }); + + if (!chart) { + throw new KTDataNotFoundFailure( + `Cannot find chart with hash ${data.identifier}.`, + importType, + data, + context + ); + } + + const song = await db.songs[game].findOne({ id: chart.songID }); + + if (!song) { + logger.severe(`Song-Chart desync on ${chart.songID}.`); + throw new InternalFailure(`Failed to get song for a chart that exists.`); + } + + return { song, chart }; + } + + default: { + const { matchType } = data; + + logger.error( + `Invalid matchType ${matchType} ended up in conversion - should have been rejected by prudence?` + ); + + // really, this could be a larger error. - it's an internal failure because prudence should reject this. + throw new InvalidScoreFailure(`Invalid matchType ${matchType}.`); + } + } +} + +export async function ResolveChartFromSong( + song: SongDocument, + data: BatchManualScore, + context: BatchManualContext, + importType: ImportTypes +) { + const game = context.game; + + if (!data.difficulty) { + throw new InvalidScoreFailure( + `Missing 'difficulty' field, but was necessary for this lookup.` + ); + } + + const difficulty = AssertStrAsDifficulty(data.difficulty, game, context.playtype); + + let chart; + + if (context.version) { + chart = await FindChartWithPTDFVersion( + game, + song.id, + context.playtype, + difficulty, + context.version + ); + } else { + chart = await FindChartWithPTDF(game, song.id, context.playtype, difficulty); + } + + if (!chart) { + throw new KTDataNotFoundFailure( + `Cannot find chart for ${song.title} (${context.playtype} ${difficulty})`, + importType, + data, + context + ); + } + + return chart; +} diff --git a/server/src/lib/score-import/import-types/common/batch-manual/parser.test.ts b/server/src/lib/score-import/import-types/common/batch-manual/parser.test.ts new file mode 100644 index 000000000..9f34ba69a --- /dev/null +++ b/server/src/lib/score-import/import-types/common/batch-manual/parser.test.ts @@ -0,0 +1,631 @@ +import { ParseBatchManualFromObject as ParserFn } from "./parser"; +import ScoreImportFatalError from "../../../framework/score-importing/score-import-error"; +import deepmerge from "deepmerge"; +import { IIDXDans } from "lib/constants/classes"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import { EscapeStringRegexp } from "utils/misc"; +import type { BatchManual } from "tachi-common"; + +const mockErr = (...msg: Array) => + ({ + statusCode: 400, + message: new RegExp(msg.map((e) => `${EscapeStringRegexp(e)}.*`).join(""), "u"), + name: "Error", + } as unknown as ScoreImportFatalError); + +const logger = CreateLogCtx(__filename); + +const baseBatchManual = { + scores: [], + meta: { service: "foo", game: "iidx", playtype: "SP" }, +}; + +const baseBatchManualScore = { + score: 1000, + lamp: "HARD CLEAR", + matchType: "tachiSongID", + identifier: "123", + difficulty: "ANOTHER", +}; + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function dm(sc: any) { + return deepmerge( + baseBatchManual, + { scores: [deepmerge(baseBatchManualScore, sc)] }, + { arrayMerge: (r, c) => c } + ); +} + +t.test("#ParserFn", (t) => { + t.test("Non-Object", (t) => { + t.throws( + () => ParserFn(false, "file/batch-manual", logger), + new ScoreImportFatalError( + 400, + "Invalid BATCH-MANUAL (Not an object, received boolean.)" + ), + "Should throw an error." + ); + + t.end(); + }); + + t.test("No Header", (t) => { + t.throws( + () => ParserFn({ scores: [] }, "file/batch-manual", logger), + new ScoreImportFatalError( + 400, + "Could not retrieve meta.game - is this valid BATCH-MANUAL?" + ), + "Should throw an error." + ); + + t.end(); + }); + + t.test("No Game", (t) => { + t.throws( + () => + ParserFn( + { scores: [], meta: { service: "foo", playtype: "SP" } }, + "file/batch-manual", + logger + ), + new ScoreImportFatalError( + 400, + "Could not retrieve meta.game - is this valid BATCH-MANUAL?" + ), + "Should throw an error." + ); + + t.end(); + }); + + t.test("No Playtype", (t) => { + t.throws( + () => + ParserFn( + { scores: [], meta: { service: "foo", game: "iidx" } }, + "file/batch-manual", + logger + ), + new ScoreImportFatalError( + 400, + "Could not retrieve meta.playtype - is this valid BATCH-MANUAL?" + ), + "Should throw an error." + ); + + t.end(); + }); + + t.test("Invalid Game", (t) => { + t.throws( + () => + ParserFn( + { scores: [], meta: { service: "foo", game: "invalid_game", playtype: "SP" } }, + "file/batch-manual", + logger + ), + "Should throw an error." + ); + + t.throws( + () => + ParserFn( + { scores: [], meta: { service: "foo", game: 123, playtype: "SP" } }, + "file/batch-manual", + logger + ), + "Should throw an error." + ); + + t.end(); + }); + + t.test("Invalid Service", (t) => { + t.throws( + () => + ParserFn( + { scores: [], meta: { service: "1", game: "iidx", playtype: "SP" } }, + "file/batch-manual", + logger + ), + new ScoreImportFatalError( + 400, + "Invalid BATCH-MANUAL: meta.service | Expected a string with length between 3 and 15. | Received 1 [type: string]." + ), + "Should throw an error." + ); + + t.throws( + () => + ParserFn( + { scores: [], meta: { service: 1, game: "iidx", playtype: "SP" } }, + "file/batch-manual", + logger + ), + new ScoreImportFatalError( + 400, + "Invalid BATCH-MANUAL: meta.service | Expected a string with length between 3 and 15. | Received 1 [type: number]." + ), + "Should throw an error." + ); + + t.end(); + }); + + t.test("Valid Empty BATCH-MANUAL", (t) => { + const res = ParserFn( + { scores: [], meta: { service: "foo", game: "iidx", playtype: "SP" } }, + "file/batch-manual", + logger + ); + + t.hasStrict(res, { + game: "iidx", + context: { + service: "foo", + game: "iidx", + version: null, + }, + iterable: [], + }); + + t.end(); + }); + + t.test("Valid BATCH-MANUAL", (t) => { + t.test("Basic BATCH-MANUAL", (t) => { + const res = ParserFn( + { + scores: [ + { + score: 1000, + lamp: "HARD CLEAR", + matchType: "tachiSongID", + identifier: "123", + difficulty: "ANOTHER", + }, + { + score: 1000, + lamp: "HARD CLEAR", + matchType: "tachiSongID", + identifier: "123", + difficulty: "HYPER", + }, + { + score: 1000, + lamp: "HARD CLEAR", + matchType: "songTitle", + identifier: "5.1.1.", + }, + { + score: 1000, + lamp: "HARD CLEAR", + matchType: "songTitle", + identifier: "5.1.1.", + }, + ], + meta: { service: "foo", game: "iidx", playtype: "SP" }, + } as BatchManual, + "file/batch-manual", + logger + ); + + t.hasStrict(res, { + game: "iidx", + context: { + service: "foo", + game: "iidx", + playtype: "SP", + version: null, + }, + iterable: [ + { + score: 1000, + lamp: "HARD CLEAR", + matchType: "tachiSongID", + identifier: "123", + difficulty: "ANOTHER", + }, + { + score: 1000, + lamp: "HARD CLEAR", + matchType: "tachiSongID", + identifier: "123", + difficulty: "HYPER", + }, + { + score: 1000, + lamp: "HARD CLEAR", + matchType: "songTitle", + identifier: "5.1.1.", + }, + { + score: 1000, + lamp: "HARD CLEAR", + matchType: "songTitle", + identifier: "5.1.1.", + }, + ], + }); + + t.end(); + }); + + t.test("Valid HitMeta", (t) => { + const res = ParserFn( + dm({ hitMeta: { bp: 10, gauge: 100, gaugeHistory: null, comboBreak: 7 } }), + "file/batch-manual", + logger + ); + + t.hasStrict(res, { + game: "iidx", + context: { + service: "foo", + game: "iidx", + playtype: "SP", + version: null, + }, + iterable: [ + { + score: 1000, + lamp: "HARD CLEAR", + matchType: "tachiSongID", + identifier: "123", + difficulty: "ANOTHER", + hitMeta: { + bp: 10, + gauge: 100, + gaugeHistory: null, + comboBreak: 7, + }, + }, + ], + }); + + t.end(); + }); + + t.test("Valid judgements", (t) => { + const res = ParserFn( + dm({ judgements: { pgreat: 1, great: null, bad: 0 } }), + "file/batch-manual", + logger + ); + + t.hasStrict(res, { + game: "iidx", + context: { + service: "foo", + game: "iidx", + playtype: "SP", + version: null, + }, + iterable: [ + { + score: 1000, + lamp: "HARD CLEAR", + matchType: "tachiSongID", + identifier: "123", + difficulty: "ANOTHER", + judgements: { + pgreat: 1, + great: null, + bad: 0, + }, + }, + ], + }); + + t.end(); + }); + + t.test("With class", (t) => { + const res = ParserFn( + { + meta: baseBatchManual.meta, + scores: [baseBatchManualScore], + classes: { dan: "KAIDEN" }, + } as BatchManual, + "file/batch-manual", + logger + ); + + t.not(res.classHandler, null); + + t.strictSame(res.classHandler!("iidx", "SP", 1, {}, logger), { dan: IIDXDans.KAIDEN }); + + t.end(); + }); + + t.test("With class set to null.", (t) => { + const res = ParserFn( + { + meta: baseBatchManual.meta, + scores: [baseBatchManualScore], + classes: null, + } as BatchManual, + "file/batch-manual", + logger + ); + + t.equal(res.classHandler, null); + + t.end(); + }); + + t.end(); + }); + + t.test("Invalid BATCH-MANUAL", (t) => { + t.test("Invalid Lamp For Game", (t) => { + const fn = () => + ParserFn( + { + scores: [ + { + score: 1000, + + // not an iidx lamp + lamp: "ALL JUSTICE", + matchType: "tachiSongID", + identifier: "123", + difficulty: "ANOTHER", + }, + ], + meta: { service: "foo", game: "iidx", playtype: "SP" }, + }, + "file/batch-manual", + logger + ); + + t.throws( + fn, + new ScoreImportFatalError( + 400, + "Invalid BATCH-MANUAL: scores[0].lamp | Expected any of NO PLAY, FAILED, ASSIST CLEAR, EASY CLEAR, CLEAR, HARD CLEAR, EX HARD CLEAR, FULL COMBO. | Received ALL JUSTICE [type: string]." + ) + ); + + t.end(); + }); + + t.test("Non-numeric score", (t) => { + const fn = () => ParserFn(dm({ score: "123" }), "file/batch-manual", logger); + + t.throws( + fn, + new ScoreImportFatalError( + 400, + "Invalid BATCH-MANUAL: scores[0].score | Expected a positive integer. | Received 123 [type: string]." + ) + ); + + t.end(); + }); + + t.test("Invalid timeAchieved", (t) => { + const fn = () => ParserFn(dm({ timeAchieved: "string" }), "file/batch-manual", logger); + + t.throws( + fn, + new ScoreImportFatalError( + 400, + "Invalid BATCH-MANUAL: scores[0].timeAchieved | Expected a number greater than 1 Trillion - did you pass unix seconds instead of milliseconds? | Received string [type: string]." + ) + ); + + const fn2 = () => + ParserFn( + dm({ timeAchieved: 1_620_768_609_637 / 1000 }), + "file/batch-manual", + logger + ); + + t.throws( + fn2, + new ScoreImportFatalError( + 400, + "Invalid BATCH-MANUAL: scores[0].timeAchieved | Expected a number greater than 1 Trillion - did you pass unix seconds instead of milliseconds? | Received 1620768609.637 [type: number]." + ), + "Should throw if timeAchieved is less than 10_000_000_000." + ); + + t.end(); + }); + + t.test("TimeAchieved of 0 should be legal.", (t) => { + const res = ParserFn(dm({ timeAchieved: 0 }), "file/batch-manual", logger); + + t.hasStrict(res, { + game: "iidx", + context: { + service: "foo", + game: "iidx", + playtype: "SP", + version: null, + }, + iterable: [ + { + score: 1000, + lamp: "HARD CLEAR", + matchType: "tachiSongID", + identifier: "123", + difficulty: "ANOTHER", + timeAchieved: 0, + }, + ], + }); + + t.end(); + }); + + t.test("Invalid Identifier", (t) => { + // this is not a valid playtype for IIDX + const fn = () => ParserFn(dm({ identifier: null }), "file/batch-manual", logger); + + t.throws( + fn, + mockErr("scores[0].identifier | Expected string", "Received null [type: null]") + ); + + t.end(); + }); + + t.test("Invalid MatchType", (t) => { + const fn = () => + ParserFn(dm({ matchType: "Invalid_MatchType" }), "file/batch-manual", logger); + + t.throws( + fn, + mockErr( + "scores[0].matchType | Expected any of", + "Received Invalid_MatchType [type: string]" + ) + ); + + t.end(); + }); + + t.test("Invalid judgements", (t) => { + const fn = () => + ParserFn(dm({ judgements: { not_key: 123 } }), "file/batch-manual", logger); + + t.throws(fn, mockErr("scores[0].judgements | Invalid Key not_key")); + + const fn2 = () => + ParserFn(dm({ judgements: { pgreat: "123" } }), "file/batch-manual", logger); + + t.throws( + fn2, + mockErr( + "scores[0].judgements | Key pgreat had an invalid value of 123 [type: string]" + ) + ); + + t.end(); + }); + + t.test("Invalid HitMeta", (t) => { + const fn = () => + ParserFn(dm({ hitMeta: { not_key: 123 } }), "file/batch-manual", logger); + + t.throws(fn, mockErr("scores[0].hitMeta | Unexpected")); + + const fn2 = () => ParserFn(dm({ hitMeta: { bp: -1 } }), "file/batch-manual", logger); + + t.throws(fn2, mockErr("scores[0].hitMeta.bp | Expected a positive integer")); + + t.end(); + }); + + t.test("Invalid class", (t) => { + // Out of bounds. (18 is kaiden) + + t.test("Should throw if class is out of bounds.", (t) => { + t.throws( + () => + ParserFn( + { + meta: baseBatchManual.meta, + scores: [baseBatchManualScore], + classes: { dan: "UNKNOWN" }, + } as BatchManual, + "file/batch-manual", + logger + ), + mockErr( + "Invalid BATCH-MANUAL: classes.dan | Expected any of KYU_7, KYU_6, KYU_5, KYU_4, KYU_3, KYU_2, KYU_1, DAN_1, DAN_2, DAN_3, DAN_4, DAN_5, DAN_6, DAN_7, DAN_8, DAN_9, DAN_10, CHUUDEN, KAIDEN. | Received UNKNOWN [type: string]" + ) + ); + + t.end(); + }); + + t.test("Should throw if dans for different games are passed.", (t) => { + t.throws( + () => + ParserFn( + { + meta: baseBatchManual.meta, + scores: [baseBatchManualScore], + classes: { stageUp: "XII" }, + } as BatchManual, + "file/batch-manual", + logger + ), + mockErr("classes | Unexpected properties inside object: stageUp") + ); + + t.end(); + }); + + t.test("Should throw if dan is a non-string.", (t) => { + t.throws( + () => + ParserFn( + { + meta: baseBatchManual.meta, + scores: [baseBatchManualScore], + classes: { dan: 9 }, + } as unknown as BatchManual, + "file/batch-manual", + logger + ), + mockErr( + "Invalid BATCH-MANUAL: classes.dan | Expected any of KYU_7, KYU_6, KYU_5, KYU_4, KYU_3, KYU_2, KYU_1, DAN_1, DAN_2, DAN_3, DAN_4, DAN_5, DAN_6, DAN_7, DAN_8, DAN_9, DAN_10, CHUUDEN, KAIDEN. | Received 9 [type: number]." + ) + ); + + t.end(); + }); + + t.test("Should throw if unknown classes are present.", (t) => { + t.throws( + () => + ParserFn( + { + meta: baseBatchManual.meta, + scores: [baseBatchManualScore], + classes: { dan: "DAN_9", unknownDan: "FIRST" }, + } as unknown, + "file/batch-manual", + logger + ), + mockErr("classes | Unexpected properties inside object: unknownDan.") + ); + + // should also throw if classes from a valid game and invalid game + // are passed. + t.throws( + () => + ParserFn( + { + meta: baseBatchManual.meta, + scores: [baseBatchManualScore], + classes: { dan: "KAIDEN", stageUp: "XII" }, + } as unknown, + "file/batch-manual", + logger + ), + mockErr( + "Invalid BATCH-MANUAL: classes | Unexpected properties inside object: stageUp." + ) + ); + + t.end(); + }); + + t.end(); + }); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/common/batch-manual/parser.ts b/server/src/lib/score-import/import-types/common/batch-manual/parser.ts new file mode 100644 index 000000000..d5c919430 --- /dev/null +++ b/server/src/lib/score-import/import-types/common/batch-manual/parser.ts @@ -0,0 +1,340 @@ +import { CreateBatchManualClassHandler } from "./class-handler"; +import ScoreImportFatalError from "../../../framework/score-importing/score-import-error"; +import deepmerge from "deepmerge"; +import { TachiConfig } from "lib/setup/config"; +import p from "prudence"; +import { GetGameConfig, GetGamePTConfig } from "tachi-common"; +import { IsRecord, IsValidGame, IsValidPlaytype } from "utils/misc"; +import { FormatPrError } from "utils/prudence"; +import type { ParserFunctionReturns } from "../types"; +import type { BatchManualContext } from "./types"; +import type { KtLogger } from "lib/logger/logger"; +import type { PrudenceSchema, ValidSchemaValue } from "prudence"; +import type { BatchManual, BatchManualScore, Game, ImportTypes, Playtype } from "tachi-common"; + +const optNull = (v: ValidSchemaValue) => p.optional(p.nullable(v)); + +const BaseValidHitMeta = { + fast: optNull(p.isPositiveInteger), + slow: optNull(p.isPositiveInteger), + maxCombo: optNull(p.isPositiveInteger), +}; + +const PR_DP_RANDOM = (self: unknown) => { + if (!Array.isArray(self) || self.length !== 2) { + return "Expected an array with length 2"; + } + + for (const a of self) { + if (p.isIn("NONRAN", "RANDOM", "R-RANDOM", "S-RANDOM", "MIRROR")(a) !== true) { + return false; + } + } + + return true; +}; + +const PR_SCORE_META = (game: Game, playtype: Playtype): PrudenceSchema => { + if (game === "iidx") { + const random = + playtype === "SP" + ? optNull(p.isIn("NONRAN", "RANDOM", "R-RANDOM", "S-RANDOM", "MIRROR")) + : PR_DP_RANDOM; + + return { + random, + assist: optNull(p.isIn("NO ASSIST", "AUTO SCRATCH", "LEGACY NOTE", "FULL ASSIST")), + range: optNull(p.isIn("NONE", "SUDDEN+", "HIDDEN+", "SUD+ HID+", "LIFT", "LIFT SUD+")), + gauge: optNull(p.isIn("ASSISTED EASY", "EASY", "NORMAL", "HARD", "EX HARD")), + }; + } else if (game === "bms") { + const random = + playtype === "7K" + ? optNull(p.isIn("NONRAN", "RANDOM", "R-RANDOM", "S-RANDOM", "MIRROR")) + : optNull(PR_DP_RANDOM); + + return { + random, + inputDevice: optNull(p.isIn("KEYBOARD", "BM_CONTROLLER")), + client: optNull(p.isIn("LR2", "lr2oraja")), + }; + } else if (game === "usc") { + return { + noteMod: optNull(p.isIn("NORMAL", "MIRROR", "RANDOM", "MIR-RAN")), + gaugeMod: optNull(p.isIn("NORMAL", "HARD", "PERMISSIVE")), + }; + } else if (game === "sdvx") { + return { + inSkillAnalyser: "*?boolean", + }; + } else if (game === "wacca") { + return { mirror: "*?boolean" }; + } else if (game === "popn") { + return { + hiSpeed: optNull(p.isPositive), + hidden: optNull(p.isInteger), + sudden: optNull(p.isInteger), + random: optNull(p.isIn("NONRAN", "MIRROR", "RANDOM", "S-RANDOM")), + gauge: optNull(p.isIn("NORMAL", "EASY", "HARD", "DANGER")), + }; + } + + return {}; +}; + +const PR_HIT_META = (game: Game): PrudenceSchema => { + if (game === "iidx") { + return { + bp: optNull(p.isPositiveInteger), + gauge: optNull(p.isBetween(0, 100)), + gaugeHistory: optNull([p.isBetween(0, 100)]), + scoreHistory: optNull([p.isPositiveInteger]), + comboBreak: optNull(p.isPositiveInteger), + gsm: optNull({ + EASY: [p.nullable(p.isBetween(0, 100))], + NORMAL: [p.nullable(p.isBetween(0, 100))], + HARD: [p.nullable(p.isBetween(0, 100))], + EX_HARD: [p.nullable(p.isBetween(0, 100))], + }), + }; + } else if (game === "sdvx") { + return { + gauge: optNull(p.isBetween(0, 100)), + }; + } else if (game === "usc") { + return { gauge: optNull(p.isBetween(0, 1)) }; + } else if (game === "bms") { + return { + bp: optNull(p.isPositiveInteger), + gauge: optNull(p.isBetween(0, 100)), + lbd: optNull(p.isPositiveInteger), + ebd: optNull(p.isPositiveInteger), + lpr: optNull(p.isPositiveInteger), + epr: optNull(p.isPositiveInteger), + lgd: optNull(p.isPositiveInteger), + egd: optNull(p.isPositiveInteger), + lgr: optNull(p.isPositiveInteger), + egr: optNull(p.isPositiveInteger), + lpg: optNull(p.isPositiveInteger), + epg: optNull(p.isPositiveInteger), + }; + } else if (game === "popn") { + return { + gauge: optNull(p.isBetween(0, 100)), + specificClearType: optNull( + p.isIn( + "failedUnknown", + "failedCircle", + "failedDiamond", + "failedStar", + "easyClear", + "clearCircle", + "clearDiamond", + "clearStar", + "fullComboCircle", + "fullComboDiamond", + "fullComboStar", + "perfect" + ) + ), + }; + } + + return {}; +}; + +const PR_BATCH_MANUAL_SCORE = (game: Game, playtype: Playtype): PrudenceSchema => { + const gptConfig = GetGamePTConfig(game, playtype); + + const scoreChecker = + game === "itg" || game === "gitadora" ? p.isBetween(0, 100) : p.isPositiveInteger; + + return { + score: scoreChecker, + lamp: p.isIn(gptConfig.lamps), + matchType: p.isIn( + "songTitle", + "ddrSongHash", + "tachiSongID", + "bmsChartHash", + "itgChartHash", + "inGameID", + "uscChartHash", + "popnChartHash" + ), + identifier: "string", + percent: game === "jubeat" ? p.isBetween(0, 120) : p.is(undefined), + comment: optNull(p.isBoundedString(3, 240)), + difficulty: "*?string", + + // this is checked in converting instead + // the lowest acceptable time is september 9th 2001 - this check saves people who dont + // read any documentation and would otherwise submit garbage. + timeAchieved: optNull( + (self) => + (typeof self === "number" && self > 1_000_000_000_000) || + self === 0 || + "Expected a number greater than 1 Trillion - did you pass unix seconds instead of milliseconds?" + ), + judgements: optNull((self) => { + if (typeof self !== "object" || self === null) { + return "Not a valid object."; + } + + for (const [key, v] of Object.entries(self)) { + // @ts-expect-error Frustrating check as it's a string but not a judgement so it's not really + // happy with it. + if (!gptConfig.judgements.includes(key)) { + return `Invalid Key ${key}. Expected any of ${gptConfig.judgements.join(", ")}`; + } + + if ((!Number.isSafeInteger(v) || v < 0) && v !== null) { + return `Key ${key} had an invalid value of ${v} [type: ${typeof v}]`; + } + } + + return true; + }), + hitMeta: optNull( + deepmerge(BaseValidHitMeta, PR_HIT_META(game)) as unknown as ValidSchemaValue + ), + scoreMeta: optNull(PR_SCORE_META(game, playtype)), + }; +}; + +// both iidx sp and dp share dans. +const IIDXStringDans = GetGamePTConfig("iidx", "SP").classHumanisedFormat.dan.map((e) => e.id); +const SDVXStringDans = GetGamePTConfig("sdvx", "Single").classHumanisedFormat.dan.map((e) => e.id); +const WaccaStringStageUps = GetGamePTConfig("wacca", "Single").classHumanisedFormat.stageUp.map( + (e) => e.id +); + +const PR_BATCH_MANUAL_CLASSES = (game: Game): PrudenceSchema => { + // This can be implemented for any non-static class (i.e. dans). + switch (game) { + case "iidx": + return { + dan: optNull(p.isIn(IIDXStringDans)), + }; + case "sdvx": + return { + dan: optNull(p.isIn(SDVXStringDans)), + }; + case "wacca": + return { + stageUp: optNull(p.isIn(WaccaStringStageUps)), + }; + default: + return {}; + } +}; + +const PR_BATCH_MANUAL = (game: Game, playtype: Playtype): PrudenceSchema => ({ + meta: { + service: p.isBoundedString(3, 15), + game: p.isIn(TachiConfig.GAMES), + playtype: p.is(playtype), + version: "*?string", + }, + scores: [PR_BATCH_MANUAL_SCORE(game, playtype)], + classes: optNull(PR_BATCH_MANUAL_CLASSES(game)), +}); + +/** + * Parses an object of BATCH-MANUAL data. + * @param object - The object to parse. + * @param body - The request body that made this file import request. + */ +export function ParseBatchManualFromObject( + object: unknown, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + importType: ImportTypes, + _logger: KtLogger +): ParserFunctionReturns { + // now to perform some basic validation so we can return + // the iterable + + if (!IsRecord(object)) { + throw new ScoreImportFatalError( + 400, + `Invalid BATCH-MANUAL (Not an object, received ${ + object === null ? "null" : typeof object + }.)` + ); + } + + // attempt to retrieve game + // @ts-expect-error man. + const maybeGame = object.meta?.game as unknown; + + // @ts-expect-error man. + const maybePlaytype = object.meta?.playtype as unknown; + + if (maybeGame === undefined) { + throw new ScoreImportFatalError( + 400, + `Could not retrieve meta.game - is this valid BATCH-MANUAL?` + ); + } + + if (maybePlaytype === undefined) { + throw new ScoreImportFatalError( + 400, + `Could not retrieve meta.playtype - is this valid BATCH-MANUAL?` + ); + } + + // maybeGame could be a number or really anything. + // So we have to check that it's both a string and a valid game. + if (!(typeof maybeGame === "string" && IsValidGame(maybeGame))) { + throw new ScoreImportFatalError( + 400, + `Invalid game '${maybeGame}' - expected any of ${TachiConfig.GAMES.join(", ")}.` + ); + } + + const game: Game = maybeGame; + + const gameConfig = GetGameConfig(game); + + if (!(typeof maybePlaytype === "string" && IsValidPlaytype(game, maybePlaytype))) { + throw new ScoreImportFatalError( + 400, + `Invalid playtype '${maybePlaytype}' - expected any of ${gameConfig.validPlaytypes.join( + ", " + )}.` + ); + } + + const playtype: Playtype = maybePlaytype; + + // now that we have the game, we can validate this against + // the prudence schema for batch-manual. + // This mostly works as a sanity check, and doesn't + // check things like whether a score is > 100% + // or something. + const err = p(object, PR_BATCH_MANUAL(game, playtype)); + + if (err) { + throw new ScoreImportFatalError(400, FormatPrError(err, "Invalid BATCH-MANUAL")); + } + + const batchManual = object as unknown as BatchManual; + + return { + game, + context: { + service: batchManual.meta.service, + game, + playtype, + version: batchManual.meta.version ?? null, + }, + iterable: batchManual.scores, + + // if classes are provided, use those as a class handler. Otherwise, we + // don't care. + classHandler: batchManual.classes + ? CreateBatchManualClassHandler(batchManual.classes) + : null, + }; +} diff --git a/server/src/lib/score-import/import-types/common/batch-manual/types.ts b/server/src/lib/score-import/import-types/common/batch-manual/types.ts new file mode 100644 index 000000000..971ede2ce --- /dev/null +++ b/server/src/lib/score-import/import-types/common/batch-manual/types.ts @@ -0,0 +1,8 @@ +import type { Game, GPTSupportedVersions, IDStrings, Playtype } from "tachi-common"; + +export interface BatchManualContext { + game: Game; + playtype: Playtype; + service: string; + version: GPTSupportedVersions[IDStrings] | null; +} diff --git a/server/src/lib/score-import/import-types/common/eamusement-iidx-csv/converter.test.ts b/server/src/lib/score-import/import-types/common/eamusement-iidx-csv/converter.test.ts new file mode 100644 index 000000000..f3da33684 --- /dev/null +++ b/server/src/lib/score-import/import-types/common/eamusement-iidx-csv/converter.test.ts @@ -0,0 +1,31 @@ +import t from "tap"; +import ResetDBState from "test-utils/resets"; + +// const valid511Score = { +// bp: "12", +// difficulty: "ANOTHER" as const, // lol +// exscore: "192", +// great: "42", +// pgreat: "75", +// lamp: "HARD CLEAR", +// level: "10", +// }; + +// const converterContext = { +// playtype: "SP" as const, +// hasBeginnerAndLegg: false, +// importVersion: "27", +// service: "e-amusement", +// }; + +// const data = { +// scores: [valid511Score], +// timestamp: "Tue, 27 Apr 2021 21:35:35 GMT", +// title: "5.1.1", +// }; + +t.todo("#ConverterFn", (t) => { + t.beforeEach(ResetDBState); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/common/eamusement-iidx-csv/converter.ts b/server/src/lib/score-import/import-types/common/eamusement-iidx-csv/converter.ts new file mode 100644 index 000000000..31db12bdb --- /dev/null +++ b/server/src/lib/score-import/import-types/common/eamusement-iidx-csv/converter.ts @@ -0,0 +1,182 @@ +import { + InvalidScoreFailure, + KTDataNotFoundFailure, + SkipScoreFailure, +} from "../../../framework/common/converter-failures"; +import { + GenericGetGradeAndPercent, + ParseDateFromString, +} from "../../../framework/common/score-utils"; +import { AssertStrAsPositiveInt } from "../../../framework/common/string-asserts"; +import { FindChartWithPTDFVersion } from "utils/queries/charts"; +import { FindSongOnTitle } from "utils/queries/songs"; +import type { DryScore } from "../../../framework/common/types"; +import type { ConverterFunction } from "../types"; +import type { IIDXEamusementCSVContext, IIDXEamusementCSVData } from "./types"; +import type { ChartDocument, Lamps } from "tachi-common"; + +const EAMUSEMENT_LAMP_RESOLVER: Map = new Map([ + ["NO PLAY", "NO PLAY"], + ["FAILED", "FAILED"], + ["FULLCOMBO CLEAR", "FULL COMBO"], + ["EX HARD CLEAR", "EX HARD CLEAR"], + ["HARD CLEAR", "HARD CLEAR"], + ["CLEAR", "CLEAR"], + ["EASY CLEAR", "EASY CLEAR"], + ["ASSIST CLEAR", "ASSIST CLEAR"], +]); + +const NINE_HOURS = 1000 * 60 * 60 * 9; + +const ConvertEamIIDXCSV: ConverterFunction< + IIDXEamusementCSVData, + IIDXEamusementCSVContext +> = async (data, context, importType, logger) => { + const eamScore = data.score; + + if (eamScore.exscore === "0") { + // skip scores with an exscore of 0 + // This also skips things like score resets. + throw new SkipScoreFailure("Score has an exscore of 0."); + } + + if (!eamScore.level || eamScore.level === "0") { + // charts that dont exist in the format have a level of 0 + throw new SkipScoreFailure("Chart has a level of 0."); + } + + let isLegacyLeggendaria = false; + + // if pre-HV, leggendarias were stored in a wacky form. + if (!context.hasBeginnerAndLegg) { + // hack fix for legacy LEGGENDARIA titles + if (/(†|†LEGGENDARIA)$/u.exec(data.title)) { + data.title = data.title.replace(/(†|†LEGGENDARIA)$/u, "").trimEnd(); + isLegacyLeggendaria = true; + } + } + + // @optimisable - This is actually a multi-fetch. Since eam-csv scores + // are batched up into (song, chart1, chart2, chart3 ...) rows + // we actually already have fetched this song a second ago. + const tachiSong = await FindSongOnTitle("iidx", data.title); + + if (!tachiSong) { + throw new KTDataNotFoundFailure( + `Could not find song for ${data.title}.`, + importType, + data, + context + ); + } + + const HUMANISED_CHART_TITLE = `${tachiSong.title} (${context.playtype} ${eamScore.difficulty} [v${context.importVersion}])`; + + if (isLegacyLeggendaria) { + eamScore.difficulty = "LEGGENDARIA"; + } + + const tachiChart = (await FindChartWithPTDFVersion( + "iidx", + tachiSong.id, + context.playtype, + eamScore.difficulty, + context.importVersion + )) as ChartDocument<"iidx:DP" | "iidx:SP"> | null; + + if (!tachiChart) { + throw new KTDataNotFoundFailure( + `Could not find chart for ${HUMANISED_CHART_TITLE}`, + "file/eamusement-iidx-csv", + data, + context + ); + } + + const exscore = AssertStrAsPositiveInt( + eamScore.exscore, + `${HUMANISED_CHART_TITLE} - Invalid EX score of ${eamScore.exscore}` + ); + + const MAX_EX = tachiChart.data.notecount * 2; + + if (exscore > MAX_EX) { + throw new InvalidScoreFailure( + `${HUMANISED_CHART_TITLE} - Invalid EX Score of ${eamScore.exscore} (Was greater than max chart ex of ${MAX_EX}).` + ); + } + + const pgreat = AssertStrAsPositiveInt( + eamScore.pgreat, + `${HUMANISED_CHART_TITLE} - Invalid PGreats of ${eamScore.pgreat}` + ); + + const great = AssertStrAsPositiveInt( + eamScore.great, + `${HUMANISED_CHART_TITLE} - Invalid Greats of ${eamScore.pgreat}` + ); + + if (pgreat * 2 + great !== exscore) { + throw new InvalidScoreFailure( + `${HUMANISED_CHART_TITLE} - PGreats * 2 + Greats did not equal EXScore (${pgreat} * 2 + ${great} != ${exscore}).` + ); + } + + const lamp = EAMUSEMENT_LAMP_RESOLVER.get(eamScore.lamp); + + if (!lamp) { + logger.info(`Invalid lamp of ${eamScore.lamp} provided.`); + throw new InvalidScoreFailure( + `${HUMANISED_CHART_TITLE} - Invalid Lamp of ${eamScore.lamp}.` + ); + } + + const { percent, grade } = GenericGetGradeAndPercent("iidx", exscore, tachiChart); + + const timestamp = ParseDateFromString(data.timestamp); + + const dryScore: DryScore<"iidx:DP" | "iidx:SP"> = { + service: context.service, + comment: null, + game: "iidx", + importType, + scoreData: { + score: exscore, + lamp, + judgements: { + pgreat, + great, + }, + hitMeta: {}, + percent, + grade, + }, + scoreMeta: {}, + + // japan is gmt+9 + timeAchieved: timestamp !== null ? timestamp - NINE_HOURS : null, + }; + + const numBP = Number(eamScore.bp); + + if (!Number.isNaN(numBP)) { + if (!Number.isInteger(numBP) || numBP < 0 || numBP > 9999) { + throw new InvalidScoreFailure( + `${HUMANISED_CHART_TITLE} - Invalid BP of ${eamScore.bp}.` + ); + } + + dryScore.scoreData.hitMeta.bp = numBP; + } else if (eamScore.bp === "---") { + logger.debug( + `Skipped assigning BP for score as it had expected null value of ${eamScore.bp}.` + ); + } else { + logger.info(`Skipped assigning BP for score. Had unexpected value of ${eamScore.bp}.`); + } + + // ts thinks tachiSong might be null. It's not, though! + return { chart: tachiChart, dryScore, song: tachiSong }; +}; + +export default ConvertEamIIDXCSV; diff --git a/server/src/lib/score-import/import-types/common/eamusement-iidx-csv/parser.test.ts b/server/src/lib/score-import/import-types/common/eamusement-iidx-csv/parser.test.ts new file mode 100644 index 000000000..e49964f9f --- /dev/null +++ b/server/src/lib/score-import/import-types/common/eamusement-iidx-csv/parser.test.ts @@ -0,0 +1,271 @@ +import GenericParseEamIIDXCSV, { IIDXCSVParse, ResolveHeaders } from "./parser"; +import ScoreImportFatalError from "../../../framework/score-importing/score-import-error"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import { MockMulterFile } from "test-utils/mock-multer"; +import { TestingIIDXEamusementCSV26, TestingIIDXEamusementCSV27 } from "test-utils/test-data"; + +const logger = CreateLogCtx(__filename); + +t.test("#ParseEamusementCSV", (t) => { + t.test("Valid Rootage-Type CSV", (t) => { + const { iterableData, hasBeginnerAndLegg, version } = IIDXCSVParse( + TestingIIDXEamusementCSV26, + logger + ); + + t.equal(iterableData.length, 456, "Should return exactly 456 datapoints."); + t.equal(hasBeginnerAndLegg, false, "Should not mark as a HV csv."); + t.equal(version, "26", "Should correctly assert that the version of this CSV is ROOTAGE."); + + t.end(); + }); + + t.test("Valid HV CSV", (t) => { + const { iterableData, hasBeginnerAndLegg, version } = IIDXCSVParse( + TestingIIDXEamusementCSV27, + logger + ); + + t.equal(iterableData.length, 6285, "Should return exactly 6285 datapoints."); + t.equal(hasBeginnerAndLegg, true, "Should mark as a HV csv."); + t.equal( + version, + "27", + "Should correctly assert that the version of this CSV is HEROIC VERSE." + ); + + t.end(); + }); + + t.test("Broken CSV", (t) => { + // This is mostly tested in the unit tests for NaiveCSVParse (the general one), + // but we make sure that the CSVParseErrors are converted to ScoreImportFatalErrors + const buffer = Buffer.from(`${"a,".repeat(26)}a\n${"a,".repeat(3)}a`); + + t.throws( + () => IIDXCSVParse(buffer, logger), + new ScoreImportFatalError(400, "Row 1 has an invalid amount of cells (4, expected 27)") + ); + + t.end(); + }); + + t.test("Version Inference", (t) => { + const headerStr = `${"a,".repeat(26)}a`; + + const row = `GARBAGE VERSION,foo bar,${"a,".repeat(24)}a`; + + const InvalidVersions = Buffer.from(`${headerStr}\n${row}`); + + t.throws( + () => IIDXCSVParse(InvalidVersions, logger), + new ScoreImportFatalError( + 400, + "Invalid/Unsupported Eamusement Version Name GARBAGE VERSION." + ) + ); + + const row27th = `HEROIC VERSE,foo bar,${"a,".repeat(24)}a`; + const row17th = `SIRIUS,foo bar,${"a,".repeat(24)}a`; + + let { version } = IIDXCSVParse( + Buffer.from([headerStr, row27th, row17th].join("\n")), + logger + ); + + t.equal(version, "27", "Should pick the largest version from the list of scores."); + + ({ version } = IIDXCSVParse(Buffer.from([headerStr, row17th, row27th].join("\n")), logger)); + + // this is technically allowing invalid eam-csv, but, who cares? + t.equal( + version, + "27", + "Should pick largest version regardless of order scores are received in." + ); + + t.end(); + }); + + t.end(); +}); + +t.test("#ResolveHeader", (t) => { + t.test("Rootage-type Headers", (t) => { + const { hasBeginnerAndLegg } = ResolveHeaders( + [ + "バージョン", + "タイトル", + "ジャンル", + "アーティスト", + "プレー回数", + "NORMAL 難易度", + "NORMAL EXスコア", + "NORMAL PGreat", + "NORMAL Great", + "NORMAL ミスカウント", + "NORMAL クリアタイプ", + "NORMAL DJ LEVEL", + "HYPER 難易度", + "HYPER EXスコア", + "HYPER PGreat", + "HYPER Great", + "HYPER ミスカウント", + "HYPER クリアタイプ", + "HYPER DJ LEVEL", + "ANOTHER 難易度", + "ANOTHER EXスコア", + "ANOTHER PGreat", + "ANOTHER Great", + "ANOTHER ミスカウント", + "ANOTHER クリアタイプ", + "ANOTHER DJ LEVEL", + "最終プレー日時", + ], + logger + ); + + t.equal(hasBeginnerAndLegg, false, "Should return false for hasBeginnerAndLegg"); + + t.end(); + }); + + t.test("HV-type Headers", (t) => { + const { hasBeginnerAndLegg } = ResolveHeaders( + [ + "バージョン", + "タイトル", + "ジャンル", + "アーティスト", + "プレー回数", + "BEGINNER 難易度", + "BEGINNER スコア", + "BEGINNER PGreat", + "BEGINNER Great", + "BEGINNER ミスカウント", + "BEGINNER クリアタイプ", + "BEGINNER DJ LEVEL", + "NORMAL 難易度", + "NORMAL スコア", + "NORMAL PGreat", + "NORMAL Great", + "NORMAL ミスカウント", + "NORMAL クリアタイプ", + "NORMAL DJ LEVEL", + "HYPER 難易度", + "HYPER スコア", + "HYPER PGreat", + "HYPER Great", + "HYPER ミスカウント", + "HYPER クリアタイプ", + "HYPER DJ LEVEL", + "ANOTHER 難易度", + "ANOTHER スコア", + "ANOTHER PGreat", + "ANOTHER Great", + "ANOTHER ミスカウント", + "ANOTHER クリアタイプ", + "ANOTHER DJ LEVEL", + "LEGGENDARIA 難易度", + "LEGGENDARIA スコア", + "LEGGENDARIA PGreat", + "LEGGENDARIA Great", + "LEGGENDARIA ミスカウント", + "LEGGENDARIA クリアタイプ", + "LEGGENDARIA DJ LEVEL", + "最終プレー日時", + ], + logger + ); + + t.equal(hasBeginnerAndLegg, true, "Should return true for hasBeginnerAndLegg"); + + t.end(); + }); + + t.test("No headers", (t) => { + t.throws( + () => ResolveHeaders([], logger), + new ScoreImportFatalError( + 400, + "Invalid CSV provided. CSV does not have the correct amount of headers." + ), + "Should throw an error on no headers." + ); + + t.end(); + }); + + t.test("Too Many Headers", (t) => { + t.throws( + () => ResolveHeaders(Array(1000), logger), + new ScoreImportFatalError( + 400, + "Invalid CSV provided. CSV does not have the correct amount of headers." + ), + "Should throw an error on no headers." + ); + + t.end(); + }); + + t.end(); +}); + +t.test("#ParseEamusementCSV", (t) => { + t.test("Playtype Tests", (t) => { + const validSPFile = MockMulterFile(TestingIIDXEamusementCSV27, "iidx_27_sp.csv"); + + t.throws( + () => GenericParseEamIIDXCSV(validSPFile, {}, "e-amusement", logger), + new ScoreImportFatalError(400, "Invalid playtype of undefined given.") + ); + + let { context } = GenericParseEamIIDXCSV( + validSPFile, + { playtype: "SP" }, + "e-amusement", + logger + ); + + t.equal(context.playtype, "SP", "Should correctly assert SP for a body of SP."); + + const mockDPFile = MockMulterFile(TestingIIDXEamusementCSV27, "iidx_27_dp.csv"); + + ({ context } = GenericParseEamIIDXCSV( + mockDPFile, + { playtype: "DP" }, + "e-amusement", + logger + )); + + t.equal(context.playtype, "DP", "Should correctly assert DP for a body of DP."); + + t.throws( + () => GenericParseEamIIDXCSV(validSPFile, { playtype: "DP" }, "e-amusement", logger), + new ScoreImportFatalError( + 400, + "Safety Triggered: Filename contained 'SP', but was marked as a DP import. Are you *absolutely* sure this is right?" + ), + "Should trigger safety if playtype asserted goes against filename." + ); + + ({ context } = GenericParseEamIIDXCSV( + mockDPFile, + { playtype: "DP", assertPlaytypeCorrect: true }, + "e-amusement", + logger + )); + + t.equal( + context.playtype, + "DP", + "Should ignore weird filenames if assertPlaytypeCorrect is passed." + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/common/eamusement-iidx-csv/parser.ts b/server/src/lib/score-import/import-types/common/eamusement-iidx-csv/parser.ts new file mode 100644 index 000000000..912b887ec --- /dev/null +++ b/server/src/lib/score-import/import-types/common/eamusement-iidx-csv/parser.ts @@ -0,0 +1,242 @@ +import ScoreImportFatalError from "../../../framework/score-importing/score-import-error"; +import { CSVParseError, NaiveCSVParse } from "utils/naive-csv-parser"; +import type { ParserFunctionReturns } from "../types"; +import type { EamusementScoreData, IIDXEamusementCSVContext, IIDXEamusementCSVData } from "./types"; +import type { KtLogger } from "lib/logger/logger"; +import type { integer } from "tachi-common"; + +const EAM_VERSION_NAMES: Record = { + "1st&substream": 1, + "2nd style": 2, + "3rd style": 3, + "4th style": 4, + "5th style": 5, + "6th style": 6, + "7th style": 7, + "8th style": 8, + "9th style": 9, + "10th style": 10, + "IIDX RED": 11, + "HAPPY SKY": 12, + DistorteD: 13, + GOLD: 14, + "DJ TROOPERS": 15, + EMPRESS: 16, + SIRIUS: 17, + "Resort Anthem": 18, + Lincle: 19, + tricoro: 20, + SPADA: 21, + PENDUAL: 22, + copula: 23, + SINOBUZ: 24, + "CANNON BALLERS": 25, + Rootage: 26, + "HEROIC VERSE": 27, + BISTROVER: 28, + CastHour: 29, +}; + +const PRE_HV_HEADER_COUNT = 27; +const HV_HEADER_COUNT = 41; + +// commented out for reference +// [ +// "version", +// "title", +// "genre", +// "artist", +// "playcount", +// (?beginnerdata) +// "normal-level", +// "normal-exscore", +// "normal-pgreat", +// "normal-great", +// "normal-bp", +// "normal-lamp", +// "normal-grade", +// "hyper-level", +// "hyper-exscore", +// "hyper-pgreat", +// "hyper-great", +// "hyper-bp", +// "hyper-lamp", +// "hyper-grade", +// "another-level", +// "another-exscore", +// "another-pgreat", +// "another-great", +// "another-bp", +// "another-lamp", +// "another-grade", +// (?leggdata) +// "timestamp", +// ]; + +export function ResolveHeaders(headers: Array, logger: KtLogger) { + if (headers.length === PRE_HV_HEADER_COUNT) { + logger.verbose("PRE_HV csv received."); + return { + hasBeginnerAndLegg: false, + }; + } else if (headers.length === HV_HEADER_COUNT) { + logger.verbose("HV+ csv received."); + return { + hasBeginnerAndLegg: true, + }; + } + + logger.info(`Invalid CSV header count of ${headers.length} received.`); + throw new ScoreImportFatalError( + 400, + "Invalid CSV provided. CSV does not have the correct amount of headers." + ); +} + +export function IIDXCSVParse(csvBuffer: Buffer, logger: KtLogger) { + let rawHeaders: Array; + let rawRows: Array>; + + try { + ({ rawHeaders, rawRows } = NaiveCSVParse(csvBuffer, logger)); + } catch (e) { + if (e instanceof CSVParseError) { + throw new ScoreImportFatalError(400, e.message); + } + + throw e; + } + + const { hasBeginnerAndLegg } = ResolveHeaders(rawHeaders, logger); + + const diffs = hasBeginnerAndLegg + ? (["beginner", "normal", "hyper", "another", "leggendaria"] as const) + : (["normal", "hyper", "another"] as const); + + const iterableData = []; + + let gameVersion = 0; + + for (const cells of rawRows) { + const version = cells[0]; + const title = cells[1]!.trim(); + const timestamp = cells[rawHeaders.length - 1]!.trim(); + + // wtf typescript?? what's the point of enums? + const versionNum = EAM_VERSION_NAMES[version!]; + + if (versionNum === undefined) { + logger.info(`Invalid/Unsupported EAM_VERSION_NAME ${version}.`); + throw new ScoreImportFatalError( + 400, + `Invalid/Unsupported Eamusement Version Name ${version}.` + ); + } + + if (versionNum > gameVersion) { + gameVersion = versionNum; + } + + const scores: Array = []; + + for (let d = 0; d < diffs.length; d++) { + const diff = diffs[d]!; + const di = 5 + d * 7; + + // lazy non-null assertions here. + // @todo refactor this? + // We know for a fact that all of this stuff is non-null because of the CSV parser. + scores.push({ + difficulty: diff.toUpperCase() as Uppercase, + bp: cells[di + 4]!, + exscore: cells[di + 1]!, + pgreat: cells[di + 2]!, + great: cells[di + 3]!, + lamp: cells[di + 5]!, + level: cells[di]!, + }); + } + + iterableData.push( + ...scores.map((e) => ({ + score: e, + timestamp, + title, + })) + ); + } + + if (!["26", "27", "28", "29"].includes(gameVersion.toString())) { + throw new ScoreImportFatalError(400, `Only versions 26, 27, 28 and 29 are supported.`); + } + + return { + iterableData, + version: gameVersion.toString() as "26" | "27" | "28" | "29", + hasBeginnerAndLegg, + }; +} + +/** + * Parses a buffer of EamusementCSV data. + * @param fileData - The buffer to parse. + * @param body - The request body that made this file import request. Used to infer playtype. + */ +function GenericParseEamIIDXCSV( + fileData: Express.Multer.File, + body: Record, + service: string, + logger: KtLogger +): ParserFunctionReturns { + let playtype: "DP" | "SP"; + + if (body.playtype === "SP") { + playtype = "SP"; + } else if (body.playtype === "DP") { + playtype = "DP"; + } else { + logger.info(`Invalid playtype of ${body.playtype} passed to ParseEamusementCSV.`); + throw new ScoreImportFatalError(400, `Invalid playtype of ${body.playtype} given.`); + } + + const lowercaseFilename = fileData.originalname.toLowerCase(); + + if ( + body.assertPlaytypeCorrect === undefined && + ((lowercaseFilename.includes("sp") && playtype === "DP") || + (lowercaseFilename.includes("dp") && playtype === "SP")) + ) { + logger.info( + `File was uploaded with filename ${fileData.originalname}, but this was set as a ${playtype} import. Sanity check refusing.` + ); + + throw new ScoreImportFatalError( + 400, + `Safety Triggered: Filename contained '${ + playtype === "SP" ? "DP" : "SP" + }', but was marked as a ${playtype} import. Are you *absolutely* sure this is right?` + ); + } + + const { hasBeginnerAndLegg, version, iterableData } = IIDXCSVParse(fileData.buffer, logger); + + logger.verbose("Successfully parsed CSV."); + + const context: IIDXEamusementCSVContext = { + playtype, + importVersion: version, + hasBeginnerAndLegg, + service, + }; + + logger.verbose(`Successfully Parsed with ${iterableData.length} results.`); + + return { + iterable: iterableData, + context, + game: "iidx", + classHandler: null, + }; +} + +export default GenericParseEamIIDXCSV; diff --git a/server/src/lib/score-import/import-types/common/eamusement-iidx-csv/types.ts b/server/src/lib/score-import/import-types/common/eamusement-iidx-csv/types.ts new file mode 100644 index 000000000..661dca79c --- /dev/null +++ b/server/src/lib/score-import/import-types/common/eamusement-iidx-csv/types.ts @@ -0,0 +1,36 @@ +import type { GPTSupportedVersions } from "tachi-common"; + +export interface EamusementScoreData { + difficulty: "ANOTHER" | "BEGINNER" | "HYPER" | "LEGGENDARIA" | "NORMAL"; + lamp: string; + exscore: string; + pgreat: string; + great: string; + bp: string; + level: string; +} + +interface BaseProps { + title: string; + timestamp: string; +} + +export type IIDXEamusementCSVData = BaseProps & { + score: EamusementScoreData; +}; + +type Props = "bp" | "exscore" | "great" | "lamp" | "level" | "pgreat"; + +type RawPropKeys = `${"another" | "beginner" | "hyper" | "leggendaria" | "normal"}-${Props}`; + +export type RawIIDXEamusementCSVData = BaseProps & + Record & { + [K in RawPropKeys]: unknown; + }; + +export interface IIDXEamusementCSVContext { + playtype: "DP" | "SP"; + importVersion: GPTSupportedVersions["iidx:DP" | "iidx:SP"]; + hasBeginnerAndLegg: boolean; + service: string; +} diff --git a/server/src/lib/score-import/import-types/common/types.ts b/server/src/lib/score-import/import-types/common/types.ts new file mode 100644 index 000000000..9de5f1ec6 --- /dev/null +++ b/server/src/lib/score-import/import-types/common/types.ts @@ -0,0 +1,123 @@ +import type { ConverterFailure } from "../../framework/common/converter-failures"; +import type { DryScore } from "../../framework/common/types"; +import type { ClassHandler } from "../../framework/user-game-stats/types"; +import type { SDVXEamusementCSVData } from "../file/eamusement-sdvx-csv/types"; +import type { MerScore } from "../file/mer-iidx/types"; +import type { S3Score } from "../file/solid-state-squad/types"; +import type { BarbatosContext, BarbatosScore } from "../ir/barbatos/types"; +import type { BeatorajaContext, BeatorajaScore } from "../ir/beatoraja/types"; +import type { FervidexStaticContext, FervidexStaticScore } from "../ir/fervidex-static/types"; +import type { FervidexContext, FervidexScore } from "../ir/fervidex/types"; +import type { KsHookSV6CContext, KsHookSV6CScore } from "../ir/kshook-sv6c/types"; +import type { LR2HookContext, LR2HookScore } from "../ir/lr2hook/types"; +import type { IRUSCContext } from "../ir/usc/types"; +import type { KaiContext } from "./api-kai/types"; +import type { BatchManualContext } from "./batch-manual/types"; +import type { IIDXEamusementCSVContext, IIDXEamusementCSVData } from "./eamusement-iidx-csv/types"; +import type { KtLogger } from "lib/logger/logger"; +import type { USCClientScore } from "server/router/ir/usc/_playtype/types"; +import type { + BatchManualScore, + ChartDocument, + Game, + ImportTypes, + integer, + MongoDBDocument, + SongDocument, +} from "tachi-common"; +import type { EmptyObject } from "utils/types"; + +export interface ImportTypeDataMap { + "file/eamusement-iidx-csv": IIDXEamusementCSVData; + "file/eamusement-sdvx-csv": SDVXEamusementCSVData; + "file/batch-manual": BatchManualScore; + "file/solid-state-squad": S3Score; + "file/mer-iidx": MerScore; + "file/pli-iidx-csv": IIDXEamusementCSVData; + + "ir/direct-manual": BatchManualScore; + "ir/barbatos": BarbatosScore; + "ir/fervidex": FervidexScore; + "ir/fervidex-static": FervidexStaticScore; + "ir/beatoraja": BeatorajaScore; + "ir/usc": USCClientScore; + "ir/kshook-sv6c": KsHookSV6CScore; + "ir/lr2hook": LR2HookScore; + + // These aren't placeholder values - the data is yielded in a way that + // the value of these is legitimately unknown at convert time. + "api/arc-iidx": unknown; + "api/arc-sdvx": unknown; + "api/flo-iidx": unknown; + "api/flo-sdvx": unknown; + "api/min-sdvx": unknown; + "api/eag-iidx": unknown; + "api/eag-sdvx": unknown; +} + +export interface ImportTypeContextMap { + "file/eamusement-iidx-csv": IIDXEamusementCSVContext; + "file/eamusement-sdvx-csv": EmptyObject; + "file/batch-manual": BatchManualContext; + "file/solid-state-squad": EmptyObject; + "file/mer-iidx": EmptyObject; + "file/pli-iidx-csv": IIDXEamusementCSVContext; + + "ir/direct-manual": BatchManualContext; + "ir/barbatos": BarbatosContext; + "ir/fervidex": FervidexContext; + "ir/fervidex-static": FervidexStaticContext; + "ir/beatoraja": BeatorajaContext; + "ir/usc": IRUSCContext; + "ir/kshook-sv6c": KsHookSV6CContext; + "ir/lr2hook": LR2HookContext; + + "api/arc-iidx": EmptyObject; + "api/arc-sdvx": EmptyObject; + "api/flo-iidx": KaiContext; + "api/flo-sdvx": KaiContext; + "api/min-sdvx": KaiContext; + "api/eag-iidx": KaiContext; + "api/eag-sdvx": KaiContext; +} + +export interface OrphanScoreDocument extends MongoDBDocument { + importType: T; + data: ImportTypeDataMap[T]; + context: ImportTypeContextMap[T]; + errMsg: string | null; + orphanID: string; + userID: integer; + timeInserted: number; + game: Game; +} + +export interface ConverterFnSuccessReturn { + dryScore: DryScore; + chart: ChartDocument; + song: SongDocument; +} + +export type ConverterFnReturnOrFailure = ConverterFailure | ConverterFnSuccessReturn; + +export type ConverterFunction = ( + data: D, + processContext: C, + importType: ImportTypes, + logger: KtLogger +) => Promise; + +export type ImportInputParser = ( + logger: KtLogger +) => ParserFunctionReturns | Promise>; + +export interface ParserFunctionReturns { + iterable: AsyncIterable | Iterable; + context: C; + game: Game; + classHandler: ClassHandler | null; +} + +export type ParserFunction> = ( + ...args: A +) => ParserFunctionReturns; diff --git a/server/src/lib/score-import/import-types/converters.ts b/server/src/lib/score-import/import-types/converters.ts new file mode 100644 index 000000000..af7e211ba --- /dev/null +++ b/server/src/lib/score-import/import-types/converters.ts @@ -0,0 +1,48 @@ +import { ConvertAPIArcIIDX } from "./api/arc-iidx/converter"; +import { ConvertAPIArcSDVX } from "./api/arc-sdvx/converter"; +import { ConvertAPIKaiIIDX } from "./common/api-kai/iidx/converter"; +import { ConvertAPIKaiSDVX } from "./common/api-kai/sdvx/converter"; +import { ConverterBatchManual } from "./common/batch-manual/converter"; +import ConvertEamIIDXCSV from "./common/eamusement-iidx-csv/converter"; +import ConvertEamSDVXCSV from "./file/eamusement-sdvx-csv/converter"; +import { ConvertFileMerIIDX } from "./file/mer-iidx/converter"; +import { ConvertFileS3 } from "./file/solid-state-squad/converter"; +import { ConverterIRBarbatos } from "./ir/barbatos/converter"; +import { ConverterIRBeatoraja } from "./ir/beatoraja/converter"; +import { ConverterIRFervidexStatic } from "./ir/fervidex-static/converter"; +import { ConverterIRFervidex } from "./ir/fervidex/converter"; +import { ConverterIRKsHookSV6C } from "./ir/kshook-sv6c/converter"; +import { ConverterLR2Hook } from "./ir/lr2hook/converter"; +import { ConverterIRUSC } from "./ir/usc/converter"; +import type { ConverterFunction, ImportTypeContextMap, ImportTypeDataMap } from "./common/types"; +import type { ImportTypes } from "tachi-common"; + +export type ConverterMap = { + [I in ImportTypes]: ConverterFunction; +}; + +export const Converters: ConverterMap = { + "file/solid-state-squad": ConvertFileS3, + "file/batch-manual": ConverterBatchManual, + "file/mer-iidx": ConvertFileMerIIDX, + "file/pli-iidx-csv": ConvertEamIIDXCSV, + "file/eamusement-iidx-csv": ConvertEamIIDXCSV, + "file/eamusement-sdvx-csv": ConvertEamSDVXCSV, + + "api/eag-iidx": ConvertAPIKaiIIDX, + "api/eag-sdvx": ConvertAPIKaiSDVX, + "api/flo-iidx": ConvertAPIKaiIIDX, + "api/flo-sdvx": ConvertAPIKaiSDVX, + "api/min-sdvx": ConvertAPIKaiSDVX, + "api/arc-iidx": ConvertAPIArcIIDX, + "api/arc-sdvx": ConvertAPIArcSDVX, + + "ir/barbatos": ConverterIRBarbatos, + "ir/beatoraja": ConverterIRBeatoraja, + "ir/fervidex": ConverterIRFervidex, + "ir/fervidex-static": ConverterIRFervidexStatic, + "ir/direct-manual": ConverterBatchManual, + "ir/usc": ConverterIRUSC, + "ir/kshook-sv6c": ConverterIRKsHookSV6C, + "ir/lr2hook": ConverterLR2Hook, +}; diff --git a/server/src/lib/score-import/import-types/file/batch-manual/parser.ts b/server/src/lib/score-import/import-types/file/batch-manual/parser.ts new file mode 100644 index 000000000..21d973ff9 --- /dev/null +++ b/server/src/lib/score-import/import-types/file/batch-manual/parser.ts @@ -0,0 +1,29 @@ +import ScoreImportFatalError from "../../../framework/score-importing/score-import-error"; +import { ParseBatchManualFromObject } from "../../common/batch-manual/parser"; +import type { BatchManualContext } from "../../common/batch-manual/types"; +import type { ParserFunctionReturns } from "../../common/types"; +import type { KtLogger } from "lib/logger/logger"; +import type { BatchManualScore } from "tachi-common"; + +/** + * Parses a buffer of BATCH-MANUAL data. + * @param fileData - The buffer to parse. + * @param body - The request body that made this file import request. + */ +function ParseBatchManual( + fileData: Express.Multer.File, + body: Record, + logger: KtLogger +): ParserFunctionReturns { + let jsonData: unknown; + + try { + jsonData = JSON.parse(fileData.buffer.toString("utf-8")); + } catch (err) { + throw new ScoreImportFatalError(400, `Invalid JSON. (${(err as Error).message})`); + } + + return ParseBatchManualFromObject(jsonData, "file/batch-manual", logger); +} + +export default ParseBatchManual; diff --git a/server/src/lib/score-import/import-types/file/eamusement-iidx-csv/parser.ts b/server/src/lib/score-import/import-types/file/eamusement-iidx-csv/parser.ts new file mode 100644 index 000000000..e6c1abb9d --- /dev/null +++ b/server/src/lib/score-import/import-types/file/eamusement-iidx-csv/parser.ts @@ -0,0 +1,17 @@ +import GenericParseEamIIDXCSV from "../../common/eamusement-iidx-csv/parser"; +import type { + IIDXEamusementCSVContext, + IIDXEamusementCSVData, +} from "../../common/eamusement-iidx-csv/types"; +import type { ParserFunctionReturns } from "../../common/types"; +import type { KtLogger } from "lib/logger/logger"; + +function ParseEamusementIIDXCSV( + fileData: Express.Multer.File, + body: Record, + logger: KtLogger +): ParserFunctionReturns { + return GenericParseEamIIDXCSV(fileData, body, "e-amusement", logger); +} + +export default ParseEamusementIIDXCSV; diff --git a/server/src/lib/score-import/import-types/file/eamusement-sdvx-csv/converter.test.ts b/server/src/lib/score-import/import-types/file/eamusement-sdvx-csv/converter.test.ts new file mode 100644 index 000000000..84d64f085 --- /dev/null +++ b/server/src/lib/score-import/import-types/file/eamusement-sdvx-csv/converter.test.ts @@ -0,0 +1,108 @@ +import ConvertEamSDVXCSV from "./converter"; +import deepmerge from "deepmerge"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { GetKTDataJSON, TestingAlbidaADV, TestingSDVXAlbidaSong } from "test-utils/test-data"; +import type { SDVXEamusementCSVData } from "./types"; + +const logger = CreateLogCtx(__filename); + +const parsedScore = { + title: "ALBIDA Powerless Mix", + difficulty: "ADVANCED", + level: "10", + lamp: "EXCESSIVE COMPLETE", + score: "9310699", + exscore: "0", +}; + +t.test("#ConvertEamSDVXCSV", (t) => { + t.beforeEach(ResetDBState); + + function conv(g: Partial = {}) { + return ConvertEamSDVXCSV(deepmerge(parsedScore, g), {}, "file/eamusement-sdvx-csv", logger); + } + + t.test("Should return a dryScore on valid input.", async (t) => { + const res = await conv(); + + t.hasStrict(res, { + song: TestingSDVXAlbidaSong, + chart: TestingAlbidaADV, + dryScore: { + service: "e-amusement", + game: "sdvx", + scoreMeta: {}, + timeAchieved: null, + comment: null, + importType: "file/eamusement-sdvx-csv", + scoreData: { + score: 9310699, + lamp: "EXCESSIVE CLEAR", + + // percent: 93.10699, floating point + grade: "AA", + judgements: {}, + hitMeta: {}, + }, + }, + }); + + t.end(); + }); + + t.test("Should reject invalid difficulty name", (t) => { + t.rejects(() => conv({ difficulty: "INVALID" }), { + message: /Invalid difficulty of INVALID\./u, + }); + + t.end(); + }); + + t.test("Should throw KTDataNotFound on unknown song", (t) => { + t.rejects(() => conv({ title: "INVALID SONG" }), { + message: /Could not find song for INVALID SONG\./u, + }); + + t.end(); + }); + + t.test("Should throw KTDataNotFound on unknown chart", (t) => { + t.rejects(() => conv({ difficulty: "VIVID" }), { + message: /Could not find chart for ALBIDA Powerless Mix \[VVD\]\./u, + }); + + t.end(); + }); + + t.test("Should reject incorrect level", (t) => { + t.rejects(() => conv({ level: "17" }), { + message: /Should be level 10, but found level 17\./u, + }); + + t.end(); + }); + + t.test("Should reject invalid score", (t) => { + t.rejects(() => conv({ score: "not a number" }), { + message: /Invalid score of not a number\./u, + }); + + t.rejects(() => conv({ score: "10000001" }), { + message: /Invalid score of 10000001 \(was greater than 10,000,000\)\./u, + }); + + t.end(); + }); + + t.test("Should reject invalid lamp", (t) => { + t.rejects(() => conv({ lamp: "INVALID" }), { + message: /Invalid lamp of INVALID\./u, + }); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/file/eamusement-sdvx-csv/converter.ts b/server/src/lib/score-import/import-types/file/eamusement-sdvx-csv/converter.ts new file mode 100644 index 000000000..e7c301c18 --- /dev/null +++ b/server/src/lib/score-import/import-types/file/eamusement-sdvx-csv/converter.ts @@ -0,0 +1,123 @@ +import { + InvalidScoreFailure, + KTDataNotFoundFailure, +} from "lib/score-import/framework/common/converter-failures"; +import { GenericGetGradeAndPercent } from "lib/score-import/framework/common/score-utils"; +import { AssertStrAsPositiveInt } from "lib/score-import/framework/common/string-asserts"; +import { FindChartWithPTDF } from "utils/queries/charts"; +import { FindSongOnTitle } from "utils/queries/songs"; +import type { ConverterFunction } from "../../common/types"; +import type { SDVXEamusementCSVData } from "./types"; +import type { DryScore } from "lib/score-import/framework/common/types"; +import type { Difficulties, Lamps } from "tachi-common"; +import type { EmptyObject } from "utils/types"; + +const DIFFICULTY_MAP: Map = new Map([ + ["NOVICE", "NOV"], + ["ADVANCED", "ADV"], + ["EXHAUST", "EXH"], + ["MAXIMUM", "MXM"], + ["INFINITE", "INF"], + ["GRAVITY", "GRV"], + ["HEAVENLY", "HVN"], + ["VIVID", "VVD"], +]); + +const LAMP_MAP: Map = new Map([ + ["PLAYED", "FAILED"], + ["COMPLETE", "CLEAR"], + ["EXCESSIVE COMPLETE", "EXCESSIVE CLEAR"], + ["ULTIMATE CHAIN", "ULTIMATE CHAIN"], + ["PERFECT", "PERFECT ULTIMATE CHAIN"], +]); + +const ConvertEamSDVXCSV: ConverterFunction = async ( + data, + context, + importType, + logger +) => { + const song = await FindSongOnTitle("sdvx", data.title); + + if (!song) { + throw new KTDataNotFoundFailure( + `Could not find song for ${data.title}.`, + importType, + data, + context + ); + } + + const difficulty = DIFFICULTY_MAP.get(data.difficulty); + + if (!difficulty) { + logger.info(`Invalid difficulty of ${data.difficulty} provided.`); + throw new InvalidScoreFailure(`${data.title} - Invalid difficulty of ${data.difficulty}.`); + } + + const humanisedChartTitle = `${song.title} [${difficulty}]`; + + const chart = await FindChartWithPTDF("sdvx", song.id, "Single", difficulty); + + if (!chart) { + throw new KTDataNotFoundFailure( + `Could not find chart for ${humanisedChartTitle}.`, + importType, + data, + context + ); + } + + if (chart.level !== data.level) { + throw new InvalidScoreFailure( + `${humanisedChartTitle} - Should be level ${chart.level}, but found level ${data.level}.` + ); + } + + const score = AssertStrAsPositiveInt( + data.score, + `${humanisedChartTitle} - Invalid score of ${data.score}.` + ); + + if (score > 10_000_000) { + throw new InvalidScoreFailure( + `${humanisedChartTitle} - Invalid score of ${data.score} (was greater than 10,000,000).` + ); + } + + const lamp = LAMP_MAP.get(data.lamp); + + if (!lamp) { + logger.info(`Invalid lamp of ${data.lamp} provided.`); + throw new InvalidScoreFailure(`${humanisedChartTitle} - Invalid lamp of ${data.lamp}.`); + } + + const { percent, grade } = GenericGetGradeAndPercent("sdvx", score, chart); + + const dryScore: DryScore<"sdvx:Single"> = { + service: "e-amusement", + game: "sdvx", + scoreMeta: {}, + + // No timestamp data :( + timeAchieved: null, + comment: null, + importType, + scoreData: { + score, + lamp, + percent, + grade, + judgements: {}, + hitMeta: {}, + }, + }; + + logger.verbose( + `Returning dryscore with ${dryScore.scoreData.score} for ${humanisedChartTitle}` + ); + + return { chart, song, dryScore }; +}; + +export default ConvertEamSDVXCSV; diff --git a/server/src/lib/score-import/import-types/file/eamusement-sdvx-csv/parser.test.ts b/server/src/lib/score-import/import-types/file/eamusement-sdvx-csv/parser.test.ts new file mode 100644 index 000000000..f47964aea --- /dev/null +++ b/server/src/lib/score-import/import-types/file/eamusement-sdvx-csv/parser.test.ts @@ -0,0 +1,57 @@ +import ParseEamusementSDVXCSV from "./parser"; +import CreateLogCtx from "lib/logger/logger"; +import ScoreImportFatalError from "lib/score-import/framework/score-importing/score-import-error"; +import t from "tap"; +import { MockMulterFile } from "test-utils/mock-multer"; +import { TestingSDVXEamusementCSV } from "test-utils/test-data"; +import type { SDVXEamusementCSVData } from "./types"; + +const logger = CreateLogCtx(__filename); + +t.test("#ParseEamusementSDVXCSV", (t) => { + t.test("Valid CSV", (t) => { + const file = MockMulterFile(TestingSDVXEamusementCSV, "score.csv"); + + const { iterable, game } = ParseEamusementSDVXCSV(file, {}, logger); + + t.equal(game, "sdvx"); + + const iterableData = iterable as Array; + + t.equal(iterableData.length, 204); + + t.end(); + }); + + t.test("Broken CSV", (t) => { + const buffer = Buffer.from(`${"a,".repeat(10)}a\n${"a,".repeat(3)}a`); + + const file = MockMulterFile(buffer, "score.csv"); + + t.throws( + () => ParseEamusementSDVXCSV(file, {}, logger), + new ScoreImportFatalError(400, "Row 1 has an invalid amount of cells (4, expected 11)") + ); + + t.end(); + }); + + t.test("Wrong number of headers", (t) => { + const buffer = Buffer.from(`${"a,".repeat(15)}a\n`.repeat(3)); + + const file = MockMulterFile(buffer, "score.csv"); + + t.throws( + () => ParseEamusementSDVXCSV(file, {}, logger), + new ScoreImportFatalError( + 400, + "Invalid CSV provided. CSV does not have the correct number of headers." + ), + "Should throw an error on no headers." + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/file/eamusement-sdvx-csv/parser.ts b/server/src/lib/score-import/import-types/file/eamusement-sdvx-csv/parser.ts new file mode 100644 index 000000000..e87d44823 --- /dev/null +++ b/server/src/lib/score-import/import-types/file/eamusement-sdvx-csv/parser.ts @@ -0,0 +1,74 @@ +import ScoreImportFatalError from "../../../framework/score-importing/score-import-error"; +import { CSVParseError, NaiveCSVParse } from "utils/naive-csv-parser"; +import type { ParserFunctionReturns } from "../../common/types"; +import type { SDVXEamusementCSVData } from "./types"; +import type { KtLogger } from "lib/logger/logger"; +import type { EmptyObject } from "utils/types"; + +const HEADER_COUNT = 11; + +// A SDVX CSV Row has exactly 11 elements. This is used for type safety. +type SDVXCSVRow = [ + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string +]; + +export default function ParseEamusementSDVXCSV( + fileData: Express.Multer.File, + _body: Record, + logger: KtLogger +): ParserFunctionReturns { + let rawHeaders: Array; + let rawRows: Array>; + + try { + ({ rawHeaders, rawRows } = NaiveCSVParse(fileData.buffer, logger)); + } catch (e) { + if (e instanceof CSVParseError) { + throw new ScoreImportFatalError(400, e.message); + } + + throw e; + } + + if (rawHeaders.length !== HEADER_COUNT) { + logger.info(`Invalid CSV header count of ${rawHeaders.length} received.`); + throw new ScoreImportFatalError( + 400, + "Invalid CSV provided. CSV does not have the correct number of headers." + ); + } + + // All of these are guaranteed to not be null by the CSV parser. + // cells is guaranteed to have a length of exactly 11. + const iterable = (rawRows as Array).map((cells) => ({ + title: cells[0], + difficulty: cells[1], + level: cells[2], + lamp: cells[3], + score: cells[5], + + // @todo exscore is currently unused, but we should eventually store it. + // It is 0 if the score was played without S-criticals. + exscore: cells[6], + + // The other columns (grade, # of different clears) are essentially useless. + // There is no timestamp :( + })); + + return { + iterable, + context: {}, + game: "sdvx", + classHandler: null, + }; +} diff --git a/server/src/lib/score-import/import-types/file/eamusement-sdvx-csv/types.ts b/server/src/lib/score-import/import-types/file/eamusement-sdvx-csv/types.ts new file mode 100644 index 000000000..7bd909184 --- /dev/null +++ b/server/src/lib/score-import/import-types/file/eamusement-sdvx-csv/types.ts @@ -0,0 +1,8 @@ +export interface SDVXEamusementCSVData { + title: string; + difficulty: string; + level: string; + lamp: string; + score: string; + exscore: string; +} diff --git a/server/src/lib/score-import/import-types/file/mer-iidx/converter.test.ts b/server/src/lib/score-import/import-types/file/mer-iidx/converter.test.ts new file mode 100644 index 000000000..3eb68f643 --- /dev/null +++ b/server/src/lib/score-import/import-types/file/mer-iidx/converter.test.ts @@ -0,0 +1,146 @@ +import { ConvertFileMerIIDX } from "./converter"; +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { + GetKTDataJSON, + LoadTachiIIDXData, + Testing511Song, + Testing511SPA, +} from "test-utils/test-data"; +import type { MerScore } from "./types"; + +const logger = CreateLogCtx(__filename); + +t.test("#ConvertFileMerIIDX", (t) => { + t.beforeEach(ResetDBState); + + const MerScore = { + music_id: 1000, + play_type: "SINGLE", + diff_type: "ANOTHER", + score: 1000, + miss_count: 21, + clear_type: "CLEAR", + update_time: "2021-03-24 07:15:22", + } as const; + + function merc(g: Partial = {}) { + return ConvertFileMerIIDX(deepmerge(MerScore, g), {}, "file/mer-iidx", logger); + } + + t.test("Valid Conversion", async (t) => { + const res = await ConvertFileMerIIDX(MerScore, {}, "file/mer-iidx", logger); + + t.hasStrict( + res, + { + song: Testing511Song, + chart: Testing511SPA, + dryScore: { + game: "iidx", + comment: null, + importType: "file/mer-iidx", + service: "MER", + scoreData: { + score: 1000, + + // percent: 63.61, approximately, fpa impossible. + grade: "B", + lamp: "CLEAR", + judgements: {}, + hitMeta: { + bp: 21, + }, + }, + scoreMeta: {}, + timeAchieved: 1616537722000, + }, + }, + "Should return the converted dry score." + ); + + t.end(); + }); + + t.test("Valid DP Conversion", async (t) => { + await LoadTachiIIDXData(); + const res = await merc({ play_type: "DOUBLE" }); + + t.hasStrict( + res, + { + song: { id: 1 }, + chart: { playtype: "DP", data: { inGameID: 1000 } }, + dryScore: { + game: "iidx", + comment: null, + importType: "file/mer-iidx", + service: "MER", + scoreData: { + score: 1000, + + // percent: 63.61, approximately, fpa impossible. + grade: "B", + lamp: "CLEAR", + judgements: {}, + hitMeta: { + bp: 21, + }, + }, + scoreMeta: {}, + timeAchieved: 1616537722000, + }, + }, + "Should return the converted dry score." + ); + + t.end(); + }); + + t.test("Invalid Chart", (t) => { + t.rejects(() => merc({ diff_type: "LEGGENDARIA" }), { + message: /Could not find chart with musicID 1000 \(SP LEGGENDARIA/u, + }); + + t.end(); + }); + + t.test("Invalid Song", (t) => { + t.rejects(() => merc({ music_id: 0 }), { + message: /Could not find chart with musicID 0/u, + }); + + t.end(); + }); + + t.test("Should log severe on Song-Chart Desync", async (t) => { + await db.songs.iidx.remove({}); + + t.rejects(() => merc(), { + message: /Song-Chart Desync on songID 1/u, + }); + + t.end(); + }); + + t.test("Invalid Percent", (t) => { + t.rejects(() => merc({ score: 9999 }), { + message: /Invalid percent/u, + }); + + t.end(); + }); + + t.test("Invalid Date", (t) => { + t.rejects(() => merc({ update_time: "INVALID" }), { + message: /Invalid\/Unparsable score timestamp of INVALID/u, + }); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/file/mer-iidx/converter.ts b/server/src/lib/score-import/import-types/file/mer-iidx/converter.ts new file mode 100644 index 000000000..19b960494 --- /dev/null +++ b/server/src/lib/score-import/import-types/file/mer-iidx/converter.ts @@ -0,0 +1,93 @@ +import { + InternalFailure, + KTDataNotFoundFailure, +} from "../../../framework/common/converter-failures"; +import { + GenericGetGradeAndPercent, + ParseDateFromString, +} from "../../../framework/common/score-utils"; +import { FindIIDXChartOnInGameID } from "utils/queries/charts"; +import { FindSongOnID } from "utils/queries/songs"; +import type { DryScore } from "../../../framework/common/types"; +import type { ConverterFunction } from "../../common/types"; +import type { MerScore } from "./types"; +import type { Lamps } from "tachi-common"; +import type { EmptyObject } from "utils/types"; + +function ConvertMERLamp(lamp: MerScore["clear_type"]): Lamps["iidx:DP" | "iidx:SP"] { + if (lamp === "FULLCOMBO CLEAR") { + return "FULL COMBO"; + } + + return lamp; +} + +export const ConvertFileMerIIDX: ConverterFunction = async ( + data, + context, + importType, + logger +) => { + const playtype = data.play_type === "SINGLE" ? "SP" : "DP"; + + const chart = await FindIIDXChartOnInGameID(data.music_id, playtype, data.diff_type); + + if (!chart) { + throw new KTDataNotFoundFailure( + `Could not find chart with musicID ${data.music_id} (${playtype} ${data.diff_type}.)`, + importType, + data, + context + ); + } + + const song = await FindSongOnID("iidx", chart.songID); + + if (!song) { + logger.severe(`Could not find song with songID ${chart.songID}, but chart exists for it?`); + throw new InternalFailure(`Song-Chart Desync on songID ${chart.songID}`); + } + + const { percent, grade } = GenericGetGradeAndPercent("iidx", data.score, chart); + + const lamp = ConvertMERLamp(data.clear_type); + + const timeAchieved = ParseDateFromString(ConvertDateToJST(data.update_time)); + + const dryScore: DryScore<"iidx:DP" | "iidx:SP"> = { + game: "iidx", + comment: null, + importType: "file/mer-iidx", + service: "MER", + scoreData: { + score: data.score, + percent, + grade, + lamp, + judgements: {}, + hitMeta: { + bp: data.miss_count === -1 ? null : data.miss_count, + }, + }, + scoreMeta: {}, + timeAchieved: timeAchieved !== null ? timeAchieved : null, + }; + + return { + chart, + song, + dryScore, + }; +}; + +/** + * MER passes us a rather useless date without any timezone information. + * To ensure that this parses properly regardless of timezone, we need to + * assert thathere. + * + * @param uselessDate - A date string like 2021-03-24 07:15:22. + * As you can see, it has no timezone information, and is ambiguous. + */ +function ConvertDateToJST(uselessDate: string) { + return `${uselessDate.replace(" ", "T")}+09:00`; +} diff --git a/server/src/lib/score-import/import-types/file/mer-iidx/parser.test.ts b/server/src/lib/score-import/import-types/file/mer-iidx/parser.test.ts new file mode 100644 index 000000000..a314e87fc --- /dev/null +++ b/server/src/lib/score-import/import-types/file/mer-iidx/parser.test.ts @@ -0,0 +1,160 @@ +import { ParseMerIIDX } from "./parser"; +import deepmerge from "deepmerge"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import { MockMulterFile } from "test-utils/mock-multer"; +import ResetDBState from "test-utils/resets"; +import { GetKTDataBuffer, GetKTDataJSON } from "test-utils/test-data"; + +const logger = CreateLogCtx(__filename); + +t.test("#ParseMerIIDX", (t) => { + t.beforeEach(ResetDBState); + + function mrfb(buffer: Buffer) { + return ParseMerIIDX(MockMulterFile(buffer, "buffer.json"), {}, logger); + } + + function mrfj(obj: unknown) { + return ParseMerIIDX( + MockMulterFile(Buffer.from(JSON.stringify([obj])), "buffer.json"), + {}, + logger + ); + } + + function mrff(filename: string) { + return ParseMerIIDX(MockMulterFile(GetKTDataBuffer(filename), filename), {}, logger); + } + + t.test("Basic Parsing", (t) => { + const res = mrff("./mer/base.json"); + + t.hasStrict( + res, + { + game: "iidx", + context: {}, + classHandler: null, + iterable: [ + { + music_id: 3007, + music_name: "Presto", + play_type: "SINGLE", + diff_type: "HYPER", + score: 566, + miss_count: 46, + clear_type: "NO PLAY", + update_time: "2019-06-01 19:56:59", + }, + { + music_id: 3013, + music_name: "THE SAFARI", + play_type: "SINGLE", + diff_type: "NORMAL", + score: 681, + miss_count: 102, + clear_type: "FAILED", + update_time: "2019-05-30 03:21:57", + }, + { + music_id: 3213, + music_name: "TAKE ON ME", + play_type: "SINGLE", + diff_type: "ANOTHER", + score: 922, + miss_count: 56, + clear_type: "CLEAR", + update_time: "2019-05-03 02:10:58", + }, + ], + }, + "Should correctly parse data." + ); + + t.end(); + }); + + const baseScore = { + music_id: 3007, + version_id: 3, + version_name: "3rd style", + music_name: "Presto", + play_type: "SINGLE", + diff_type: "HYPER", + score: 566, + score_percent: 56.8273, + miss_count: 46, + grade: "B", + clear_type: "NO PLAY", + clear_type_id: 0, + level: 8, + note: 498, + play_count: 6, + update_time: "2019-06-01 19:56:59", + score_diff_str: "B+12", + }; + + t.test("Should throw on invalid play_type", (t) => { + t.throws(() => mrfj(deepmerge(baseScore, { play_type: "INVALID" }))); + t.throws(() => mrfj(deepmerge(baseScore, { play_type: null }))); + t.throws(() => mrfj(deepmerge(baseScore, { play_type: undefined }))); + t.throws(() => mrfj(deepmerge(baseScore, { play_type: 1 }))); + + t.end(); + }); + + t.test("Should throw on invalid score", (t) => { + t.throws(() => mrfj(deepmerge(baseScore, { score: -1 }))); + t.throws(() => mrfj(deepmerge(baseScore, { score: 1.5 }))); + t.throws(() => mrfj(deepmerge(baseScore, { score: "1" }))); + t.throws(() => mrfj(deepmerge(baseScore, { score: null }))); + t.throws(() => mrfj(deepmerge(baseScore, { score: undefined }))); + + t.end(); + }); + + t.test("Should throw on invalid diff_type", (t) => { + t.throws(() => mrfj(deepmerge(baseScore, { diff_type: "INVALID" }))); + t.throws(() => mrfj(deepmerge(baseScore, { diff_type: null }))); + t.throws(() => mrfj(deepmerge(baseScore, { diff_type: undefined }))); + + t.end(); + }); + + t.test("Should throw on invalid clear_type", (t) => { + t.throws(() => mrfj(deepmerge(baseScore, { clear_type: "INVALID" }))); + t.throws(() => mrfj(deepmerge(baseScore, { clear_type: null }))); + t.throws(() => mrfj(deepmerge(baseScore, { clear_type: undefined }))); + + t.end(); + }); + + t.test("Should throw on invalid miss_count", (t) => { + t.throws(() => mrfj(deepmerge(baseScore, { miss_count: "INVALID" }))); + t.throws(() => mrfj(deepmerge(baseScore, { miss_count: null }))); + t.throws(() => mrfj(deepmerge(baseScore, { miss_count: undefined }))); + + t.end(); + }); + + t.test("Should throw on invalid JSON", (t) => { + t.throws(() => mrfb(Buffer.from("{]"))); + + t.end(); + }); + + t.test("Should throw on non-top-level-array", (t) => { + t.throws(() => mrfb(Buffer.from("{}"))); + + t.end(); + }); + + t.test("Should throw on invalid Mer Scores", (t) => { + t.throws(() => mrfb(Buffer.from(JSON.stringify([{ foo: "bar" }])))); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/file/mer-iidx/parser.ts b/server/src/lib/score-import/import-types/file/mer-iidx/parser.ts new file mode 100644 index 000000000..8c3a57f01 --- /dev/null +++ b/server/src/lib/score-import/import-types/file/mer-iidx/parser.ts @@ -0,0 +1,61 @@ +import ScoreImportFatalError from "../../../framework/score-importing/score-import-error"; +import p from "prudence"; +import { FormatPrError } from "utils/prudence"; +import type { ParserFunctionReturns } from "../../common/types"; +import type { MerScore } from "./types"; +import type { KtLogger } from "lib/logger/logger"; +import type { EmptyObject } from "utils/types"; + +const PR_MER_IIDX = { + music_id: p.isPositiveInteger, + play_type: p.isIn("SINGLE", "DOUBLE"), + diff_type: p.isIn("NORMAL", "HYPER", "ANOTHER", "LEGGENDARIA", "BEGINNER"), + score: p.isPositiveInteger, + miss_count: p.or(p.isPositiveInteger, p.is(-1)), + clear_type: p.isIn( + "NO PLAY", + "FAILED", + "ASSIST CLEAR", + "EASY CLEAR", + "CLEAR", + "HARD CLEAR", + "EX HARD CLEAR", + "FULLCOMBO CLEAR" + ), + update_time: "string", +}; + +export function ParseMerIIDX( + fileData: Express.Multer.File, + body: Record, + logger: KtLogger +): ParserFunctionReturns { + let jsonData; + + try { + jsonData = JSON.parse(fileData.buffer.toString("utf-8")) as unknown; + } catch (err) { + logger.info((err as Error).message); + throw new ScoreImportFatalError(400, "Invalid JSON."); + } + + if (!Array.isArray(jsonData)) { + throw new ScoreImportFatalError(400, `Invalid MER-IIDX JSON: Expected Top-Level Array.`); + } + + // this is because prudence doesn't support top level arrays at the moment. + for (let i = 0; i < jsonData.length; i++) { + const err = p(jsonData[i], PR_MER_IIDX, {}, { allowExcessKeys: true }); + + if (err) { + throw new ScoreImportFatalError(400, `${FormatPrError(err)} [Index ${i}]`); + } + } + + return { + classHandler: null, + context: {}, + iterable: jsonData as Array, + game: "iidx", + }; +} diff --git a/server/src/lib/score-import/import-types/file/mer-iidx/types.ts b/server/src/lib/score-import/import-types/file/mer-iidx/types.ts new file mode 100644 index 000000000..ff48aa930 --- /dev/null +++ b/server/src/lib/score-import/import-types/file/mer-iidx/types.ts @@ -0,0 +1,19 @@ +import type { integer } from "tachi-common"; + +export interface MerScore { + music_id: integer; + play_type: "DOUBLE" | "SINGLE"; + diff_type: "ANOTHER" | "BEGINNER" | "HYPER" | "LEGGENDARIA" | "NORMAL"; + score: integer; + miss_count: integer; + clear_type: + | "ASSIST CLEAR" + | "CLEAR" + | "EASY CLEAR" + | "EX HARD CLEAR" + | "FAILED" + | "FULLCOMBO CLEAR" + | "HARD CLEAR" + | "NO PLAY"; + update_time: string; +} diff --git a/server/src/lib/score-import/import-types/file/pli-iidx-csv/parser.ts b/server/src/lib/score-import/import-types/file/pli-iidx-csv/parser.ts new file mode 100644 index 000000000..bac1969fe --- /dev/null +++ b/server/src/lib/score-import/import-types/file/pli-iidx-csv/parser.ts @@ -0,0 +1,17 @@ +import GenericParseEamIIDXCSV from "../../common/eamusement-iidx-csv/parser"; +import type { + IIDXEamusementCSVContext, + IIDXEamusementCSVData, +} from "../../common/eamusement-iidx-csv/types"; +import type { ParserFunctionReturns } from "../../common/types"; +import type { KtLogger } from "lib/logger/logger"; + +function ParsePLIIIDXCSV( + fileData: Express.Multer.File, + body: Record, + logger: KtLogger +): ParserFunctionReturns { + return GenericParseEamIIDXCSV(fileData, body, "PLI", logger); +} + +export default ParsePLIIIDXCSV; diff --git a/server/src/lib/score-import/import-types/file/solid-state-squad/converter.test.ts b/server/src/lib/score-import/import-types/file/solid-state-squad/converter.test.ts new file mode 100644 index 000000000..bc4a9b885 --- /dev/null +++ b/server/src/lib/score-import/import-types/file/solid-state-squad/converter.test.ts @@ -0,0 +1,225 @@ +import { ConvertFileS3, ParseDifficulty, ResolveS3Lamp } from "./converter"; +import deepmerge from "deepmerge"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { + LoadTachiIIDXData, + MockParsedS3Score, + Testing511Song, + Testing511SPA, +} from "test-utils/test-data"; +import type { S3Score } from "./types"; + +const logger = CreateLogCtx(__filename); + +function cfile(data: S3Score) { + return ConvertFileS3(data, {}, "file/solid-state-squad", logger); +} + +t.test("#ConvertFileS3", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(() => { + // @ts-expect-error hacky just-incase. + delete MockParsedS3Score._id; + }); + + function mfile(merge: Partial) { + return cfile(deepmerge(MockParsedS3Score, merge)); + } + + const dryScore = { + game: "iidx", + comment: null, + importType: "file/solid-state-squad", + service: "Solid State Squad", + scoreData: { + // percent: 6.36, -- fpa + grade: "F", + score: 100, + lamp: "FULL COMBO", + judgements: { + pgreat: 25, + great: 50, + good: 0, + bad: 0, + poor: 4, + }, + hitMeta: {}, + }, + scoreMeta: {}, + + // can't be tested because the timestamp format doesnt specify a timezone. + // timeAchieved: 1287460462000, + }; + + t.test("Should import a valid S3 score", async (t) => { + const res = await cfile(MockParsedS3Score); + + t.hasStrict( + res, + { + chart: Testing511SPA, + song: Testing511Song, + dryScore, + }, + "Should correctly return the song, chart and DryScore." + ); + + t.end(); + }); + + t.test("Should support comments in S3 scores", async (t) => { + const res = await mfile({ comment: "FOO BAR" }); + + t.hasStrict( + res, + { + chart: Testing511SPA, + song: Testing511Song, + dryScore: deepmerge(dryScore, { comment: "FOO BAR" }), + }, + "Should correctly return the song, chart and DryScore." + ); + + t.end(); + }); + + t.test("Should find song case-insensitively", async (t) => { + await LoadTachiIIDXData(); + + const res = await mfile({ songname: "aBSolUte", diff: 7 }); + + t.hasStrict( + res, + { + chart: { songID: 97, difficulty: "HYPER", playtype: "SP" }, + song: { title: "ABSOLUTE" }, + + // dryScore, dont care + }, + "Should correctly return the song, chart and DryScore." + ); + + t.end(); + }); + + t.test("Should reject invalid styles in S3 scores", (t) => { + t.rejects(mfile({ styles: "3rd,4th,INVALID" }), { + message: /Song has invalid style INVALID/u, + }); + + t.end(); + }); + + t.test("Should throw ktdatanf if no song", (t) => { + t.rejects(mfile({ songname: "INVALID SONG TITLE" }), { + message: /Could not find song with title INVALID SONG TITLE/u, + }); + + t.end(); + }); + + t.test("Should throw ktdatanf if no song", (t) => { + t.rejects(mfile({ diff: "B" }), { + message: /Could not find chart 5\.1\.1\. \(SP LEGGENDARIA/u, + }); + + t.end(); + }); + + t.test("Should throw a skipscore if the song is 5key", (t) => { + t.rejects(mfile({ diff: 5 }), { + message: /5KEY scores are not supported/u, + }); + + t.end(); + }); + + t.test("Should throw an invalidscore if the difficulty is invalid", (t) => { + t.rejects(mfile({ diff: "INVALID" } as unknown as S3Score), { + message: /Invalid difficulty INVALID/u, + }); + + t.end(); + }); + + t.test("Should throw an invalidscore if the hardeasy is invalid", (t) => { + t.rejects( + mfile({ mods: { hardeasy: "INVALID" }, cleartype: "cleared" } as unknown as S3Score), + { + message: /Invalid hardeasy of INVALID while evaluating a 'cleared' score/u, + } + ); + + t.end(); + }); + + t.test("Should throw an invalidscore if the cleartype is invalid", (t) => { + t.rejects(mfile({ cleartype: "INVALID" } as unknown as S3Score), { + message: /Invalid cleartype of INVALID/u, + }); + + t.end(); + }); + + t.test("Should throw an invalidscore if the exscore is greater than MAX", (t) => { + t.rejects(mfile({ exscore: 10000 }), { + message: /Invalid percent of 636/u, + }); + + t.end(); + }); + + t.test("Should throw an invalidscore if the date is invalid.", (t) => { + t.rejects(mfile({ date: "INVALID" }), { + message: /Invalid\/Unparsable score timestamp of INVALID/u, + }); + + t.end(); + }); + + t.end(); +}); + +t.test("#ParseDifficulty", (t) => { + t.beforeEach(ResetDBState); + + t.strictSame(ParseDifficulty("L7"), { playtype: "SP", difficulty: "NORMAL" }); + t.strictSame(ParseDifficulty(7), { playtype: "SP", difficulty: "HYPER" }); + t.strictSame(ParseDifficulty("A"), { playtype: "SP", difficulty: "ANOTHER" }); + t.strictSame(ParseDifficulty("B"), { playtype: "SP", difficulty: "LEGGENDARIA" }); + t.strictSame(ParseDifficulty("L14"), { playtype: "DP", difficulty: "NORMAL" }); + t.strictSame(ParseDifficulty(14), { playtype: "DP", difficulty: "HYPER" }); + t.strictSame(ParseDifficulty("A14"), { playtype: "DP", difficulty: "ANOTHER" }); + t.strictSame(ParseDifficulty("B14"), { playtype: "DP", difficulty: "LEGGENDARIA" }); + t.throws(() => ParseDifficulty(5)); + + t.end(); +}); + +t.test("#ResolveS3Lamp", (t) => { + t.beforeEach(ResetDBState); + + t.equal(ResolveS3Lamp({ cleartype: "played" } as S3Score), "FAILED"); + t.equal(ResolveS3Lamp({ cleartype: "cleared", mods: {} } as S3Score), "CLEAR"); + t.equal( + ResolveS3Lamp({ cleartype: "cleared", mods: { hardeasy: "E" } } as S3Score), + "EASY CLEAR" + ); + t.equal( + ResolveS3Lamp({ cleartype: "cleared", mods: { hardeasy: "H" } } as S3Score), + "HARD CLEAR" + ); + t.equal(ResolveS3Lamp({ cleartype: "combo" } as S3Score), "FULL COMBO"); + t.equal(ResolveS3Lamp({ cleartype: "comboed" } as S3Score), "FULL COMBO"); + t.equal(ResolveS3Lamp({ cleartype: "perfect" } as S3Score), "FULL COMBO"); + t.equal(ResolveS3Lamp({ cleartype: "perfected" } as S3Score), "FULL COMBO"); + + t.throws(() => ResolveS3Lamp({ cleartype: "invalid" } as unknown as S3Score)); + t.throws(() => + ResolveS3Lamp({ cleartype: "cleared", mods: { hardeasy: "invalid" } } as unknown as S3Score) + ); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/file/solid-state-squad/converter.ts b/server/src/lib/score-import/import-types/file/solid-state-squad/converter.ts new file mode 100644 index 000000000..16ad8fc6f --- /dev/null +++ b/server/src/lib/score-import/import-types/file/solid-state-squad/converter.ts @@ -0,0 +1,178 @@ +import { + InvalidScoreFailure, + KTDataNotFoundFailure, + SkipScoreFailure, +} from "../../../framework/common/converter-failures"; +import { + GenericGetGradeAndPercent, + ParseDateFromString, +} from "../../../framework/common/score-utils"; +import { FindChartWithPTDFVersion } from "utils/queries/charts"; +import { FindSongOnTitleInsensitive } from "utils/queries/songs"; +import type { DryScore } from "../../../framework/common/types"; +import type { ConverterFunction } from "../../common/types"; +import type { S3Score } from "./types"; +import type { Difficulties, GPTSupportedVersions, Lamps, Playtypes } from "tachi-common"; +import type { EmptyObject } from "utils/types"; + +export function ParseDifficulty(diff: S3Score["diff"]): { + playtype: Playtypes["iidx"]; + difficulty: Difficulties["iidx:DP" | "iidx:SP"]; +} { + switch (diff) { + case "L7": + return { playtype: "SP", difficulty: "NORMAL" }; + case 7: + return { playtype: "SP", difficulty: "HYPER" }; + case "A": + return { playtype: "SP", difficulty: "ANOTHER" }; + case "B": + return { playtype: "SP", difficulty: "LEGGENDARIA" }; + case 5: + throw new SkipScoreFailure(`5KEY scores are not supported.`); + case "L14": + return { playtype: "DP", difficulty: "NORMAL" }; + case 14: + return { playtype: "DP", difficulty: "HYPER" }; + case "A14": + return { playtype: "DP", difficulty: "ANOTHER" }; + case "B14": + return { playtype: "DP", difficulty: "LEGGENDARIA" }; + default: + throw new InvalidScoreFailure(`Invalid difficulty ${diff}.`); + } +} + +export function ResolveS3Lamp(data: S3Score): Lamps["iidx:DP" | "iidx:SP"] { + switch (data.cleartype) { + case "played": + return "FAILED"; + case "cleared": + switch (data.mods.hardeasy) { + case "E": + return "EASY CLEAR"; + case "H": + return "HARD CLEAR"; + case undefined: + return "CLEAR"; + default: + throw new InvalidScoreFailure( + `Invalid hardeasy of ${data.mods.hardeasy} while evaluating a 'cleared' score?` + ); + } + + case "combo": + case "comboed": + case "perfect": + case "perfected": + return "FULL COMBO"; + default: + throw new InvalidScoreFailure(`Invalid cleartype of ${data.cleartype}.`); + } +} + +const S3_VERSION_CONV: Record = { + "3rd": "3-cs", + "4th": "4-cs", + "5th": "5-cs", + "6th": "6-cs", + "7th": "7-cs", + "8th": "8-cs", + "9th": "9-cs", + "10th": "10-cs", + red: "11-cs", + hs: "12-cs", + dd: "13-cs", + gold: "14-cs", + djt: "15-cs", + emp: "16-cs", + pb: "16-cs", + us: "bmus", +}; + +function ConvertVersion(joinedStyles: string) { + const styles = joinedStyles.split(","); + + const style = styles[styles.length - 1]; + + if (!style) { + throw new InvalidScoreFailure(`Song has invalid style -- Score has no styles?`); + } + + const maybeConvertedStyle = S3_VERSION_CONV[style]; + + if (!maybeConvertedStyle) { + throw new InvalidScoreFailure(`Song has invalid style ${style}.`); + } + + return maybeConvertedStyle; +} + +export const ConvertFileS3: ConverterFunction = async ( + data, + context, + importType, + _logger +) => { + const song = await FindSongOnTitleInsensitive("iidx", data.songname); + + if (!song) { + throw new KTDataNotFoundFailure( + `Could not find song with title ${data.songname}`, + importType, + data, + context + ); + } + + const { playtype, difficulty } = ParseDifficulty(data.diff); + const version = ConvertVersion(data.styles); + + const chart = await FindChartWithPTDFVersion("iidx", song.id, playtype, difficulty, version); + + if (!chart) { + throw new KTDataNotFoundFailure( + `Could not find chart ${data.songname} (${playtype} ${difficulty} version (${version}))`, + importType, + data, + context + ); + } + + const { percent, grade } = GenericGetGradeAndPercent("iidx", data.exscore, chart); + + const lamp = ResolveS3Lamp(data); + + const timeAchieved = ParseDateFromString(data.date); + + let judgements = {}; + + if (data.scorebreakdown) { + judgements = { + pgreat: data.scorebreakdown.justgreats, + great: data.scorebreakdown.greats, + good: data.scorebreakdown.good, + bad: data.scorebreakdown.bad, + poor: data.scorebreakdown.poor, + }; + } + + const dryScore: DryScore<"iidx:DP" | "iidx:SP"> = { + game: "iidx", + comment: data.comment ?? null, + importType: "file/solid-state-squad", + service: "Solid State Squad", + scoreData: { + percent, + grade, + score: data.exscore, + lamp, + judgements, + hitMeta: {}, + }, + scoreMeta: {}, + timeAchieved, + }; + + return { chart, song, dryScore }; +}; diff --git a/server/src/lib/score-import/import-types/file/solid-state-squad/parser.test.ts b/server/src/lib/score-import/import-types/file/solid-state-squad/parser.test.ts new file mode 100644 index 000000000..52c17f7e9 --- /dev/null +++ b/server/src/lib/score-import/import-types/file/solid-state-squad/parser.test.ts @@ -0,0 +1,261 @@ +import { ParseSolidStateXML } from "./parser"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import { MockMulterFile } from "test-utils/mock-multer"; +import ResetDBState from "test-utils/resets"; +import { GetKTDataBuffer } from "test-utils/test-data"; + +const logger = CreateLogCtx(__filename); + +t.test("#ParseSolidStateXML", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should parse simple, valid S3 XML", (t) => { + const res = ParseSolidStateXML( + MockMulterFile(GetKTDataBuffer("./s3/valid.xml"), "valid.xml"), + {}, + logger + ); + + t.hasStrict( + res.iterable, + [ + { + id: 187, + diff: 7, + songname: "GAMBOL", + styles: "3rd", + exscore: 100, + scorebreakdown: { + justgreats: 25, + greats: 50, + good: 0, + bad: 0, + poor: 4, + }, + mods: { + hardeasy: "H", + }, + cleartype: "cleared", + date: "2010-10-19 04:54:22", + }, + { + id: 187, + diff: "L7", + songname: "GAMBOL", + styles: "3rd", + exscore: 100, + scorebreakdown: { + justgreats: 25, + greats: 50, + good: 0, + bad: 0, + poor: 4, + }, + mods: {}, + cleartype: "perfect", + date: "2010-10-19 04:54:22", + }, + ], + "Should return the right scores in the iterable." + ); + t.equal(res.game, "iidx", "Should return IIDX as the game."); + t.equal(res.classHandler, null, "Should return no class handler."); + t.strictSame(res.context, {}, "Should return no context."); + + t.end(); + }); + + t.test("Should parse S3 XML with a single score", (t) => { + const res = ParseSolidStateXML( + MockMulterFile(GetKTDataBuffer("./s3/one-score.xml"), "one-score.xml"), + {}, + logger + ); + + t.hasStrict( + res.iterable, + [ + { + id: 187, + diff: 7, + songname: "GAMBOL", + styles: "3rd", + exscore: 100, + scorebreakdown: { + justgreats: 50, + greats: 50, + good: 0, + bad: 0, + poor: 4, + }, + mods: {}, + cleartype: "perfect", + date: "2010-10-19 04:54:22", + }, + ], + "Should return the right score in the iterable." + ); + t.equal(res.game, "iidx", "Should return IIDX as the game."); + t.equal(res.classHandler, null, "Should return no class handler."); + t.strictSame(res.context, {}, "Should return no context."); + + t.end(); + }); + + t.test("Should parse S3 XML on the chart .59", (t) => { + const res = ParseSolidStateXML( + MockMulterFile(GetKTDataBuffer("./s3/point-five-nine.xml"), "point-five-nine.xml"), + {}, + logger + ); + + t.hasStrict( + res.iterable, + [ + { + id: 187, + diff: 7, + songname: ".59", + styles: "3rd", + exscore: 100, + scorebreakdown: { + justgreats: 50, + greats: 50, + good: 0, + bad: 0, + poor: 4, + }, + mods: {}, + cleartype: "perfect", + date: "2010-10-19 04:54:22", + }, + ], + "Should return the right score in the iterable." + ); + t.equal(res.game, "iidx", "Should return IIDX as the game."); + t.equal(res.classHandler, null, "Should return no class handler."); + t.strictSame(res.context, {}, "Should return no context."); + + t.end(); + }); + + t.test("Should reject S3 XML with no scores", (t) => { + t.throws( + () => + ParseSolidStateXML( + MockMulterFile(GetKTDataBuffer("./s3/no-score-data.xml"), "no-score-data.xml"), + + {}, + logger + ), + { message: /Invalid S3 XML/u } + ); + + t.end(); + }); + + t.test("Should reject invalid lamps", (t) => { + t.throws( + () => + ParseSolidStateXML( + MockMulterFile(GetKTDataBuffer("./s3/invalid-lamp.xml"), "invalid-lamp.xml"), + {}, + logger + ), + { message: /Invalid S3 XML.*cleartype.*BAD LAMP/u } + ); + + t.end(); + }); + + t.test("Should reject malicious mods", (t) => { + t.throws( + () => + ParseSolidStateXML( + MockMulterFile( + GetKTDataBuffer("./s3/malicious-mods.xml"), + "malicious-mods.xml" + ), + {}, + logger + ), + { message: /Invalid S3 XML.*object.*1/u } + ); + + t.end(); + }); + + t.test("Should reject malicious scorebreakdown", (t) => { + t.throws( + () => + ParseSolidStateXML( + MockMulterFile( + GetKTDataBuffer("./s3/malicious-scorebreakdown.xml"), + "malicious-scorebreakdown.xml" + ), + {}, + logger + ), + { message: /Invalid S3 XML.*object.*1/u } + ); + + t.end(); + }); + + t.test("Should reject invalid exscore", (t) => { + t.throws( + () => + ParseSolidStateXML( + MockMulterFile( + GetKTDataBuffer("./s3/invalid-exscore.xml"), + "invalid-exscore.xml" + ), + {}, + logger + ), + { message: /Invalid S3 XML.*exscore.*positive integer.*-1/u } + ); + + t.end(); + }); + + t.test("Should reject billion laughs", (t) => { + t.setTimeout(5000); + + t.throws( + () => + ParseSolidStateXML( + MockMulterFile( + GetKTDataBuffer("./s3/danger/billion-laughs.xml"), + "billion-laughs.xml" + ), + {}, + logger + ), + { message: /Invalid S3 XML/u } + ); + + t.end(); + }); + + t.test("Should not expand specifically crafted billion laughs", (t) => { + t.setTimeout(5000); + + const res = ParseSolidStateXML( + MockMulterFile( + GetKTDataBuffer("./s3/danger/specific-blaugh.xml"), + "specific-blaugh.xml" + ), + {}, + logger + ); + + // @ts-expect-error shush + t.equal(res.iterable[0].songname, "&lol9;", "Should not expand billion laughs."); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/file/solid-state-squad/parser.ts b/server/src/lib/score-import/import-types/file/solid-state-squad/parser.ts new file mode 100644 index 000000000..8a084063e --- /dev/null +++ b/server/src/lib/score-import/import-types/file/solid-state-squad/parser.ts @@ -0,0 +1,140 @@ +import ScoreImportFatalError from "../../../framework/score-importing/score-import-error"; +import { XMLParser } from "fast-xml-parser"; +import p from "prudence"; +import { FormatPrError } from "utils/prudence"; +import type { ParserFunctionReturns } from "../../common/types"; +import type { S3Score } from "./types"; +import type { KtLogger } from "lib/logger/logger"; +import type { PrudenceSchema } from "prudence"; +import type { EmptyObject } from "utils/types"; + +const PR_SOLID_STATE: PrudenceSchema = { + s3data: { + userdata: { + id: p.isPositiveInteger, + login: "string", + djname: "string", + }, + scoredata: { + song: [ + { + id: p.isPositiveInteger, + diff: p.isIn("L7", 7, "A", "B", 5, "L14", 14, "A14", "B14"), + + // https://github.com/TNG-dev/tachi-server/issues/718 + // The song title '.59' is automatically coerced into a float + // by our XML parser. Despite the fact that it's in a CData field. + // Regardless of the mess that is XML, we need to accept numbers in + // this field, and then convert them back to strings later. + // + // Making a proper solution for this isn't possible, as the bowels + // of the XML parser are inaccessible to us. + // I *hate* XML. + // + // What a disaster. + songname: p.or("string", p.is(0.59)), + styles: "string", + + exscore: p.isPositiveInteger, + scorebreakdown: p.optional({ + justgreats: p.isPositiveInteger, + greats: p.isPositiveInteger, + good: p.isPositiveInteger, + bad: p.isPositiveInteger, + poor: p.isPositiveInteger, + }), + mods: { + hardeasy: p.optional(p.isIn("H", "E")), + }, + cleartype: p.isIn( + "played", + "cleared", + "combo", + "comboed", + "perfect", + "perfected" + ), + date: "string", + + // loads of stuff is ignored from this and just defaults to any because we don't use it. + }, + ], + }, + }, +}; + +const xmlParser = new XMLParser(); + +// .59 is a song that is interpreted as a float by our XML parser. +type PreStringifiedS3Score = Omit & { songname: string | 0.59 }; + +export function ParseSolidStateXML( + fileData: Express.Multer.File, + body: Record, + logger: KtLogger +): ParserFunctionReturns { + let parsedXML; + + try { + // insanely hacky. This XML parser might return anything, but we still need + // to traverse it as if it's normal! + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + parsedXML = xmlParser.parse(fileData.buffer.toString("utf-8")); + } catch (err) { + logger.info("S3 XML Parse Error", err); + + throw new ScoreImportFatalError(400, "Could not parse XML."); + } + + // the XML parser can't understand this is meant to be an array + // if someone only has one score, so we need to override it in that case. + // However, this results in us having to do some painful by-hand validation. + // :( + + // @hack Poor typechecking here, but it's kind of painful any way you slice it. + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access + let maybeSongs: unknown = parsedXML?.s3data?.scoredata?.song; + + if (maybeSongs === undefined) { + throw new ScoreImportFatalError(400, `Invalid S3 XML, no s3data -> scoredata -> song?`); + } + + // If maybeSongs isn't an array, convert it to an array with one element. + // Note that this is **before** we actually validate it's contents! So even if + // this results in something stupid like [null], we still reject it in validation. + if (!Array.isArray(maybeSongs)) { + maybeSongs = [maybeSongs]; + } + + // Our validator checks the entire XML, lets mutate the original object + // (which we know to exist now) + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access + parsedXML.s3data.scoredata.song = maybeSongs; + + const err = p(parsedXML, PR_SOLID_STATE, {}, { allowExcessKeys: true }); + + if (err) { + throw new ScoreImportFatalError(400, FormatPrError(err, "Invalid S3 XML.")); + } + + let scoreData = maybeSongs as Array; + + scoreData = scoreData.map((e) => ({ + ...e, + + // Songnames here are either numbers or strings due to a disgusting hack + // @see #718 + // We forcibly convert all these back to strings. + // Note that we can't even use the generic solution .toString, because the + // song title is .59, not 0.59. + // This is genuinely horrific. + songname: e.songname === 0.59 ? ".59" : e.songname, + })); + + return { + classHandler: null, + context: {}, + iterable: scoreData as Array, + game: "iidx", + }; +} diff --git a/server/src/lib/score-import/import-types/file/solid-state-squad/types.ts b/server/src/lib/score-import/import-types/file/solid-state-squad/types.ts new file mode 100644 index 000000000..754f980d4 --- /dev/null +++ b/server/src/lib/score-import/import-types/file/solid-state-squad/types.ts @@ -0,0 +1,22 @@ +import type { integer } from "tachi-common"; + +export interface S3Score { + id: integer; + diff: "A" | "A14" | "B" | "B14" | "L7" | "L14" | 5 | 7 | 14; + songname: string; + exscore: integer; + styles: string; + scorebreakdown?: { + justgreats: integer; + greats: integer; + good: integer; + bad: integer; + poor: integer; + }; + mods: { + hardeasy?: "E" | "H"; + }; + cleartype: "cleared" | "combo" | "comboed" | "perfect" | "perfected" | "played"; + date: string; + comment?: string; +} diff --git a/server/src/lib/score-import/import-types/ir/barbatos/converter.test.ts b/server/src/lib/score-import/import-types/ir/barbatos/converter.test.ts new file mode 100644 index 000000000..ab8f2e3a0 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/barbatos/converter.test.ts @@ -0,0 +1,119 @@ +import { ConverterIRBarbatos } from "./converter"; +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { MockBarbatosScore } from "test-utils/test-data"; +import type { BarbatosScore } from "./types"; + +const logger = CreateLogCtx(__filename); + +t.test("#ConverterIRBarbatos", (t) => { + t.beforeEach(ResetDBState); + + const albidaSong = { + title: "ALBIDA Powerless Mix", + artist: "無力P", + id: 1, + altTitles: [], + searchTerms: ["albida_muryoku", "アルビダパワーレスミックス"], + data: { + uscEquiv: null, + displayVersion: "booth", + }, + }; + + const albidaChart = { + rgcID: null, + chartID: "5088a4d0e1ee9d0cc2f625934306e45b1a60699b", + difficulty: "ADV", + songID: 1, + playtype: "Single", + levelNum: 10, + level: "10", + data: { + inGameID: 1, + }, + isPrimary: true, + versions: ["booth", "inf", "gw", "heaven", "vivid"], + }; + + t.test("Should convert a BarbatosScore into a Dry Score", async (t) => { + const res = await ConverterIRBarbatos( + MockBarbatosScore, + { timeReceived: 10 }, + "ir/barbatos", + logger + ); + + t.hasStrict(res, { + song: albidaSong, + chart: albidaChart, + dryScore: { + game: "sdvx", + service: "Barbatos", + comment: null, + importType: "ir/barbatos", + + // timeAchieved: , its Date.now() give or take lol + scoreData: { + score: 9000000, + percent: 90, + grade: "A+", + lamp: "CLEAR", + judgements: { + critical: 100, + near: 50, + miss: 5, + }, + hitMeta: { + fast: 40, + slow: 10, + gauge: 90, + maxCombo: 100, + }, + }, + scoreMeta: { + inSkillAnalyser: false, + }, + }, + }); + + t.end(); + }); + + t.test("Should throw KTDataNotFound if chart not found.", (t) => { + t.rejects( + () => + ConverterIRBarbatos( + deepmerge(MockBarbatosScore, { song_id: 1000 }) as BarbatosScore, + { timeReceived: 10 }, + "ir/barbatos", + logger + ), + { + message: /Could not find chart with songID 1000/u, + } + ); + + t.end(); + }); + + t.test("Should throw InternalFailure if song-chart desync.", async (t) => { + // force a song-chart desync + await db.songs.sdvx.remove({ id: 1 }); + + t.rejects( + () => + ConverterIRBarbatos(MockBarbatosScore, { timeReceived: 10 }, "ir/barbatos", logger), + { + message: /Song 1 \(sdvx\) has no parent song/u, + } + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/ir/barbatos/converter.ts b/server/src/lib/score-import/import-types/ir/barbatos/converter.ts new file mode 100644 index 000000000..39346b33d --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/barbatos/converter.ts @@ -0,0 +1,93 @@ +import { + InternalFailure, + KTDataNotFoundFailure, +} from "../../../framework/common/converter-failures"; +import { GenericGetGradeAndPercent } from "../../../framework/common/score-utils"; +import { FindSDVXChartOnInGameID } from "utils/queries/charts"; +import { FindSongOnID } from "utils/queries/songs"; +import type { DryScore } from "../../../framework/common/types"; +import type { ConverterFunction } from "../../common/types"; +import type { BarbatosContext, BarbatosScore } from "./types"; +import type { Lamps } from "tachi-common"; + +const LAMP_LOOKUP = { + 1: "FAILED", + 2: "CLEAR", + 3: "EXCESSIVE CLEAR", + 4: "ULTIMATE CHAIN", + 5: "PERFECT ULTIMATE CHAIN", +}; + +const DIFFICULTY_LOOKUP = { + 0: "NOV", + 1: "ADV", + 2: "EXH", + + // special case for inf/grv/hvn/vvd - which are all the same diff internally. (kinda). + 3: "ANY_INF", + 4: "MXM", +}; + +export const ConverterIRBarbatos: ConverterFunction = async ( + data, + context, + importType, + logger +) => { + const difficulty = DIFFICULTY_LOOKUP[data.difficulty] as + | "ADV" + | "ANY_INF" + | "EXH" + | "MXM" + | "NOV"; + + const chart = await FindSDVXChartOnInGameID(data.song_id, difficulty); + + if (!chart) { + throw new KTDataNotFoundFailure( + `Could not find chart with songID ${data.song_id} (${difficulty})`, + importType, + data, + context + ); + } + + const song = await FindSongOnID("sdvx", chart.songID); + + if (!song) { + logger.severe(`Song ${chart.songID} (sdvx) has no parent song?`); + throw new InternalFailure(`Song ${chart.songID} (sdvx) has no parent song?`); + } + + const { percent, grade } = GenericGetGradeAndPercent("sdvx", data.score, chart); + + const dryScore: DryScore<"sdvx:Single"> = { + game: "sdvx", + service: "Barbatos", + comment: null, + importType: "ir/barbatos", + timeAchieved: context.timeReceived, + scoreData: { + score: data.score, + percent, + grade, + lamp: LAMP_LOOKUP[data.clear_type] as Lamps["sdvx:Single"], + judgements: { + critical: data.critical, + near: data.near_total, + miss: data.error, + }, + hitMeta: { + fast: data.near_fast, + slow: data.near_slow, + gauge: data.percent, + maxCombo: data.max_chain, + }, + }, + scoreMeta: { + inSkillAnalyser: data.is_skill_analyzer, + }, + }; + + return { song, chart, dryScore }; +}; diff --git a/server/src/lib/score-import/import-types/ir/barbatos/parser.test.ts b/server/src/lib/score-import/import-types/ir/barbatos/parser.test.ts new file mode 100644 index 000000000..82d16137d --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/barbatos/parser.test.ts @@ -0,0 +1,36 @@ +import { ParseBarbatosSingle } from "./parser"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { MockBarbatosScore } from "test-utils/test-data"; + +const logger = CreateLogCtx(__filename); + +t.test("#ParseBarbatosSingle", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return the score as a payload", (t) => { + const res = ParseBarbatosSingle( + MockBarbatosScore as unknown as Record, + logger + ); + + t.hasStrict(res, { + game: "sdvx", + context: {}, + iterable: [MockBarbatosScore], + }); + + t.end(); + }); + + t.test("Should reject invalid scores", (t) => { + t.throws(() => ParseBarbatosSingle({}, logger), { + message: "Invalid Barbatos Request", + }); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/ir/barbatos/parser.ts b/server/src/lib/score-import/import-types/ir/barbatos/parser.ts new file mode 100644 index 000000000..12ca598c8 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/barbatos/parser.ts @@ -0,0 +1,43 @@ +import ScoreImportFatalError from "../../../framework/score-importing/score-import-error"; +import p from "prudence"; +import { FormatPrError } from "utils/prudence"; +import type { ParserFunctionReturns } from "../../common/types"; +import type { BarbatosContext, BarbatosScore } from "./types"; +import type { KtLogger } from "lib/logger/logger"; + +const PR_BARBATOS = { + difficulty: p.isIn(1, 2, 3, 4), + level: p.isBoundedInteger(1, 20), + song_id: p.isPositiveInteger, + max_chain: p.isPositiveInteger, + critical: p.isPositiveInteger, + near_total: p.isPositiveInteger, + near_fast: p.isPositiveInteger, + near_slow: p.isPositiveInteger, + score: p.isBoundedInteger(0, 10_000_000), + error: p.isPositiveInteger, + percent: p.isBetween(0, 100), + did_fail: "boolean", + clear_type: p.isIn(1, 2, 3, 4, 5), + gauge_type: p.isIn(0, 1, 2, 3), + is_skill_analyzer: "boolean", +}; + +export function ParseBarbatosSingle( + body: Record, + _logger: KtLogger +): ParserFunctionReturns { + const err = p(body, PR_BARBATOS); + + if (err) { + throw new ScoreImportFatalError(400, FormatPrError(err, "Invalid Barbatos Request")); + } + + // asserted using prudence. + return { + context: { timeReceived: Date.now() }, + game: "sdvx", + iterable: [body] as unknown as Array, + classHandler: null, + }; +} diff --git a/server/src/lib/score-import/import-types/ir/barbatos/types.ts b/server/src/lib/score-import/import-types/ir/barbatos/types.ts new file mode 100644 index 000000000..487d42d71 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/barbatos/types.ts @@ -0,0 +1,23 @@ +import type { integer } from "tachi-common"; + +export interface BarbatosScore { + difficulty: 0 | 1 | 2 | 3 | 4; + level: integer; + song_id: integer; + max_chain: integer; + critical: integer; + near_total: integer; + near_fast: integer; + near_slow: integer; + score: integer; + error: integer; + percent: number; + did_fail: boolean; + clear_type: 1 | 2 | 3 | 4 | 5; + gauge_type: 1 | 2; + is_skill_analyzer: boolean; +} + +export interface BarbatosContext { + timeReceived: number; +} diff --git a/server/src/lib/score-import/import-types/ir/beatoraja/converter.ts b/server/src/lib/score-import/import-types/ir/beatoraja/converter.ts new file mode 100644 index 000000000..12d8e5c01 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/beatoraja/converter.ts @@ -0,0 +1,286 @@ +import { + InternalFailure, + InvalidScoreFailure, + KTDataNotFoundFailure, +} from "../../../framework/common/converter-failures"; +import { GenericGetGradeAndPercent } from "../../../framework/common/score-utils"; +import db from "external/mongo/db"; +import { HandleOrphanQueue } from "lib/orphan-queue/orphan-queue"; +import { ReprocessOrphan } from "lib/score-import/framework/orphans/orphans"; +import { ServerConfig, TachiConfig } from "lib/setup/config"; +import { Random20Hex } from "utils/misc"; +import { GetBlacklist } from "utils/queries/blacklist"; +import { FindChartOnSHA256, FindChartOnSHA256Playtype } from "utils/queries/charts"; +import { FindSongOnID } from "utils/queries/songs"; +import type { DryScore } from "../../../framework/common/types"; +import type { ConverterFunction } from "../../common/types"; +import type { BeatorajaChart, BeatorajaContext, BeatorajaScore } from "./types"; +import type { KtLogger } from "lib/logger/logger"; +import type { ChartDocument, SongDocument, Playtypes } from "tachi-common"; + +const LAMP_LOOKUP = { + NoPlay: "NO PLAY", + Failed: "FAILED", + LightAssistEasy: "ASSIST CLEAR", + Easy: "EASY CLEAR", + Normal: "CLEAR", + Hard: "HARD CLEAR", + ExHard: "EX HARD CLEAR", + FullCombo: "FULL COMBO", + Perfect: "FULL COMBO", + Max: "FULL COMBO", +} as const; + +const RANDOM_LOOKUP = { + 0: "NONRAN", + 1: "MIRROR", + 2: "RANDOM", + 3: "R-RANDOM", + 4: "S-RANDOM", +} as const; + +async function HandleOrphanChartProcess( + game: "bms" | "pms", + data: BeatorajaScore, + context: BeatorajaContext, + logger: KtLogger +) { + const chartName = `${context.chart.artist} (${context.chart.subartist})- ${context.chart.title} (${context.chart.subtitle})`; + + if (context.chart.hasRandom) { + // If you're someone forking tachi looking to remove this + // check, remember to change the entire score import + // framework and database to be able to handle variable notecounts. + logger.verbose(`Declined to orphan chart ${chartName} as it has #RANDOM declarations.`); + throw new InvalidScoreFailure(`${TachiConfig.NAME} will not support #RANDOM charts.`); + } + + let chart; + let criteria; + + if (game === "bms") { + criteria = { + "chartDoc.data.hashSHA256": context.chart.sha256, + }; + + const idString = context.chart.mode === "BEAT_7K" ? "bms:7K" : "bms:14K"; + + const { chartDoc, songDoc } = ConvertBeatorajaChartToTachi( + context.chart, + context.chart.mode === "BEAT_7K" ? "7K" : "14K" + ); + + chart = await HandleOrphanQueue( + idString, + "bms", + chartDoc, + songDoc, + criteria, + ServerConfig.BEATORAJA_QUEUE_SIZE, + context.userID, + chartName + ); + } else { + const playtype = data.deviceType === "BM_CONTROLLER" ? "Controller" : "Keyboard"; + + criteria = { + "chartDoc.data.hashSHA256": context.chart.sha256, + playtype, + }; + + const idString = playtype === "Controller" ? "pms:Controller" : "pms:Keyboard"; + + const { chartDoc, songDoc } = ConvertBeatorajaChartToTachi(context.chart, playtype); + + chart = await HandleOrphanQueue( + idString, + "pms", + chartDoc, + songDoc, + criteria, + ServerConfig.BEATORAJA_QUEUE_SIZE, + context.userID, + chartName + ); + } + + // If chart wasn't unorphaned as a result of this request + // orphan this score and return ktdnf + if (!chart) { + throw new KTDataNotFoundFailure( + `This chart (${context.chart.artist} - ${context.chart.title}) is orphaned.`, + "ir/beatoraja", + data, + context + ); + } + + const blacklist = await GetBlacklist(); + const scoresToDeorphan = await db["orphan-scores"].find(criteria); + + await Promise.all(scoresToDeorphan.map((e) => ReprocessOrphan(e, blacklist, logger))); + + return chart; +} + +// NOTE: This converter handles both PMS and BMS scores. The two are very similar, +// infact, beatoraja barely does anything different between the two. PMS is essentially +// BMS but with the columns set to 9. +export const ConverterIRBeatoraja: ConverterFunction = async ( + data, + context, + importType, + logger +) => { + // ALWAYS USE CHART.LNTYPE, NOT DATA.LNTYPE! + // beatoraja has a bug where IRScore LNTypes are always set to 0. + if (context.chart.lntype !== 0) { + throw new InvalidScoreFailure("CN or HCN mode is not supported by this IR."); + } + + if (context.chart.hasRandom) { + throw new InvalidScoreFailure( + "Charts with #RANDOM declarations are not supported by this IR." + ); + } + + const game = context.chart.mode === "POPN_9K" ? "pms" : "bms"; + + let chart: ChartDocument<"bms:7K" | "bms:14K" | "pms:Controller" | "pms:Keyboard"> | null; + + if (game === "bms") { + chart = (await FindChartOnSHA256(game, data.sha256)) as ChartDocument< + "bms:7K" | "bms:14K" + > | null; + } else { + // It's still called BM_CONTROLLER even though its popn! + const playtype = data.deviceType === "BM_CONTROLLER" ? "Controller" : "Keyboard"; + + chart = (await FindChartOnSHA256Playtype(game, data.sha256, playtype)) as ChartDocument< + "pms:Controller" | "pms:Keyboard" + > | null; + } + + if (!chart) { + chart = await HandleOrphanChartProcess(game, data, context, logger); + } + + if (chart.playtype === "14K" && data.deviceType === "KEYBOARD") { + throw new InvalidScoreFailure(`Keyboard is not supported for 14K scores.`); + } + + const song = await FindSongOnID(game, chart.songID); + + if (!song) { + logger.severe(`Song-Chart Desync with ${game} ${chart.chartID}.`); + throw new InternalFailure(`Song-Chart Desync with ${game} ${chart.chartID}.`); + } + + const { grade, percent } = GenericGetGradeAndPercent(game, data.exscore, chart); + + const hitMeta: DryScore< + "bms:7K" | "bms:14K" | "pms:Controller" | "pms:Keyboard" + >["scoreData"]["hitMeta"] = { + bp: data.minbp === -1 ? null : data.minbp, + gauge: data.gauge === -1 ? null : data.gauge, + }; + + for (const k of [ + "ebd", + "lbd", + "egd", + "lgd", + "egr", + "lgr", + "epg", + "lpg", + "epr", + "lpr", + ] as const) { + hitMeta[k] = data[k]; + } + + hitMeta.epr = hitMeta.epr! + data.ems; + hitMeta.lpr = hitMeta.lpr! + data.lms; + + const judgements = { + [game === "pms" ? "cool" : "pgreat"]: data.epg + data.lpg, + great: data.egr + data.lgr, + good: data.egd + data.lgd, + bad: data.ebd + data.lbd, + poor: data.epr + data.lpr + data.ems + data.lms, + }; + + hitMeta.fast = (["ebd", "egr", "epg", "epr", "ems"] as const).reduce((a, e) => a + data[e], 0); + hitMeta.slow = (["lbd", "lgr", "lpg", "lpr", "lms"] as const).reduce((a, e) => a + data[e], 0); + + let random = null; + + // pms and bms are fine using this randomlookup, except for 14k, which is + // broken in beatoraja. + if (chart.playtype !== "14K") { + random = RANDOM_LOOKUP[data.option]; + } + + const lamp = LAMP_LOOKUP[data.clear]; + + const dryScore: DryScore<"bms:7K" | "bms:14K" | "pms:Controller" | "pms:Keyboard"> = { + comment: null, + game, + importType, + scoreData: { + grade, + percent, + score: data.exscore, + lamp, + hitMeta, + judgements, + }, + scoreMeta: { + client: context.client, + inputDevice: data.deviceType, + random, + }, + timeAchieved: context.timeReceived, + service: "Beatoraja IR", + }; + + return { song, chart, dryScore }; +}; + +function ConvertBeatorajaChartToTachi(chart: BeatorajaChart, playtype: Playtypes["bms" | "pms"]) { + const chartDoc: ChartDocument<"bms:7K" | "bms:14K" | "pms:Controller" | "pms:Keyboard"> = { + chartID: Random20Hex(), + difficulty: "CHART", + isPrimary: true, + level: "?", + levelNum: 0, + playtype, + rgcID: null, + songID: 0, + versions: [], + tierlistInfo: {}, + data: { + hashMD5: chart.md5, + hashSHA256: chart.sha256, + notecount: chart.notes, + tableFolders: [], + }, + }; + + const songDoc: SongDocument<"bms" | "pms"> = { + artist: chart.artist, + title: chart.title, + id: 0, + altTitles: [], + searchTerms: [], + data: { + genre: chart.genre, + subartist: chart.subartist, + subtitle: chart.subtitle, + tableString: null, + }, + }; + + return { songDoc, chartDoc }; +} diff --git a/server/src/lib/score-import/import-types/ir/beatoraja/parser.ts b/server/src/lib/score-import/import-types/ir/beatoraja/parser.ts new file mode 100644 index 000000000..d892c7e44 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/beatoraja/parser.ts @@ -0,0 +1,130 @@ +import ScoreImportFatalError from "../../../framework/score-importing/score-import-error"; +import p from "prudence"; +import { FormatPrError } from "utils/prudence"; +import type { ParserFunctionReturns } from "../../common/types"; +import type { BeatorajaChart, BeatorajaContext, BeatorajaScore } from "./types"; +import type { KtLogger } from "lib/logger/logger"; +import type { integer } from "tachi-common"; + +const PR_BEATORAJA_SCORE = { + sha256: "string", + exscore: p.isPositiveInteger, + passnotes: p.isPositiveInteger, + gauge: p.or(p.isBetween(0, 100), p.is(-1)), + deviceType: p.isIn("BM_CONTROLLER", "KEYBOARD"), + minbp: p.or(p.isPositiveInteger, p.is(-1)), + option: p.isBoundedInteger(0, 4), + + lntype: p.isIn(0, 1), + clear: p.isIn( + "NoPlay", + "Failed", + "LightAssistEasy", + "Easy", + "Normal", + "Hard", + "ExHard", + "FullCombo", + "Perfect", + "Max" + ), + assist: p.is(0), + maxcombo: p.isPositiveInteger, + + epg: p.isPositiveInteger, + egr: p.isPositiveInteger, + egd: p.isPositiveInteger, + ebd: p.isPositiveInteger, + epr: p.isPositiveInteger, + lpg: p.isPositiveInteger, + lgr: p.isPositiveInteger, + lgd: p.isPositiveInteger, + lbd: p.isPositiveInteger, + lpr: p.isPositiveInteger, + ems: p.isPositiveInteger, + lms: p.isPositiveInteger, +}; + +const PR_BEATORAJA_CHART = { + md5: "string", + sha256: "string", + title: "string", + subtitle: "string", + genre: "string", + artist: "string", + subartist: "string", + total: p.isPositive, + lntype: p.isIn(-1, 0, 1, 2), + + // currently only accepted playtypes. + mode: p.isIn("BEAT_7K", "BEAT_14K", "POPN_9K"), + judge: p.isPositive, + notes: p.isPositiveInteger, + hasUndefinedLN: "boolean", + hasRandom: "boolean", +}; + +export function ParseBeatorajaSingle( + body: Record, + userID: integer, + _logger: KtLogger +): ParserFunctionReturns { + const err = p( + body.score, + PR_BEATORAJA_SCORE, + {}, + { allowExcessKeys: true, throwOnNonObject: false } + ); + + if (err) { + throw new ScoreImportFatalError( + 400, + FormatPrError(err, "Invalid Beatoraja Import - Score") + ); + } + + const chartErr = p( + body.chart, + PR_BEATORAJA_CHART, + {}, + { allowExcessKeys: true, throwOnNonObject: false } + ); + + if (chartErr) { + throw new ScoreImportFatalError( + 400, + FormatPrError(chartErr, "Invalid Beatoraja Import - Chart") + ); + } + + // Force stringify this, since it's not validated by prudence. + const client = `${body.client}`; + + const score = body.score as BeatorajaScore; + const chart = body.chart as BeatorajaChart; + + const isPMS = chart.mode === "POPN_9K"; + + const expectedClient = isPMS ? "beatoraja" : "LR2oraja"; + + if (!client.startsWith(expectedClient)) { + throw new ScoreImportFatalError( + 400, + `Unsupported client ${client} -- Expected a variant of ${expectedClient}.` + ); + } + + return { + context: { + client: isPMS ? "beatoraja" : "lr2oraja", + + // asserted using prudence. + chart, + userID, + timeReceived: Date.now(), + }, + game: isPMS ? "pms" : "bms", + iterable: [score], + classHandler: null, + }; +} diff --git a/server/src/lib/score-import/import-types/ir/beatoraja/types.ts b/server/src/lib/score-import/import-types/ir/beatoraja/types.ts new file mode 100644 index 000000000..d2502d992 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/beatoraja/types.ts @@ -0,0 +1,66 @@ +import type { integer } from "tachi-common"; + +export interface BeatorajaContext { + client: "beatoraja" | "lr2oraja"; + chart: BeatorajaChart; + + // unexpectedly necessary for orphan code! + userID: integer; + timeReceived: number; +} + +export interface BeatorajaChart { + md5: string; + sha256: string; + title: string; + subtitle: string; + genre: string; + artist: string; + subartist: string; + total: integer; + + mode: "BEAT_7K" | "BEAT_14K" | "POPN_9K"; + judge: number; + notes: integer; + hasRandom: boolean; + hasUndefinedLN: boolean; + lntype: -1 | 0 | 1 | 2; +} + +export interface BeatorajaScore { + sha256: string; + exscore: integer; + passnotes: integer; + gauge: number; + deviceType: "BM_CONTROLLER" | "KEYBOARD"; + minbp: integer; + option: 0 | 1 | 2 | 3 | 4; + + lntype: 0 | 1; + clear: + | "Easy" + | "ExHard" + | "Failed" + | "FullCombo" + | "Hard" + | "LightAssistEasy" + | "Max" + | "NoPlay" + | "Normal" + | "Perfect"; + assist: 0; + maxcombo: integer; + + epg: integer; + egr: integer; + egd: integer; + ebd: integer; + epr: integer; + lpg: integer; + lgr: integer; + lgd: integer; + lbd: integer; + lpr: integer; + ems: integer; + lms: integer; +} diff --git a/server/src/lib/score-import/import-types/ir/direct-manual/parser.ts b/server/src/lib/score-import/import-types/ir/direct-manual/parser.ts new file mode 100644 index 000000000..662fad70b --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/direct-manual/parser.ts @@ -0,0 +1,19 @@ +import { ParseBatchManualFromObject } from "../../common/batch-manual/parser"; +import type { BatchManualContext } from "../../common/batch-manual/types"; +import type { ParserFunctionReturns } from "../../common/types"; +import type { KtLogger } from "lib/logger/logger"; +import type { BatchManualScore } from "tachi-common"; + +/** + * Parses an object of BATCH-MANUAL data. + * @param fileData - The buffer to parse. + * @param body - The request body that made this file import request. + */ +function ParseDirectManual( + body: Record, + logger: KtLogger +): ParserFunctionReturns { + return ParseBatchManualFromObject(body, "ir/direct-manual", logger); +} + +export default ParseDirectManual; diff --git a/server/src/lib/score-import/import-types/ir/fervidex-static/class-handler.test.ts b/server/src/lib/score-import/import-types/ir/fervidex-static/class-handler.test.ts new file mode 100644 index 000000000..55bc6ae83 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/fervidex-static/class-handler.test.ts @@ -0,0 +1,64 @@ +import { CreateFerStaticClassHandler } from "./class-handler"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import type { Playtype } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +t.test("#FerStaticClassHandler", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should curry a function", (t) => { + const res = CreateFerStaticClassHandler({ sp_dan: 1 }); + + t.equal(typeof res, "function"); + + t.end(); + }); + + t.test("Should work with no dans", (t) => { + const res = CreateFerStaticClassHandler({})("iidx", "SP", 1, {}, logger); + + t.equal(res, undefined, "Should return nothing."); + + t.end(); + }); + + t.test("Should update the same dan as the playtype.", (t) => { + const fn = CreateFerStaticClassHandler({ sp_dan: 5, dp_dan: 7 }); + const res = fn("iidx", "SP", 1, {}, logger); + + t.strictSame(res, { dan: 5 }, "Should return SP dan's value."); + + const res2 = fn("iidx", "DP", 1, {}, logger); + + t.strictSame(res2, { dan: 7 }, "Should return DP dan's value."); + + t.end(); + }); + + t.test("Should skip if dan is invalid.", (t) => { + const fn = CreateFerStaticClassHandler({ sp_dan: -1, dp_dan: 100 }); + const res = fn("iidx", "SP", 1, {}, logger); + + t.equal(res, undefined, "Should skip SP dan's value."); + + const res2 = fn("iidx", "DP", 1, {}, logger); + + t.equal(res2, undefined, "Should skip DP dan's value."); + + t.end(); + }); + + t.test("Should skip if playtype is invalid", (t) => { + const fn = CreateFerStaticClassHandler({ sp_dan: 5, dp_dan: 7 }); + const res = fn("iidx", "INVALID" as Playtype, 1, {}, logger); + + t.equal(res, undefined, "Should skip over as a failsafe."); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/ir/fervidex-static/class-handler.ts b/server/src/lib/score-import/import-types/ir/fervidex-static/class-handler.ts new file mode 100644 index 000000000..632c6f5bb --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/fervidex-static/class-handler.ts @@ -0,0 +1,39 @@ +import type { ClassHandler } from "../../../framework/user-game-stats/types"; +import type { integer } from "tachi-common"; + +export function CreateFerStaticClassHandler(body: Record): ClassHandler { + return (game, playtype, userID, ratings, logger) => { + let index; + + if (playtype === "SP") { + index = body.sp_dan; + } else if (playtype === "DP") { + index = body.dp_dan; + } else { + logger.warn( + `Invalid playtype ${playtype} passed to FerStaticClassHandler. Attempting to continue.` + ); + return; + } + + if (index === undefined) { + return; + } + + if (!Number.isInteger(index)) { + logger.info(`received invalid fer-static class of ${index} (${playtype}).`, { body }); + return; + } + + const intIndex = index as integer; + + if (intIndex < 0 || intIndex > 18) { + logger.warn(`Invalid fer-static class of ${index}. Skipping.`); + return; + } + + return { + dan: intIndex, + }; + }; +} diff --git a/server/src/lib/score-import/import-types/ir/fervidex-static/converter.test.ts b/server/src/lib/score-import/import-types/ir/fervidex-static/converter.test.ts new file mode 100644 index 000000000..b241dd1a2 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/fervidex-static/converter.test.ts @@ -0,0 +1,5 @@ +import t from "tap"; + +t.todo("#ConverterIRFervidexStatic", (t) => { + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/ir/fervidex-static/converter.ts b/server/src/lib/score-import/import-types/ir/fervidex-static/converter.ts new file mode 100644 index 000000000..758f40fe6 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/fervidex-static/converter.ts @@ -0,0 +1,70 @@ +import { + InternalFailure, + KTDataNotFoundFailure, +} from "../../../framework/common/converter-failures"; +import { GenericGetGradeAndPercent } from "../../../framework/common/score-utils"; +import { FERVIDEX_LAMP_LOOKUP, SplitFervidexChartRef } from "../fervidex/converter"; +import { FindChartOnInGameIDVersion } from "utils/queries/charts"; +import { FindSongOnID } from "utils/queries/songs"; +import type { DryScore } from "../../../framework/common/types"; +import type { ConverterFunction } from "../../common/types"; +import type { FervidexStaticContext, FervidexStaticScore } from "./types"; +import type { Lamps } from "tachi-common"; + +export const ConverterIRFervidexStatic: ConverterFunction< + FervidexStaticScore, + FervidexStaticContext +> = async (data, context, importType, logger) => { + const { difficulty, playtype } = SplitFervidexChartRef(data.chart); + + const chart = await FindChartOnInGameIDVersion( + "iidx", + data.song_id, + playtype, + difficulty, + context.version + ); + + if (!chart) { + throw new KTDataNotFoundFailure( + `Could not find chart with songID ${data.song_id} (${playtype} ${difficulty} Version ${context.version})`, + importType, + data, + context + ); + } + + const song = await FindSongOnID("iidx", chart.songID); + + if (!song) { + logger.severe(`Song ${chart.songID} (iidx) has no parent song?`); + throw new InternalFailure(`Song ${chart.songID} (iidx) has no parent song?`); + } + + const { percent, grade } = GenericGetGradeAndPercent("iidx", data.ex_score, chart); + + const hitMeta: { bp?: number | null } = {}; + + if (data.miss_count !== undefined) { + hitMeta.bp = data.miss_count === -1 ? null : data.miss_count; + } + + const dryScore: DryScore<"iidx:DP" | "iidx:SP"> = { + game: "iidx", + service: "Fervidex Static", + comment: null, + importType: "ir/fervidex-static", + timeAchieved: null, + scoreData: { + score: data.ex_score, + percent, + grade, + lamp: FERVIDEX_LAMP_LOOKUP[data.clear_type] as Lamps["iidx:DP" | "iidx:SP"], + judgements: {}, + hitMeta, + }, + scoreMeta: {}, + }; + + return { song, chart, dryScore }; +}; diff --git a/server/src/lib/score-import/import-types/ir/fervidex-static/parser.test.ts b/server/src/lib/score-import/import-types/ir/fervidex-static/parser.test.ts new file mode 100644 index 000000000..fcc6d2aec --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/fervidex-static/parser.test.ts @@ -0,0 +1,183 @@ +import { ParseFervidexStatic } from "./parser"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { FervidexStaticBase, GetKTDataJSON } from "test-utils/test-data"; + +const logger = CreateLogCtx(__filename); + +t.test("#ParseFervidexStatic", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should parse static data from body", (t) => { + const res = ParseFervidexStatic( + FervidexStaticBase, + { model: "LDJ:J:B:A:2020092900" }, + logger + ); + + t.strictSame(res.iterable, [ + { + song_id: 1000, + chart: "spa", + clear_type: 4, + ex_score: 1180, + miss_count: 40, + }, + { + song_id: 1000, + chart: "spn", + clear_type: 7, + ex_score: 158, + miss_count: 0, + }, + { + song_id: 1001, + chart: "dph", + clear_type: 3, + ex_score: 15, + miss_count: 1, + }, + ]); + + t.hasStrict(res, { + context: { version: "27" }, + game: "iidx", + }); + + t.end(); + }); + + t.test("Should throw an error if no body.scores is present", (t) => { + t.throws( + () => ParseFervidexStatic({}, { model: "LDJ:J:B:A:2020092900" }, logger), + "Invalid body.scores" + ); + + t.end(); + }); + + t.test("Should throw an error if songID or its value is nonsense", (t) => { + t.throws( + () => + ParseFervidexStatic( + { scores: { nonsenseKey: {} } }, + { model: "LDJ:J:B:A:2020092900" }, + logger + ), + "Invalid songID nonsenseKey" + ); + + t.throws( + () => + ParseFervidexStatic( + { scores: { 1000: null } }, + { model: "LDJ:J:B:A:2020092900" }, + logger + ), + "Invalid score with songID 1000" + ); + + t.end(); + }); + + t.test("Should throw an error if songID has no score", (t) => { + t.throws( + () => + ParseFervidexStatic( + { scores: { 1000: { spn: null } } }, + { model: "LDJ:J:B:A:2020092900" }, + logger + ), + "Invalid score with songID 1000" + ); + + t.throws( + () => + ParseFervidexStatic( + { scores: { 1000: { spn: undefined } } }, + { model: "LDJ:J:B:A:2020092900" }, + logger + ), + "Invalid score with songID 1000" + ); + + t.throws( + () => + ParseFervidexStatic( + { scores: { 1000: { spn: "foo" } } }, + { model: "LDJ:J:B:A:2020092900" }, + logger + ), + "Invalid score with songID 1000" + ); + + t.end(); + }); + + t.test("Should throw an error if the score->chart document is invalid", (t) => { + t.throws( + () => + ParseFervidexStatic( + { + scores: { + 1000: { spn: { ex_score: -1, miss_count: null, clear_type: 0 } }, + }, + }, + { model: "LDJ:J:B:A:2020092900" }, + logger + ), + "Invalid score with songID 1000 at chart spn" + ); + + t.throws( + () => + ParseFervidexStatic( + { + scores: { + 1000: { spn: { ex_score: 1000, miss_count: "foo", clear_type: 0 } }, + }, + }, + { model: "LDJ:J:B:A:2020092900" }, + logger + ), + "Invalid score with songID 1000 at chart spn" + ); + + t.throws( + () => + ParseFervidexStatic( + { + scores: { + 1000: { spn: { ex_score: 1000, miss_count: null, clear_type: -1 } }, + }, + }, + { model: "LDJ:J:B:A:2020092900" }, + logger + ), + "Invalid score with songID 1000 at chart spn" + ); + + t.end(); + }); + + t.test("Should throw an error if the chart name is invalid", (t) => { + t.throws( + () => + ParseFervidexStatic( + { + scores: { + 1000: { spx: { ex_score: 1000, miss_count: null, clear_type: 0 } }, + }, + }, + { model: "LDJ:J:B:A:2020092900" }, + logger + ), + "Invalid chart spx" + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/ir/fervidex-static/parser.ts b/server/src/lib/score-import/import-types/ir/fervidex-static/parser.ts new file mode 100644 index 000000000..0865ea4d9 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/fervidex-static/parser.ts @@ -0,0 +1,85 @@ +import { CreateFerStaticClassHandler } from "./class-handler"; +import { AssertStrAsPositiveInt } from "../../../framework/common/string-asserts"; +import ScoreImportFatalError from "../../../framework/score-importing/score-import-error"; +import { SoftwareIDToVersion } from "../fervidex/parser"; +import p from "prudence"; +import { IsRecord } from "utils/misc"; +import { FormatPrError } from "utils/prudence"; +import type { ParserFunctionReturns } from "../../common/types"; +import type { FerHeaders } from "../fervidex/parser"; +import type { FervidexStaticContext, FervidexStaticScore } from "./types"; +import type { KtLogger } from "lib/logger/logger"; +import type { PrudenceSchema } from "prudence"; + +const PR_FERVIDEX_STATIC: PrudenceSchema = { + ex_score: p.isPositiveInteger, + miss_count: p.optional(p.nullable(p.or(p.isPositiveInteger, p.is(-1)))), + clear_type: p.isBoundedInteger(0, 7), +}; + +export function ParseFervidexStatic( + body: Record, + headers: FerHeaders, + logger: KtLogger +): ParserFunctionReturns { + const version = SoftwareIDToVersion(headers.model, logger); + + const staticScores = body.scores; + + if (!IsRecord(staticScores)) { + throw new ScoreImportFatalError(400, `Invalid body.scores.`); + } + + const scores: Array = []; + + for (const [songID, subScores] of Object.entries(staticScores)) { + const intSongID = AssertStrAsPositiveInt(songID, `Invalid songID ${songID}.`); + + if (!IsRecord(subScores)) { + throw new ScoreImportFatalError(400, `Invalid score with songID ${songID}.`); + } + + for (const [chart, score] of Object.entries(subScores)) { + if (!IsRecord(score)) { + throw new ScoreImportFatalError( + 400, + `Invalid score with songID ${songID} at chart ${chart}.` + ); + } + + if (!["spb", "spn", "dpn", "sph", "dph", "spa", "dpa", "spl", "dpl"].includes(chart)) { + throw new ScoreImportFatalError(400, `Invalid chart ${chart}.`); + } + + const err = p(score, PR_FERVIDEX_STATIC); + + if (err) { + throw new ScoreImportFatalError( + 400, + FormatPrError(err, `Invalid Score with songID ${songID} at chart ${chart}`) + ); + } + + // is asserted by prudence. + const sc = score as unknown as FervidexStaticScore; + + scores.push({ + song_id: intSongID, + + // is asserted with the above "spb"... check + chart: chart as FervidexStaticScore["chart"], + clear_type: sc.clear_type, + ex_score: sc.ex_score, + miss_count: sc.miss_count === undefined ? null : sc.miss_count, + }); + } + } + + // asserted using prudence. + return { + context: { version }, + game: "iidx", + iterable: scores, + classHandler: CreateFerStaticClassHandler(body), + }; +} diff --git a/server/src/lib/score-import/import-types/ir/fervidex-static/types.ts b/server/src/lib/score-import/import-types/ir/fervidex-static/types.ts new file mode 100644 index 000000000..625940b6e --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/fervidex-static/types.ts @@ -0,0 +1,15 @@ +import type { GPTSupportedVersions, integer } from "tachi-common"; + +export interface FervidexStaticScore { + clear_type: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7; + ex_score: integer; + + // This refers to BP, not combo breaks. + miss_count?: integer | null; + chart: `${"dp" | "sp"}${"a" | "b" | "h" | "l" | "n"}`; + song_id: integer; +} + +export interface FervidexStaticContext { + version: GPTSupportedVersions["iidx:DP" | "iidx:SP"]; +} diff --git a/server/src/lib/score-import/import-types/ir/fervidex/converter.test.ts b/server/src/lib/score-import/import-types/ir/fervidex/converter.test.ts new file mode 100644 index 000000000..0fb40d92d --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/fervidex/converter.test.ts @@ -0,0 +1,318 @@ +import { + ConverterIRFervidex, + SplitFervidexChartRef, + TachifyAssist, + TachifyGauge, + TachifyRandom, + TachifyRange, +} from "./converter"; +import { InternalFailure } from "../../../framework/common/converter-failures"; +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { Testing511Song, Testing511SPA } from "test-utils/test-data"; +import type { FervidexScore } from "./types"; + +const logger = CreateLogCtx(__filename); + +t.test("#SplitFervidexChartRef", (t) => { + t.strictSame(SplitFervidexChartRef("spb"), { playtype: "SP", difficulty: "BEGINNER" }); + t.strictSame(SplitFervidexChartRef("spn"), { playtype: "SP", difficulty: "NORMAL" }); + t.strictSame(SplitFervidexChartRef("sph"), { playtype: "SP", difficulty: "HYPER" }); + t.strictSame(SplitFervidexChartRef("spa"), { playtype: "SP", difficulty: "ANOTHER" }); + t.strictSame(SplitFervidexChartRef("spl"), { playtype: "SP", difficulty: "LEGGENDARIA" }); + t.strictSame(SplitFervidexChartRef("dpn"), { playtype: "DP", difficulty: "NORMAL" }); + t.strictSame(SplitFervidexChartRef("dph"), { playtype: "DP", difficulty: "HYPER" }); + t.strictSame(SplitFervidexChartRef("dpa"), { playtype: "DP", difficulty: "ANOTHER" }); + t.strictSame(SplitFervidexChartRef("dpl"), { playtype: "DP", difficulty: "LEGGENDARIA" }); + + t.throws( + () => SplitFervidexChartRef("INVALID" as "spn"), + new InternalFailure(`Invalid fervidex difficulty of INVALID`) + ); + + t.end(); +}); + +t.test("#TachifyAssist", (t) => { + t.equal(TachifyAssist("ASCR_LEGACY"), "FULL ASSIST"); + t.equal(TachifyAssist("AUTO_SCRATCH"), "AUTO SCRATCH"); + t.equal(TachifyAssist("FULL_ASSIST"), "FULL ASSIST"); + t.equal(TachifyAssist("LEGACY_NOTE"), "LEGACY NOTE"); + t.equal(TachifyAssist(null), "NO ASSIST"); + t.equal(TachifyAssist(undefined), "NO ASSIST"); + + t.end(); +}); + +t.test("#TachifyGauge", (t) => { + t.equal(TachifyGauge("ASSISTED_EASY"), "ASSISTED EASY"); + t.equal(TachifyGauge("EASY"), "EASY"); + t.equal(TachifyGauge("HARD"), "HARD"); + t.equal(TachifyGauge("EX_HARD"), "EX-HARD"); + t.equal(TachifyGauge(null), "NORMAL"); + t.equal(TachifyGauge(undefined), "NORMAL"); + + t.end(); +}); + +t.test("#TachifyRange", (t) => { + t.equal(TachifyRange("HIDDEN_PLUS"), "HIDDEN+"); + t.equal(TachifyRange("LIFT"), "LIFT"); + t.equal(TachifyRange("LIFT_SUD_PLUS"), "LIFT SUD+"); + t.equal(TachifyRange("SUDDEN_PLUS"), "SUDDEN+"); + t.equal(TachifyRange("SUD_PLUS_HID_PLUS"), "SUD+ HID+"); + t.equal(TachifyRange(null), "NONE"); + t.equal(TachifyRange(undefined), "NONE"); + + t.end(); +}); + +t.test("#TachifyRandom", (t) => { + t.equal(TachifyRandom("MIRROR"), "MIRROR"); + t.equal(TachifyRandom("R_RANDOM"), "R-RANDOM"); + t.equal(TachifyRandom("S_RANDOM"), "S-RANDOM"); + t.equal(TachifyRandom("RANDOM"), "RANDOM"); + t.equal(TachifyRandom(null), "NONRAN"); + t.equal(TachifyRandom(undefined), "NONRAN"); + + t.end(); +}); + +const baseFervidexScore: FervidexScore = { + bad: 0, + chart: "spa", + clear_type: 1, + combo_break: 6, + custom: false, + chart_sha256: "asdfasdf", + entry_id: 1000, + ex_score: 68, + fast: 0, + gauge: [100, 50], + ghost: [0, 2], + good: 0, + great: 0, + max_combo: 34, + option: { + gauge: "HARD", + range: "SUDDEN_PLUS", + style: "RANDOM", + }, + pacemaker: { + name: "", + score: 363, + type: "PACEMAKER_A", + }, + pgreat: 34, + poor: 6, + slow: 0, +}; + +const baseDryScore = { + game: "iidx", + service: "Fervidex", + comment: null, + importType: "ir/fervidex", + scoreData: { + score: 68, + percent: 4.325699745547074, + grade: "F", + lamp: "FAILED", + judgements: { + pgreat: 34, + great: 0, + good: 0, + bad: 0, + poor: 6, + }, + hitMeta: { + fast: 0, + slow: 0, + maxCombo: null, + gaugeHistory: [100, 50], + gauge: 50, + bp: 6, + comboBreak: 6, + gsm: undefined, + }, + }, + scoreMeta: { + assist: "NO ASSIST", + gauge: "HARD", + random: "RANDOM", + range: "SUDDEN+", + }, +}; + +t.test("#ConverterIRFervidex", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should convert a valid fervidex score into a dry score.", async (t) => { + const res = await ConverterIRFervidex( + baseFervidexScore, + { version: "27", timeReceived: 10 }, + "ir/fervidex", + logger + ); + + t.hasStrict( + res, + { + song: Testing511Song, + chart: Testing511SPA, + dryScore: baseDryScore, + }, + "Should return a dry score." + ); + + t.end(); + }); + + t.test("Should turn DP randoms into tuples.", async (t) => { + // lazily clone the SPA as a DPA. + + const Testing511DPA = deepmerge(Testing511SPA, { + playtype: "DP", + chartID: "dp_test", + data: { arcChartID: "dp_test" }, + }); + + await db.charts.iidx.insert(Testing511DPA); + + // @ts-expect-error apparantly this prop isnt optional. but i'm sure it is. + delete Testing511DPA._id; + + const res = await ConverterIRFervidex( + deepmerge(baseFervidexScore, { option: { style_2p: "R_RANDOM" }, chart: "dpa" }), + { version: "27", timeReceived: 10 }, + "ir/fervidex", + logger + ); + + t.hasStrict( + res, + { + song: Testing511Song, + chart: Testing511DPA, + dryScore: deepmerge(baseDryScore, { + scoreMeta: { random: ["RANDOM", "R-RANDOM"] }, + }), + }, + "Should return a dry score." + ); + + t.end(); + }); + + t.test("Should null BP if the user died pre-emptively.", async (t) => { + const res = await ConverterIRFervidex( + deepmerge(baseFervidexScore, { dead: { measure: 1, note: 10 } }), + { version: "27", timeReceived: 10 }, + "ir/fervidex", + logger + ); + + t.hasStrict( + res, + { + song: Testing511Song, + chart: Testing511SPA, + dryScore: deepmerge(baseDryScore, { scoreData: { hitMeta: { bp: null } } }), + }, + "Should return a dry score." + ); + + t.end(); + }); + + t.test("Should reject scores on unknown charts", (t) => { + t.rejects( + ConverterIRFervidex( + deepmerge(baseFervidexScore, { chart: "spl" }), + { version: "27", timeReceived: 10 }, + "ir/fervidex", + logger + ), + /could not find chart/giu + ); + + t.end(); + }); + + t.test("Should throw internal failure on chart-song desync", async (t) => { + // this forces desync + await db.songs.iidx.remove({}); + + t.rejects( + ConverterIRFervidex( + baseFervidexScore, + { version: "27", timeReceived: 10 }, + "ir/fervidex", + logger + ), + /Song 1 \(iidx\) has no parent song/giu + ); + + t.end(); + }); + + t.test("Should throw invalid score on percent > 100.", (t) => { + t.rejects( + ConverterIRFervidex( + // eslint-disable-next-line lines-around-comment + // @ts-expect-error eternally broken deepmerge + deepmerge(baseFervidexScore, { ex_score: 9999 }), + { version: "27" }, + "ir/fervidex", + logger + ), + /Invalid percent/giu + ); + + t.end(); + }); + + t.test("Should throw invalid score on gauge > 100.", (t) => { + t.rejects( + ConverterIRFervidex( + // eslint-disable-next-line lines-around-comment + // @ts-expect-error eternally broken deepmerge + deepmerge(baseFervidexScore, { gauge: [150] }), + { version: "27" }, + "ir/fervidex", + logger + ), + /Invalid value of gauge 150./giu + ); + + t.end(); + }); + + t.test("Should convert undeflow gauge to null.", async (t) => { + const res = await ConverterIRFervidex( + deepmerge(baseFervidexScore, { gauge: [10, 5, 249, 248] }) as FervidexScore, + { version: "27", timeReceived: 10 }, + "ir/fervidex", + logger + ); + + t.hasStrict( + res, + { + song: Testing511Song, + chart: Testing511SPA, + dryScore: deepmerge(baseDryScore, { + scoreData: { hitMeta: { gauge: null, gaugeHistory: [10, 5, null, null] } }, + }), + }, + "Should return a dry score." + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/ir/fervidex/converter.ts b/server/src/lib/score-import/import-types/ir/fervidex/converter.ts new file mode 100644 index 000000000..11529ff43 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/fervidex/converter.ts @@ -0,0 +1,245 @@ +import { + InternalFailure, + InvalidScoreFailure, + KTDataNotFoundFailure, +} from "../../../framework/common/converter-failures"; +import { GenericGetGradeAndPercent } from "../../../framework/common/score-utils"; +import { IsNullishOrEmptyStr } from "utils/misc"; +import { FindIIDXChartOnInGameIDVersion, FindIIDXChartWith2DXtraHash } from "utils/queries/charts"; +import { FindSongOnID } from "utils/queries/songs"; +import type { DryScore } from "../../../framework/common/types"; +import type { ConverterFunction } from "../../common/types"; +import type { FervidexContext, FervidexScore } from "./types"; +import type { Difficulties, Lamps, Playtypes } from "tachi-common"; + +export const FERVIDEX_LAMP_LOOKUP = { + 0: "NO PLAY", + 1: "FAILED", + 2: "ASSIST CLEAR", + 3: "EASY CLEAR", + 4: "CLEAR", + 5: "HARD CLEAR", + 6: "EX HARD CLEAR", + 7: "FULL COMBO", +}; + +export function TachifyAssist( + assist: Required["option"]["assist"] +): DryScore<"iidx:DP" | "iidx:SP">["scoreMeta"]["assist"] { + switch (assist) { + case "FULL_ASSIST": + case "ASCR_LEGACY": + return "FULL ASSIST"; + case "AUTO_SCRATCH": + return "AUTO SCRATCH"; + case "LEGACY_NOTE": + return "LEGACY NOTE"; + case null: + case undefined: + return "NO ASSIST"; + } +} + +export function TachifyGauge( + gauge: Required["option"]["gauge"] +): DryScore<"iidx:DP" | "iidx:SP">["scoreMeta"]["gauge"] { + switch (gauge) { + case "ASSISTED_EASY": + return "ASSISTED EASY"; + case "EASY": + return "EASY"; + case "EX_HARD": + return "EX-HARD"; + case "HARD": + return "HARD"; + case null: + case undefined: + return "NORMAL"; + } +} + +export function TachifyRange( + gauge: Required["option"]["range"] +): DryScore<"iidx:DP" | "iidx:SP">["scoreMeta"]["range"] { + switch (gauge) { + case "HIDDEN_PLUS": + return "HIDDEN+"; + case "LIFT": + return "LIFT"; + case "LIFT_SUD_PLUS": + return "LIFT SUD+"; + case "SUDDEN_PLUS": + return "SUDDEN+"; + case "SUD_PLUS_HID_PLUS": + return "SUD+ HID+"; + case null: + case undefined: + return "NONE"; + } +} + +export function TachifyRandom(gauge: Required["option"]["style"]) { + switch (gauge) { + case "RANDOM": + return "RANDOM"; + case "S_RANDOM": + return "S-RANDOM"; + case "R_RANDOM": + return "R-RANDOM"; + case "MIRROR": + return "MIRROR"; + case null: + case undefined: + return "NONRAN"; + } +} + +export function SplitFervidexChartRef(ferDif: FervidexScore["chart"]) { + let playtype: Playtypes["iidx"]; + + if (ferDif.startsWith("sp")) { + playtype = "SP"; + } else { + playtype = "DP"; + } + + let difficulty: Difficulties["iidx:DP" | "iidx:SP"]; + + switch (ferDif[ferDif.length - 1]) { + case "b": { + difficulty = "BEGINNER"; + break; + } + + case "n": { + difficulty = "NORMAL"; + break; + } + + case "h": { + difficulty = "HYPER"; + break; + } + + case "a": { + difficulty = "ANOTHER"; + break; + } + + case "l": { + difficulty = "LEGGENDARIA"; + break; + } + + default: + throw new InternalFailure(`Invalid fervidex difficulty of ${ferDif}`); + } + + return { playtype, difficulty }; +} + +export const ConverterIRFervidex: ConverterFunction = async ( + data, + context, + importType, + logger +) => { + const { difficulty, playtype } = SplitFervidexChartRef(data.chart); + + let chart; + + if (data.custom === true) { + if (IsNullishOrEmptyStr(data.chart_sha256)) { + throw new InvalidScoreFailure("Score has no chart_sha256 but is a custom?"); + } + + chart = await FindIIDXChartWith2DXtraHash(data.chart_sha256); + } else { + chart = await FindIIDXChartOnInGameIDVersion( + data.entry_id, + playtype, + difficulty, + context.version + ); + } + + if (!chart) { + throw new KTDataNotFoundFailure( + `Could not find chart with songID ${data.entry_id} (${playtype} ${difficulty} [${context.version}])`, + importType, + data, + context + ); + } + + const song = await FindSongOnID("iidx", chart.songID); + + if (!song) { + logger.severe(`Song ${chart.songID} (iidx) has no parent song?`); + throw new InternalFailure(`Song ${chart.songID} (iidx) has no parent song?`); + } + + const gaugeHistory = data.gauge.map((e) => (e > 200 ? null : e)); + + const gauge = gaugeHistory[gaugeHistory.length - 1]; + + // If gauge exists and is greater than 100 + // must be invalid + if ((gauge ?? 0) > 100) { + throw new InvalidScoreFailure(`Invalid value of gauge ${gauge}.`); + } + + const { percent, grade } = GenericGetGradeAndPercent("iidx", data.ex_score, chart); + + let bp: number | null = data.bad + data.poor; + + if (data.dead) { + bp = null; + } + + const dryScore: DryScore<"iidx:DP" | "iidx:SP"> = { + game: "iidx", + service: "Fervidex", + comment: null, + importType: "ir/fervidex", + timeAchieved: context.timeReceived, + scoreData: { + score: data.ex_score, + percent, + grade, + lamp: FERVIDEX_LAMP_LOOKUP[data.clear_type] as Lamps["iidx:DP" | "iidx:SP"], + judgements: { + pgreat: data.pgreat, + great: data.great, + good: data.good, + bad: data.bad, + poor: data.poor, + }, + hitMeta: { + fast: data.fast, + slow: data.slow, + maxCombo: null, + gaugeHistory, + scoreHistory: data.ghost, + gauge, + bp, + comboBreak: data.combo_break, + gsm: data["2dx-gsm"], + }, + }, + scoreMeta: { + assist: TachifyAssist(data.option?.assist), + gauge: TachifyGauge(data.option?.gauge), + + // @ts-expect-error Awkward expansion of iidx:SP|DP strings here causes this + // to complain that [x,x] is not assignable to SP randoms. This is a lazy ignore! + random: + chart.playtype === "SP" + ? TachifyRandom(data.option?.style) + : [TachifyRandom(data.option?.style), TachifyRandom(data.option?.style_2p)], + range: TachifyRange(data.option?.range), + }, + }; + + return { song, chart, dryScore }; +}; diff --git a/server/src/lib/score-import/import-types/ir/fervidex/parser.test.ts b/server/src/lib/score-import/import-types/ir/fervidex/parser.test.ts new file mode 100644 index 000000000..2af8e24b0 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/fervidex/parser.test.ts @@ -0,0 +1,33 @@ +import { SoftwareIDToVersion } from "./parser"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; + +const logger = CreateLogCtx(__filename); + +t.test("#SoftwareIDToVersion", (t) => { + const f = (sid: string) => SoftwareIDToVersion(sid, logger); + + t.throws(() => f("a"), {}, "Should throw on invalid string."); + t.throws(() => f("LDJ:J:B:Q:2020092900"), {}, "Should throw on unknown HV revision."); + t.throws(() => f("LDJ:J:B:Q:2021091500"), {}, "Should throw on unknown BST revision."); + t.throws(() => f("XDJ:J:B:A:2020092900"), {}, "Should throw on unknown model."); + t.throws(() => f("LDJ:J:B:A:2099092900"), {}, "Should throw on unknown ext."); + + t.equal(f("LDJ:J:B:A:2020092900"), "27"); + t.equal(f("LDJ:J:B:X:2020092900"), "27-omni"); + t.equal(f("LDJ:J:B:E:2020092900"), "27-2dxtra"); + t.equal(f("LDJ:J:B:A:2021091500"), "28"); + t.equal(f("LDJ:J:B:X:2021091500"), "28-omni"); + t.equal(f("LDJ:J:B:E:2021091500"), "28-2dxtra"); + + t.equal(f("TDJ:J:B:A:2020092900"), "27"); + t.equal(f("TDJ:J:B:X:2020092900"), "27-omni"); + t.equal(f("TDJ:J:B:E:2020092900"), "27-2dxtra"); + t.equal(f("TDJ:J:B:A:2021091500"), "28"); + t.equal(f("TDJ:J:B:X:2021091500"), "28-omni"); + t.equal(f("TDJ:J:B:E:2021091500"), "28-2dxtra"); + + t.equal(f("P2D:J:B:A:2020092900"), "inf"); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/ir/fervidex/parser.ts b/server/src/lib/score-import/import-types/ir/fervidex/parser.ts new file mode 100644 index 000000000..0866f5c9a --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/fervidex/parser.ts @@ -0,0 +1,136 @@ +import ScoreImportFatalError from "../../../framework/score-importing/score-import-error"; +import { + EXT_BISTROVER, + EXT_HEROIC_VERSE, + MODEL_IIDX, + MODEL_IIDX_LIGHTNING, + MODEL_INFINITAS_2, + REV_2DXTRA, + REV_NORMAL, + REV_OMNIMIX, +} from "lib/constants/ea3id"; +import p from "prudence"; +import { ParseEA3SoftID } from "utils/ea3id"; +import { FormatPrError, optNull } from "utils/prudence"; +import type { ParserFunctionReturns } from "../../common/types"; +import type { FervidexContext, FervidexScore } from "./types"; +import type { KtLogger } from "lib/logger/logger"; +import type { PrudenceSchema, ValidSchemaValue } from "prudence"; + +const PR_FERVIDEX: PrudenceSchema = { + chart: p.isIn("spb", "spn", "dpn", "sph", "dph", "spa", "dpa", "spl", "dpl"), + entry_id: p.isPositiveInteger, + chart_sha256: "*string", + custom: "*boolean", + + pgreat: p.isPositiveInteger, + great: p.isPositiveInteger, + good: p.isPositiveInteger, + bad: p.isPositiveInteger, + poor: p.isPositiveInteger, + + slow: p.isPositiveInteger, + fast: p.isPositiveInteger, + max_combo: p.optional(p.isPositiveInteger), + combo_break: p.isPositiveInteger, + + ex_score: p.isPositiveInteger, + clear_type: p.isBoundedInteger(0, 7), + + gauge: [p.isBoundedInteger(0, 255)], + + // no idea what this actually represents. array of ints. + ghost: p.any, + + dead: p.optional({ + measure: optNull(p.isPositiveInteger), + note: optNull(p.isPositiveInteger), + } as unknown as ValidSchemaValue), + + option: p.optional({ + gauge: optNull(p.isIn("ASSISTED_EASY", "EASY", "HARD", "EX_HARD")), + range: optNull( + p.isIn("SUDDEN_PLUS", "HIDDEN_PLUS", "SUD_PLUS_HID_PLUS", "LIFT", "LIFT_SUD_PLUS") + ), + style: optNull(p.isIn("RANDOM", "R_RANDOM", "S_RANDOM", "MIRROR")), + style_2p: optNull(p.isIn("RANDOM", "R_RANDOM", "S_RANDOM", "MIRROR")), + assist: optNull(p.isIn("AUTO_SCRATCH", "LEGACY_NOTE", "ASCR_LEGACY", "FULL_ASSIST")), + }), + + // we dont use it and we dont care. + pacemaker: p.any, + + "2dx-gsm": p.optional({ + EASY: [p.isBoundedInteger(0, 255)], + NORMAL: [p.isBoundedInteger(0, 255)], + HARD: [p.isBoundedInteger(0, 255)], + EX_HARD: [p.isBoundedInteger(0, 255)], + }), +}; + +/** + * Converts a string of the form LDJ:X:X:X:2020092900 into a game version. + * I don't really understand the software model format, so this is lazy. + */ +export function SoftwareIDToVersion(model: string, logger: KtLogger) { + try { + const data = ParseEA3SoftID(model); + + if (data.model === MODEL_INFINITAS_2) { + return "inf"; + } else if (data.model === MODEL_IIDX || data.model === MODEL_IIDX_LIGHTNING) { + // pretty icky yandere-dev tier if statements, but hey + // that's just how it works... + if (data.ext === EXT_HEROIC_VERSE) { + if (data.rev === REV_OMNIMIX) { + return "27-omni"; + } else if (data.rev === REV_2DXTRA) { + return "27-2dxtra"; + } else if (data.rev === REV_NORMAL) { + return "27"; + } + } else if (data.ext === EXT_BISTROVER) { + if (data.rev === REV_OMNIMIX) { + return "28-omni"; + } else if (data.rev === REV_2DXTRA) { + return "28-2dxtra"; + } else if (data.rev === REV_NORMAL) { + return "28"; + } + } + } + + logger.warn(`Unsupported Software Model ${model}.`); + throw new ScoreImportFatalError(400, `Unsupported Software Model ${model}.`); + } catch (err) { + logger.warn(`Unsupported Software Model ${model}.`, { err }); + throw new ScoreImportFatalError(400, `Unsupported Software Model ${model}.`); + } +} + +export interface FerHeaders { + model: string; +} + +export function ParseFervidexSingle( + body: Record, + headers: FerHeaders, + logger: KtLogger +): ParserFunctionReturns { + const version = SoftwareIDToVersion(headers.model, logger); + + // more mods may be added in the future, so lets ignore excess keys. + const err = p(body, PR_FERVIDEX, undefined, { allowExcessKeys: true }); + + if (err) { + throw new ScoreImportFatalError(400, FormatPrError(err, "Invalid Fervidex Request?")); + } + + // asserted using prudence. + return { + context: { version, timeReceived: Date.now() }, + game: "iidx", + iterable: [body] as unknown as Array, + classHandler: null, + }; +} diff --git a/server/src/lib/score-import/import-types/ir/fervidex/types.ts b/server/src/lib/score-import/import-types/ir/fervidex/types.ts new file mode 100644 index 000000000..4c2bdf9c2 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/fervidex/types.ts @@ -0,0 +1,67 @@ +import type { GPTSupportedVersions, integer } from "tachi-common"; + +export interface FervidexScore { + chart: `${"dp" | "sp"}${"a" | "b" | "h" | "l" | "n"}`; + + entry_id: integer; + chart_sha256?: string; + + // whether or whether not this chart is from 2dxtra + custom?: boolean; + + pgreat: integer; + great: integer; + good: integer; + bad: integer; + poor: integer; + + slow: integer; + fast: integer; + max_combo?: integer; + combo_break: integer; + + ex_score: integer; + clear_type: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7; + + gauge: Array; + ghost: Array; + + dead?: { + measure?: integer | null; + note?: integer | null; + }; + + option?: { + gauge?: "ASSISTED_EASY" | "EASY" | "EX_HARD" | "HARD" | null; + range?: + | "HIDDEN_PLUS" + | "LIFT_SUD_PLUS" + | "LIFT" + | "SUD_PLUS_HID_PLUS" + | "SUDDEN_PLUS" + | null; + style?: "MIRROR" | "R_RANDOM" | "RANDOM" | "S_RANDOM" | null; + style_2p?: "MIRROR" | "R_RANDOM" | "RANDOM" | "S_RANDOM" | null; + assist?: "ASCR_LEGACY" | "AUTO_SCRATCH" | "FULL_ASSIST" | "LEGACY_NOTE" | null; + }; + + pacemaker: { + name?: string | null; + score?: integer | null; + + // too lazy to type this properly (it's a string enum) but we dont use it. + type?: string | null; + }; + + "2dx-gsm"?: { + EASY: Array; + NORMAL: Array; + HARD: Array; + EX_HARD: Array; + } | null; +} + +export interface FervidexContext { + version: GPTSupportedVersions["iidx:DP" | "iidx:SP"]; + timeReceived: number; +} diff --git a/server/src/lib/score-import/import-types/ir/kshook-sv6c/converter.test.ts b/server/src/lib/score-import/import-types/ir/kshook-sv6c/converter.test.ts new file mode 100644 index 000000000..564fb0246 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/kshook-sv6c/converter.test.ts @@ -0,0 +1,69 @@ +import { ConverterIRKsHookSV6C } from "./converter"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { TestingKsHookSV6CScore } from "test-utils/test-data"; + +const logger = CreateLogCtx(__filename); + +t.test("#ConverterIRKsHookSV6C", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should match a score with its song and chart.", async (t) => { + const res = await ConverterIRKsHookSV6C( + TestingKsHookSV6CScore, + { timeReceived: 10 }, + "ir/kshook-sv6c", + logger + ); + + t.hasStrict(res, { + song: { + id: 1, + }, + chart: { + data: { + inGameID: 1, + }, + difficulty: "ADV", + }, + dryScore: { + scoreData: { + score: 9_579_365, + grade: "AA+", + lamp: "EXCESSIVE CLEAR", + judgements: { + critical: 1184, + near: 46, + miss: 30, + }, + hitMeta: { + maxCombo: 158, + }, + }, + game: "sdvx", + importType: "ir/kshook-sv6c", + scoreMeta: {}, + }, + }); + + t.end(); + }); + + t.test("Should throw an error if song or chart can't be found.", (t) => { + t.rejects( + () => + ConverterIRKsHookSV6C( + { ...TestingKsHookSV6CScore, music_id: 10000 }, + { timeReceived: 10 }, + "ir/kshook-sv6c", + logger + ), + "Should throw a KTDataNotFoundError if chart can't be found." + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/ir/kshook-sv6c/converter.ts b/server/src/lib/score-import/import-types/ir/kshook-sv6c/converter.ts new file mode 100644 index 000000000..d004b00d5 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/kshook-sv6c/converter.ts @@ -0,0 +1,96 @@ +import { + InternalFailure, + KTDataNotFoundFailure, +} from "lib/score-import/framework/common/converter-failures"; +import { GenericGetGradeAndPercent } from "lib/score-import/framework/common/score-utils"; +import { FindSDVXChartOnInGameIDVersion } from "utils/queries/charts"; +import { FindSongOnID } from "utils/queries/songs"; +import type { ConverterFunction } from "../../common/types"; +import type { KsHookSV6CContext, KsHookSV6CScore } from "./types"; +import type { DryScore } from "lib/score-import/framework/common/types"; +import type { Lamps } from "tachi-common"; + +export const ConverterIRKsHookSV6C: ConverterFunction = async ( + data, + context, + importType, + logger +) => { + const diff = ConvertDifficulty(data.difficulty); + + const chart = await FindSDVXChartOnInGameIDVersion(data.music_id, diff, "konaste"); + + if (!chart) { + throw new KTDataNotFoundFailure( + `Could not find chart with songID ${data.music_id} (${diff} for Konaste).`, + importType, + data, + context + ); + } + + const song = await FindSongOnID("sdvx", chart.songID); + + if (!song) { + logger.severe(`Song ${chart.songID} (sdvx) has no parent song?`); + throw new InternalFailure(`Song ${chart.songID} (sdvx) has no parent song?`); + } + + const { percent, grade } = GenericGetGradeAndPercent("sdvx", data.score, chart); + + const dryScore: DryScore<"sdvx:Single"> = { + game: "sdvx", + service: "kshook SV6C", + comment: null, + importType: "ir/kshook-sv6c", + timeAchieved: context.timeReceived, + scoreData: { + score: data.score, + percent, + grade, + lamp: ConvertLamp(data.clear), + judgements: { + critical: data.critical, + near: data.near, + miss: data.error, + }, + hitMeta: { + gauge: data.gauge / 100, + maxCombo: data.max_chain, + }, + }, + scoreMeta: {}, + }; + + return { song, chart, dryScore }; +}; + +function ConvertLamp(clear: KsHookSV6CScore["clear"]): Lamps["sdvx:Single"] { + if (clear === "CLEAR_PLAYED") { + return "FAILED"; + } else if (clear === "CLEAR_EFFECTIVE") { + return "CLEAR"; + } else if (clear === "CLEAR_EXCESSIVE") { + return "EXCESSIVE CLEAR"; + } else if (clear === "CLEAR_ULTIMATE_CHAIN") { + return "ULTIMATE CHAIN"; + } + + return "PERFECT ULTIMATE CHAIN"; +} + +function ConvertDifficulty( + diff: KsHookSV6CScore["difficulty"] +): "ADV" | "ANY_INF" | "EXH" | "MXM" | "NOV" { + if (diff === "DIFFICULTY_NOVICE") { + return "NOV"; + } else if (diff === "DIFFICULTY_ADVANCED") { + return "ADV"; + } else if (diff === "DIFFICULTY_EXHAUST") { + return "EXH"; + } else if (diff === "DIFFICULTY_INFINITE") { + return "ANY_INF"; + } + + return "MXM"; +} diff --git a/server/src/lib/score-import/import-types/ir/kshook-sv6c/parser.test.ts b/server/src/lib/score-import/import-types/ir/kshook-sv6c/parser.test.ts new file mode 100644 index 000000000..436bbd1d6 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/kshook-sv6c/parser.test.ts @@ -0,0 +1,62 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { ParseKsHookSV6C } from "./parser"; +import deepmerge from "deepmerge"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import { TestingKsHookSV6CScore } from "test-utils/test-data"; + +const logger = CreateLogCtx(__filename); + +t.test("#ParseKsHookSV6C", (t) => { + const assertFail = (data: any, message: string) => { + t.throws(() => ParseKsHookSV6C(data, logger), message); + }; + + const assertSuccess = (data: any, message: string) => { + try { + t.doesNotThrow(() => ParseKsHookSV6C(data, logger), message); + + const res = ParseKsHookSV6C(data, logger); + + t.equal(res.game, "sdvx"); + t.type(res.context.timeReceived, "number"); + t.ok(Array.isArray(res.iterable)); + } catch (err) { + t.fail(`[${message}] ${(err as Error).message}`); + } + }; + + const dm = (data: any) => deepmerge(TestingKsHookSV6CScore, data); + + assertSuccess(TestingKsHookSV6CScore, "Should parse a valid score."); + assertSuccess( + dm({ unexpectedField: "foo" }), + "Should allow excess keys that we do not recognise." + ); + + assertFail({}, "Should reject an empty object"); + assertFail(dm({ clear: "invalid_clear" }), "Should reject invalid clears."); + assertFail(dm({ difficulty: "invalid_difficulty" }), "Should reject invalid difficulties."); + + assertFail(dm({ gauge: -1 }), "Should reject negative gauge values."); + assertFail(dm({ gauge: 10001 }), "Should reject gauge values over 10000."); + assertSuccess(dm({ gauge: 0 }), "Should allow gauge values of 0."); + assertSuccess(dm({ gauge: 10000 }), "Should allow gauge values of 10000."); + + assertFail(dm({ grade: "invalid_grade" }), "Should reject invalid grades."); + + assertFail(dm({ max_chain: -1 }), "Should reject negative max_chains."); + assertFail(dm({ max_chain: 100.5 }), "Should reject non-integer max_chains."); + + assertFail(dm({ score: -1 }), "Should reject negative scores."); + assertFail(dm({ score: 10_000_001 }), "Should reject > 10m scores."); + assertSuccess(dm({ score: 10_000_000 }), "Should allow scores of 10m."); + assertSuccess(dm({ score: 0 }), "Should allow scores of 0."); + + assertFail(dm({ rate: "invalid_rate" }), "Should reject invalid rates."); + + assertFail(dm({ track_no: -1 }), "Should reject negative track_no's."); + assertFail(dm({ track_no: 50.5 }), "Should reject non-int track_no's."); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/ir/kshook-sv6c/parser.ts b/server/src/lib/score-import/import-types/ir/kshook-sv6c/parser.ts new file mode 100644 index 000000000..c132eff9c --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/kshook-sv6c/parser.ts @@ -0,0 +1,74 @@ +import ScoreImportFatalError from "lib/score-import/framework/score-importing/score-import-error"; +import p from "prudence"; +import { FormatPrError } from "utils/prudence"; +import type { ParserFunctionReturns } from "../../common/types"; +import type { KsHookSV6CContext, KsHookSV6CScore } from "./types"; +import type { KtLogger } from "lib/logger/logger"; +import type { PrudenceSchema } from "prudence"; + +const PR_KSHOOK_SV6C: PrudenceSchema = { + clear: p.isIn( + "CLEAR_PLAYED", + "CLEAR_EFFECTIVE", + "CLEAR_EXCESSIVE", + "CLEAR_ULTIMATE_CHAIN", + "CLEAR_PERFECT" + ), + difficulty: p.isIn( + "DIFFICULTY_NOVICE", + "DIFFICULTY_ADVANCED", + "DIFFICULTY_EXHAUST", + "DIFFICULTY_INFINITE", + "DIFFICULTY_MAXIMUM" + ), + gauge: p.isBetween(0, 10000), + grade: p.isIn( + "GRADE_D", + "GRADE_C", + "GRADE_B", + "GRADE_A", + "GRADE_A_PLUS", + "GRADE_AA", + "GRADE_AA_PLUS", + "GRADE_AAA", + "GRADE_AAA_PLUS", + "GRADE_S" + ), + max_chain: p.isPositiveInteger, + music_id: p.isPositiveInteger, + + score: p.isBoundedInteger(0, 10_000_000), + ex_score: p.isPositiveInteger, + + critical: p.isPositiveInteger, + near: p.isPositiveInteger, + error: p.isPositiveInteger, + + rate: p.isIn("RATE_EFFECTIVE", "RATE_PERMISSIVE", "RATE_EXCESSIVE", "RATE_BLASTIVE"), + + track_no: p.isPositiveInteger, + retry_count: p.any, +}; + +export function ParseKsHookSV6C( + body: Record, + _logger: KtLogger +): ParserFunctionReturns { + // Ignore excess keys, as SV6C might add more features in the future. + const err = p(body, PR_KSHOOK_SV6C, undefined, { allowExcessKeys: true }); + + if (err) { + throw new ScoreImportFatalError(400, FormatPrError(err)); + } + + const score = body as unknown as KsHookSV6CScore; + + return { + game: "sdvx", + iterable: [score], + context: { + timeReceived: Date.now(), + }, + classHandler: null, + }; +} diff --git a/server/src/lib/score-import/import-types/ir/kshook-sv6c/types.ts b/server/src/lib/score-import/import-types/ir/kshook-sv6c/types.ts new file mode 100644 index 000000000..3e9f45bca --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/kshook-sv6c/types.ts @@ -0,0 +1,40 @@ +import type { integer } from "tachi-common"; + +export interface KsHookSV6CScore { + clear: + | "CLEAR_EFFECTIVE" + | "CLEAR_EXCESSIVE" + | "CLEAR_PERFECT" + | "CLEAR_PLAYED" + | "CLEAR_ULTIMATE_CHAIN"; + difficulty: `DIFFICULTY_${"ADVANCED" | "EXHAUST" | "INFINITE" | "MAXIMUM" | "NOVICE"}`; + gauge: integer; + grade: `GRADE_${ + | "A_PLUS" + | "A" + | "AA_PLUS" + | "AA" + | "AAA_PLUS" + | "AAA" + | "B" + | "C" + | "D" + | "S"}`; + max_chain: integer; + music_id: integer; + + critical: integer; + near: integer; + error: integer; + + rate: `RATE_${"BLASTIVE" | "EFFECTIVE" | "EXCESSIVE" | "PERMISSIVE"}`; + score: integer; + ex_score: integer; + + track_no: integer; + retry_count: unknown; +} + +export interface KsHookSV6CContext { + timeReceived: number; +} diff --git a/server/src/lib/score-import/import-types/ir/lr2hook/converter.test.ts b/server/src/lib/score-import/import-types/ir/lr2hook/converter.test.ts new file mode 100644 index 000000000..6936460f4 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/lr2hook/converter.test.ts @@ -0,0 +1,61 @@ +import { ConverterLR2Hook } from "./converter"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { TestingLR2HookScore } from "test-utils/test-data"; + +const logger = CreateLogCtx(__filename); + +t.test("#ConverterLR2Hook", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should match a score with its song and chart.", async (t) => { + const res = await ConverterLR2Hook( + TestingLR2HookScore, + { timeReceived: 10 }, + "ir/lr2hook", + logger + ); + + t.hasStrict(res, { + song: { + id: 27339, + }, + chart: { + chartID: "88eb6cc5683e2740cbd07f588a5f3db1db8d467b", + data: { + hashMD5: TestingLR2HookScore.md5, + }, + }, + dryScore: { + scoreData: { + score: TestingLR2HookScore.scoreData.exScore, + }, + game: "bms", + importType: "ir/lr2hook", + scoreMeta: { + client: "LR2", + }, + }, + }); + + t.end(); + }); + + t.test("Should throw an error if song or chart can't be found.", (t) => { + t.rejects( + () => + ConverterLR2Hook( + { ...TestingLR2HookScore, md5: "nonsense_md5" }, + { timeReceived: 10 }, + "ir/lr2hook", + logger + ), + "Should throw a KTDataNotFoundError if chart can't be found." + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/ir/lr2hook/converter.ts b/server/src/lib/score-import/import-types/ir/lr2hook/converter.ts new file mode 100644 index 000000000..0aefb0748 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/lr2hook/converter.ts @@ -0,0 +1,120 @@ +import { + InternalFailure, + KTDataNotFoundFailure, +} from "lib/score-import/framework/common/converter-failures"; +import { GenericGetGradeAndPercent } from "lib/score-import/framework/common/score-utils"; +import { FindBMSChartOnHash } from "utils/queries/charts"; +import { FindSongOnID } from "utils/queries/songs"; +import type { ConverterFunction } from "../../common/types"; +import type { LR2HookContext, LR2HookScore } from "./types"; +import type { DryScore } from "lib/score-import/framework/common/types"; +import type { Lamps, ScoreDocument } from "tachi-common"; + +export const ConverterLR2Hook: ConverterFunction = async ( + data, + context, + importType, + logger +) => { + const chart = await FindBMSChartOnHash(data.md5); + + if (!chart) { + throw new KTDataNotFoundFailure( + `Could not find chart with md5 ${data.md5}.`, + importType, + data, + context + ); + } + + const song = await FindSongOnID("bms", chart.songID); + + if (!song) { + logger.severe(`Song ${chart.songID} (bms) has no parent song?`); + throw new InternalFailure(`Song ${chart.songID} (bms) has no parent song?`); + } + + const { percent, grade } = GenericGetGradeAndPercent("bms", data.scoreData.exScore, chart); + + const dryScore: DryScore<"bms:7K" | "bms:14K"> = { + game: "bms", + service: "LR2Hook", + comment: null, + importType: "ir/lr2hook", + timeAchieved: context.timeReceived, + scoreData: { + score: data.scoreData.exScore, + percent, + grade, + lamp: ConvertLamp(data.scoreData.lamp), + judgements: { + pgreat: data.scoreData.pgreat, + great: data.scoreData.great, + good: data.scoreData.good, + bad: data.scoreData.bad, + poor: data.scoreData.poor, + }, + hitMeta: { + bp: data.scoreData.bad + data.scoreData.poor, + maxCombo: data.scoreData.maxCombo, + gauge: data.scoreData.hpGraph[999] ?? 0, + gaugeHistory: data.scoreData.hpGraph, + }, + }, + scoreMeta: { + gauge: ConvertGauge(data.playerData.gauge), + random: chart.playtype === "7K" ? ConvertRandom(data.playerData.random) : null, + client: "LR2", + }, + }; + + return { song, chart, dryScore }; +}; + +function ConvertGauge( + gauge: LR2HookScore["playerData"]["gauge"] +): ScoreDocument<"bms:7K" | "bms:14K">["scoreMeta"]["gauge"] { + switch (gauge) { + case "EASY": + return "EASY"; + case "GROOVE": + return "NORMAL"; + case "HARD": + case "G-ATTACK": + case "HAZARD": + case "P-ATTACK": + return "HARD"; + } +} + +function ConvertRandom( + random: LR2HookScore["playerData"]["random"] +): ScoreDocument<"bms:7K">["scoreMeta"]["random"] { + switch (random) { + case "NORAN": + return "NONRAN"; + case "MIRROR": + return "MIRROR"; + case "RAN": + return "RANDOM"; + case "S-RAN": + return "S-RANDOM"; + } +} + +function ConvertLamp(lamp: LR2HookScore["scoreData"]["lamp"]): Lamps["bms:7K" | "bms:14K"] { + switch (lamp) { + case "EASY": + return "EASY CLEAR"; + case "FAIL": + return "FAILED"; + case "FULL COMBO": + return "FULL COMBO"; + case "HARD": + return "HARD CLEAR"; + case "NO PLAY": + return "NO PLAY"; + case "NORMAL": + return "CLEAR"; + } +} diff --git a/server/src/lib/score-import/import-types/ir/lr2hook/parser.test.ts b/server/src/lib/score-import/import-types/ir/lr2hook/parser.test.ts new file mode 100644 index 000000000..f287ab87f --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/lr2hook/parser.test.ts @@ -0,0 +1,110 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { ParseLR2Hook } from "./parser"; +import deepmerge from "deepmerge"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import { TestingLR2HookScore } from "test-utils/test-data"; +import { ApplyNTimes } from "utils/misc"; + +const logger = CreateLogCtx(__filename); + +t.test("#ParseLR2Hook", (t) => { + const assertFail = (data: any, message: string) => { + t.throws(() => ParseLR2Hook(data, logger), message); + }; + + const assertSuccess = (data: any, message: string) => { + try { + t.doesNotThrow(() => ParseLR2Hook(data, logger), message); + + const res = ParseLR2Hook(data, logger); + + t.equal(res.game, "bms"); + t.type(res.context.timeReceived, "number"); + t.ok(Array.isArray(res.iterable)); + t.equal(res.classHandler, null); + } catch (err) { + t.fail(`[${message}] ${(err as Error).message}`); + } + }; + + const dm = (data: any) => deepmerge(TestingLR2HookScore, data); + const dms = (data: any) => + deepmerge( + TestingLR2HookScore, + { scoreData: data }, + { + arrayMerge: (a, b) => b, + } + ); + + assertSuccess(TestingLR2HookScore, "Should parse a valid score."); + assertSuccess( + dm({ unexpectedField: "foo" }), + "Should allow excess keys that we do not recognise." + ); + assertSuccess( + dm({ scoreData: { unexpectedField: "foo" } }), + "Should allow excess keys inside scoreData that we do not recognise." + ); + assertSuccess( + dm({ playerData: { unexpectedField: "foo" } }), + "Should allow excess keys inside playerData that we do not recognise." + ); + + assertFail( + dm({ playerData: { autoScr: true } }), + "Should reject scores where autoScr is set to true." + ); + assertFail( + dm({ playerData: { random: "H-RAN" } }), + "Should reject scores where random is set to H-RAN." + ); + assertFail( + dm({ playerData: { random: "ALLSCR" } }), + "Should reject scores where random is set to ALLSCR" + ); + + assertFail({}, "Should reject an empty object"); + + for (const key of [ + "pgreat", + "good", + "bad", + "poor", + "great", + "maxCombo", + "exScore", + "notesTotal", + "notesPlayed", + ]) { + assertFail(dms({ [key]: -1 }), `Should reject negative ${key}`); + assertFail(dms({ [key]: 0.5 }), `Should reject decimal ${key}`); + assertFail(dms({ [key]: "0" }), `Should reject string ${key}`); + assertFail(dms({ [key]: null }), `Should reject nonsense ${key}`); + } + + assertFail(dms({ lamp: "UNKNOWN_LAMP" }), "Should reject unknown lamp."); + assertFail(dms({ lamp: null }), "Should reject null lamp."); + assertFail(dms({ lamp: undefined }), "Should reject no lamp."); + + assertFail( + dms({ hpGraph: ApplyNTimes(999, () => 50) }), + "Should disallow hp graph with <1000 elements." + ); + assertFail(dms({ hpGraph: [] }), "Should disallow hp graph with 0 elements."); + assertFail( + dms({ hpGraph: ApplyNTimes(1001, () => 50) }), + "Should disallow hp graph with >1000 elements." + ); + assertFail( + dms({ hpGraph: ApplyNTimes(1000, () => 101) }), + "Should disallow hp graph with elements larger than 100." + ); + assertFail( + dms({ hpGraph: ApplyNTimes(1000, () => -1) }), + "Should disallow hp graph with negative element values." + ); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/ir/lr2hook/parser.ts b/server/src/lib/score-import/import-types/ir/lr2hook/parser.ts new file mode 100644 index 000000000..f7f5b02ae --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/lr2hook/parser.ts @@ -0,0 +1,88 @@ +import ScoreImportFatalError from "lib/score-import/framework/score-importing/score-import-error"; +import p from "prudence"; +import { FormatPrError } from "utils/prudence"; +import type { ParserFunctionReturns } from "../../common/types"; +import type { LR2HookContext, LR2HookScore } from "./types"; +import type { KtLogger } from "lib/logger/logger"; +import type { PrudenceSchema } from "prudence"; + +const SUPPORTED_RANDOMS = ["NORAN", "MIRROR", "RAN", "S-RAN"]; + +export const PR_LR2HOOK: PrudenceSchema = { + md5: "string", + playerData: { + autoScr: p.is(0), + + // don't really need this, but it's + // { "ALL", "SINGLE", "7K", "5K", "DOUBLE", "14K", "10K", "9K" }; + gameMode: p.any, + + // ALLSCR and H-RAN may also be sent, but we don't support them. + random: p.isIn(SUPPORTED_RANDOMS), + gauge: p.isIn("GROOVE", "HARD", "HAZARD", "EASY", "P-ATTACK", "G-ATTACK"), + }, + scoreData: { + pgreat: p.isPositiveInteger, + great: p.isPositiveInteger, + good: p.isPositiveInteger, + bad: p.isPositiveInteger, + poor: p.isPositiveInteger, + maxCombo: p.isPositiveInteger, + exScore: p.isPositiveInteger, + moneyScore: p.isPositiveInteger, + notesTotal: p.isPositiveInteger, + notesPlayed: p.isPositiveInteger, + lamp: p.isIn("NO PLAY", "FAIL", "EASY", "NORMAL", "HARD", "FULL COMBO"), + hpGraph: (self) => { + if (!Array.isArray(self)) { + return "Expected an array"; + } + + if (self.length !== 1000) { + return "Expected an array with length 1000."; + } + + if (self.some((x) => x < 0 || x > 100 || !Number.isInteger(x))) { + return "Expected an array of 1000 integers between 0 and 100."; + } + + return true; + }, + }, +}; + +export function ParseLR2Hook( + body: Record, + _logger: KtLogger +): ParserFunctionReturns { + // Ignore excess keys, as lr2hook is likely to add more features in the future. + const err = p( + body, + PR_LR2HOOK, + { + playerData: { + autoScr: + "Auto Scratch cannot be turned on, as it is treated as an EASY CLEAR by LR2.", + random: `Expected any of ${SUPPORTED_RANDOMS.join( + ", " + )}. Note that ALLSCR and H-RAN are not supported!`, + }, + }, + { allowExcessKeys: true } + ); + + if (err) { + throw new ScoreImportFatalError(400, FormatPrError(err)); + } + + const score = body as unknown as LR2HookScore; + + return { + game: "bms", + iterable: [score], + context: { + timeReceived: Date.now(), + }, + classHandler: null, + }; +} diff --git a/server/src/lib/score-import/import-types/ir/lr2hook/types.ts b/server/src/lib/score-import/import-types/ir/lr2hook/types.ts new file mode 100644 index 000000000..7e4248ca5 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/lr2hook/types.ts @@ -0,0 +1,29 @@ +import type { integer } from "tachi-common"; + +export interface LR2HookScore { + md5: string; + playerData: { + autoScr: 0; + gameMode: unknown; + random: "MIRROR" | "NORAN" | "RAN" | "S-RAN"; + gauge: "EASY" | "G-ATTACK" | "GROOVE" | "HARD" | "HAZARD" | "P-ATTACK"; + }; + scoreData: { + pgreat: integer; + great: integer; + good: integer; + bad: integer; + poor: integer; + maxCombo: integer; + exScore: integer; + moneyScore: integer; + notesTotal: integer; + notesPlayed: integer; + lamp: "EASY" | "FAIL" | "FULL COMBO" | "HARD" | "NO PLAY" | "NORMAL"; + hpGraph: Array; + }; +} + +export interface LR2HookContext { + timeReceived: number; +} diff --git a/server/src/lib/score-import/import-types/ir/usc/converter.test.ts b/server/src/lib/score-import/import-types/ir/usc/converter.test.ts new file mode 100644 index 000000000..3b381ac52 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/usc/converter.test.ts @@ -0,0 +1,131 @@ +import { ConverterIRUSC, DeriveLamp, DeriveNoteMod } from "./converter"; +import d from "deepmerge"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { uscChart, uscScore } from "test-utils/test-data"; +import type { USCClientScore } from "server/router/ir/usc/_playtype/types"; + +const logger = CreateLogCtx(__filename); + +t.test("#DeriveLamp", (t) => { + t.equal(DeriveLamp(uscScore), "EXCESSIVE CLEAR"); + + t.equal(DeriveLamp(d(uscScore, { options: { gaugeType: 0 }, gauge: 0.5 })), "FAILED"); + + t.equal(DeriveLamp(d(uscScore, { options: { gaugeType: 0 }, gauge: 0.7 })), "CLEAR"); + + t.equal(DeriveLamp(d(uscScore, { options: { gaugeType: 2 }, gauge: 1 })), "FAILED"); + t.equal(DeriveLamp(d(uscScore, { options: { gaugeType: 2 }, gauge: 0 })), "FAILED"); + t.equal( + DeriveLamp(d(uscScore, { options: { gaugeType: 2 }, gauge: 1, score: 10_000_000 })), + "PERFECT ULTIMATE CHAIN" + ); + t.equal( + DeriveLamp(d(uscScore, { options: { gaugeType: 2 }, gauge: 1, error: 0 })), + "ULTIMATE CHAIN" + ); + + t.equal(DeriveLamp(d(uscScore, { options: { gaugeType: 1 }, gauge: 0.1 })), "EXCESSIVE CLEAR"); + + t.equal(DeriveLamp(d(uscScore, { options: { gaugeType: 1 }, gauge: 0 })), "FAILED"); + + t.equal( + DeriveLamp(d(uscScore, { score: 10_000_000, options: { gaugeType: 1 }, gauge: 0.1 })), + "PERFECT ULTIMATE CHAIN" + ); + + // error: 0 => ultimate chain should not take priority over score 10million + t.equal( + DeriveLamp( + d(uscScore, { + score: 10_000_000, + options: { gaugeType: 1 }, + gauge: 0.1, + error: 0, + }) + ), + "PERFECT ULTIMATE CHAIN" + ); + + t.equal( + DeriveLamp( + d(uscScore, { + score: 9_000_000, + options: { gaugeType: 0 }, + gauge: 0.15, + error: 0, + }) + ), + "ULTIMATE CHAIN" + ); + + t.throws(() => DeriveLamp(d(uscScore, { options: { gaugeType: 3 } }))); + + t.end(); +}); + +t.test("#DeriveNoteMod", (t) => { + t.equal(DeriveNoteMod(uscScore), "MIRROR"); + + t.equal(DeriveNoteMod(d(uscScore, { options: { random: true } })), "MIR-RAN"); + + t.equal(DeriveNoteMod(d(uscScore, { options: { random: false, mirror: false } })), "NORMAL"); + t.equal(DeriveNoteMod(d(uscScore, { options: { random: true, mirror: false } })), "RANDOM"); + + t.end(); +}); + +const dm = (p: Partial) => + ConverterIRUSC( + d(uscScore, p), + { chartHash: uscChart.data.hashSHA1 as string, playtype: "Controller", timeReceived: 10 }, + "ir/usc", + logger + ); + +t.test("#ConverterIRUSC", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should convert a score", async (t) => { + const res = await dm({}); + + t.hasStrict(res, { + song: { + id: 1, + }, + chart: { + chartID: uscChart.chartID, + }, + dryScore: {}, + }); + + t.end(); + }); + + t.test("Should reject scores with invalid hit windows", (t) => { + t.rejects(dm({ windows: { perfect: 0 } } as USCClientScore)); + t.rejects(dm({ windows: { good: 0 } } as USCClientScore)); + t.rejects(dm({ windows: { hold: 0 } } as USCClientScore)); + t.rejects(dm({ windows: { miss: 0 } } as USCClientScore)); + t.rejects(dm({ windows: { slam: 0 } } as USCClientScore)); + + t.end(); + }); + + t.test("Should reject scores with invalid autoflags", (t) => { + t.rejects(dm({ options: { autoFlags: 1 } } as USCClientScore)); + + t.end(); + }); + + t.test("Should throw an InternalFailure on song-chart desync", async (t) => { + await db.songs.usc.remove({}); + t.rejects(dm({})); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/ir/usc/converter.ts b/server/src/lib/score-import/import-types/ir/usc/converter.ts new file mode 100644 index 000000000..778f01c35 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/usc/converter.ts @@ -0,0 +1,148 @@ +import { + InternalFailure, + InvalidScoreFailure, + KTDataNotFoundFailure, +} from "../../../framework/common/converter-failures"; +import { GenericGetGradeAndPercent } from "../../../framework/common/score-utils"; +import db from "external/mongo/db"; +import { + USC_DEFAULT_HOLD, + USC_DEFAULT_MISS, + USC_DEFAULT_NEAR, + USC_DEFAULT_PERFECT, + USC_DEFAULT_SLAM, +} from "lib/constants/usc-ir"; +import { FindSongOnID } from "utils/queries/songs"; +import type { DryScore } from "../../../framework/common/types"; +import type { ConverterFunction } from "../../common/types"; +import type { IRUSCContext } from "./types"; +import type { USCClientScore } from "server/router/ir/usc/_playtype/types"; +import type { Lamps } from "tachi-common"; + +/** + * Interprets the "note mod" used based on the USC score. + */ +export function DeriveNoteMod(data: USCClientScore): "MIR-RAN" | "MIRROR" | "NORMAL" | "RANDOM" { + if (data.options.mirror && data.options.random) { + return "MIR-RAN"; + } else if (data.options.mirror) { + return "MIRROR"; + } else if (data.options.random) { + return "RANDOM"; + } + + return "NORMAL"; +} + +/** + * Determines the lamp of a USC score. + */ +export function DeriveLamp(scoreDoc: USCClientScore): Lamps["usc:Controller" | "usc:Keyboard"] { + if (scoreDoc.score === 10_000_000) { + return "PERFECT ULTIMATE CHAIN"; + } else if (scoreDoc.error === 0) { + return "ULTIMATE CHAIN"; + } + + switch (scoreDoc.options.gaugeType) { + case 0: + return scoreDoc.gauge >= 0.7 ? "CLEAR" : "FAILED"; + case 1: + return scoreDoc.gauge > 0 ? "EXCESSIVE CLEAR" : "FAILED"; + case 2: + return "FAILED"; + default: + throw new Error(`Invalid gaugeType of ${scoreDoc.options.gaugeType}.`); + } +} + +function ConvertGaugeType(gaugeType: 0 | 1 | 2) { + switch (gaugeType) { + case 0: + return "NORMAL"; + case 1: + return "HARD"; + case 2: + return "PERMISSIVE"; + default: + throw new Error(`Invalid gaugeType of ${gaugeType}.`); + } +} + +export const ConverterIRUSC: ConverterFunction = async ( + data, + context, + importType, + logger +) => { + if ( + data.windows.perfect !== USC_DEFAULT_PERFECT || + data.windows.good !== USC_DEFAULT_NEAR || + data.windows.hold !== USC_DEFAULT_HOLD || + data.windows.miss !== USC_DEFAULT_MISS || + data.windows.slam !== USC_DEFAULT_SLAM + ) { + logger.verbose(`Ignored score because hitWindows were modified.`); + throw new InvalidScoreFailure(`HitWindows have been modified - Score is invalid.`); + } + + // if any auto-like option is enabled, reject score. + if (data.options.autoFlags !== 0) { + logger.verbose(`Ignored score because autoplay was enabled.`); + throw new InvalidScoreFailure(`Autoplay was enabled - Score is invalid.`); + } + + const chartDoc = await db.charts.usc.findOne({ + "data.hashSHA1": context.chartHash, + playtype: context.playtype, + }); + + if (!chartDoc) { + throw new KTDataNotFoundFailure( + `Chart ${context.chartHash} is not on the IR.`, + "ir/usc", + data, + context + ); + } + + const song = await FindSongOnID("usc", chartDoc.songID); + + if (!song) { + logger.severe(`Song-Chart desync on USCIR ${chartDoc.songID}.`); + throw new InternalFailure(`Song-Chart desync on USCIR ${chartDoc.songID}.`); + } + + const { grade, percent } = GenericGetGradeAndPercent("usc", data.score, chartDoc); + + const dryScore: DryScore<"usc:Controller" | "usc:Keyboard"> = { + comment: null, + game: "usc", + importType, + timeAchieved: context.timeReceived, + service: "USC-IR", + scoreData: { + grade, + percent, + score: data.score, + lamp: DeriveLamp(data), + judgements: { + critical: data.crit, + near: data.near, + miss: data.error, + }, + hitMeta: { + gauge: data.gauge, + fast: data.early, + slow: data.late, + maxCombo: data.combo, + }, + }, + scoreMeta: { + gaugeMod: ConvertGaugeType(data.options.gaugeType), + noteMod: DeriveNoteMod(data), + }, + }; + + return { chart: chartDoc, song, dryScore }; +}; diff --git a/server/src/lib/score-import/import-types/ir/usc/parser.test.ts b/server/src/lib/score-import/import-types/ir/usc/parser.test.ts new file mode 100644 index 000000000..df640685b --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/usc/parser.test.ts @@ -0,0 +1,38 @@ +import { ParseIRUSC } from "./parser"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import { uscChart, uscScore } from "test-utils/test-data"; + +const logger = CreateLogCtx(__filename); + +t.test("#ParseIRUSC", (t) => { + t.test("Should validate and convert a score into an iterable", (t) => { + const res = ParseIRUSC( + { score: uscScore } as unknown as Record, + uscChart.data.hashSHA1 as string, + "Controller", + logger + ); + + t.hasStrict(res, { + game: "usc", + context: { + chartHash: uscChart.data.hashSHA1, + }, + iterable: [uscScore], + }); + + t.end(); + }); + + t.test("Should reject empty bodies", (t) => { + t.throws(() => ParseIRUSC({}, uscChart.data.hashSHA1 as string, "Controller", logger), { + statusCode: 400, + message: /invalid usc score/iu, + }); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-import/import-types/ir/usc/parser.ts b/server/src/lib/score-import/import-types/ir/usc/parser.ts new file mode 100644 index 000000000..73e507e51 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/usc/parser.ts @@ -0,0 +1,72 @@ +import ScoreImportFatalError from "../../../framework/score-importing/score-import-error"; +import p from "prudence"; +import { FormatPrError } from "utils/prudence"; +import type { ParserFunctionReturns } from "../../common/types"; +import type { IRUSCContext } from "./types"; +import type { KtLogger } from "lib/logger/logger"; +import type { PrudenceSchema } from "prudence"; +import type { USCClientScore } from "server/router/ir/usc/_playtype/types"; +import type { Playtypes } from "tachi-common"; + +const PR_USCIR_SCORE: PrudenceSchema = { + score: p.isBoundedInteger(0, 10_000_000), + gauge: p.isBetween(0, 1), + timestamp: p.isPositiveInteger, + crit: p.isPositiveInteger, + near: p.isPositiveInteger, + error: p.isPositiveInteger, + early: p.optional(p.isPositiveInteger), + late: p.optional(p.isPositiveInteger), + combo: p.optional(p.isPositiveInteger), + options: { + gaugeType: p.isIn(0, 1, 2), + mirror: "boolean", + random: "boolean", + autoFlags: p.isInteger, + }, + windows: { + perfect: p.isPositive, + good: p.isPositive, + hold: p.isPositive, + miss: p.isPositive, + slam: p.isPositive, + }, +}; + +export function ParseIRUSC( + body: Record, + chartHash: string, + playtype: Playtypes["usc"], + _logger: KtLogger +): ParserFunctionReturns { + const err = p( + body.score, + PR_USCIR_SCORE, + {}, + { throwOnNonObject: false, allowExcessKeys: true } + ); + + if (err) { + throw new ScoreImportFatalError(400, FormatPrError(err, "Invalid USC Score.")); + } + + const score = body.score as USCClientScore; + + // Enforce null for this instead of undefined. + // This is because FJSH cannot handle undefined properly. + // Maybe fjsh should handle that, lol... + score.early ??= null; + score.late ??= null; + score.combo ??= null; + + return { + context: { + chartHash, + playtype, + timeReceived: Date.now(), + }, + game: "usc", + iterable: [score] as Array, + classHandler: null, + }; +} diff --git a/server/src/lib/score-import/import-types/ir/usc/types.ts b/server/src/lib/score-import/import-types/ir/usc/types.ts new file mode 100644 index 000000000..b95483c74 --- /dev/null +++ b/server/src/lib/score-import/import-types/ir/usc/types.ts @@ -0,0 +1,7 @@ +import type { Playtypes } from "tachi-common"; + +export interface IRUSCContext { + chartHash: string; + playtype: Playtypes["usc"]; + timeReceived: number; +} diff --git a/server/src/lib/score-import/import-types/parsers.ts b/server/src/lib/score-import/import-types/parsers.ts new file mode 100644 index 000000000..832baad89 --- /dev/null +++ b/server/src/lib/score-import/import-types/parsers.ts @@ -0,0 +1,47 @@ +import { ParseArcIIDX } from "./api/arc-iidx/parser"; +import { ParseArcSDVX } from "./api/arc-sdvx/parser"; +import { ParseEagIIDX } from "./api/eag-iidx/parser"; +import { ParseEagSDVX } from "./api/eag-sdvx/parser"; +import { ParseFloIIDX } from "./api/flo-iidx/parser"; +import { ParseFloSDVX } from "./api/flo-sdvx/parser"; +import { ParseMinSDVX } from "./api/min-sdvx/parser"; +import ParseBatchManual from "./file/batch-manual/parser"; +import ParseEamusementIIDXCSV from "./file/eamusement-iidx-csv/parser"; +import ParseEamusementSDVXCSV from "./file/eamusement-sdvx-csv/parser"; +import { ParseMerIIDX } from "./file/mer-iidx/parser"; +import ParsePLIIIDXCSV from "./file/pli-iidx-csv/parser"; +import { ParseSolidStateXML } from "./file/solid-state-squad/parser"; +import { ParseBarbatosSingle } from "./ir/barbatos/parser"; +import { ParseBeatorajaSingle } from "./ir/beatoraja/parser"; +import ParseDirectManual from "./ir/direct-manual/parser"; +import { ParseFervidexStatic } from "./ir/fervidex-static/parser"; +import { ParseFervidexSingle } from "./ir/fervidex/parser"; +import { ParseKsHookSV6C } from "./ir/kshook-sv6c/parser"; +import { ParseLR2Hook } from "./ir/lr2hook/parser"; +import { ParseIRUSC } from "./ir/usc/parser"; + +export const Parsers = { + "file/solid-state-squad": ParseSolidStateXML, + "file/batch-manual": ParseBatchManual, + "file/mer-iidx": ParseMerIIDX, + "file/pli-iidx-csv": ParsePLIIIDXCSV, + "file/eamusement-iidx-csv": ParseEamusementIIDXCSV, + "file/eamusement-sdvx-csv": ParseEamusementSDVXCSV, + + "api/eag-iidx": ParseEagIIDX, + "api/eag-sdvx": ParseEagSDVX, + "api/flo-iidx": ParseFloIIDX, + "api/flo-sdvx": ParseFloSDVX, + "api/min-sdvx": ParseMinSDVX, + "api/arc-iidx": ParseArcIIDX, + "api/arc-sdvx": ParseArcSDVX, + + "ir/barbatos": ParseBarbatosSingle, + "ir/beatoraja": ParseBeatorajaSingle, + "ir/fervidex": ParseFervidexSingle, + "ir/fervidex-static": ParseFervidexStatic, + "ir/direct-manual": ParseDirectManual, + "ir/usc": ParseIRUSC, + "ir/kshook-sv6c": ParseKsHookSV6C, + "ir/lr2hook": ParseLR2Hook, +}; diff --git a/server/src/lib/score-import/worker/queue.ts b/server/src/lib/score-import/worker/queue.ts new file mode 100644 index 000000000..fa2878e49 --- /dev/null +++ b/server/src/lib/score-import/worker/queue.ts @@ -0,0 +1,17 @@ +import { Queue, QueueEvents } from "bullmq"; +import { Environment, TachiConfig } from "lib/setup/config"; + +const ScoreImportQueue = new Queue(`${TachiConfig.NAME} Score Import Queue`, { + connection: { host: Environment.redisUrl, port: 6379 }, +}); + +export default ScoreImportQueue; + +export const ScoreImportQueueEvents = new QueueEvents(ScoreImportQueue.name, { + connection: { host: Environment.redisUrl, port: 6379 }, +}); + +export async function CloseScoreImportQueue() { + await ScoreImportQueueEvents.close(); + return ScoreImportQueue.close(); +} diff --git a/server/src/lib/score-import/worker/types.ts b/server/src/lib/score-import/worker/types.ts new file mode 100644 index 000000000..bc1511492 --- /dev/null +++ b/server/src/lib/score-import/worker/types.ts @@ -0,0 +1,54 @@ +import type { Parsers } from "../import-types/parsers"; +import type { Job } from "bullmq"; +import type { ImportDocument, ImportTypes, integer } from "tachi-common"; + +// Ok so, please hear me out on this one. +// We need a type that removes the last element from an array. +// This is because parser functions have variable signatures, but all +// end with requiring a logger. We don't want to have to pass the logger, +// we just want to pass those other arguments. +type RemoveLast> = T extends [...infer RemoveLast, unknown] + ? RemoveLast + : Array; + +// Which means we can use generic access to make ParserArguments<"ir/usc"> +// A type that returns the paramaters of the parser function bound to +// "ir/usc". +// And then, using RemoveLast, we can remove that logger argument we don't +// want to provide. +export type ParserArguments = RemoveLast>; + +// Depending on how you look at it, this is either beautiful +// TypeScript power, or brutal TypeScript abuse... + +export interface ScoreImportJobData { + importType: I; + userID: integer; + userIntent: boolean; + importID: string; + + // ...and well, I'm personally on the fence. + + // Parsers can't have a consistent signature -- they need info + // from different sources! As such, we need to pass the parser + // arguments in an array, and then it can be respreaded into + // the parser by the import code. + parserArguments: ParserArguments; +} + +export type ScoreImportJob = Job>; + +export interface ScoreImportProgress { + description: string; +} + +export type ScoreImportWorkerReturns = + | { + success: false; + statusCode: integer; + description: string; + } + | { + success: true; + importDocument: ImportDocument; + }; diff --git a/server/src/lib/score-import/worker/worker.ts b/server/src/lib/score-import/worker/worker.ts new file mode 100644 index 000000000..439b6b705 --- /dev/null +++ b/server/src/lib/score-import/worker/worker.ts @@ -0,0 +1,149 @@ +import ScoreImportQueue from "./queue"; +import { GetInputParser } from "../framework/common/get-input-parser"; +import ScoreImportFatalError from "../framework/score-importing/score-import-error"; +import ScoreImportMain from "../framework/score-importing/score-import-main"; +import { Worker } from "bullmq"; +import { HandleSIGTERMGracefully } from "lib/handlers/sigterm"; +import CreateLogCtx from "lib/logger/logger"; +import { Environment, ServerConfig } from "lib/setup/config"; +import { FormatUserDoc, GetUserWithID } from "utils/user"; +import { EventEmitter } from "events"; +import type { ScoreImportJob, ScoreImportJobData } from "./types"; +import type { ImportTypes } from "tachi-common"; + +EventEmitter.defaultMaxListeners = 20; + +// For scaling performance, running score-importing in a separate worker is preferable +// as that way, other API calls don't get halted by particularly expensive imports on +// all cores. Parallelism can only get us so far in the same process. + +// You don't have to run this. If it is being ran, you need to set USE_EXTERNAL_SCORE_IMPORT_WORKER +// in conf.json5. That will ensure all score import jobs are thrown at redis and eventually +// end up here. + +// If you don't, score importing will happen on the same thread as your router. That's probably +// fine for lower throughputs, but hey. We're aiming a bit higher. + +// Explicitly set this before importing anything! +process.env.IS_SCORE_WORKER_SERVER = "true"; + +const workerLogger = CreateLogCtx(`Import Worker`); + +// Exit if we're not called with node. Think of this like if __name__ != "__main__" in python. +if (require.main !== module) { + workerLogger.crit( + "The Score Import Worker was imported, instead of ran directly with node. This is a fatal error. Exiting.", + () => { + process.exit(1); + } + ); +} + +/** + * When a job is fired, this code will actually process the given data + * and import it into the codebase. + */ +export const worker = new Worker( + ScoreImportQueue.name, + async (job: ScoreImportJob) => { + const user = await GetUserWithID(job.data.userID); + + if (!user) { + workerLogger.severe( + `Couldn't find user with ID ${job.data.userID}. Yet a score import from them was made? (Job ID ${job.id}).` + ); + throw new Error( + `Couldn't find user with ID ${job.data.userID}. Yet a score import from them was made? (Job ID ${job.id}).` + ); + } + + // Create a logger that we can pass around for context. + // This helps us debug what score import did what! + const logger = CreateLogCtx(`Score Import ${job.id} ${FormatUserDoc(user)}`); + + // Here's a hack. You cant pass buffers to bull workers, as content + // **must** be JSON serialisable. As such, all of our buffers get + // turned into nonsense objects. We need to "deJSONify" these buffers + // so lets do that now. + + const processedArgs: Array = []; + + // eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call + + for (const arg of job.data.parserArguments as Array) { + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access + if (arg?.buffer?.type === "Buffer") { + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access + processedArgs.push({ ...arg, buffer: Buffer.from(arg.buffer.data) }); + } else { + processedArgs.push(arg); + } + } + + job.data.parserArguments = processedArgs as ScoreImportJobData["parserArguments"]; + + logger.debug(`received score import job ${job.id}`, { job }); + + const InputParser = GetInputParser(job.data); + + logger.debug(`Starting import.`); + + void job.updateProgress({ + description: "Importing Scores.", + }); + + try { + const importDocument = await ScoreImportMain( + user.id, + job.data.userIntent, + job.data.importType, + InputParser, + job.data.importID, + logger, + job + ); + + logger.debug(`Finished import.`); + + return { success: true, importDocument }; + } catch (err) { + if (err instanceof ScoreImportFatalError) { + logger.info( + `Job ${job.id} hit ScoreImportFatalError (User Fault) with message: ${err.message}`, + err + ); + return { success: false, statusCode: err.statusCode, description: err.message }; + } + + throw err; + } + }, + { + concurrency: ServerConfig.EXTERNAL_SCORE_IMPORT_WORKER_CONCURRENCY ?? 10, + connection: { + port: 6379, + host: Environment.redisUrl, + }, + } +); + +const logger = CreateLogCtx("Score Import Worker"); + +worker.on("failed", (job, err) => { + if (err instanceof ScoreImportFatalError) { + logger.info( + `Job ${job.id} hit ScoreImportFatalError (User Fault) with message: ${err.message}`, + err + ); + } else { + logger.error(`Job ${job.id} failed unexpectedly with message: ${err.message}`, err); + } +}); + +worker.on("completed", (job, result) => { + logger.debug(`Job ${job.id} finished successfully.`, result); +}); + +process.on("SIGTERM", () => { + void HandleSIGTERMGracefully(); +}); diff --git a/server/src/lib/score-mutation/delete-scores.test.ts b/server/src/lib/score-mutation/delete-scores.test.ts new file mode 100644 index 000000000..33efe0e84 --- /dev/null +++ b/server/src/lib/score-mutation/delete-scores.test.ts @@ -0,0 +1,177 @@ +import { DeleteScore } from "./delete-scores"; +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { TestingIIDXSPScore } from "test-utils/test-data"; +import type { ImportDocument, ScoreDocument, SessionDocument } from "tachi-common"; + +const mockImportDocument: ImportDocument = { + userID: 1, + userIntent: false, + classDeltas: [], + createdSessions: [], + errors: [], + goalInfo: [], + idStrings: [], + importID: "mockImportID", + importType: "file/batch-manual", + milestoneInfo: [], + scoreIDs: ["scoreid_1", "scoreid_2"], + timeFinished: 1000, + timeStarted: 0, + game: "iidx", + playtypes: ["SP"], +}; + +const mockSessionDocument: SessionDocument = { + userID: 1, + calculatedData: {}, + desc: "", + game: "iidx", + playtype: "SP", + highlight: false, + importType: "file/batch-manual", + name: "", + scoreInfo: [ + { + isNewScore: true, + scoreID: "scoreid_1", + }, + { + isNewScore: true, + scoreID: "scoreid_2", + }, + ], + sessionID: "mockSessionID", + timeEnded: 1000, + timeInserted: 0, + timeStarted: 0, + views: 0, +}; + +t.test("#DeleteScore", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should delete a score and everything pertaining to it", async (t) => { + const score = deepmerge(TestingIIDXSPScore, { scoreID: "scoreid_1" }); + + await db.imports.insert(mockImportDocument); + await db.sessions.insert(mockSessionDocument); + + await db.scores.insert(score); + + // This function doesn't return anything, instead, + // we need to check external state. + await DeleteScore(score); + + const dbScore = await db.scores.findOne({ + scoreID: "scoreid_1", + }); + + t.equal(dbScore, null, "Should remove the score from the database."); + + const dbImport = await db.imports.findOne({ + importID: "mockImportID", + }); + + t.strictSame( + dbImport?.scoreIDs, + ["scoreid_2"], + "Should remove scoreid_1 from the importDocuments scoreIDs." + ); + + const dbSession = await db.sessions.findOne({ + sessionID: "mockSessionID", + }); + + t.strictSame( + dbSession?.scoreInfo, + [ + { + isNewScore: true, + scoreID: "scoreid_2", + }, + ], + "Should remove scoreid_1 from the importDocuments scoreIDs" + ); + + t.end(); + }); + + t.test( + "Should work (i.e. not crash) if the score has no parent session or import", + async (t) => { + const score = deepmerge(TestingIIDXSPScore, { scoreID: "scoreid_1" }); + + await db.scores.insert(score); + + // This function doesn't return anything, instead, + // we need to check external state. + + await DeleteScore(score); + + const dbScore = await db.scores.findOne({ scoreID: score.scoreID }); + + t.equal(dbScore, null, "Should be removed from the database."); + + t.end(); + } + ); + + t.test("Should destroy its parents if this killed the only child", async (t) => { + const score = deepmerge(TestingIIDXSPScore, { scoreID: "scoreid_1" }); + + await db.imports.insert( + deepmerge( + mockImportDocument, + { scoreIDs: ["scoreid_1"] }, + { + arrayMerge: (a, b) => b, + } + ) + ); + await db.sessions.insert( + deepmerge( + mockSessionDocument, + { + scoreInfo: [ + { + isNewScore: true, + scoreID: "scoreid_1", + }, + ], + }, + { + arrayMerge: (a, b) => b, + } + ) + ); + + await db.scores.insert(score); + + await DeleteScore(score); + + const dbScore = await db.scores.findOne({ + scoreID: "scoreid_1", + }); + + t.equal(dbScore, null, "Should remove the score from the database."); + + const dbImport = await db.imports.findOne({ + importID: "mockImportID", + }); + + t.equal(dbImport, null, "Should remove the import from the database."); + + const dbSession = await db.sessions.findOne({ + sessionID: "mockSessionID", + }); + + t.equal(dbSession, null, "Should remove the session from the database."); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-mutation/delete-scores.ts b/server/src/lib/score-mutation/delete-scores.ts new file mode 100644 index 000000000..cf19eed33 --- /dev/null +++ b/server/src/lib/score-mutation/delete-scores.ts @@ -0,0 +1,227 @@ +/* eslint-disable no-await-in-loop */ +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { UpdateChartRanking } from "lib/score-import/framework/pb/create-pb-doc"; +import { ProcessPBs } from "lib/score-import/framework/pb/process-pbs"; +import { UpdateUsersGamePlaytypeStats } from "lib/score-import/framework/user-game-stats/update-ugs"; +import type { Game, Playtype, ScoreDocument } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +/** + * Deletes the provided score. This needs a dedicated helper method due to + * needing to unset things like sessions and recalcs. + */ +export async function DeleteScore( + score: ScoreDocument, + blacklist = false, + attemptPBReprocess = true +) { + await db.scores.remove({ + scoreID: score.scoreID, + }); + + const sessions = await db.sessions.find({ + "scoreInfo.scoreID": score.scoreID, + }); + + for (const session of sessions) { + // If a session only has one score, then pulling it should kill + // the session. + if (session.scoreInfo.length === 1) { + // eslint-disable-next-line no-await-in-loop + await db.sessions.remove({ + sessionID: session.sessionID, + }); + } + } + + await db.sessions.update( + { + sessionID: { $in: sessions.map((e) => e.sessionID) }, + }, + { + $pull: { + scoreInfo: { + scoreID: score.scoreID, + }, + }, + }, + { + multi: true, + } + ); + + const importDoc = await db.imports.findOne({ + scoreIDs: score.scoreID, + }); + + if (importDoc) { + if (importDoc.scoreIDs.length === 1) { + await db.imports.remove({ + importID: importDoc.importID, + }); + } else { + await db.imports.update( + { + importID: importDoc.importID, + }, + { + $pull: { + scoreIDs: score.scoreID, + }, + }, + { + multi: true, + } + ); + } + } + + const userHasOtherScores = await db.scores.findOne({ + userID: score.userID, + chartID: score.chartID, + }); + + if (userHasOtherScores && attemptPBReprocess) { + await ProcessPBs(score.userID, new Set([score.chartID]), logger); + } else { + await db["personal-bests"].remove({ + userID: score.userID, + chartID: score.chartID, + }); + + await UpdateChartRanking(score.chartID); + } + + await UpdateUsersGamePlaytypeStats(score.game, score.playtype, score.userID, null, logger); + + if (blacklist) { + const alreadyBlacklisted = await db["score-blacklist"].findOne({ + userID: score.userID, + scoreID: score.scoreID, + }); + + if (!alreadyBlacklisted) { + logger.info(`Blacklisted ${score.scoreID}.`); + await db["score-blacklist"].insert({ + userID: score.userID, + scoreID: score.scoreID, + score, + }); + } + } +} + +export async function DeleteMultipleScores(scores: Array, blacklist = false) { + logger.info(`received request to delete ${scores.length} (Blacklist: ${blacklist}).`); + + const scoreIDs = scores.map((e) => e.scoreID); + + await db.scores.remove({ + scoreID: { $in: scoreIDs }, + }); + + const sessions = await db.sessions.find({ + "scoreInfo.scoreID": { $in: scoreIDs }, + }); + + for (const session of sessions) { + // If a session only has one score, then pulling it should kill + // the session. + if (session.scoreInfo.length === 1) { + // eslint-disable-next-line no-await-in-loop + await db.sessions.remove({ + sessionID: session.sessionID, + }); + } + } + + await db.sessions.update( + { + sessionID: { $in: sessions.map((e) => e.sessionID) }, + }, + { + $pull: { + scoreInfo: { + scoreID: { $in: scoreIDs }, + }, + }, + }, + { + multi: true, + } + ); + + const importDoc = await db.imports.findOne({ + scoreIDs: { $in: scoreIDs }, + }); + + if (importDoc) { + if (importDoc.scoreIDs.length === 1) { + await db.imports.remove({ + importID: importDoc.importID, + }); + } else { + await db.imports.update( + { + importID: importDoc.importID, + }, + { + $pull: { + scoreIDs: { $in: scoreIDs }, + }, + }, + { + multi: true, + } + ); + } + } + + for (const score of scores) { + const userHasOtherScores = await db.scores.findOne({ + userID: score.userID, + chart: score.chartID, + }); + + if (userHasOtherScores) { + await ProcessPBs(score.userID, new Set([score.chartID]), logger); + } else { + await db["personal-bests"].remove({ + userID: score.userID, + chartID: score.chartID, + }); + + await UpdateChartRanking(score.chartID); + } + + if (blacklist) { + const alreadyBlacklisted = await db["score-blacklist"].findOne({ + userID: score.userID, + scoreID: score.scoreID, + }); + + if (!alreadyBlacklisted) { + logger.info(`Blacklisted ${score.scoreID}.`); + await db["score-blacklist"].insert({ + userID: score.userID, + scoreID: score.scoreID, + score, + }); + } + } + } + + const ugpts = [...new Set(scores.map((e) => `${e.game}-${e.playtype}-${e.userID}`))]; + + for (const ugpt of ugpts) { + const [game, playtype, strUserID] = ugpt.split("-") as [Game, Playtype, string]; + + const userID = Number(strUserID); + + await UpdateUsersGamePlaytypeStats(game, playtype, userID, null, logger); + } + + logger.info(`Finished deleting ${scores.length} scores.`); +} diff --git a/server/src/lib/score-mutation/update-isprimary.ts b/server/src/lib/score-mutation/update-isprimary.ts new file mode 100644 index 000000000..f14cdc6fc --- /dev/null +++ b/server/src/lib/score-mutation/update-isprimary.ts @@ -0,0 +1,65 @@ +/* eslint-disable no-await-in-loop */ +import db from "external/mongo/db"; +import { TachiConfig } from "lib/setup/config"; + +export default async function UpdateIsPrimaryStatus() { + for (const game of TachiConfig.GAMES) { + const chartIDs = ( + await db.charts[game].find({ + isPrimary: false, + }) + ).map((e) => e.chartID); + + await db.scores.update( + { + chartID: { $in: chartIDs }, + }, + { $set: { isPrimary: false } } + ); + + await db["personal-bests"].update( + { + chartID: { $in: chartIDs }, + }, + { $set: { isPrimary: false } } + ); + } +} + +// The easier way to do this is just to always update the isPrimary status +// Left, for posterities sake, is an incredibly sub-optimal aggregate that +// achieves this also. +// +// const scores = await db.scores.aggregate([ +// { +// $match: { +// game: "iidx", +// }, +// }, +// { +// $lookup: { +// from: "charts-iidx", +// localField: "chartID", +// foreignField: "chartID", +// as: "chart", +// }, +// }, +// { +// $unwind: { +// path: "$chart", +// }, +// }, +// // This is the best way to do $match $ne, according to SO. +// { +// $addFields: { +// needsUpdate: { +// $ne: ["$chart.isPrimary", "$isPrimary"], +// }, +// }, +// }, +// { +// $match: { +// needsUpdate: true, +// }, +// }, +// ]); diff --git a/server/src/lib/score-mutation/update-score.test.ts b/server/src/lib/score-mutation/update-score.test.ts new file mode 100644 index 000000000..d20cde497 --- /dev/null +++ b/server/src/lib/score-mutation/update-score.test.ts @@ -0,0 +1,126 @@ +import UpdateScore from "./update-score"; +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import { CreateScoreID } from "lib/score-import/framework/score-importing/score-id"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { TestingIIDXSPScore } from "test-utils/test-data"; +import type { ImportDocument, ScoreDocument, SessionDocument } from "tachi-common"; + +const mockImportDocument: ImportDocument = { + userID: 1, + userIntent: false, + classDeltas: [], + createdSessions: [], + errors: [], + goalInfo: [], + idStrings: [], + importID: "mockImportID", + importType: "file/batch-manual", + milestoneInfo: [], + scoreIDs: ["TESTING_SCORE_ID", "scoreid_2"], + timeFinished: 1000, + timeStarted: 0, + game: "iidx", + playtypes: ["SP"], +}; + +const mockSessionDocument: SessionDocument = { + userID: 1, + calculatedData: {}, + desc: "", + game: "iidx", + playtype: "SP", + highlight: false, + importType: "file/batch-manual", + name: "", + scoreInfo: [ + { + isNewScore: true, + scoreID: "TESTING_SCORE_ID", + }, + { + isNewScore: true, + scoreID: "scoreid_2", + }, + ], + sessionID: "mockSessionID", + timeEnded: 1000, + timeInserted: 0, + timeStarted: 0, + views: 0, +}; + +t.test("#UpdateScore", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should update a score and everything pertaining to it", async (t) => { + // n.b. this must be here!! otherwise we get nonsense errors due to _id bson + // errors. + delete TestingIIDXSPScore._id; + + const score = deepmerge(TestingIIDXSPScore, { + scoreData: { score: 1020 }, + } as ScoreDocument); + + delete score._id; + + const newScoreID = CreateScoreID(score.userID, score, score.chartID); + + await db.imports.insert(mockImportDocument); + await db.sessions.insert(mockSessionDocument); + + // This function doesn't return anything, instead, + // we need to check external state. + await UpdateScore(TestingIIDXSPScore, score); + + const dbScore = await db.scores.findOne({ + scoreID: "scoreid_1", + }); + + t.equal(dbScore, null, "Should have updated the scoreID from the database."); + + const dbNewScore = await db.scores.findOne({ + scoreID: newScoreID, + }); + + t.hasStrict( + dbNewScore?.scoreData, + score.scoreData, + "The new score inserted into the database should have the new scoreData." + ); + + const dbImport = await db.imports.findOne({ + importID: "mockImportID", + }); + + t.strictSame( + dbImport?.scoreIDs, + [newScoreID, "scoreid_2"], + "Should update TESTING_SCORE_ID to the new hash." + ); + + const dbSession = await db.sessions.findOne({ + sessionID: "mockSessionID", + }); + + t.strictSame( + dbSession?.scoreInfo, + [ + { + isNewScore: true, + scoreID: newScoreID, + }, + { + isNewScore: true, + scoreID: "scoreid_2", + }, + ], + "Should update TESTING_SCORE_ID to the new hash." + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/score-mutation/update-score.ts b/server/src/lib/score-mutation/update-score.ts new file mode 100644 index 000000000..1ac2c65e9 --- /dev/null +++ b/server/src/lib/score-mutation/update-score.ts @@ -0,0 +1,180 @@ +/* eslint-disable no-await-in-loop */ +import db from "external/mongo/db"; +import { rootLogger } from "lib/logger/logger"; +import { CreateCalculatedData } from "lib/score-import/framework/calculated-data/calculated-data"; +import { UpdateChartRanking } from "lib/score-import/framework/pb/create-pb-doc"; +import { CreateScoreID } from "lib/score-import/framework/score-importing/score-id"; +import { UpdateAllPBs } from "utils/calculations/recalc-scores"; +import { FormatUserDoc, GetUserWithID } from "utils/user"; +import type { KtLogger } from "lib/logger/logger"; +import type { ScoreDocument } from "tachi-common"; + +/** + * Updates a score from oldScore to newScore, applying all necessary state + * changes on the way. + * + * @note You don't need to recalc the scoreID for newScore, it's done for you. + */ +export default async function UpdateScore( + oldScore: ScoreDocument, + newScore: ScoreDocument, + updateOldChart = true +) { + const userID = oldScore.userID; + const user = await GetUserWithID(userID); + + if (!user) { + rootLogger.severe( + `User ${userID} does not exist, yet a score update was called for them? Panicking.` + ); + throw new Error( + `User ${userID} does not exist, yet a score update was called for them? Panicking.` + ); + } + + const chartID = newScore.chartID; + + const chart = await db.charts[oldScore.game].findOne({ + chartID, + }); + + if (!chart) { + rootLogger.severe( + `Chart ${chartID} does not exist, yet a score update was called for it? Panicking.` + ); + throw new Error( + `Chart ${chartID} does not exist, yet a score update was called for it? Panicking.` + ); + } + + const oldScoreID = oldScore.scoreID; + + const newScoreID = CreateScoreID(newScore.userID, newScore, newScore.chartID); + + // We need to change *so* many references to score IDs, and recalculate *so* + // much stored state. Obviously, changing a scoreID is an exceptional circumstance + // brought on by a bug. + // So hopefully, we wont have to use this much. + + newScore.scoreID = newScoreID; + + const logger = rootLogger.child({ + context: ["Update Score", oldScore.scoreID, newScore.scoreID, FormatUserDoc(user)], + }) as KtLogger; + + logger.verbose("Received Update Score request."); + + newScore.calculatedData = await CreateCalculatedData( + newScore, + chart, + newScore.scoreData.esd, + logger + ); + + try { + // Having _id defined will cause this to throw, causing it to not apply + // the update. + if (newScore._id) { + logger.warn( + `Passed a score with _id to UpdateScore. This property should not be set. Deleting this property and continuing anyway.` + ); + + // This property shouldn't be defined. + delete newScore._id; + } + + await db.scores.update( + { + scoreID: oldScoreID, + }, + { $set: newScore } + ); + } catch (err) { + logger.error(err); + logger.warn( + `Score ID ${newScoreID} already existed -- this update caused a collision. Removing old score and updating old references anyway.` + ); + await db.scores.remove({ + scoreID: oldScoreID, + }); + } + + const sessions = await db.sessions.find({ + "scoreInfo.scoreID": oldScoreID, + }); + + logger.verbose(`Updating ${sessions.length} sessions.`); + + // For every session that interacts with this score ID (there should only ever be one) + for (const session of sessions) { + // Go over all the scoreInfo and alter the ones that involve this scoreID. + for (const scoreInfo of session.scoreInfo) { + // If this scoreInfo needs to be changed + if (scoreInfo.scoreID === oldScoreID) { + scoreInfo.scoreID = newScoreID; + + // If there's any cached grade/lamp diffs, we need to update them. + if (!scoreInfo.isNewScore) { + const gradeDiff = oldScore.scoreData.gradeIndex - newScore.scoreData.gradeIndex; + const lampDiff = oldScore.scoreData.lampIndex - newScore.scoreData.lampIndex; + const percentDiff = oldScore.scoreData.percent - newScore.scoreData.percent; + const scoreDiff = oldScore.scoreData.score - newScore.scoreData.score; + + scoreInfo.gradeDelta = scoreInfo.gradeDelta - gradeDiff; + scoreInfo.lampDelta = scoreInfo.lampDelta - lampDiff; + scoreInfo.scoreDelta = scoreInfo.scoreDelta - scoreDiff; + scoreInfo.percentDelta = scoreInfo.percentDelta - percentDiff; + } + } + } + + await db.sessions.update( + { + sessionID: session.sessionID, + }, + { + $set: { scoreInfo: session.scoreInfo }, + } + ); + } + + logger.verbose(`Updating PBs.`); + + // Update the PBs to reference properly. + // We run updateAllPbs on just the modified chart -- the reason + // for this is to update ranking info incase that might fall out of + // sync as a result. + await UpdateAllPBs([userID], { + chartID: newScore.chartID, + }); + + await UpdateChartRanking(newScore.chartID); + + if (updateOldChart) { + await UpdateAllPBs([userID], { + chartID: oldScore.chartID, + }); + await UpdateChartRanking(oldScore.chartID); + } + + const imports = await db.imports.find({ + scoreIDs: oldScoreID, + }); + + logger.verbose(`Updating ${imports.length} imports.`); + + for (const importDoc of imports) { + await db.imports.update( + { + importID: importDoc.importID, + }, + { + $set: { + scoreIDs: importDoc.scoreIDs.map((e) => (e === oldScoreID ? newScoreID : e)), + }, + } + ); + } + + logger.verbose(`Done updating score.`); +} diff --git a/server/src/lib/search/search.test.ts b/server/src/lib/search/search.test.ts new file mode 100644 index 000000000..92c712d23 --- /dev/null +++ b/server/src/lib/search/search.test.ts @@ -0,0 +1,62 @@ +import { SearchSpecificGameSongs, SearchUsersRegExp } from "./search"; +import db from "external/mongo/db"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { LoadTachiIIDXData } from "test-utils/test-data"; + +t.test("#SearchSpecificGameSongs", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(LoadTachiIIDXData); + t.beforeEach(async () => { + await db.songs.iidx.dropIndexes(); + + // Casting here is due to a known bug with monk. + await db.songs.iidx.createIndex({ + title: "text", + artist: "text", + altTitles: "text", + searchTerms: "text", + // eslint-disable-next-line @typescript-eslint/no-explicit-any + } as any); + }); + + t.test("Should return songs like the query.", async (t) => { + const res = await SearchSpecificGameSongs("iidx", "amuro"); + + // for simplicity of testing (and because the + // return order is ambiguous) we sort on + // songID here and expect this. + t.strictSame( + res.sort((a, b) => a.id - b.id).map((e) => e.title), + ["A", "AA", "冥", "F", "HAERETICUS", "ZZ", "X", "AA -rebuild-", "∀", "-65℃"] + ); + + t.end(); + }); + + t.end(); +}); + +t.test("#SearchUsersRegExp", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should search users.", async (t) => { + const res = await SearchUsersRegExp("zkldi"); + + t.equal(res.length, 1); + t.equal(res[0]?.usernameLowercase, "test_zkldi"); + + const res2 = await SearchUsersRegExp("zk"); + + t.equal(res2.length, 1); + t.equal(res2[0]?.usernameLowercase, "test_zkldi"); + + const res3 = await SearchUsersRegExp("zkzdi"); + + t.equal(res3.length, 0); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/search/search.ts b/server/src/lib/search/search.ts new file mode 100644 index 000000000..52a5d48b7 --- /dev/null +++ b/server/src/lib/search/search.ts @@ -0,0 +1,264 @@ +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { TachiConfig } from "lib/setup/config"; +import { EscapeStringRegexp } from "utils/misc"; +import { GetOnlineCutoff } from "utils/user"; +import type { FilterQuery } from "mongodb"; +import type { ICollection } from "monk"; +import type { + ChartDocument, + FolderDocument, + Game, + integer, + Playtype, + PublicUserDocument, + SessionDocument, + SongDocument, +} from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +/** + * Perform a $text index search on a collection. + * + * This throws an error if the collection does not have a text index. + * + * @param existingMatch - An existing $match query to further filter results + * by. + */ +export function SearchCollection( + collection: ICollection, + search: string, + existingMatch: FilterQuery = {}, + limit = 100 +): Promise> { + const agg: Promise> = collection.aggregate([ + { + $match: deepmerge({ $text: { $search: search } }, existingMatch), + }, + + // Project the __textScore field on so we can sort + // based on search proximity to query + { + $addFields: { + __textScore: { $meta: "textScore" }, + }, + }, + + // sort by quality of match + { $sort: { __textScore: -1 } }, + + // hide nonsense + { $match: { __textScore: { $gt: 0.25 } } }, + { $limit: limit }, + { $unset: "_id" }, + ]); + + return agg.catch((err: unknown) => { + logger.error( + `An error occured while trying to $text search collection ${collection.name}. Does this have a $text index?`, + { err } + ); + + // throw it up further + throw err; + }); +} + +export type SongSearchReturn = SongDocument & { + __textScore: number; +}; + +export function SearchSpecificGameSongs( + game: Game, + search: string, + limit = 100 +): Promise> { + return SearchCollection(db.songs[game], search, {}, limit); +} + +export async function SearchSpecificGameSongsAndCharts( + game: Game, + search: string, + playtype?: Playtype, + limit = 100 +) { + const songs = await SearchSpecificGameSongs(game, search, limit); + + const chartQuery: FilterQuery = { + songID: { $in: songs.map((e) => e.id) }, + }; + + if (playtype) { + chartQuery.playtype = playtype; + } + + const charts = (await db.charts[game].find(chartQuery)) as Array; + + return { songs, charts }; +} + +export function SearchSessions( + search: string, + game?: Game, + playtype?: Playtype, + userID?: integer, + limit = 100 +) { + const baseMatch: FilterQuery = {}; + + if (game) { + baseMatch.game = game; + } + + if (playtype) { + baseMatch.playtype = playtype; + } + + if (userID !== undefined) { + baseMatch.userID = userID; + } + + return SearchCollection(db.sessions, search, baseMatch, limit); +} + +/** + * Searches the user collection for users that are *like* the + * provided string. + * + * We use regex matching because $text matches words, and users + * aren't allowed spaces in their name. In short, $text is very + * poor at actually matching usernames. + */ +export function SearchUsersRegExp(search: string, matchOnline = false) { + const regexEsc = EscapeStringRegexp(search.toLowerCase()); + + const matchQuery: FilterQuery = { + usernameLowercase: { $regex: new RegExp(regexEsc, "u") }, + }; + + if (matchOnline) { + matchQuery.lastSeen = { $gt: GetOnlineCutoff() }; + } + + return db.users.find(matchQuery, { + limit: 25, + }); +} + +/** + * Terrible function name! + * Searches a single game, but optimised for the searchAllGames return. + */ +async function SearchAllGamesSingleGame(game: Game, search: string) { + const songs = (await SearchSpecificGameSongs(game, search, 10)) as Array< + SongSearchReturn & { + game: Game; + } + >; + + for (const song of songs) { + song.game = game; + } + + return songs; +} + +/** + * Searches all games' songs. + */ +export async function SearchAllGamesSongs(search: string) { + return SearchGamesSongs(search, TachiConfig.GAMES); +} + +export async function SearchGamesSongs(search: string, games: Array) { + const promises = []; + + for (const game of games) { + promises.push(SearchAllGamesSingleGame(game, search)); + } + + const res = await Promise.all(promises); + + return res.flat(1).sort((a, b) => b.__textScore - a.__textScore); +} + +export async function SearchGamesSongsCharts(search: string, games: Array) { + const promises = []; + + for (const game of games) { + promises.push( + SearchSpecificGameSongsAndCharts(game, search).then((e) => ({ + game, + songs: e.songs, + charts: e.charts, + })) + ); + } + + return Promise.all(promises); +} + +export async function SearchForChartHash(search: string) { + const results = (await Promise.all([ + db.charts.bms.findOne({ $or: [{ "data.hashMD5": search }, { "data.hashSHA256": search }] }), + db.charts.pms.findOne({ $or: [{ "data.hashMD5": search }, { "data.hashSHA256": search }] }), + db.charts.usc.findOne({ "data.hashSHA1": search }), + ])) as [ChartDocument | null, ChartDocument | null, ChartDocument | null]; + + const [bmsChart, pmsChart, uscChart] = results; + + const songs = []; + const charts = results.filter((e) => e !== null) as Array; + + if (bmsChart) { + songs.push( + AddGamePropToSong( + (await db.songs.bms.findOne({ + id: bmsChart.songID, + }))!, + "bms" + ) + ); + } + + if (pmsChart) { + songs.push( + AddGamePropToSong( + (await db.songs.pms.findOne({ + id: pmsChart.songID, + }))!, + "pms" + ) + ); + } + + if (uscChart) { + songs.push( + AddGamePropToSong( + (await db.songs.usc.findOne({ + id: uscChart.songID, + }))!, + "usc" + ) + ); + } + + return { songs, charts }; +} + +export function SearchFolders( + search: string, + existingMatch?: FilterQuery, + limit?: integer +) { + return SearchCollection(db.folders, search, existingMatch, limit); +} + +function AddGamePropToSong(songDocument: SongDocument, game: Game): SongDocument & { game: Game } { + // @ts-expect-error Yep, that's intentional. + songDocument.game = game; + + return songDocument as SongDocument & { game: Game }; +} diff --git a/server/src/lib/setup/config.ts b/server/src/lib/setup/config.ts new file mode 100644 index 000000000..99a571bd7 --- /dev/null +++ b/server/src/lib/setup/config.ts @@ -0,0 +1,303 @@ +/* eslint-disable no-console */ +// barrel file for re-exporting env variables. +import dotenv from "dotenv"; +import JSON5 from "json5"; +import p from "prudence"; +import { StaticConfig } from "tachi-common"; +import { IsNullishOrEmptyStr } from "utils/misc"; +import { FormatPrError } from "utils/prudence"; +import fs from "fs"; +import { URL } from "url"; +import type { SendMailOptions } from "nodemailer"; +import type { Game, ImportTypes, integer } from "tachi-common"; + +// imports things like NODE_ENV from a local .env file if one is present. +dotenv.config(); + +// stub - having a real logger here creates a circular dependency. +const logger = console; + +const confLocation = process.env.TCHIS_CONF_LOCATION ?? "./conf.json5"; + +// reads from $pwd/conf.json5, unless an override is set +let confFile; + +try { + confFile = fs.readFileSync(confLocation, "utf-8"); +} catch (err) { + logger.error("Error while trying to open conf.json5. Is one present?", { err }); + + process.exit(1); +} + +const config: unknown = JSON5.parse(confFile); + +function isValidURL(self: unknown) { + if (typeof self !== "string") { + return `Expected URL, received type ${typeof self}`; + } + + try { + // eslint-disable-next-line no-new + new URL(self); + return true; + } catch (err) { + return `Invalid URL ${self} (${(err as Error).message}).`; + } +} + +export interface OAuth2Info { + CLIENT_ID: string; + CLIENT_SECRET: string; + REDIRECT_URI: string; +} + +export interface TachiServerConfig { + MONGO_DATABASE_NAME: string; + CAPTCHA_SECRET_KEY: string; + SESSION_SECRET: string; + FLO_API_URL?: string; + EAG_API_URL?: string; + MIN_API_URL?: string; + ARC_API_URL?: string; + FLO_OAUTH2_INFO?: OAuth2Info; + EAG_OAUTH2_INFO?: OAuth2Info; + MIN_OAUTH2_INFO?: OAuth2Info; + ARC_AUTH_TOKEN?: string; + ENABLE_SERVER_HTTPS?: boolean; + CLIENT_DEV_SERVER?: string | null; + RATE_LIMIT: integer; + OAUTH_CLIENT_CAP: integer; + OPTIONS_ALWAYS_SUCCEEDS?: boolean; + USE_EXTERNAL_SCORE_IMPORT_WORKER: boolean; + EXTERNAL_SCORE_IMPORT_WORKER_CONCURRENCY?: integer; + SEEDS_CONFIG?: { + REPO_URL: string; + USER_NAME: string | null; + USER_EMAIL: string | null; + }; + EMAIL_CONFIG?: { + FROM: string; + DKIM?: SendMailOptions["dkim"]; + + // @warning This is explicitly allowed to be any + // As nodemailer doesnt properly export the types we care about + // This should be set to SMTPTransport.Options, but it is + // inaccessible. + // eslint-disable-next-line @typescript-eslint/no-explicit-any + TRANSPORT_OPS: any; + }; + USC_QUEUE_SIZE: integer; + BEATORAJA_QUEUE_SIZE: integer; + MAX_GOAL_SUBSCRIPTIONS: integer; + MAX_MILESTONE_SUBSCRIPTIONS: integer; + OUR_URL: string; + INVITE_CODE_CONFIG?: { + BATCH_SIZE: integer; + INVITE_CAP: integer; + BETA_USER_BONUS: integer; + }; + TACHI_CONFIG: { + NAME: string; + TYPE: "btchi" | "ktchi" | "omni"; + GAMES: Array; + IMPORT_TYPES: Array; + }; + LOGGER_CONFIG: { + LOG_LEVEL: "crit" | "debug" | "error" | "info" | "severe" | "verbose" | "warn"; + CONSOLE: boolean; + FILE: boolean; + SEQ_API_KEY: string | undefined; + DISCORD?: { + WEBHOOK_URL: string; + WHO_TO_TAG: Array; + }; + }; + CDN_CONFIG: { + WEB_LOCATION: string; + SAVE_LOCATION: + | { + TYPE: "S3_BUCKET"; + ENDPOINT: string; + ACCESS_KEY_ID: string; + SECRET_ACCESS_KEY: string; + BUCKET: string; + KEY_PREFIX?: string; + REGION?: string; + } + | { TYPE: "LOCAL_FILESYSTEM"; LOCATION: string; SERVE_OWN_CDN?: boolean }; + }; +} + +const isValidOauth2 = p.optional({ + CLIENT_ID: "string", + CLIENT_SECRET: "string", + REDIRECT_URI: "string", +}); + +const err = p(config, { + MONGO_DATABASE_NAME: "string", + CAPTCHA_SECRET_KEY: "string", + SESSION_SECRET: "string", + FLO_API_URL: p.optional(isValidURL), + EAG_API_URL: p.optional(isValidURL), + MIN_API_URL: p.optional(isValidURL), + ARC_API_URL: p.optional(isValidURL), + FLO_OAUTH2_INFO: isValidOauth2, + EAG_OAUTH2_INFO: isValidOauth2, + MIN_OAUTH2_INFO: isValidOauth2, + ARC_AUTH_TOKEN: "*string", + ENABLE_SERVER_HTTPS: "*boolean", + CLIENT_DEV_SERVER: "*?string", + RATE_LIMIT: p.optional(p.isPositiveInteger), + OAUTH_CLIENT_CAP: p.optional(p.isPositiveInteger), + OPTIONS_ALWAYS_SUCCEEDS: "*boolean", + USE_EXTERNAL_SCORE_IMPORT_WORKER: "*boolean", + EXTERNAL_SCORE_IMPORT_WORKER_CONCURRENCY: p.optional(p.isPositiveInteger), + EMAIL_CONFIG: p.optional({ + FROM: "string", + DKIM: "*object", + + // WARN: This validation is improper and lazy. + // The actual content is just some wacky options object. + // I'm not going to assert this properly. + TRANSPORT_OPS: "*object", + }), + USC_QUEUE_SIZE: p.optional(p.gteInt(2)), + BEATORAJA_QUEUE_SIZE: p.optional(p.gteInt(2)), + MAX_GOAL_SUBSCRIPTIONS: p.optional(p.isPositiveInteger), + MAX_MILESTONE_SUBSCRIPTIONS: p.optional(p.isPositiveInteger), + OUR_URL: "string", + INVITE_CODE_CONFIG: p.optional({ + BATCH_SIZE: p.isPositiveInteger, + INVITE_CAP: p.isPositiveInteger, + BETA_USER_BONUS: p.isPositiveInteger, + }), + TACHI_CONFIG: { + NAME: "string", + TYPE: p.isIn("ktchi", "btchi", "omni"), + GAMES: [p.isIn(StaticConfig.allSupportedGames)], + IMPORT_TYPES: [p.isIn(StaticConfig.allImportTypes)], + }, + LOGGER_CONFIG: { + LOG_LEVEL: p.optional( + p.isIn("debug", "verbose", "info", "warn", "error", "severe", "crit") + ), + CONSOLE: "*boolean", + FILE: "*boolean", + SEQ_API_KEY: "*string", + DISCORD: p.optional({ + WEBHOOK_URL: "string", + WHO_TO_TAG: ["string"], + }), + }, + CDN_CONFIG: { + WEB_LOCATION: "string", + SAVE_LOCATION: p.or( + { + TYPE: p.is("LOCAL_FILESYSTEM"), + SERVE_OWN_CDN: "*boolean", + LOCATION: "string", + }, + { + TYPE: p.is("S3_BUCKET"), + ENDPOINT: "string", + ACCESS_KEY_ID: "string", + SECRET_ACCESS_KEY: "string", + BUCKET: "string", + KEY_PREFIX: "*string", + REGION: "*string", + } + ), + }, + SEEDS_CONFIG: p.optional({ + REPO_URL: "string", + USER_NAME: "?string", + USER_EMAIL: "?string", + }), +}); + +if (err) { + throw new Error(FormatPrError(err, "Invalid conf.json5 file.")); +} + +const tachiServerConfig = config as TachiServerConfig; + +// default rate limit 500 +tachiServerConfig.RATE_LIMIT ??= 500; +tachiServerConfig.OAUTH_CLIENT_CAP ??= 15; +tachiServerConfig.USC_QUEUE_SIZE ??= 3; +tachiServerConfig.BEATORAJA_QUEUE_SIZE ??= 3; +tachiServerConfig.MAX_GOAL_SUBSCRIPTIONS ??= 1_000; +tachiServerConfig.MAX_MILESTONE_SUBSCRIPTIONS ??= 100; +tachiServerConfig.USE_EXTERNAL_SCORE_IMPORT_WORKER ??= false; + +export const TachiConfig = tachiServerConfig.TACHI_CONFIG; +export const ServerConfig = tachiServerConfig; + +// Environment Variable Validation + +let port = Number(process.env.PORT); + +if (Number.isNaN(port) && process.env.IS_SERVER) { + logger.warn(`No/invalid PORT specified in environment, defaulting to 8080.`); + port = 8080; +} + +const redisUrl = process.env.REDIS_URL ?? ""; + +if (!redisUrl) { + // n.b. These logs should be critical level, but the logger cant actually instantiate + // itself in this file, because this file also controlls the logger. Ouch! + logger.error(`No REDIS_URL specified in environment. Terminating.`); + process.exit(1); +} + +const mongoUrl = process.env.MONGO_URL ?? ""; + +if (!mongoUrl) { + logger.error(`No MONGO_URL specified in environment. Terminating.`); + process.exit(1); +} + +const seqUrl = process.env.SEQ_URL ?? ""; + +if (!seqUrl && !IsNullishOrEmptyStr(tachiServerConfig.LOGGER_CONFIG.SEQ_API_KEY)) { + logger.warn( + `No SEQ_URL specified in environment, yet LOGGER_CONFIG.SEQ_API_KEY was defined. No logs will be sent to Seq!` + ); +} + +const nodeEnv = process.env.NODE_ENV ?? ""; + +if (!nodeEnv) { + logger.error(`No NODE_ENV specified in environment. Terminating.`); + process.exit(1); +} + +if (!["dev", "production", "staging", "test"].includes(nodeEnv)) { + logger.error( + `Invalid NODE_ENV set in environment. Expected dev, production, test or staging. Got ${nodeEnv}.` + ); + process.exit(1); +} + +// if (bms XOR popn) is enabled +if (TachiConfig.GAMES.includes("bms") !== TachiConfig.GAMES.includes("pms")) { + logger.error( + `BMS and PMS MUST be enabled at the same time, due to how the beatoraja IR works.` + ); + + process.exit(1); +} + +const replicaIdentity = process.env.REPLICA_IDENTITY; + +export const Environment = { + port, + redisUrl, + mongoUrl, + nodeEnv, + replicaIdentity, + seqUrl, +}; diff --git a/server/src/lib/showcase/evaluator.test.ts b/server/src/lib/showcase/evaluator.test.ts new file mode 100644 index 000000000..944151341 --- /dev/null +++ b/server/src/lib/showcase/evaluator.test.ts @@ -0,0 +1,76 @@ +import { EvaluateShowcaseStat } from "./evaluator"; +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import { IIDX_LAMPS } from "tachi-common"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { Testing511SPA, TestingIIDXFolderSP10, TestingIIDXSPScorePB } from "test-utils/test-data"; +import { CreateFolderChartLookup } from "utils/folder"; + +/* eslint-disable no-return-await */ +// causes a race condition otherwise due to weird tap interaction + +t.test("#EvaluateShowcaseStat", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(async () => { + await CreateFolderChartLookup(TestingIIDXFolderSP10, true); + }); + t.beforeEach( + async () => await db["personal-bests"].insert(deepmerge(TestingIIDXSPScorePB, {})) + ); + + t.test("Should evaluate a folder stat.", async (t) => { + const data = await EvaluateShowcaseStat( + { + folderID: TestingIIDXFolderSP10.folderID, + mode: "folder", + property: "lamp", + gte: IIDX_LAMPS.HARD_CLEAR, + }, + 1 + ); + + t.strictSame(data, { + value: 1, + outOf: 1, + }); + + t.end(); + }); + + t.test("Should evaluate a chart stat.", async (t) => { + const data = await EvaluateShowcaseStat( + { + chartID: Testing511SPA.chartID, + mode: "chart", + property: "score", + }, + 1 + ); + + t.strictSame(data, { + value: 1479, + }); + + t.end(); + }); + + t.test("Should return null if the user has no score on this chart.", async (t) => { + const data = await EvaluateShowcaseStat( + { + chartID: "nonsense", + mode: "chart", + property: "score", + }, + 1 + ); + + t.strictSame(data, { + value: null, + }); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/showcase/evaluator.ts b/server/src/lib/showcase/evaluator.ts new file mode 100644 index 000000000..09a14f11d --- /dev/null +++ b/server/src/lib/showcase/evaluator.ts @@ -0,0 +1,97 @@ +import db from "external/mongo/db"; +import { GetFolderChartIDs } from "utils/folder"; +import type { + integer, + ShowcaseStatDetails, + ShowcaseStatChart, + ShowcaseStatFolder, +} from "tachi-common"; + +export function EvaluateShowcaseStat( + details: ShowcaseStatDetails, + userID: integer +): Promise<{ + value: number | null; + outOf?: number; +}> { + switch (details.mode) { + case "chart": + return EvaluateShowcaseChartStat(details, userID); + case "folder": + return EvaluateShowcaseFolderStat(details, userID); + + default: + // @ts-expect-error This should never happen anyway -- this ignore ignores a 'never' result. + throw new Error(`Invalid mode of ${details.mode} as details mode?`); + } +} + +async function EvaluateShowcaseChartStat(details: ShowcaseStatChart, userID: integer) { + // requires special handling + if (details.property === "playcount") { + return { value: await db.scores.count({ chartID: details.chartID, userID }) }; + } + + const mongoProp = PropToMongoProp(details.property); + + const pb = await db["personal-bests"].findOne( + { chartID: details.chartID, userID }, + { projection: { [mongoProp]: 1 } } + ); + + if (!pb) { + return { value: null }; + } + + const scProp = PropToScoreDataProp(details.property); + + return { value: pb.scoreData[scProp] }; +} + +async function EvaluateShowcaseFolderStat(details: ShowcaseStatFolder, userID: integer) { + let chartIDs; + + if (Array.isArray(details.folderID)) { + chartIDs = (await Promise.all(details.folderID.map(GetFolderChartIDs))).flat(1); + } else { + chartIDs = await GetFolderChartIDs(details.folderID); + } + + const mongoProp = PropToMongoProp(details.property); + + const value = await db["personal-bests"].count({ + userID, + + // @optimisable - This is slightly inefficent, maybe we can use relational-style querying? + chartID: { $in: chartIDs }, + [mongoProp]: { $gte: details.gte }, + }); + + return { value, outOf: chartIDs.length }; +} + +function PropToMongoProp(prop: "grade" | "lamp" | "percent" | "score") { + switch (prop) { + case "score": + return "scoreData.score"; + case "lamp": + return "scoreData.lampIndex"; + case "grade": + return "scoreData.gradeIndex"; + case "percent": + return "scoreData.percent"; + } +} + +function PropToScoreDataProp(prop: "grade" | "lamp" | "percent" | "score") { + switch (prop) { + case "score": + return "score"; + case "lamp": + return "lampIndex"; + case "grade": + return "gradeIndex"; + case "percent": + return "percent"; + } +} diff --git a/server/src/lib/showcase/get-related.ts b/server/src/lib/showcase/get-related.ts new file mode 100644 index 000000000..675abb76f --- /dev/null +++ b/server/src/lib/showcase/get-related.ts @@ -0,0 +1,56 @@ +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import type { Game, ShowcaseStatDetails } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +export async function GetRelatedStatDocuments(stat: ShowcaseStatDetails, game: Game) { + switch (stat.mode) { + case "chart": { + const chart = await db.charts[game].findOne({ chartID: stat.chartID }); + + if (!chart) { + logger.error(`This stat refers to a chart that does not exist?`, { stat }); + throw new Error(`Stat refers to a chart that does not exist? ${stat.chartID}.`); + } + + const song = await db.songs[game].findOne({ id: chart.songID }); + + if (!song) { + logger.severe(`Song-Chart Mismatch - ${chart.songID}.`, { chart }); + throw new Error(`Song-Chart Mismatch on ${chart.songID}.`); + } + + return { song, chart }; + } + + case "folder": { + if (Array.isArray(stat.folderID)) { + logger.warn( + `This stat is corrupt and attempted to use multiple folderIDs. This is no longer supported. Check that migrations have ran.`, + { stat } + ); + throw new Error(`Legacy FolderIDs used in showcase stat.`); + } + + const folder = await db.folders.findOne({ + folderID: stat.folderID, + }); + + if (!folder) { + logger.error(`This stat refers to a folder that does not exist?`, { stat }); + throw new Error(`Stat refers to folder that no longer exists.`); + } + + return { folder }; + } + + default: { + logger.error( + `Invalid stat - has nonsense stat.mode of ${(stat as ShowcaseStatDetails).mode}.`, + { stat } + ); + throw new Error(`Invalid stat.mode in stat?`); + } + } +} diff --git a/server/src/lib/showcase/get-stats.test.ts b/server/src/lib/showcase/get-stats.test.ts new file mode 100644 index 000000000..69ea12bf2 --- /dev/null +++ b/server/src/lib/showcase/get-stats.test.ts @@ -0,0 +1,130 @@ +import { EvaluateUsersStatsShowcase } from "./get-stats"; +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import { IIDX_LAMPS } from "tachi-common"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { TestingIIDXFolderSP10, Testing511SPA, TestingIIDXSPScorePB } from "test-utils/test-data"; +import { CreateFolderChartLookup } from "utils/folder"; + +t.test("#EvalulateUsersStatsShowcase", (t) => { + t.beforeEach(ResetDBState); + + t.beforeEach(async () => { + await db.folders.insert(TestingIIDXFolderSP10); + await CreateFolderChartLookup(TestingIIDXFolderSP10, true); + + await db["game-settings"].remove({}); + + await db["game-settings"].insert({ + userID: 1, + game: "iidx", + playtype: "SP", + preferences: { + preferredProfileAlg: null, + preferredScoreAlg: null, + preferredSessionAlg: null, + scoreBucket: null, + defaultTable: null, + stats: [ + { + folderID: TestingIIDXFolderSP10.folderID, + mode: "folder", + property: "lamp", + gte: IIDX_LAMPS.HARD_CLEAR, + }, + { + chartID: Testing511SPA.chartID, + mode: "chart", + property: "score", + }, + ], + gameSpecific: { + display2DXTra: false, + bpiTarget: 0, + }, + }, + rivals: [], + }); + + await db["personal-bests"].insert(deepmerge(TestingIIDXSPScorePB, {})); + }); + + t.test("Should evaluate a user's preferred stats.", async (t) => { + const res = await EvaluateUsersStatsShowcase(1, "iidx", "SP"); + + t.hasStrict(res, [ + { + stat: { folderID: TestingIIDXFolderSP10.folderID }, + result: { + value: 1, + outOf: 1, + }, + related: { + folder: { + folderID: TestingIIDXFolderSP10.folderID, + }, + }, + }, + { + stat: { chartID: Testing511SPA.chartID }, + result: { + value: 1479, + }, + related: { + song: { + title: "5.1.1.", + }, + chart: { + difficulty: "ANOTHER", + playtype: "SP", + }, + }, + }, + ]); + + t.end(); + }); + + t.test("Should throw an error if the user does not have game-settings.", async (t) => { + await db["game-settings"].remove({}); + + t.rejects(() => EvaluateUsersStatsShowcase(1, "iidx", "SP")); + + t.end(); + }); + + t.test("Should project another users stats onto the given user if set.", async (t) => { + await db["personal-bests"].insert( + deepmerge(TestingIIDXSPScorePB, { + userID: 2, + scoreData: { + score: 300, + lampIndex: IIDX_LAMPS.CLEAR, + }, + }) + ); + + const res = await EvaluateUsersStatsShowcase(2, "iidx", "SP", 1); + + t.hasStrict(res, [ + { + stat: { folderID: TestingIIDXFolderSP10.folderID }, + result: { + value: 0, + outOf: 1, + }, + }, + { + stat: { chartID: Testing511SPA.chartID }, + result: { + value: 300, + }, + }, + ]); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/showcase/get-stats.ts b/server/src/lib/showcase/get-stats.ts new file mode 100644 index 000000000..c8369e33d --- /dev/null +++ b/server/src/lib/showcase/get-stats.ts @@ -0,0 +1,51 @@ +import { EvaluateShowcaseStat } from "./evaluator"; +import { GetRelatedStatDocuments } from "./get-related"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import type { integer, Game, Playtype, ShowcaseStatDetails } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +/** + * Evaluate a users set Stats Showcase. + * @param projectUserStats - Optionally, provide another users ID here. Their stats showcase will be + * used instead. + */ +export async function EvaluateUsersStatsShowcase( + userID: integer, + game: Game, + playtype: Playtype, + projectUserStats?: integer +) { + const getSettingsID = projectUserStats ?? userID; + const settings = await db["game-settings"].findOne({ + userID: getSettingsID, + game, + playtype, + }); + + if (!settings) { + logger.error( + `User ${getSettingsID} has no game-settings, yet a call to EvaluateUsersStatsShowcase was made.` + ); + + throw new Error( + `User ${getSettingsID} has no game-settings, yet a call to EvaluateUsersStatsShowcase was made.` + ); + } + + const results = await Promise.all( + settings.preferences.stats.map((details) => EvaluateStats(details, userID, game)) + ); + + return results; +} + +async function EvaluateStats(details: ShowcaseStatDetails, userID: integer, game: Game) { + const [result, related] = await Promise.all([ + EvaluateShowcaseStat(details, userID), + GetRelatedStatDocuments(details, game), + ]); + + return { stat: details, result, related }; +} diff --git a/server/src/lib/showcase/showcase.test.ts b/server/src/lib/showcase/showcase.test.ts new file mode 100644 index 000000000..ea30c891f --- /dev/null +++ b/server/src/lib/showcase/showcase.test.ts @@ -0,0 +1,94 @@ +import { RemoveStaleFolderShowcaseStats } from "./showcase"; +import db from "external/mongo/db"; +import t from "tap"; +import { mkFakeGameSettings } from "test-utils/misc"; +import ResetDBState from "test-utils/resets"; + +t.test("#RemoveStaleFolderShowcaseStats", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(async () => { + await db["game-settings"].remove({}); + await db["game-settings"].insert([ + mkFakeGameSettings(1, "iidx", "SP", { + // @todo Make `mk` test functions deeply partial. + // @ts-expect-error DeepPartial modifications to mkFakeGameSettings + // is not currently possible. + preferences: { + stats: [ + { + mode: "chart", + chartID: "foo", + property: "grade", + }, + { + mode: "folder", + folderID: "REMOVED_FOLDER", + gte: 1, + property: "lamp", + }, + { + mode: "folder", + folderID: "NORMAL_FOLDER", + gte: 1, + property: "lamp", + }, + ], + }, + }), + mkFakeGameSettings(2, "iidx", "SP", { + // @ts-expect-error see above + preferences: { + stats: [ + { + mode: "chart", + chartID: "foo", + property: "grade", + }, + { + mode: "folder", + folderID: "REMOVED_FOLDER", + gte: 1, + property: "lamp", + }, + ], + }, + }), + ]); + }); + + t.test("Should remove folder stats that refer to unused folders.", async (t) => { + await RemoveStaleFolderShowcaseStats(["REMOVED_FOLDER"]); + + const dbResult = await db["game-settings"].find(); + + t.strictSame( + dbResult.map((e) => e.preferences.stats), + [ + [ + { + mode: "chart", + chartID: "foo", + property: "grade", + }, + { + mode: "folder", + folderID: "NORMAL_FOLDER", + gte: 1, + property: "lamp", + }, + ], + [ + { + mode: "chart", + chartID: "foo", + property: "grade", + }, + ], + ] + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/lib/showcase/showcase.ts b/server/src/lib/showcase/showcase.ts new file mode 100644 index 000000000..8afb11d98 --- /dev/null +++ b/server/src/lib/showcase/showcase.ts @@ -0,0 +1,22 @@ +import db from "external/mongo/db"; + +/** + * When a folder is removed, any showcase stats referring to that folder + * need to be changed aswell. + */ +export function RemoveStaleFolderShowcaseStats(removedFolderIDs: Array) { + return db["game-settings"].update( + {}, + { + $pull: { + "preferences.stats": { + mode: "folder", + folderID: { $in: removedFolderIDs }, + }, + }, + }, + { + multi: true, + } + ); +} diff --git a/server/src/lib/targets/goal-utils.ts b/server/src/lib/targets/goal-utils.ts new file mode 100644 index 000000000..abe95f470 --- /dev/null +++ b/server/src/lib/targets/goal-utils.ts @@ -0,0 +1,280 @@ +import db from "external/mongo/db"; +import { GenericCalculatePercent } from "lib/score-import/framework/common/score-utils"; +import { FormatGame, GetGamePTConfig } from "tachi-common"; +import { GetFolderForIDGuaranteed, HumaniseChartID } from "utils/db"; +import { GetFolderChartIDs } from "utils/folder"; +import { FormatMaxDP, HumanisedJoinArray } from "utils/misc"; +import type { ChartDocument, Game, GoalDocument, Playtype } from "tachi-common"; + +export async function CreateGoalTitle( + charts: GoalDocument["charts"], + criteria: GoalDocument["criteria"], + game: Game, + playtype: Playtype +) { + const formattedCriteria = FormatCriteria(criteria, game, playtype); + + const datasetName = await FormatCharts(charts, game); + + // Formatting this stuff into english is hard and excruciatingly manual. + switch (criteria.mode) { + case "single": + switch (charts.type) { + case "any": + return `${formattedCriteria} any chart`; + case "single": + case "multi": + return `${formattedCriteria} ${datasetName}`; + case "folder": + return `${formattedCriteria} any chart in ${datasetName}`; + } + + // Eslint can't figure out that the above switches are safely exhastive. Ah well. + // eslint-disable-next-line no-fallthrough + case "absolute": + switch (charts.type) { + case "any": + return `${formattedCriteria} ${criteria.countNum} charts`; + case "multi": + return `${formattedCriteria} ${criteria.countNum} of ${datasetName}`; + case "folder": + return `${formattedCriteria} ${criteria.countNum} charts in ${datasetName}`; + case "single": + throw new Error( + `Invalid goal -- absolute mode cannot be paired with a charts.type of 'single'.` + ); + } + + // See above about switch exhaustivity + // eslint-disable-next-line no-fallthrough + case "proportion": { + const propFormat = FormatMaxDP(criteria.countNum * 100); + + switch (charts.type) { + case "any": + return `${formattedCriteria} ${propFormat}% of all charts`; + case "multi": + return `${formattedCriteria} ${propFormat}% of ${datasetName}`; + case "folder": + return `${formattedCriteria} ${propFormat}% of the charts in ${datasetName}`; + case "single": + throw new Error( + `Invalid goal -- absolute mode cannot be paired with a charts.type of 'single'.` + ); + } + } + } +} + +async function FormatCharts(charts: GoalDocument["charts"], game: Game) { + switch (charts.type) { + case "single": + return HumaniseChartID(game, charts.data); + case "multi": { + // @inefficient + // This could be done with significantly less db queries. + const formattedTitles = await Promise.all( + charts.data.map((chartID) => HumaniseChartID(game, chartID)) + ); + + return HumanisedJoinArray(formattedTitles); + } + + case "folder": { + const folder = await GetFolderForIDGuaranteed(charts.data); + + return `the ${folder.title} folder`; + } + + case "any": + return null; + default: + throw new Error( + `Invalid goal charts.type -- got ${ + (charts as GoalDocument["charts"]).type + }, which we don't support?` + ); + } +} + +function FormatCriteria(criteria: GoalDocument["criteria"], game: Game, playtype: Playtype) { + const gptConfig = GetGamePTConfig(game, playtype); + + switch (criteria.key) { + case "scoreData.gradeIndex": + return gptConfig.grades[criteria.value]; + case "scoreData.lampIndex": + return gptConfig.lamps[criteria.value]; + case "scoreData.percent": + return `Get ${FormatMaxDP(criteria.value)}% on`; + case "scoreData.score": + return `Get ${criteria.value.toLocaleString("en-GB")} on`; + } +} + +/** + * Given a goals' charts and criteria properties, evaluate whether those two make + * any sense at all. There are certain combinations that are illegal, or values that + * in general just should be constrained out. + * + * @warn This function is disgusting. This should have never happened. + */ +export async function ValidateGoalChartsAndCriteria( + charts: GoalDocument["charts"], + criteria: GoalDocument["criteria"], + game: Game, + playtype: Playtype +) { + let chartCount = 0; + + // Validating the charts supplied + + switch (charts.type) { + case "single": { + const chart = await db.charts[game].findOne({ + playtype, + chartID: charts.data, + }); + + if (!chart) { + throw new Error( + `A chart with id ${charts.data} does not exist for ${game}:${playtype}.` + ); + } + + chartCount = 1; + break; + } + + case "folder": { + const folder = await db.folders.findOne({ + game, + playtype, + folderID: charts.data, + }); + + if (!folder) { + throw new Error( + `A folder with id ${charts.data} does not exist for ${game}:${playtype}.` + ); + } + + chartCount = (await GetFolderChartIDs(charts.data)).length; + break; + } + + case "multi": { + if (charts.data.length < 2) { + throw new Error( + `Invalid charts.data for 'multi' charts. Must specify atleast two charts.` + ); + } + + const multiCharts = await db.charts[game].find({ + playtype, + chartID: { $in: charts.data }, + }); + + if (multiCharts.length !== charts.data.length) { + throw new Error( + `Expected charts.data to match ${charts.data.length} charts. Instead, it only matched ${multiCharts.length}. Are all of these chartIDs valid?` + ); + } + + chartCount = multiCharts.length; + break; + } + + case "any": { + chartCount = await db.charts[game].count({ playtype }); + break; + } + + default: + // @ts-expect-error Charts is stated to be never here, but if we get to this point it's + // effectively unknown + throw new Error(`Invalid goal.charts.type of ${charts.type}.`); + } + + // Validating criteria.mode against countNum. + if (criteria.mode === "proportion") { + if (criteria.countNum <= 0 || criteria.countNum > 1) { + throw new Error( + `Invalid countNum for goal with criteria.mode of 'proportion'. Expected a decimal in (0, 1]` + ); + } + + if (Math.floor(chartCount * criteria.countNum) === 0) { + throw new Error( + `countNum (${criteria.countNum}) is too small for a goal with ${chartCount} charts. Would result in requiring 0 charts to achieve the goal.` + ); + } + } else if ( + criteria.mode === "absolute" && + (criteria.countNum > chartCount || + !Number.isInteger(criteria.countNum) || + criteria.countNum < 2) + ) { + throw new Error( + `Invalid countNum for goal with criteria.mode of 'absolute'. Expected a whole number less than the total amount of charts available and greater than 1. (Got ${criteria.countNum}, while total charts was ${chartCount}.)` + ); + } + + // checking whether the key and value make sense + const gptConfig = GetGamePTConfig(game, playtype); + + if (criteria.key === "scoreData.gradeIndex" && !gptConfig.grades[criteria.value]) { + throw new Error( + `Invalid value of ${criteria.value} for grade goal. No such grade exists at that index.` + ); + } else if (criteria.key === "scoreData.lampIndex" && !gptConfig.lamps[criteria.value]) { + throw new Error( + `Invalid value of ${criteria.value} for lamp goal. No such lamp exists at that index.` + ); + } else if ( + criteria.key === "scoreData.percent" && + (criteria.value <= 0 || criteria.value > gptConfig.percentMax) + ) { + throw new Error( + `Invalid value of ${criteria.value} for percent goal. Percents must be between 0 and ${gptConfig.percentMax}.` + ); + } else if (criteria.key === "scoreData.score") { + if (criteria.value < 0) { + throw new Error(`Invalid score value for goal. Can't be negative.`); + } + + // troublemaker games where score is relative to notecount + if (game === "iidx" || game === "bms" || game === "pms") { + if (charts.type !== "single") { + throw new Error( + `Invalid key for ${game} with multiple charts. Creating score goals on multiple charts where score is relative to notecount is a terrible idea, and has been disabled.` + ); + } + + const relatedChart = (await db.charts[game].findOne({ + playtype, + chartID: charts.data, + }))! as ChartDocument< + "bms:7K" | "bms:14K" | "iidx:DP" | "iidx:SP" | "pms:Controller" | "pms:Keyboard" + >; + + const notecount = relatedChart.data.notecount; + + if (criteria.value > notecount * 2) { + throw new Error( + `Invalid value of ${ + criteria.value + } for goal. Maximum score possible on this chart is ${notecount * 2}.` + ); + } + } else if (GenericCalculatePercent(game, criteria.value) >= gptConfig.percentMax) { + throw new Error( + `Score of ${criteria.value} is too large for ${FormatGame(game, playtype)}.` + ); + } + } + + if (charts.type === "single" && criteria.mode !== "single") { + throw new Error(`Criteria Mode must be 'single' if Charts Type is 'single'.`); + } +} diff --git a/server/src/lib/targets/goals.test.ts b/server/src/lib/targets/goals.test.ts new file mode 100644 index 000000000..02ca668de --- /dev/null +++ b/server/src/lib/targets/goals.test.ts @@ -0,0 +1,311 @@ +import { EvaluateGoalForUser, HumaniseGoalProgress } from "./goals"; +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { + HC511Goal, + Testing511SPA, + TestingIIDXFolderSP10, + TestingIIDXSPScorePB, +} from "test-utils/test-data"; +import { CreateFolderChartLookup } from "utils/folder"; +import { Random20Hex } from "utils/misc"; +import type { GoalDocument } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +t.test("#EvaluateGoalForUser", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should correctly evaluate against single goals.", (t) => { + t.beforeEach(async () => { + await db["personal-bests"].insert(TestingIIDXSPScorePB); + delete TestingIIDXSPScorePB._id; + }); + + t.test("Should correctly evaluate goals if user succeeds.", async (t) => { + const res = await EvaluateGoalForUser(HC511Goal, 1, logger); + + t.strictSame( + res, + { + achieved: true, + outOf: 5, + progress: 6, + outOfHuman: "HARD CLEAR", + progressHuman: "EX HARD CLEAR (BP: 2)", + }, + "Should correctly evaluate the goal if the user succeeds." + ); + + t.end(); + }); + + t.test("Should correctly evaluate goals if user fails.", async (t) => { + await db["personal-bests"].update( + { userID: 1, chartID: Testing511SPA.chartID }, + { + $set: { + "scoreData.lamp": "CLEAR", + "scoreData.lampIndex": 4, + }, + } + ); + + const res = await EvaluateGoalForUser(HC511Goal, 1, logger); + + t.strictSame( + res, + { + achieved: false, + outOf: 5, + progress: 4, + outOfHuman: "HARD CLEAR", + progressHuman: "CLEAR (BP: 2)", + }, + "Should correctly evaluate the goal if the user fails." + ); + + t.end(); + }); + + t.test("Should correctly evaluate goals when user has no score.", async (t) => { + await db["personal-bests"].remove({}); + + const res = await EvaluateGoalForUser(HC511Goal, 1, logger); + + t.strictSame( + res, + { + achieved: false, + outOf: 5, + progress: null, + outOfHuman: "HARD CLEAR", + progressHuman: "NO DATA", + }, + "Should correctly evaluate the goal if the user has no score." + ); + + t.end(); + }); + + t.end(); + }); + + t.test("Should correctly evaluate against multi goals.", (t) => { + // @ts-expect-error ??? + // this goal is effectively "HC any of the charts" + const multiGoal: GoalDocument = deepmerge(HC511Goal, { + charts: { + type: "multi", + data: [Testing511SPA.chartID, "fake_other_chart_id"], + }, + }); + + t.beforeEach(async () => { + await db["personal-bests"].insert(TestingIIDXSPScorePB); + delete TestingIIDXSPScorePB._id; + + await db["personal-bests"].insert( + deepmerge(TestingIIDXSPScorePB, { + scoreData: { lamp: "CLEAR", lampIndex: 4 }, + chartID: "fake_other_chart_id", + }) + ); + }); + + t.test("Should work if 511 is >= HARD CLEAR", async (t) => { + const res = await EvaluateGoalForUser(multiGoal, 1, logger); + + t.strictSame( + res, + { + achieved: true, + outOf: 5, + progress: 6, + outOfHuman: "HARD CLEAR", + progressHuman: "EX HARD CLEAR (BP: 2)", + }, + "Should correctly evaluate the goal if the user succeeds." + ); + + t.end(); + }); + + t.test("Should work if other chart is >= HARD CLEAR", async (t) => { + await db["personal-bests"].update( + { userID: 1, chartID: Testing511SPA.chartID }, + { $set: { "scoreData.lamp": "CLEAR", "scoreData.lampIndex": 4 } } + ); + await db["personal-bests"].update( + { userID: 1, chartID: "fake_other_chart_id" }, + { $set: { "scoreData.lamp": "HARD CLEAR", "scoreData.lampIndex": 5 } } + ); + + const res = await EvaluateGoalForUser(multiGoal, 1, logger); + + t.strictSame( + res, + { + achieved: true, + outOf: 5, + progress: 5, + outOfHuman: "HARD CLEAR", + progressHuman: "HARD CLEAR (BP: 2)", + }, + "Should correctly evaluate the goal if the user succeeds." + ); + + t.end(); + }); + + t.test("Should work if user has no scores", async (t) => { + await db["personal-bests"].remove({}); + + const res = await EvaluateGoalForUser(multiGoal, 1, logger); + + t.strictSame( + res, + { + achieved: false, + outOf: 5, + progress: null, + outOfHuman: "HARD CLEAR", + progressHuman: "NO DATA", + }, + "Should correctly evaluate the goal if the user has no data." + ); + + t.end(); + }); + + t.end(); + }); + + t.test("Should correctly evaluate against folder goals.", (t) => { + // @ts-expect-error ??? + // this goal is effectively "HC any of the sp10s" + const folderGoal: GoalDocument = deepmerge(HC511Goal, { + charts: { + type: "folder", + data: "ed9d8c734447ce67d7135c0067441a98cc81aeaf", + }, + }); + + t.beforeEach(async () => { + await db["personal-bests"].insert(TestingIIDXSPScorePB); + delete TestingIIDXSPScorePB._id; + + await db["personal-bests"].insert( + deepmerge(TestingIIDXSPScorePB, { + scoreData: { lamp: "CLEAR", lampIndex: 4 }, + chartID: "other_sp10", + }) + ); + + delete Testing511SPA._id; + + await db.charts.iidx.insert([ + deepmerge(Testing511SPA, { + songID: 123, + level: "9", + chartID: "not_sp10", + data: { + arcChartID: Random20Hex(), + }, + }), + deepmerge(Testing511SPA, { + songID: 124, + level: "10", + chartID: "other_sp10", + data: { + arcChartID: Random20Hex(), + }, + }), + ]); + + await CreateFolderChartLookup(TestingIIDXFolderSP10, true); + }); + + t.test("Should work if 511 is >= HARD CLEAR", async (t) => { + const res = await EvaluateGoalForUser(folderGoal, 1, logger); + + t.strictSame( + res, + { + achieved: true, + outOf: 5, + progress: 6, + outOfHuman: "HARD CLEAR", + progressHuman: "EX HARD CLEAR (BP: 2)", + }, + "Should correctly evaluate the goal if the user succeeds." + ); + + t.end(); + }); + + t.test("Should work if other chart is >= HARD CLEAR", async (t) => { + await db["personal-bests"].update( + { userID: 1, chartID: Testing511SPA.chartID }, + { $set: { "scoreData.lamp": "CLEAR", "scoreData.lampIndex": 4 } } + ); + + await db["personal-bests"].update( + { userID: 1, chartID: "other_sp10" }, + { $set: { "scoreData.lamp": "HARD CLEAR", "scoreData.lampIndex": 5 } } + ); + + const res = await EvaluateGoalForUser(folderGoal, 1, logger); + + t.strictSame( + res, + { + achieved: true, + outOf: 5, + progress: 5, + outOfHuman: "HARD CLEAR", + progressHuman: "HARD CLEAR (BP: 2)", + }, + "Should correctly evaluate the goal if the user succeeds." + ); + + t.end(); + }); + + t.test("Should work if user has no scores", async (t) => { + await db["personal-bests"].remove({}); + + const res = await EvaluateGoalForUser(folderGoal, 1, logger); + + t.strictSame( + res, + { + achieved: false, + outOf: 5, + progress: null, + outOfHuman: "HARD CLEAR", + progressHuman: "NO DATA", + }, + "Should correctly evaluate the goal if the user has no data." + ); + + t.end(); + }); + + t.end(); + }); + + t.end(); +}); + +t.test("#HumaniseGoalProgress", (t) => { + t.equal(HumaniseGoalProgress("iidx", "SP", "scoreData.gradeIndex", 4, null), "B (0%)"); + t.equal(HumaniseGoalProgress("iidx", "SP", "scoreData.lampIndex", 4, null), "CLEAR"); + t.equal(HumaniseGoalProgress("iidx", "SP", "scoreData.percent", 90.1142, null), "90.11%"); + t.equal(HumaniseGoalProgress("iidx", "SP", "scoreData.score", 2240, null), "2240"); + + t.end(); +}); diff --git a/server/src/lib/targets/goals.ts b/server/src/lib/targets/goals.ts new file mode 100644 index 000000000..d300f7f91 --- /dev/null +++ b/server/src/lib/targets/goals.ts @@ -0,0 +1,432 @@ +import { CreateGoalTitle as CreateGoalName, ValidateGoalChartsAndCriteria } from "./goal-utils"; +import db from "external/mongo/db"; +import fjsh from "fast-json-stable-hash"; +import { SubscribeFailReasons } from "lib/constants/err-codes"; +import CreateLogCtx from "lib/logger/logger"; +import { GetGamePTConfig } from "tachi-common"; +import { GetFolderChartIDs } from "utils/folder"; +import { NotNullish } from "utils/misc"; +import type { KtLogger } from "lib/logger/logger"; +import type { FilterQuery } from "mongodb"; +import type { + Game, + GoalDocument, + integer, + PBScoreDocument, + Playtype, + GoalSubscriptionDocument, + MilestoneSubscriptionDocument, + MilestoneDocument, +} from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +export interface EvaluatedGoalReturn { + achieved: boolean; + progress: number | null; + outOf: number; + progressHuman: string; + outOfHuman: string; +} + +/** + * Creates a goalID from a goals charts and criteria. + * + * This uses FJSH to stable-stringify the charts and criteria, + * then hashes that string under sha256. + * + * @note We could do better here, by converting criteria + * to 'similar' criteria - like 100% resolving to 1million score + * but that proves very complex to implement when it comes + * to multiple games. + */ +export function CreateGoalID( + charts: GoalDocument["charts"], + criteria: GoalDocument["criteria"], + game: Game, + playtype: Playtype +) { + return `G${fjsh.hash({ charts, criteria, game, playtype }, "sha256")}`; +} + +export async function EvaluateGoalForUser( + goal: GoalDocument, + userID: integer, + logger: KtLogger +): Promise { + // First, we need to resolve the set of charts this + // goal involves. + const chartIDs = await ResolveGoalCharts(goal); + + if (chartIDs === undefined) { + logger.error( + `Invalid goal ${goal.goalID} - has nonsense chartsType of ${goal.charts.type}, ignoring.` + ); + return null; + } + + // lets configure a "base" query for our requests. + const scoreQuery: FilterQuery = { + userID, + game: goal.game, + playtype: goal.playtype, + + // normally, this would be a VERY WORRYING line of code, but goal.criteria.key is guaranteed to be + // within a specific set of fields. + [goal.criteria.key]: { $gte: goal.criteria.value }, + }; + + if (chartIDs) { + scoreQuery.chartID = { $in: chartIDs }; + } + + switch (goal.criteria.mode) { + case "single": { + const res = await db["personal-bests"].findOne(scoreQuery); + + // hack, but guaranteed to work. + const scoreDataKey = goal.criteria.key.split(".")[1] as + | "gradeIndex" + | "lampIndex" + | "percent" + | "score"; + + const outOfHuman = HumaniseGoalProgress( + goal.game, + goal.playtype, + goal.criteria.key, + goal.criteria.value, + null + ); + + if (res) { + return { + achieved: true, + outOf: goal.criteria.value, + progress: res.scoreData[scoreDataKey], + outOfHuman, + progressHuman: HumaniseGoalProgress( + goal.game, + goal.playtype, + goal.criteria.key, + res.scoreData[scoreDataKey], + res + ), + }; + } + + // if we weren't successful, we have to get the users next best score and put it up here + // this is made infinitely easier by the existence of personal-bests. + const nextBestQuery: FilterQuery = { + userID, + game: goal.game, + playtype: goal.playtype, + }; + + if (chartIDs) { + nextBestQuery.chartID = { $in: chartIDs }; + } + + const nextBestScore = await db["personal-bests"].findOne(nextBestQuery, { + sort: { [goal.criteria.key]: -1 }, + }); + + if (!nextBestScore) { + return { + achieved: false, + outOf: goal.criteria.value, + progress: null, + outOfHuman, + progressHuman: "NO DATA", + }; + } + + return { + achieved: false, + outOf: goal.criteria.value, + outOfHuman, + progress: nextBestScore.scoreData[scoreDataKey], + progressHuman: HumaniseGoalProgress( + goal.game, + goal.playtype, + goal.criteria.key, + nextBestScore.scoreData[scoreDataKey], + nextBestScore + ), + }; + } + + case "absolute": + case "proportion": { + let count; + + // abs -> Absolute mode, such as clear 10 charts. + if (goal.criteria.mode === "absolute") { + count = goal.criteria.countNum; + } else { + // proportion -> Proportional mode, the value + // is a multiplier for the amount of charts + // available -- i.e. 0.1 * charts. + + let totalChartCount; + + if (chartIDs === null) { + // edge case: proportion goals on "any" + // charts (i.e. clear 20% of charts) need to + // know how many charts the game has! + totalChartCount = await db.charts[goal.game].count({ playtype: goal.playtype }); + } else { + totalChartCount = chartIDs.length; + } + + count = Math.floor(goal.criteria.countNum * totalChartCount); + } + + const userCount = await db["personal-bests"].count(scoreQuery); + + return { + achieved: userCount >= count, + progress: userCount, + outOf: count, + progressHuman: userCount.toString(), + outOfHuman: count.toString(), + }; + } + + default: { + // note that this seemingly nonsensical type assertion is because typescript has whittled down + // goal.criteria (correctly) to 'never', but we want to log if something somehow ends up here (it shouldn't). + logger.warn( + `Invalid goal: ${goal.goalID}, unknown criteria.mode ${ + (goal.criteria as GoalDocument["criteria"]).mode + }, ignoring.` + ); + + return null; + } + } +} + +/** + * Resolves the set of charts involved with this goal. + * + * @returns An array of chartIDs, except if the goal chart type is "any", in which case, it returns null. + */ +function ResolveGoalCharts( + goal: GoalDocument +): Array | Promise> | null | undefined { + switch (goal.charts.type) { + case "single": + return [goal.charts.data]; + case "multi": + return goal.charts.data; + case "folder": + return GetFolderChartIDs(goal.charts.data); + case "any": + return null; + default: + // @ts-expect-error This can't happen normally, but if it does, I want to + // handle it properly. + throw new Error(`Unknown goal.charts.type of ${goal.charts.type}`); + } +} + +type GoalKeys = GoalDocument["criteria"]["key"]; + +type PBWithBadPoor = PBScoreDocument< + "bms:7K" | "bms:14K" | "iidx:DP" | "iidx:SP" | "pms:Controller" | "pms:Keyboard" +>; + +export function HumaniseGoalProgress( + game: Game, + playtype: Playtype, + key: GoalKeys, + value: number, + userPB: PBScoreDocument | null +): string { + const gptConfig = GetGamePTConfig(game, playtype); + + switch (key) { + case "scoreData.gradeIndex": { + if (!gptConfig.grades[value]) { + throw new Error( + `Corrupt goal -- requested a grade of ${value}, which doesn't exist for this game.` + ); + } + + return `${gptConfig.grades[value]} (${userPB?.scoreData.percent.toFixed(2) ?? "0"}%)`; + } + + case "scoreData.lampIndex": { + if (!gptConfig.lamps[value]) { + throw new Error( + `Corrupt goal -- requested a lamp of ${value}, which doesn't exist for this game.` + ); + } + + if (userPB && (game === "iidx" || game === "bms" || game === "pms")) { + return `${gptConfig.lamps[value]} (BP: ${ + (userPB as PBWithBadPoor).scoreData.hitMeta.bp ?? "N/A" + })`; + } + + return NotNullish(gptConfig.lamps[value]); + } + + case "scoreData.percent": + return `${value.toFixed(2)}%`; + case "scoreData.score": + return value.toString(); + default: + throw new Error(`Broken goal - invalid key ${key}.`); + } +} + +/** + * Given some data about a goal, create a full Goal Document from it. This returns + * the goal document on success, and throws/panics on error. + * + * @param criteria - The criteria for this goal. + * @param charts - The set of charts relevant to this goal. + */ +export async function ConstructGoal( + charts: GoalDocument["charts"], + criteria: GoalDocument["criteria"], + game: Game, + playtype: Playtype +): Promise { + // Throws if the charts or criteria are invalid somehow. + await ValidateGoalChartsAndCriteria(charts, criteria, game, playtype); + + // @ts-expect-error It's complaining because the potential criteria types might mismatch. + // they're right, but this is enforced by ValidateGoalChartsAndCriteria. + const goalDocument: GoalDocument = { + game, + playtype, + timeAdded: Date.now(), + criteria, + charts, + goalID: CreateGoalID(charts, criteria, game, playtype), + name: await CreateGoalName(charts, criteria, game, playtype), + }; + + return goalDocument; +} + +/** + * Subscribes a user to the provided goal document. Handles deduping goals naturally + * and general good stuff. + * + * @param cancelIfAchieved - Don't subscribe to the goal if subscribing would cause + * the user to immediately achieve the goal. This is disabled for milestone subscriptions, + * but enabled for manual assignment. + * + * Returns null if the user is already subscribed to this goal. + */ +export async function SubscribeToGoal( + userID: integer, + goalDocument: GoalDocument, + cancelIfAchieved = true +) { + const goalExists = await db.goals.findOne({ goalID: goalDocument.goalID }); + + if (!goalExists) { + await db.goals.insert(goalDocument); + logger.info(`Inserting new goal '${goalDocument.name}'.`); + } + + const userAlreadySubscribed = await db["goal-subs"].findOne({ + userID, + goalID: goalDocument.goalID, + }); + + if (userAlreadySubscribed) { + return SubscribeFailReasons.ALREADY_SUBSCRIBED; + } + + const result = await EvaluateGoalForUser(goalDocument, userID, logger); + + if (!result) { + throw new Error(`Couldn't evaluate goal? See previous logs.`); + } + + if (result.achieved && cancelIfAchieved) { + return SubscribeFailReasons.ALREADY_ACHIEVED; + } + + // @ts-expect-error TS can't resolve this. + // because it can't explode out the types. + const goalSub: GoalSubscriptionDocument = { + outOf: result.outOf, + outOfHuman: result.outOfHuman, + progress: result.progress, + progressHuman: result.progressHuman, + userID, + lastInteraction: null, + timeAchieved: result.achieved ? Date.now() : null, + timeSet: Date.now(), + game: goalDocument.game, + playtype: goalDocument.playtype, + goalID: goalDocument.goalID, + achieved: result.achieved, + wasInstantlyAchieved: result.achieved, + }; + + await db["goal-subs"].insert(goalSub); + + return goalSub; +} + +export function GetMilestonesThatContainGoal(goalID: string) { + return db.milestones.find({ + "milestoneData.goals.goalID": goalID, + }); +} + +/** + * Unsubscribing from a goal may not be legal, because the goal might be part of + * a milestone the user is subscribed to. This function returns all milestones + * and milestoneSubs that a goal is attached to. + * + * If this query matches none, an empty array is returned. + */ +export async function GetBlockingParentMilestoneSubs( + goalSub: GoalSubscriptionDocument +): Promise> { + const blockers: Array = + await db["milestone-subs"].aggregate([ + { + // find all milestones that this user is subscribed to + $match: { + userID: goalSub.userID, + game: goalSub.game, + playtype: goalSub.playtype, + }, + }, + { + // look up the parent milestones + $lookup: { + from: "milestones", + localField: "milestoneID", + foreignField: "milestoneID", + as: "parentMilestoneSubs", + }, + }, + { + // then project it onto the $milestone field. This will be null + // if the milestone has no parent, which we hopefully won't have + // to consider (illegal) + $set: { + milestone: { $arrayElemAt: ["$parentMilestoneSubs", 0] }, + }, + }, + { + // then finally, filter to only milestones that pertain to this goal. + $match: { + "milestone.milestoneData.goals.goalID": goalSub.goalID, + }, + }, + ]); + + return blockers; +} diff --git a/server/src/lib/targets/milestones.ts b/server/src/lib/targets/milestones.ts new file mode 100644 index 000000000..11ce359bf --- /dev/null +++ b/server/src/lib/targets/milestones.ts @@ -0,0 +1,323 @@ +import { EvaluateGoalForUser, SubscribeToGoal } from "./goals"; +import db from "external/mongo/db"; +import { SubscribeFailReasons } from "lib/constants/err-codes"; +import CreateLogCtx from "lib/logger/logger"; +import { BulkSendNotification } from "lib/notifications/notifications"; +import type { EvaluatedGoalReturn } from "./goals"; +import type { + GoalDocument, + GoalSubscriptionDocument, + integer, + MilestoneDocument, + MilestoneSubscriptionDocument, +} from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +/** + * Retrieves the goalID documents in a single array from the + * nested structure of milestones. + */ +export function GetGoalIDsFromMilestone(milestone: MilestoneDocument) { + // this sucks - maybe a nicer way to do this, because nested + // maps are just ugly + return milestone.milestoneData.map((e) => e.goals.map((e) => e.goalID)).flat(1); +} + +/** + * Return all the goals inside this milestone. + */ +export async function GetGoalsInMilestone(milestone: MilestoneDocument) { + const goalIDs = GetGoalIDsFromMilestone(milestone); + + const goals = await db.goals.find({ + goalID: { $in: goalIDs }, + }); + + if (goals.length !== goalIDs.length) { + logger.error( + `Milestone ${milestone.name} has ${goalIDs.length} goals registered, but we could only find ${goals.length} in the database?`, + { goals: goals.length, milestone, goalIDs: goalIDs.length } + ); + throw new Error(`Milestone is corrupt. Not the right amount of goals in db?`); + } + + if (goalIDs.length < 2) { + logger.error( + `Milestone ${milestone.name} resolves to less than 2 goals. Isn't a valid milestone?`, + { milestone } + ); + throw new Error(`Milestone is corrupt. Doesn't have enough goals.`); + } + + return goals; +} + +/** + * Work out how many goals need to be achieved for this + * milestone to be considered completed. + */ +export function CalculateMilestoneOutOf(milestone: MilestoneDocument) { + const goalIDs = GetGoalIDsFromMilestone(milestone); + + switch (milestone.criteria.type) { + case "all": + return goalIDs.length; + case "total": { + // It's not possible according to the types, but I want to check it anyway. + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + if (milestone.criteria.value === null) { + throw new Error( + `Invalid milestone ${milestone.milestoneID} - total and null are not compatible.` + ); + } + + return milestone.criteria.value; + } + + default: + // Typescript annoyingly complains that milestone.criteria is of type never now. + // it's right! but if we get here, I want to log the error somehow. + throw new Error( + `Invalid milestone.criteria.type of ${ + (milestone.criteria as MilestoneDocument["criteria"]).type + } -- milestoneID ${milestone.milestoneID}` + ); + } +} + +type EvaluatedGoalResult = EvaluatedGoalReturn & { goalID: string }; + +/** + * Evaluate a user's progress on a milestone, regardless of whether they have it + * assigned or not. + * + * @returns All of the goals in the milestone. The users progress on each individual goal, + * their overall progress, what the milestone was outOf, and whether they achieved it or + * not. + */ +export async function EvaluateMilestoneProgress(userID: integer, milestone: MilestoneDocument) { + const goals = await GetGoalsInMilestone(milestone); + + const isSubscribedToMilestone = await db["milestone-subs"].findOne({ + milestoneID: milestone.milestoneID, + }); + + // If the user is subscribed the milestone, we don't need to calculate + // their progress on each goal. + const goalSubMap = new Map(); + + if (isSubscribedToMilestone) { + const goalSubs = await db["goal-subs"].find({ + goalID: { $in: goals.map((e) => e.goalID) }, + userID, + }); + + for (const sub of goalSubs) { + goalSubMap.set(sub.goalID, sub); + } + } + + const goalResults: Array = await Promise.all( + goals.map(async (goal) => { + if (isSubscribedToMilestone) { + const goalSub = goalSubMap.get(goal.goalID); + + if (!goalSub) { + logger.error( + `User ${userID} has a corrupt subscription to milestone '${milestone.name}', They do not have all the goals in this milestone assigned.` + ); + + throw new Error( + `User has corrupt subscription to milestone. Cannot calculate.` + ); + } + + return { + achieved: goalSub.achieved, + progress: goalSub.progress, + outOf: goalSub.outOf, + progressHuman: goalSub.progressHuman, + outOfHuman: goalSub.outOfHuman, + goalID: goal.goalID, + }; + } + + const result = await EvaluateGoalForUser(goal, userID, logger); + + if (!result) { + logger.error( + `Failed to calculate ${userID} result for goal '${goal.name}'. Is the goal valid?`, + { goal, milestone } + ); + + throw new Error(`Goal inside milestone is corrupt.`); + } + + return { + achieved: result.achieved, + progress: result.progress, + outOf: result.outOf, + progressHuman: result.progressHuman, + outOfHuman: result.outOfHuman, + goalID: goal.goalID, + }; + }) + ); + + const progress = goalResults.filter((e) => e.achieved).length; + const outOf = CalculateMilestoneOutOf(milestone); + + const achieved = progress >= outOf; + + return { + goals, + goalResults, + achieved, + progress, + outOf, + }; +} + +interface MilestoneSubscriptionReturns { + milestoneSub: MilestoneSubscriptionDocument; + goals: Array; + goalResults: Array; +} + +/** + * Subscribes the given user to a provided milestone. If the user is already subscribed, + * null is returned. + * + * @param cancelIfAchieved - Don't subscribe to the milestone if subscribing would cause + * the user to immediately achieve it. + */ +export async function SubscribeToMilestone( + userID: integer, + milestone: MilestoneDocument, + cancelIfAchieved: false +): Promise; +export async function SubscribeToMilestone( + userID: integer, + milestone: MilestoneDocument, + cancelIfAchieved = true +): Promise< + | MilestoneSubscriptionReturns + | SubscribeFailReasons.ALREADY_ACHIEVED + | SubscribeFailReasons.ALREADY_SUBSCRIBED +> { + const isSubscribedToMilestone = await db["milestone-subs"].findOne({ + userID, + milestoneID: milestone.milestoneID, + }); + + if (isSubscribedToMilestone) { + return SubscribeFailReasons.ALREADY_SUBSCRIBED; + } + + const result = await EvaluateMilestoneProgress(userID, milestone); + + if (result.achieved && cancelIfAchieved) { + return SubscribeFailReasons.ALREADY_ACHIEVED; + } + + // @ts-expect-error TS can't resolve this. + // because it can't explode out the types. + const milestoneSub: MilestoneSubscriptionDocument = { + progress: result.progress, + userID, + milestoneID: milestone.milestoneID, + wasInstantlyAchieved: result.achieved, + timeSet: Date.now(), + game: milestone.game, + playtype: milestone.playtype, + achieved: result.achieved, + timeAchieved: result.achieved ? Date.now() : null, + lastInteraction: null, + }; + + // @optimisable, EvaluateMilestoneProgress calculates the users progress + // on each goal. We could probably shorten this by directly inserting the records + // from result.goalResults ourselves. + // evaluating goals is fairly cheap though. + await Promise.all(result.goals.map((goal) => SubscribeToGoal(userID, goal, false))); + + await db["milestone-subs"].insert(milestoneSub); + + logger.info(`User ${userID} subscribed to '${milestone.name}'.`); + + return { milestoneSub, goals: result.goals, goalResults: result.goalResults }; +} + +export async function UnsubscribeFromMilestone(userID: integer, milestoneID: string) { + await db["milestone-subs"].remove({ + userID, + milestoneID, + }); +} + +/** + * Given a milestoneID, update all of its subscriptions to potentially subscribe to any + * new goals added to it. + * + * @note Updating milestone subscriptions just means ensuring that any subscribing + * users are also subscribed to all goals in that milestone. Nothing more. + * + * A milestone that removes goals will not result in those users having goal subs removed. + */ +export async function UpdateMilestoneSubscriptions(milestoneID: string) { + logger.info(`Received update-subscribe call to milestone ${milestoneID}.`); + + const subscriptions = await db["milestone-subs"].find({ milestoneID }); + + const maybeMilestone = await db.milestones.findOne({ milestoneID }); + + if (!maybeMilestone) { + logger.info( + `Milestone ${milestoneID} has been deleted. Unsubscribing ${subscriptions.length} users.` + ); + + return Promise.all( + subscriptions.map((e) => UnsubscribeFromMilestone(e.userID, e.milestoneID)) + ); + } + + const goals = await GetGoalsInMilestone(maybeMilestone); + + const goalSubscriptionPromises = []; + + for (const sub of subscriptions) { + for (const goal of goals) { + // attempt to subscribe to all goals in this milestone. + // even if they're already subscribed, it's not a problem -- will just fail fast. + const goalSubPromise = SubscribeToGoal(sub.userID, goal, false); + + goalSubscriptionPromises.push(goalSubPromise); + } + } + + const subscriptionResults = await Promise.all(goalSubscriptionPromises); + + const newStuff = subscriptionResults.filter( + (e) => e !== SubscribeFailReasons.ALREADY_SUBSCRIBED + ).length; + + if (newStuff !== 0) { + logger.info( + `Updating subscriptions for '${maybeMilestone.name}' resulted in ${newStuff} updates.` + ); + + await BulkSendNotification( + `The milestone '${maybeMilestone.name}' has changed, You have been automatically subscribed to some new goals.`, + subscriptions.map((e) => e.userID), + { + type: "MILESTONE_CHANGED", + content: { + milestoneID, + }, + } + ); + } + + return subscriptionResults; +} diff --git a/server/src/lib/targets/types.ts b/server/src/lib/targets/types.ts new file mode 100644 index 000000000..e69de29bb diff --git a/server/src/lib/webhooks/webhooks.ts b/server/src/lib/webhooks/webhooks.ts new file mode 100644 index 000000000..92de57482 --- /dev/null +++ b/server/src/lib/webhooks/webhooks.ts @@ -0,0 +1,41 @@ +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import fetch from "utils/fetch"; +import type { WebhookEvents } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +// @todo make use of aggressive caching here? +export async function GetWebhookUrlInfo() { + const urls = await db["api-clients"].find( + { webhookUri: { $ne: null } }, + { projection: { webhookUri: 1, clientSecret: 1 } } + ); + + return urls as Array<{ webhookUri: string; clientSecret: string }>; +} + +/** + * Emits a webhook event to all registered client webhooks on this tachi-server install. + */ +export async function EmitWebhookEvent(content: WebhookEvents) { + const webhookUrls = await GetWebhookUrlInfo(); + + logger.verbose(`Emitting webhook event ${content.type} to ${webhookUrls.length} clients.`); + + // We don't actually care about the response of these. Just fire them and forget. + for (const client of webhookUrls) { + // we know this to be non-null because of GetWebhookUrlInfo. + fetch(client.webhookUri, { + method: "POST", + body: JSON.stringify(content), + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${client.clientSecret}`, + }, + }).catch((err: Error) => { + // We don't care about errors. It's probably on their end. + logger.info(err.message); + }); + } +} diff --git a/server/src/main.ts b/server/src/main.ts new file mode 100644 index 000000000..dc8f34dda --- /dev/null +++ b/server/src/main.ts @@ -0,0 +1,123 @@ +// Before we run anything, set a global to indicate to the code that +// we're running as a server, and not as a job runner or score worker. +import db from "external/mongo/db"; +import { SetIndexesIfNoneSet } from "external/mongo/indexes"; +import { InitSequenceDocs } from "external/mongo/sequence-docs"; +import { LoadDefaultClients } from "lib/builtin-clients/builtin-clients"; +import { VERSION_PRETTY } from "lib/constants/version"; +import { HandleSIGTERMGracefully } from "lib/handlers/sigterm"; +import CreateLogCtx from "lib/logger/logger"; +import { ApplyUnappliedMigrations } from "lib/migration/migrations"; +import { Environment, ServerConfig, TachiConfig } from "lib/setup/config"; +import server from "server/server"; +import fetch from "utils/fetch"; +import { InitaliseFolderChartLookup } from "utils/folder"; +import { spawn } from "child_process"; +import fs from "fs"; +import https from "https"; +import path from "path"; +import type http from "http"; + +process.env.IS_SERVER = "true"; + +const logger = CreateLogCtx(__filename); + +logger.info(`Booting ${TachiConfig.NAME} - ${VERSION_PRETTY} [ENV: ${Environment.nodeEnv}]`, { + bootInfo: true, +}); +logger.info(`Log level is set to ${ServerConfig.LOGGER_CONFIG.LOG_LEVEL}.`, { bootInfo: true }); + +logger.info(`Loading sequence documents...`, { bootInfo: true }); + +async function RunOnInit() { + await InitSequenceDocs(); + await SetIndexesIfNoneSet(); + + await ApplyUnappliedMigrations(); + + await db["folder-chart-lookup"].findOne().then((r) => { + // If there are no folder chart lookups, initialise them. + if (!r) { + InitaliseFolderChartLookup().catch((err: unknown) => { + logger.error(`Failed to init folder-chart-lookup on first boot?`, { err }); + }); + } + }); + + await LoadDefaultClients(); + + try { + await fetch("https://example.com"); + } catch (err) { + logger.crit( + `Cannot send HTTPS request to https://example.com. This instance of tachi-server cannot access the internet?`, + err, + () => { + process.exit(1); + } + ); + } +} + +void RunOnInit(); + +let instance: http.Server | https.Server; + +if (ServerConfig.ENABLE_SERVER_HTTPS === true) { + logger.warn( + "HTTPS Mode is enabled. This should not be used in production, and you should instead run behind a reverse proxy.", + { bootInfo: true } + ); + const privateKey = fs.readFileSync("./cert/key.pem"); + const certificate = fs.readFileSync("./cert/cert.pem"); + + const httpsServer = https.createServer({ key: privateKey, cert: certificate }, server); + + instance = httpsServer.listen(Environment.port); + logger.info(`HTTPS Listening on port ${Environment.port}`, { bootInfo: true }); +} else { + instance = server.listen(Environment.port); + logger.info(`HTTP Listening on port ${Environment.port}`, { bootInfo: true }); +} + +process.on("SIGTERM", () => { + void HandleSIGTERMGracefully(instance); +}); + +if (process.env.INVOKE_JOB_RUNNER) { + logger.info(`Spawning a tachi-server job runner inline.`, { bootInfo: true }); + + if (Environment.nodeEnv === "production") { + logger.warn( + `Spawning inline tachi-server job runner in production. Is this actually what you want? You should run a tool like Ofelia to manage this.`, + { bootInfo: true } + ); + } + + // Spawn as a separate process to avoid hogging the main thread. + const jobProcess = spawn( + "ts-node", + [ + // Note: Can't use -r tsconfig-paths/register here + // because that is rejected by some library called + // arg. + // I'm not sure why. + "--require=tsconfig-paths/register", + path.join(__dirname, "../src/lib/jobs/job-runner.ts"), + ], + { + stdio: "inherit", + } + ); + + jobProcess.on("error", (err) => { + logger.crit(`Failed to spawn job runner. Terminating process.`, { err }, () => { + process.exit(1); + }); + }); + + process.on("beforeExit", () => { + logger.info(`Killing Job Runner.`); + jobProcess.kill(); + }); +} diff --git a/server/src/scripts/_README b/server/src/scripts/_README new file mode 100644 index 000000000..322e5a0d8 --- /dev/null +++ b/server/src/scripts/_README @@ -0,0 +1,6 @@ +Hey. If by any chance I'm not available, you can (and should) run these scripts with TS-Node. +https://github.com/TypeStrong/ts-node + +They have only been tested for ts-node. + +pnpm install -g ts-node diff --git a/server/src/scripts/clone-and-anonymise-db.ts b/server/src/scripts/clone-and-anonymise-db.ts new file mode 100644 index 000000000..fb48a7aa1 --- /dev/null +++ b/server/src/scripts/clone-and-anonymise-db.ts @@ -0,0 +1,121 @@ +import { Command } from "commander"; +import CreateLogCtx from "lib/logger/logger"; +import monk from "monk"; +import { execSync } from "child_process"; + +const program = new Command(); + +program + .option("--nsFrom ") + .option("--nsTo "); + +program.parse(process.argv); +const options: { nsTo?: string; nsFrom?: string } = program.opts(); + +if (!options.nsTo || !options.nsFrom) { + throw new Error(`Expected --nsFrom and --nsTo options.`); +} + +const logger = CreateLogCtx(__filename); + +/** + * Strips all name and private information from the database. + * For use for things like future tachi-db-dumps? + * + * @param nsTo The database to anonymise. DO NOT PASS THE PRODUCTION DATABASE TO THIS! + */ +async function AnonymiseDB(nsTo: string) { + logger.info(`Connecting to ${nsTo}.`); + + const clonedDB = monk(`127.0.0.1/${nsTo}`); + + logger.info(`Connected to ${nsTo}.`); + + const r1 = await clonedDB.get("user-private-information").update( + {}, + [ + { + $set: { + // This is "password" encrypted in bcrypt12. + password: "$2b$12$QRFCAxvFoNI2spszFPgt/e.qLy55GvYWlSHioa0AujRbFpChLwHmu", + + // emails are uniquely indexed. We need to anonymise these in + // a way that they dont duplicate. + email: { $concat: [{ $toString: "$userID" }, "@example.com"] }, + }, + }, + ], + { + multi: true, + } + ); + + logger.info(`Stripped private info.`, { r1 }); + + const r2 = await clonedDB.get("users").update( + {}, + [ + { + $set: { + socialMedia: { $const: {} }, + }, + }, + { + $set: { + username: { $concat: ["u", { $toString: "$id" }] }, + usernameLowercase: { $concat: ["u", { $toString: "$id" }] }, + }, + }, + ], + { + multi: true, + } + ); + + logger.info(`Stripped username info.`, { r2 }); + + for (const collection of [ + "api-clients", + "oauth2-auth-codes", + "password-reset-codes", + "api-tokens", + "kai-auth-tokens", + "arc-saved-profiles", + ]) { + // eslint-disable-next-line no-await-in-loop + const r3 = await clonedDB.get("collection").remove({}); + + logger.info(`Removed all ${collection} documents.`, { r3 }); + } + + logger.info(`Done! Closing.`); + + process.exit(0); +} + +function CloneDB(nsFrom: string, nsTo: string) { + logger.info(`Cloning Database. This will take a while.`); + execSync(`mongodump --gzip --archive=temp-dump --db=${nsFrom}`); + execSync(`mongorestore --archive=temp-dump --gzip --nsFrom='${nsFrom}.*' --nsTo='${nsTo}.*'`); + execSync(`rm temp-dump`); + logger.info(`Cloned!`); +} + +if (require.main === module) { + CloneDB(options.nsFrom, options.nsTo); + + // Don't run any risks -- there's no way we're ever accidentally anonymising the production database. + // any nsTo argument MUST start with anon- + if (!options.nsTo.startsWith("anon-")) { + AnonymiseDB(options.nsTo) + .then(() => { + logger.info(`Anonymised database successfully. Saved to ${options.nsTo}.`); + process.exit(0); + }) + .catch((err: unknown) => { + logger.error(`Failed to anonymise database.`, { err }, () => { + process.exit(1); + }); + }); + } +} diff --git a/server/src/scripts/email/send-test-email.ts b/server/src/scripts/email/send-test-email.ts new file mode 100644 index 000000000..387652410 --- /dev/null +++ b/server/src/scripts/email/send-test-email.ts @@ -0,0 +1,36 @@ +import { Command } from "commander"; +import { SendEmail } from "lib/email/client"; +import { MainHTMLWrapper } from "lib/email/formats"; +import CreateLogCtx from "lib/logger/logger"; + +const program = new Command(); + +program.option("-e, --email "); + +const logger = CreateLogCtx(__filename); + +program.parse(process.argv); +const options: { email?: string } = program.opts(); + +if (!options.email) { + throw new Error(`Need an --email to send to.`); +} + +if (require.main === module) { + (async () => { + logger.info(`Sending email to ${options.email}.`); + await SendEmail( + options.email!, + "Hello World", + MainHTMLWrapper("Hello world! This is a test email for doing things."), + "Hello world! This is a test email for doing things." + ); + logger.info(`Done.`); + + process.exit(0); + })().catch((err: unknown) => { + logger.error(`Failed to send test email.`, { err }, () => { + process.exit(1); + }); + }); +} diff --git a/server/src/scripts/folders/folder-cache.ts b/server/src/scripts/folders/folder-cache.ts new file mode 100644 index 000000000..d700c0833 --- /dev/null +++ b/server/src/scripts/folders/folder-cache.ts @@ -0,0 +1,12 @@ +import { InitaliseFolderChartLookup } from "../../utils/folder"; +import CreateLogCtx from "lib/logger/logger"; + +const logger = CreateLogCtx(__filename); + +InitaliseFolderChartLookup() + .then(() => process.exit(0)) + .catch((err: unknown) => { + logger.error(`Failed to initialise folder chart lookup.`, { err }, () => { + process.exit(1); + }); + }); diff --git a/server/src/scripts/iidx-tierlist/get-sp12-data.ts b/server/src/scripts/iidx-tierlist/get-sp12-data.ts new file mode 100644 index 000000000..1e927b614 --- /dev/null +++ b/server/src/scripts/iidx-tierlist/get-sp12-data.ts @@ -0,0 +1,231 @@ +/* eslint-disable no-await-in-loop */ +/* eslint-disable no-case-declarations */ +/* eslint-disable no-param-reassign */ +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import fetch from "node-fetch"; +import p from "prudence"; +import { FindChartWithPTDF } from "utils/queries/charts"; +import { FindSongOnTitle } from "utils/queries/songs"; +import type { ChartDocument, Difficulties, integer } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +interface SP12Data { + id: integer; + title: string; + n_clear: integer; + hard: integer; + exh: integer; + n_clear_string: string; + hard_string: string; + exh_string: string; + version: integer; +} + +async function FetchSP12Data() { + // will throw if somethings wrong + const unvalidatedRJ: unknown = await fetch("https://sp12.iidx.app/api/v1/sheets").then((r) => + r.json() + ); + + const err = p(unvalidatedRJ, { + sheets: [ + { + id: p.isPositiveNonZeroInteger, + title: "string", + n_clear: p.isPositiveInteger, + hard: p.isPositiveInteger, + exh: p.isPositiveInteger, + n_clear_string: "string", + hard_string: "string", + exh_string: "string", + version: p.isPositiveInteger, + }, + ], + }); + + if (err) { + logger.error(`Got invalid/unexpected content from sp12.`, { unvalidatedRJ }); + + throw new Error(`Got invalid/unexpected content from sp12.`); + } + + const rj = unvalidatedRJ as { + sheets: Array; + }; + + for (const sh of rj.sheets) { + let chart: ChartDocument | null; + + try { + chart = await HumanisedTitleLookup(sh.title); + } catch (err) { + logger.error((err as Error).message); + continue; + } + + for (const key of ["n_clear", "hard", "exh"] as const) { + let val; + + switch (key) { + case "n_clear": { + const v = Math.floor(sh[key] / 2); + + if (v === 9) { + val = 11.8; + } else if (v === 8) { + val = 12.0; + } else if (v === 7) { + val = 12.2; + } else if (v === 6) { + val = 12.4; + } else if (v === 5) { + val = 12.6; + } else if (v < 0) { + continue; + } else { + val = 12.6 + (5 - v) * 0.1; + } + + break; + } + + case "hard": { + const v2 = Math.floor(sh[key] / 2); + + if (v2 === 9) { + val = 11.9; + } else if (v2 === 8) { + val = 12.1; + } else if (v2 === 7) { + val = 12.3; + } else if (v2 === 6) { + val = 12.5; + } else if (v2 === 5) { + val = 12.7; + } else if (v2 < 0) { + continue; + } else { + val = 12.7 + (5 - v2) * 0.1; + } + + break; + } + + case "exh": { + const v3 = sh[key]; + + if (v3 >= 12 || v3 <= 0) { + continue; + } + + val = 12.4 + (12 - v3) * 0.1; + + break; + } + + default: + throw new Error("??"); + } + + const stringVal = sh[`${key}_string` as const]; + + if (stringVal === "難易度未定") { + continue; + } + + val = parseFloat(val.toFixed(2)); + + let ktKey; + + if (key === "exh") { + ktKey = "kt-EXHC"; + } else if (key === "hard") { + ktKey = "kt-HC"; + } else { + ktKey = "kt-NC"; + } + + // If EXH, just save the string version as 12.xx + // Else, use the A/S+ thing that people are used to. + const text = + ktKey === "kt-EXHC" + ? val.toFixed(2) + : `12${stringVal.replace(/(個人差|地力)/u, "")}`; + + await db.charts.iidx.update( + { + chartID: chart.chartID, + }, + { + $set: { + [`tierlistInfo.${ktKey}`]: { + text, + value: val, + individualDifference: stringVal.includes("個人差"), + }, + }, + } + ); + + logger.info(`Saved ${sh.title} value ${key} = ${val} (${text}).`); + } + } + + logger.info("Done!"); + + process.exit(0); +} + +async function HumanisedTitleLookup(originalTitle: string) { + let difficulty: Difficulties["iidx:SP"] = "ANOTHER"; + + let title: string | undefined = originalTitle; + + if (/(†|†LEGGENDARIA)$/u.exec(title)) { + difficulty = "LEGGENDARIA"; + title = title.split(/(†|†LEGGENDARIA)$/u)[0]; + } else if (/\[H\]$/u.exec(title)) { + difficulty = "HYPER"; + title = title.split("[")[0]; + } else if (/\[A\]$/u.exec(title)) { + // lmao + difficulty = "ANOTHER"; + title = title.split("[")[0]; + } + + if (title === undefined) { + throw new Error( + `Unexpected title of undefined converted from song title: ${originalTitle}. Was there a faulty split? Was the chart literally called †LEGGENDARIA?` + ); + } + + const song = await FindSongOnTitle("iidx", title); + + if (!song) { + throw new Error( + `Could not resolve song ${title} (${difficulty}) (Original ${originalTitle}).` + ); + } + + const chart = await FindChartWithPTDF("iidx", song.id, "SP", difficulty); + + if (!chart) { + throw new Error( + `Could not resolve chart ${title} ${difficulty} (Original ${originalTitle}).` + ); + } + + return chart; +} + +if (require.main === module) { + FetchSP12Data() + .then(process.exit(0)) + .catch((err) => { + logger.error(`Failed to fetch sp12 data. ${err}`, err, () => { + process.exit(1); + }); + }); +} diff --git a/server/src/scripts/init-sequence-docs.ts b/server/src/scripts/init-sequence-docs.ts new file mode 100644 index 000000000..399c5735d --- /dev/null +++ b/server/src/scripts/init-sequence-docs.ts @@ -0,0 +1,14 @@ +import { InitSequenceDocs } from "external/mongo/sequence-docs"; +import CreateLogCtx from "lib/logger/logger"; + +const logger = CreateLogCtx(__filename); + +if (require.main === module) { + InitSequenceDocs() + .then(() => process.exit(0)) + .catch((err: unknown) => { + logger.error(`Failed to initialise sequence documents.`, { err }, () => { + process.exit(1); + }); + }); +} diff --git a/server/src/scripts/invites/create-invite-code.ts b/server/src/scripts/invites/create-invite-code.ts new file mode 100644 index 000000000..5f0380545 --- /dev/null +++ b/server/src/scripts/invites/create-invite-code.ts @@ -0,0 +1,39 @@ +import { Command } from "commander"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { Random20Hex } from "utils/misc"; + +const logger = CreateLogCtx(__filename); + +const program = new Command(); + +program.option("-c, --code ", "The code for this invite."); + +program.parse(process.argv); +const options = program.opts(); + +if (options.code === undefined) { + options.code = Random20Hex(); +} + +const code = options.code as string; + +db.invites + .insert({ + code, + createdBy: 1, + consumed: false, + createdAt: Date.now(), + consumedBy: null, + consumedAt: null, + }) + .then(() => { + logger.info(`Created invite ${code}.`, () => { + process.exit(0); + }); + }) + .catch((err: unknown) => { + logger.error(`Failed to create invite ${code}`, { err }, () => { + process.exit(1); + }); + }); diff --git a/server/src/scripts/patches/patch-invalid-iidx-grades.ts b/server/src/scripts/patches/patch-invalid-iidx-grades.ts new file mode 100644 index 000000000..30287b26e --- /dev/null +++ b/server/src/scripts/patches/patch-invalid-iidx-grades.ts @@ -0,0 +1,65 @@ +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { GetGradeFromPercent } from "lib/score-import/framework/common/score-utils"; +import UpdateScore from "lib/score-mutation/update-score"; +import { GetGamePTConfig } from "tachi-common"; + +const gradeBoundaries = [ + { grade: "F", lb: 22.2222, ub: 22.2223 }, + { grade: "E", lb: 33.3333, ub: 33.3334 }, + { grade: "D", lb: 44.4444, ub: 44.4445 }, + { grade: "C", lb: 55.5555, ub: 55.5556 }, + { grade: "B", lb: 66.6666, ub: 66.6667 }, + { grade: "A", lb: 77.7777, ub: 77.7778 }, + { grade: "AA", lb: 88.8888, ub: 88.8889 }, + { grade: "AAA", lb: 94.4444, ub: 94.4445 }, +]; + +const logger = CreateLogCtx(__filename); + +if (require.main === module) { + (async () => { + for (const { grade, lb, ub } of gradeBoundaries) { + // eslint-disable-next-line no-await-in-loop + const scores = await db.scores.find({ + game: "iidx", + "scoreData.grade": grade, + "scoreData.percent": { + $gt: lb, + $lt: ub, + }, + }); + + logger.info(`Grade=${grade} lb=${lb} ub=${ub} matches ${scores.length} scores.`); + + for (const score of scores) { + const gptConfig = GetGamePTConfig("iidx", score.playtype); + + const newGrade = GetGradeFromPercent( + "iidx", + score.playtype, + score.scoreData.percent + ); + + const newScore = deepmerge(score, { + scoreData: { + grade: newGrade, + gradeIndex: gptConfig.grades.indexOf(newGrade), + }, + }); + + // eslint-disable-next-line no-await-in-loop + await UpdateScore(score, newScore); + } + } + + logger.info(`Done!`, () => { + process.exit(0); + }); + })().catch((err: unknown) => { + logger.error(`Failed to patch invalid IIDX grades.`, { err }, () => { + process.exit(1); + }); + }); +} diff --git a/server/src/scripts/patches/patch-stale-folder-references.ts b/server/src/scripts/patches/patch-stale-folder-references.ts new file mode 100644 index 000000000..ae4a8f31a --- /dev/null +++ b/server/src/scripts/patches/patch-stale-folder-references.ts @@ -0,0 +1,55 @@ +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { RemoveStaleFolderShowcaseStats } from "lib/showcase/showcase"; +import type { ShowcaseStatFolder } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +if (require.main === module) { + (async () => { + const folderRefs = await db["game-settings"].find({ + "preferences.stats.mode": "folder", + }); + + const folderIDs = folderRefs + .map((e) => e.preferences.stats) + .flat() + .filter((e) => e.mode === "folder") + .map((e) => (e as ShowcaseStatFolder).folderID) as unknown as Array; + + const pertinentFolders = await db.folders.find( + { + folderID: { $in: folderIDs }, + }, + { + projection: { + folderID: 1, + }, + } + ); + + const existingFolders = new Set(pertinentFolders.map((e) => e.folderID)); + + const removedFolders = []; + + for (const folderID of folderIDs) { + if (!existingFolders.has(folderID)) { + removedFolders.push(folderID); + } + } + + if (removedFolders.length === 0) { + logger.info(`Nothing to remove.`); + return; + } + + await RemoveStaleFolderShowcaseStats(removedFolders); + logger.info(`Removed ${removedFolders.length} stale folder showcase stats.`, { + removedFolders, + }); + })().catch((err: unknown) => { + logger.error(`Failed to patch stale showcase-stat folder references.`, { err }, () => { + process.exit(1); + }); + }); +} diff --git a/server/src/scripts/quick-insert/quick-insert.ts b/server/src/scripts/quick-insert/quick-insert.ts new file mode 100644 index 000000000..090fb6f5f --- /dev/null +++ b/server/src/scripts/quick-insert/quick-insert.ts @@ -0,0 +1,21 @@ +import deepmerge from "deepmerge"; +import { Random20Hex } from "utils/misc"; +import type { ICollection } from "monk"; +import type { ChartDocument, IDStrings } from "tachi-common"; + +export async function QuickInsert( + base: Omit, "chartID">, + content: Array>>, + coll: ICollection +) { + const docs = []; + + for (const c of content) { + const doc = deepmerge(base, c); + + doc.chartID = Random20Hex(); + docs.push(doc); + } + + await coll.insert(docs); +} diff --git a/server/src/scripts/set-indexes.ts b/server/src/scripts/set-indexes.ts new file mode 100644 index 000000000..6dd2d7030 --- /dev/null +++ b/server/src/scripts/set-indexes.ts @@ -0,0 +1,25 @@ +/* eslint-disable no-await-in-loop */ +import { SetIndexes } from "../external/mongo/indexes"; +import { Command } from "commander"; +import CreateLogCtx from "lib/logger/logger"; + +const program = new Command(); + +const logger = CreateLogCtx(__filename); + +program.requiredOption("-d, --db ", "The database to index."); +program.option( + "-r, --reset", + "Whether to reset all indexes on this database before indexing or not." +); + +program.parse(process.argv); +const options: { db: string; reset?: boolean } = program.opts(); + +SetIndexes(options.db, options.reset === true) + .then(() => process.exit(0)) + .catch((err: unknown) => { + logger.error(`Failed to set indexes.`, { err }, () => { + process.exit(1); + }); + }); diff --git a/server/src/scripts/state-sync/dedupe-score-ids.ts b/server/src/scripts/state-sync/dedupe-score-ids.ts new file mode 100644 index 000000000..750ece312 --- /dev/null +++ b/server/src/scripts/state-sync/dedupe-score-ids.ts @@ -0,0 +1,47 @@ +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import type { IObjectID } from "monk"; +import type { integer } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +async function DedupeScoreIDs() { + const dups: Array<{ id: string; dups: Array; count: integer }> = + await db.scores.aggregate( + [ + { + $group: { + _id: "$scoreID", + dups: { $addToSet: "$_id" }, + count: { $sum: 1 }, + }, + }, + { + $match: { + count: { $gt: 1 }, + }, + }, + ], + { allowDiskUse: true } + ); + + logger.info(`Found ${dups.length} dups.`); + + for (const dup of dups) { + dup.dups.shift(); + // eslint-disable-next-line no-await-in-loop + await db.scores.remove({ _id: { $in: dup.dups } }); + } +} + +DedupeScoreIDs() + .then(() => { + logger.info(`Finished deduping score IDs.`, () => { + process.exit(0); + }); + }) + .catch((err: unknown) => { + logger.error(`Failed to dedupe score IDs.`, { err }, () => { + process.exit(1); + }); + }); diff --git a/server/src/scripts/state-sync/recalc-all-scores.ts b/server/src/scripts/state-sync/recalc-all-scores.ts new file mode 100644 index 000000000..637e418cc --- /dev/null +++ b/server/src/scripts/state-sync/recalc-all-scores.ts @@ -0,0 +1,18 @@ +import CreateLogCtx from "lib/logger/logger"; +import { RecalcAllScores } from "utils/calculations/recalc-scores"; + +const logger = CreateLogCtx(__filename); + +if (require.main === module) { + RecalcAllScores() + .then(() => { + logger.info(`Successfully recalced all scores.`, () => { + process.exit(0); + }); + }) + .catch((err: unknown) => { + logger.error(`Failed to recalc all scores.`, { err }, () => { + process.exit(1); + }); + }); +} diff --git a/server/src/scripts/state-sync/recalc-game-profiles.ts b/server/src/scripts/state-sync/recalc-game-profiles.ts new file mode 100644 index 000000000..4efeaa5cb --- /dev/null +++ b/server/src/scripts/state-sync/recalc-game-profiles.ts @@ -0,0 +1,52 @@ +/* eslint-disable no-await-in-loop */ +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { UpdateUsersGamePlaytypeStats } from "lib/score-import/framework/user-game-stats/update-ugs"; +import { FormatUserDoc } from "utils/user"; +import type { Game, Playtype, ScoreDocument } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +export async function RecalcGameProfiles() { + const users = await db.users.find({}); + + for (const user of users) { + const gpts: Array = + await db.scores.aggregate([ + { + $match: { + userID: user.id, + }, + }, + { + $group: { + _id: { + game: "$game", + playtype: "$playtype", + }, + }, + }, + ]); + + logger.info(`Found ${gpts.length} GPTs for ${FormatUserDoc(user)}`); + + for (const gpt of gpts) { + const { game, playtype } = gpt._id; + + logger.info(`Updating ${FormatUserDoc(user)}'s ${game} ${playtype} stats.`); + await UpdateUsersGamePlaytypeStats(game, playtype, user.id, null, logger); + } + } + + logger.info(`Done.`); +} + +if (require.main === module) { + RecalcGameProfiles() + .then(() => process.exit(0)) + .catch((err: unknown) => { + logger.error(`Failed to recalc game profiles.`, { err }, () => { + process.exit(1); + }); + }); +} diff --git a/server/src/scripts/state-sync/recalc-sessions.ts b/server/src/scripts/state-sync/recalc-sessions.ts new file mode 100644 index 000000000..2e5ba736e --- /dev/null +++ b/server/src/scripts/state-sync/recalc-sessions.ts @@ -0,0 +1,14 @@ +import CreateLogCtx from "lib/logger/logger"; +import { RecalcSessions } from "utils/calculations/recalc-sessions"; + +const logger = CreateLogCtx(__filename); + +if (require.main === module) { + RecalcSessions() + .then(() => process.exit(0)) + .catch((err: unknown) => { + logger.error(`Failed to recalc sessions.`, { err }, () => { + process.exit(1); + }); + }); +} diff --git a/server/src/scripts/state-sync/sync-state.ts b/server/src/scripts/state-sync/sync-state.ts new file mode 100644 index 000000000..0ce663089 --- /dev/null +++ b/server/src/scripts/state-sync/sync-state.ts @@ -0,0 +1,21 @@ +import { RecalcGameProfiles } from "./recalc-game-profiles"; +import CreateLogCtx from "lib/logger/logger"; +import { RecalcAllScores, UpdateAllPBs } from "utils/calculations/recalc-scores"; +import { RecalcSessions } from "utils/calculations/recalc-sessions"; + +const logger = CreateLogCtx(__filename); + +(async () => { + await RecalcAllScores(); + await UpdateAllPBs(); + await RecalcGameProfiles(); + await RecalcSessions(); + + logger.info(`Completely done!`, () => { + process.exit(0); + }); +})().catch((err: unknown) => { + logger.error(`Failed to sync state.`, { err }, () => { + process.exit(1); + }); +}); diff --git a/server/src/scripts/state-sync/update-all-pbs.ts b/server/src/scripts/state-sync/update-all-pbs.ts new file mode 100644 index 000000000..d6b33d794 --- /dev/null +++ b/server/src/scripts/state-sync/update-all-pbs.ts @@ -0,0 +1,18 @@ +/* eslint-disable no-await-in-loop */ +import CreateLogCtx from "lib/logger/logger"; +import { UpdateAllPBs } from "utils/calculations/recalc-scores"; + +const logger = CreateLogCtx(__filename); + +if (require.main === module) { + UpdateAllPBs() + .then(() => { + logger.info(`Successfully updated all PBs.`); + process.exit(0); + }) + .catch((err: unknown) => { + logger.error(`Failed to update all PBs.`, { err }, () => { + process.exit(1); + }); + }); +} diff --git a/server/src/scripts/sync-database.ts b/server/src/scripts/sync-database.ts new file mode 100644 index 000000000..49363f2c7 --- /dev/null +++ b/server/src/scripts/sync-database.ts @@ -0,0 +1,391 @@ +/* eslint-disable no-await-in-loop */ +// This script syncs this tachi instances database up with the tachi-database-seeds. + +import db, { monkDB } from "external/mongo/db"; +import fjsh from "fast-json-stable-hash"; +import { PullDatabaseSeeds } from "lib/database-seeds/repo"; +import CreateLogCtx from "lib/logger/logger"; +import UpdateIsPrimaryStatus from "lib/score-mutation/update-isprimary"; +import { TachiConfig } from "lib/setup/config"; +import { RemoveStaleFolderShowcaseStats } from "lib/showcase/showcase"; +import { UpdateMilestoneSubscriptions } from "lib/targets/milestones"; +import { RecalcAllScores } from "utils/calculations/recalc-scores"; +import { UpdateGameSongIDCounter } from "utils/db"; +import { InitaliseFolderChartLookup } from "utils/folder"; +import { ArrayDiff, IsSupported } from "utils/misc"; +import type { KtLogger } from "lib/logger/logger"; +import type { BulkWriteOperation, DeleteWriteOpResultObject } from "mongodb"; +import type { ICollection } from "monk"; +import type { + BMSCourseDocument, + ChartDocument, + FolderDocument, + Game, + GoalDocument, + MilestoneDocument, + MilestoneSetDocument, + SongDocument, + TableDocument, +} from "tachi-common"; + +interface SyncInstructions { + pattern: RegExp; + handler: ( + c: Array, + collection: ICollection, + logger: KtLogger, + collectionName: string + ) => Promise; +} + +async function RemoveNotPresent( + documents: Array, + collection: ICollection, + field: keyof T, + logger: KtLogger +) { + logger.verbose(`Removing all documents that are no longer present.`); + + // Remove anything no longer present. + // Note that $nin is incredibly slow. + // @ts-expect-error generic system failing + const r = (await collection.remove({ + [field]: { $nin: documents.map((e) => e[field]) }, + })) as DeleteWriteOpResultObject; + + if (r.deletedCount !== undefined && r.deletedCount > 0) { + logger.info(`Removed ${r.deletedCount} documents.`); + } +} + +async function GenericUpsert( + documents: Array, + collection: ICollection, + field: keyof T, + logger: KtLogger, + remove = false, + update = true +) { + logger.verbose(`Running bulkwrite.`); + + const bwriteOps: Array> = []; + + const allExistingDocs = await collection.find({}); + + const map = new Map(); + + for (const doc of allExistingDocs) { + map.set(doc[field], doc); + } + + const changedFields = []; + + let i = 0; + + for (const document of documents) { + i++; + if (i % 10_000 === 0) { + logger.verbose(`On document ${i}/${documents.length}.`); + } + + const exists = map.get(document[field]); + + if (exists === undefined) { + bwriteOps.push({ + // @ts-expect-error Actually, T is assignable to OptionalId. + insertOne: { document }, + }); + } else if (update && fjsh.hash(document, "sha256") !== fjsh.hash(exists, "sha256")) { + bwriteOps.push({ + replaceOne: { + // @ts-expect-error Known X->Y generic issue. + filter: { + [field]: document[field], + }, + replacement: document, + }, + }); + + changedFields.push(field); + } + + // free some memory. + map.delete(document[field]); + } + + if (bwriteOps.length === 0) { + logger.verbose(`No differences. Not performing any update.`); + } else { + const { deletedCount, insertedCount, matchedCount, upsertedCount, modifiedCount } = + await collection.bulkWrite(bwriteOps); + + logger.info(`Performed bulkWrite.`, { + deletedCount, + insertedCount, + matchedCount, + upsertedCount, + modifiedCount, + }); + } + + if (remove) { + await RemoveNotPresent(documents, collection, field, logger); + } + + return { + thingsChanged: bwriteOps.length, + changedFields, + }; +} + +const syncInstructions: Array = [ + { + pattern: /^charts-(b|p)ms/u, + handler: async ( + charts: Array, + collection: ICollection, + logger, + collectionName + ) => { + const r = await GenericUpsert(charts, collection, "chartID", logger, false); + + if (r.thingsChanged) { + await InitaliseFolderChartLookup(); + await UpdateIsPrimaryStatus(); + + await UpdateGameSongIDCounter(collectionName.includes("bms") ? "bms" : "pms"); + + await RecalcAllScores({ + chartID: { $in: r.changedFields }, + }); + } + }, + }, + { + pattern: /^charts-/u, + handler: async ( + charts: Array, + collection: ICollection, + logger + ) => { + const r = await GenericUpsert(charts, collection, "chartID", logger, true); + + if (r.thingsChanged) { + await InitaliseFolderChartLookup(); + await UpdateIsPrimaryStatus(); + + await RecalcAllScores({ + chartID: { $in: r.changedFields }, + }); + } + }, + }, + { + pattern: /^songs-(b|p)ms/u, + handler: async ( + songs: Array, + collection: ICollection, + logger + ) => { + const r = await GenericUpsert(songs, collection, "id", logger, false); + + if (r.thingsChanged) { + await RecalcAllScores({ + songID: { $in: r.changedFields }, + }); + } + }, + }, + { + pattern: /^songs-/u, + handler: async ( + songs: Array, + collection: ICollection, + logger + ) => { + const r = await GenericUpsert(songs, collection, "id", logger, true); + + if (r.thingsChanged) { + await RecalcAllScores({ + songID: { $in: r.changedFields }, + }); + } + }, + }, + { + pattern: /^folders/u, + handler: async ( + folders: Array, + collection: ICollection, + logger + ) => { + const r = await GenericUpsert( + folders.filter((e) => TachiConfig.GAMES.includes(e.game)), + collection, + "folderID", + logger, + true + ); + + if (r.thingsChanged) { + await InitaliseFolderChartLookup(); + + const allModifiedFolderIDs = r.changedFields as Array; + + const keptFolderIDs = await db.folders.find( + { + folderID: { $in: allModifiedFolderIDs }, + }, + { projection: { folderID: 1 } } + ); + + // Find out what folders have been removed by diffing the set of all + // modified folders against all that are still present. + const removedFolderIDs = ArrayDiff( + allModifiedFolderIDs, + keptFolderIDs.map((e) => e.folderID) + ); + + await RemoveStaleFolderShowcaseStats(removedFolderIDs); + } + }, + }, + { + pattern: /^tables/u, + handler: (tables: Array, collection: ICollection, logger) => + GenericUpsert( + tables.filter((e) => TachiConfig.GAMES.includes(e.game)), + collection, + "tableID", + logger, + true + ), + }, + { + pattern: /^bms-course-lookup/u, + handler: async ( + bmsCourseDocuments: Array, + collection: ICollection, + logger + ) => { + if (TachiConfig.TYPE === "ktchi") { + return; + } + + await GenericUpsert(bmsCourseDocuments, collection, "md5sums", logger); + }, + }, + { + pattern: /^goals/u, + handler: async ( + goals: Array, + collection: ICollection, + logger + ) => { + // never remove goals. Never update goals either. Only insert new ones as + // they come in. + await GenericUpsert( + goals.filter((e) => IsSupported(e.game)), + collection, + "goalID", + logger, + false, + false + ); + }, + }, + { + pattern: /^milestone-sets/u, + handler: async ( + milestoneSets: Array, + collection: ICollection, + logger + ) => { + // removing and updating these is fine. Users cannot subscibe to sets. + await GenericUpsert( + milestoneSets.filter((e) => IsSupported(e.game)), + collection, + "setID", + logger + ); + }, + }, + { + pattern: /^milestones/u, + handler: async ( + milestones: Array, + collection: ICollection, + logger + ) => { + const r = await GenericUpsert( + milestones.filter((e) => IsSupported(e.game)), + collection, + "milestoneID", + logger, + true + ); + + if (r.thingsChanged) { + const affectedMilestoneIDs = r.changedFields as Array; + + await Promise.all(affectedMilestoneIDs.map((e) => UpdateMilestoneSubscriptions(e))); + } + }, + }, +]; + +const logger = CreateLogCtx("Database Sync"); + +async function SynchroniseDBWithSeeds() { + // Wait for mongo to connect first. + await monkDB.then(() => void 0); + + const databaseSeedsRepo = await PullDatabaseSeeds(); + + for await (const { collectionName, data } of databaseSeedsRepo.IterateCollections()) { + const spawnLogger = CreateLogCtx(`${collectionName} Sync`); + + if (collectionName.startsWith("songs-") || collectionName.startsWith("charts-")) { + const game = collectionName.split("-")[1]; + + if (!TachiConfig.GAMES.includes(game as Game)) { + spawnLogger.verbose( + `Skipping ${collectionName} (${game}) as it isn't for ${TachiConfig.NAME}.` + ); + continue; + } + } + + spawnLogger.verbose(`Found ${data.length} documents.`); + + let matchedSomething = false; + + for (const syncInst of syncInstructions) { + if (syncInst.pattern.exec(collectionName)) { + spawnLogger.info(`Starting handler...`); + await syncInst.handler( + data, + monkDB.get(collectionName), + spawnLogger, + collectionName + ); + matchedSomething = true; + break; + } + } + + if (!matchedSomething) { + spawnLogger.warn( + `Collection ${collectionName} didn't match any sync instructions. Skipping.` + ); + } + } + + logger.info(`Done.`); +} + +if (require.main === module) { + SynchroniseDBWithSeeds() + .then(() => process.exit(0)) + .catch(() => process.exit(1)); +} diff --git a/server/src/scripts/validate-database.ts b/server/src/scripts/validate-database.ts new file mode 100644 index 000000000..9103fdc42 --- /dev/null +++ b/server/src/scripts/validate-database.ts @@ -0,0 +1,87 @@ +// note: a hell of a lot of this code is copy pasted +// this is just a script, so, feel free to refactor it. +import { Command } from "commander"; +import { monkDB } from "external/mongo/db"; +import { DatabaseSchemas } from "external/mongo/schemas"; +import CreateLogCtx from "lib/logger/logger"; +import { FormatPrError } from "utils/prudence"; +import type { Databases } from "external/mongo/db"; +import type { FindResult } from "monk"; +import type { PrudenceError } from "prudence"; + +const program = new Command(); + +program.option("-c, --collection "); + +program.parse(process.argv); +const options = program.opts(); + +const logger = CreateLogCtx(__filename); + +export async function ValidateCollection(collectionName: Databases): Promise { + if (!(collectionName in DatabaseSchemas)) { + logger.verbose(`Skipping ${collectionName} as it has no schema.`); + return; + } + + // collectionName is in database schemas. + const schemaRunner = DatabaseSchemas[collectionName]; + + const documents = await monkDB.get(collectionName).count({}); + + logger.info(`Validating ${collectionName}. This is ${documents} documents. + `); + let success = 0; + let fails = 0; + + // Faulty monk types. Returns actually also have a streaming .each operator + // which we leverage here for performance. + await ( + monkDB.get(collectionName).find({}) as Promise> & { + each: (cb: (c: unknown) => void) => Promise; + } + ).each((c) => { + try { + schemaRunner(c); + success++; + } catch (err) { + logger.error(`[${collectionName}]: ${FormatPrError(err as PrudenceError)}`, c); + fails++; + } + }); + + logger.info(`Success: ${success} (${(100 * success) / documents}%)`); + logger.info(`Failures: ${fails} (${(100 * fails) / documents}%)`); +} + +export async function ValidateAllCollections() { + for (const collectionName of Object.keys(DatabaseSchemas)) { + // eslint-disable-next-line no-await-in-loop + await ValidateCollection(collectionName as keyof typeof DatabaseSchemas); + } +} + +if (require.main === module) { + if (typeof options.collection === "string") { + // @hack This should be typechecked and warned about outside of ValidateCollection. + ValidateCollection(options.collection as Databases) + .then(() => process.exit(0)) + .catch((err: unknown) => { + logger.error( + `Failed to validate collection ${options.collection}?`, + { err }, + () => { + process.exit(1); + } + ); + }); + } else { + ValidateAllCollections() + .then(() => process.exit(0)) + .catch((err: unknown) => { + logger.error(`Failed to validate all collections?`, { err }, () => { + process.exit(1); + }); + }); + } +} diff --git a/server/src/server/middleware/auth.test.ts b/server/src/server/middleware/auth.test.ts new file mode 100644 index 000000000..cef9f0b98 --- /dev/null +++ b/server/src/server/middleware/auth.test.ts @@ -0,0 +1,150 @@ +import { SetRequestPermissions } from "./auth"; +import expMiddlewareMock from "express-request-mock"; +import db from "external/mongo/db"; +import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi"; +import { ALL_PERMISSIONS } from "tachi-common"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; + +t.test("#SetRequestPermissions", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should assign valid APIKey information to req[SYMBOL_TachiAPIData]", async (t) => { + await db["api-tokens"].insert({ + userID: 1, + identifier: "Mock API Token", + permissions: { + customise_profile: true, + }, + token: "mock_token", + fromAPIClient: null, + }); + + const { req } = await expMiddlewareMock(SetRequestPermissions, { + headers: { + authorization: "Bearer mock_token", + }, + }); + + t.strictSame(req[SYMBOL_TACHI_API_AUTH], { + userID: 1, + identifier: "Mock API Token", + permissions: { + customise_profile: true, + }, + token: "mock_token", + fromAPIClient: null, + }); + + t.end(); + }); + + t.test("Should assign guest APIKey information if no auth present", async (t) => { + const { req } = await expMiddlewareMock(SetRequestPermissions); + + t.strictSame(req[SYMBOL_TACHI_API_AUTH], { + userID: null, + identifier: "Guest Token", + permissions: {}, + token: null, + fromAPIClient: null, + }); + + t.end(); + }); + + t.test("Should return 400 if auth type is not Bearer", async (t) => { + const { res } = await expMiddlewareMock(SetRequestPermissions, { + headers: { + authorization: "Basic Foo", + }, + }); + + t.equal(res.statusCode, 400); + + const json = res._getJSONData(); + + t.match(json.description, /Invalid Authorization Type - Expected Bearer/u); + t.end(); + }); + + t.test("Should return 401 if no token is present", async (t) => { + const { res } = await expMiddlewareMock(SetRequestPermissions, { + headers: { + authorization: "Bearer ", + }, + }); + + t.equal(res.statusCode, 401); + + const json = res._getJSONData(); + + t.match(json.description, /Invalid token/u); + t.end(); + }); + + t.test("Should return 401 if token is unknown", async (t) => { + const { res } = await expMiddlewareMock(SetRequestPermissions, { + headers: { + authorization: "Bearer unknown_token", + }, + }); + + t.equal(res.statusCode, 401); + + const json = res._getJSONData(); + + t.match( + json.description, + /The provided API token does not correspond with any key in the database/u + ); + t.end(); + }); + + t.test("Should assign a Session-Key if user authenticates with cookie.", async (t) => { + const { req } = await expMiddlewareMock(SetRequestPermissions, { + session: { + tachi: { + user: await db.users.findOne({ id: 1 }), + settings: await db["user-settings"].findOne({ userID: 1 }), + }, + }, + }); + + t.strictSame(req[SYMBOL_TACHI_API_AUTH], { + userID: 1, + identifier: `Session-Key 1`, + token: null, + permissions: ALL_PERMISSIONS, + fromAPIClient: null, + }); + t.end(); + }); + + t.end(); +}); + +t.test("#RejectIfBanned", (t) => { + t.test("Should stop banned users from doing anything.", async (t) => { + await db.users.update({ id: 1 }, { $set: { authLevel: 0 } }); + + await db["api-tokens"].insert({ + userID: 1, + identifier: "Mock API Token", + permissions: { + customise_profile: true, + }, + token: "mock_token", + fromAPIClient: null, + }); + + const res = await mockApi.get("/api/v1/status").set("Authorization", "Bearer mock_token"); + + t.equal(res.statusCode, 403, "Should return 403 on benign endpoints."); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/middleware/auth.ts b/server/src/server/middleware/auth.ts new file mode 100644 index 000000000..fc9967f34 --- /dev/null +++ b/server/src/server/middleware/auth.ts @@ -0,0 +1,213 @@ +import db from "external/mongo/db"; +import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi"; +import CreateLogCtx from "lib/logger/logger"; +import { TachiConfig } from "lib/setup/config"; +import { ALL_PERMISSIONS, UserAuthLevels } from "tachi-common"; +import { IsNullishOrEmptyStr, SplitAuthorizationHeader } from "utils/misc"; +import type { RequestHandler } from "express"; +import type { Session, SessionData } from "express-session"; +import type { APIPermissions, APITokenDocument } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +const GuestToken: APITokenDocument = { + token: null, + userID: null, + identifier: "Guest Token", + permissions: {}, + fromAPIClient: null, +}; + +export const SetRequestPermissions: RequestHandler = CreateSetRequestPermissions("description"); + +/** + * Sets the permissions for this request, alongside the user that is making the request. + * + * If this request was made with a valid Session Token, then a "self-key" is + * set as the request token. + * + * If this request was made with a valid Authorization: Bearer , then the + * corresponding key is set as the request token. + * + * If this request was made with no auth headers or session tokens, then a guest + * token is set as the request token, with no permissions. + * + * This is set on req[SYMBOL_TachiAPIAuth]. + */ +function CreateSetRequestPermissions(errorKeyName: string): RequestHandler { + return async (req, res, next) => { + // Types here are wrong. Sometimes req.session is not set. + // As such, we force an assertion. + + const maybeSession = req.session as (Partial & Session) | undefined; + + if (maybeSession?.tachi?.user.id !== undefined) { + req[SYMBOL_TACHI_API_AUTH] = { + userID: maybeSession.tachi.user.id, + identifier: `Session-Key ${maybeSession.tachi.user.id}`, + token: null, + permissions: ALL_PERMISSIONS, + fromAPIClient: null, + }; + next(); + return; + } + + const header = req.header("Authorization"); + + // if no auth was attempted, default to the guest token. + if (IsNullishOrEmptyStr(header)) { + req[SYMBOL_TACHI_API_AUTH] = GuestToken; + next(); + return; + } + + const { token, type } = SplitAuthorizationHeader(header); + + if (type !== "Bearer") { + return res.status(400).json({ + success: false, + [errorKeyName]: "Invalid Authorization Type - Expected Bearer.", + }); + } + + if (!token) { + return res.status(401).json({ + success: false, + [errorKeyName]: "Invalid token.", + }); + } + + const apiTokenData = await db["api-tokens"].findOne({ + token, + }); + + if (!apiTokenData) { + return res.status(401).json({ + success: false, + [errorKeyName]: + "The provided API token does not correspond with any key in the database.", + }); + } + + req[SYMBOL_TACHI_API_AUTH] = { + userID: apiTokenData.userID, + token, + permissions: apiTokenData.permissions, + identifier: apiTokenData.identifier, + fromAPIClient: apiTokenData.fromAPIClient, + }; + + next(); + }; +} + +/** + * An identical implementation of SetRequestPermissions, but returns + * fervidex-style errors (error, instead of description). + * + * @see SetRequestPermissions + */ +export const SetFervidexStyleRequestPermissions: RequestHandler = + CreateSetRequestPermissions("error"); + +/** + * Returns a middleware that enforces the request has the necessary permissions. + * @param perms - Rest Parameter. The set of permissions necessary to use this endpoint. + * @returns A middleware function. + */ +export const RequirePermissions = + (...perms: Array): RequestHandler => + (req, res, next) => { + // This isn't possible on paper, but maybe some insane stuff has happened to lead this to happen. + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + if (req[SYMBOL_TACHI_API_AUTH] === undefined) { + logger.error( + `RequirePermissions middleware was hit without any TachiAPIAuthentication?` + ); + + return res.status(500).json({ + success: false, + description: "An internal error has occured.", + }); + } + + if (req[SYMBOL_TACHI_API_AUTH].userID === null) { + return res.status(401).json({ + success: false, + description: `You are not authorised to perform this action.`, + }); + } + + const missingPerms = []; + + for (const perm of perms) { + if (req[SYMBOL_TACHI_API_AUTH].permissions[perm] !== true) { + missingPerms.push(perm); + } + } + + if (missingPerms.length > 0) { + logger.info( + `IP ${req.ip} - userID ${ + req[SYMBOL_TACHI_API_AUTH].userID + } had insufficient permissions for request ${req.method} ${ + req.url + }. ${missingPerms.join(", ")}` + ); + return res.status(403).json({ + success: false, + description: `You are missing the following permissions necessary for this request: ${missingPerms.join( + ", " + )}`, + }); + } + + next(); + }; + +const CreateRequireNotGuest = + (errorKeyName: string): RequestHandler => + (req, res, next) => { + // See above -- this isn't possible on paper, but I want to check it anyway. + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + if (req[SYMBOL_TACHI_API_AUTH] === undefined) { + logger.error(`RequirePermissions middleware was hit without any TachiAPIData?`); + return res.status(500).json({ + success: false, + description: "An internal error has occured.", + }); + } + + if (req[SYMBOL_TACHI_API_AUTH].userID === null) { + logger.info(`Request to ${req.method} ${req.url} was attempted by guest.`); + return res.status(401).json({ + success: false, + [errorKeyName]: "This endpoint requires authentication.", + }); + } + + next(); + }; + +export const RequireNotGuest: RequestHandler = CreateRequireNotGuest("description"); + +export const FervidexStyleRequireNotGuest: RequestHandler = CreateRequireNotGuest("error"); + +export const RejectIfBanned: RequestHandler = async (req, res, next) => { + if (req[SYMBOL_TACHI_API_AUTH].userID !== null) { + const isBanned = await db.users.findOne({ + id: req[SYMBOL_TACHI_API_AUTH].userID!, + authLevel: UserAuthLevels.BANNED, + }); + + if (isBanned) { + return res.status(403).json({ + success: false, + description: `You are banned from ${TachiConfig.NAME}`, + }); + } + } + + next(); +}; diff --git a/server/src/server/middleware/multer-upload.ts b/server/src/server/middleware/multer-upload.ts new file mode 100644 index 000000000..36bdd56f4 --- /dev/null +++ b/server/src/server/middleware/multer-upload.ts @@ -0,0 +1,55 @@ +// @todo #118 + +import { SIXTEEN_MEGABTYES } from "lib/constants/filesize"; +import CreateLogCtx from "lib/logger/logger"; +import multer, { MulterError } from "multer"; +import type { RequestHandler } from "express"; +import type { integer } from "tachi-common"; + +const defaultLogger = CreateLogCtx(__filename); + +// 16MB +export const DefaultMulterUpload = multer({ limits: { fileSize: 1024 * 1024 * 16 } }); + +export const CreateMulterSingleUploadMiddleware = ( + fieldName: string, + fileSize: integer = SIXTEEN_MEGABTYES, + logger = defaultLogger, + throwOnNoFile = true +): RequestHandler => { + const UploadMW = multer({ limits: { fileSize } }).single(fieldName); + + return (req, res, next) => { + UploadMW(req, res, (err: unknown) => { + if (err instanceof MulterError) { + logger.info(`Multer Error.`, { err }); + + return res.status(400).json({ + success: false, + description: + "File provided was too large, corrupt, or provided in the wrong field.", + }); + } else if (err !== undefined && err !== null) { + logger.error(`Unknown file import error: ${err}`, { err }); + + return res.status(500).json({ + success: false, + description: `An internal server error has occured.`, + }); + } + + if (!req.file && throwOnNoFile) { + return res.status(400).json({ + success: false, + description: `Expected a file for field ${fieldName}.`, + }); + } + + // CRITICALLY IMPORTANT LINE OF CODE + // THINGS DEALING WITH FILE UPLOADS **DO NOT** MOUNT SAFE-BODY OTHERWISE. + req.safeBody = req.body as Record; + + next(); + }); + }; +}; diff --git a/server/src/server/middleware/prudence-validate.test.ts b/server/src/server/middleware/prudence-validate.test.ts new file mode 100644 index 000000000..9762b80e1 --- /dev/null +++ b/server/src/server/middleware/prudence-validate.test.ts @@ -0,0 +1,151 @@ +import prValidate from "./prudence-validate"; +import expMiddlewareMock from "express-request-mock"; +import Prudence from "prudence"; +import t from "tap"; + +t.test("#PrudenceMiddleware", (t) => { + const mw = prValidate({ foo: Prudence.regex(/^baz$/u) }, { foo: "example error message" }); + + t.test("Should return 400 on invalid prudence validation", async (t) => { + const { res } = await expMiddlewareMock(mw, { + query: { + foo: "bar", + }, + }); + + t.equal(res.statusCode, 400, "Status code should be 400"); + + const json = res._getJSONData(); + + t.equal( + json.description, + "[foo] example error message (Received bar)", + "Should return error message" + ); + + t.end(); + }); + + t.test("Should return 'nothing' instead of undefined for missing fields", async (t) => { + const { res } = await expMiddlewareMock(mw, { + query: {}, + }); + + t.equal(res.statusCode, 400, "Status code should be 400"); + + const json = res._getJSONData(); + + t.equal( + json.description, + "[foo] example error message (Received nothing (undefined))", + "Should return error message with received nothing" + ); + + t.end(); + }); + + t.test("Should allow valid prudence data.", async (t) => { + const { res } = await expMiddlewareMock(mw, { + query: { + foo: "baz", + }, + }); + + t.equal(res.statusCode, 200, "Should stay as 200"); + + // no body -- not returned. + t.equal(res._isJSON(), false, "Should not have any data set"); + + t.end(); + }); + + t.test("Should allow valid bodies on non-GET requests", async (t) => { + const { res } = await expMiddlewareMock(mw, { + method: "POST", + body: { + foo: "baz", + }, + }); + + t.equal(res.statusCode, 200, "Should stay as 200"); + + // no body -- not returned. + t.equal(res._isJSON(), false, "Should not have any data set"); + + t.end(); + }); + + t.test("Should return 400 on invalid prudence validation for non-GET requests", async (t) => { + const { res } = await expMiddlewareMock(mw, { + method: "POST", + body: { + foo: "bar", + }, + }); + + t.equal(res.statusCode, 400, "Status code should be 400"); + + const json = res._getJSONData(); + + t.equal( + json.description, + "[foo] example error message (Received bar)", + "Should return error message" + ); + + t.end(); + }); + + const mwWithPassword = prValidate( + { "!password": "string" }, + { "!password": "invalid password" } + ); + + t.test( + "Should not return the contents of the error message if the field starts with !", + async (t) => { + const { res } = await expMiddlewareMock(mwWithPassword, { + query: { + "!password": 123, + }, + }); + + t.equal(res.statusCode, 400, "Status code should be 400"); + + const json = res._getJSONData(); + + t.equal( + json.description, + "[!password] invalid password (Received ****)", + "Should return obscured error message" + ); + + t.end(); + } + ); + + t.test( + "Should not return the contents of the error message if the field starts with ! and is undefined.", + async (t) => { + const { res } = await expMiddlewareMock(mwWithPassword, { + query: { + "!password": undefined, + }, + }); + + t.equal(res.statusCode, 400, "Status code should be 400"); + + const json = res._getJSONData(); + + t.equal( + json.description, + "[!password] invalid password (Received nothing (undefined))", + "Should indicate if no data was sent in obscured error message" + ); + + t.end(); + } + ); + + t.end(); +}); diff --git a/server/src/server/middleware/prudence-validate.ts b/server/src/server/middleware/prudence-validate.ts new file mode 100644 index 000000000..2699e397b --- /dev/null +++ b/server/src/server/middleware/prudence-validate.ts @@ -0,0 +1,72 @@ +import CreateLogCtx from "lib/logger/logger"; +import Prudence from "prudence"; +import type { RequestHandler } from "express-serve-static-core"; +import type { + ErrorMessages, + MiddlewareErrorHandler, + PrudenceOptions, + PrudenceSchema, +} from "prudence"; + +const logger = CreateLogCtx(__filename); + +export const PrudenceErrorFormatter = ( + message: string, + stringVal: string | null, + keychain: string | null +) => `[${keychain}] ${message}${stringVal ? ` (Received ${stringVal})` : ""}`; + +const API_ERR_HANDLER = + (logLevel: TachiLogLevels): MiddlewareErrorHandler => + (req, res, next, error) => { + let stringVal = error.userVal; + + if (error.keychain?.startsWith("!") === true && error.userVal !== undefined) { + stringVal = "****"; + } + + if (typeof stringVal === "object" && stringVal !== null) { + // this is probably null-prototype + stringVal = null; + } else if (stringVal === undefined) { + stringVal = "nothing (undefined)"; + } else { + stringVal = String(stringVal); + } + + logger[logLevel]( + `Prudence rejection: ${error.message}, ${stringVal} [K:${error.keychain}]`, + { + userVal: error.userVal, + } + ); + + return res.status(400).json({ + success: false, + description: PrudenceErrorFormatter( + error.message, + stringVal as string | null, + error.keychain + ), + }); + }; + +// Cache all of the possible API_ERROR_HANDLERS to avoid function creation +// overhead at runtime. +const API_ERROR_HANDLERS = Object.fromEntries( + (["crit", "severe", "error", "warn", "info", "verbose", "debug"] as const).map((e) => [ + e, + API_ERR_HANDLER(e), + ]) +) as Record; + +type TachiLogLevels = "crit" | "debug" | "error" | "info" | "severe" | "verbose" | "warn"; + +const prValidate = ( + s: PrudenceSchema, + errorMessage?: ErrorMessages, + options?: Partial, + level: TachiLogLevels = "info" +): RequestHandler => Prudence.CurryMiddleware(API_ERROR_HANDLERS[level])(s, errorMessage, options); + +export default prValidate; diff --git a/server/src/server/middleware/rate-limiter.ts b/server/src/server/middleware/rate-limiter.ts new file mode 100644 index 000000000..3357165ec --- /dev/null +++ b/server/src/server/middleware/rate-limiter.ts @@ -0,0 +1,72 @@ +import rateLimit from "express-rate-limit"; +import { RedisClient } from "external/redis/redis"; +import { ONE_MINUTE } from "lib/constants/time"; +import CreateLogCtx from "lib/logger/logger"; +import { Environment, ServerConfig, TachiConfig } from "lib/setup/config"; +import RateLimitRedis from "rate-limit-redis"; +import { OmitUndefinedKeys } from "utils/misc"; +import type { Request } from "express"; +import type { Options } from "express-rate-limit"; +import type { integer } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +function CreateStore(name: string) { + // undefined forces a default to an in-memory store + // So we use that when in testing or localdev. + return Environment.nodeEnv === "production" || Environment.nodeEnv === "staging" + ? new RateLimitRedis({ prefix: `${TachiConfig.NAME}-RL:${name}`, client: RedisClient }) + : undefined; +} + +export function ClearTestingRateLimitCache() { + // ??? + NormalRateLimitMiddleware.resetKey(`::ffff:127.0.0.1`); + AggressiveRateLimitMiddleware.resetKey(`::ffff:127.0.0.1`); + HyperAggressiveRateLimitMiddleware.resetKey(`::ffff:127.0.0.1`); +} + +const CreateRateLimitOptions = (max: integer, name: string, windowMs?: number): Partial => + OmitUndefinedKeys({ + max, + onLimitReached: (req: Request) => { + logger.warn(`User ${req.ip} hit rate limit.`, { + url: req.url, + method: req.method, + hideFromConsole: ["req"], + }); + }, + store: CreateStore(name), + message: { + success: false, + description: `You have exceeded ${max} requests per ${ + (windowMs ?? 60_000) / 1000 + } seconds. Please wait.`, + status: 429, + message: "You're being rate limited.", + }, + windowMs, + }); + +// 100 requests / minute is the current cap +export const NormalRateLimitMiddleware = rateLimit( + CreateRateLimitOptions(ServerConfig.RATE_LIMIT, "Normal") +); + +// 15 requests every 10 minutes. +export const AggressiveRateLimitMiddleware = rateLimit( + CreateRateLimitOptions(10, "Aggressive", ONE_MINUTE * 10) +); + +// 2 requests every 20 minutes. +export const HyperAggressiveRateLimitMiddleware = rateLimit( + CreateRateLimitOptions(2, "HyAgressive", ONE_MINUTE * 5) +); + +// 5 requests every minute. This one has a tighter window, so it is less +// vulnerable to bursting down the server. +// if we're in testing, disable this rate limit! +export const ScoreImportRateLimiter = + Environment.nodeEnv === "test" + ? rateLimit(CreateRateLimitOptions(Infinity, "ScImport", ONE_MINUTE)) + : rateLimit(CreateRateLimitOptions(5, "ScImport", ONE_MINUTE)); diff --git a/server/src/server/middleware/request-logger.ts b/server/src/server/middleware/request-logger.ts new file mode 100644 index 000000000..a23e232fc --- /dev/null +++ b/server/src/server/middleware/request-logger.ts @@ -0,0 +1,83 @@ +import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi"; +import CreateLogCtx from "lib/logger/logger"; +import { TachiConfig } from "lib/setup/config"; +import type { RequestHandler, Response } from "express-serve-static-core"; +import type { APITokenDocument } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +// https://stackoverflow.com/a/64546368/11885828 +// Taken from Jonathan Turnock - This is an *incredibly* nice +// solution for post-request express logging! + +const ResJsonInteceptor = (res: Response, json: Response["json"]) => (content: unknown) => { + // @ts-expect-error general monkeypatching error + res.contentBody = content; + res.json = json; + res.json(content); +}; + +export const RequestLoggerMiddleware: RequestHandler = (req, res, next) => { + const safeBody: Record = {}; + + for (const [k, v] of Object.entries(req.safeBody)) { + // Keys that start with ! are private information, + // and should not ever be logged. + if (k.startsWith("!")) { + safeBody[k] = "[OMITTED]"; + } else { + safeBody[k] = v; + } + } + + logger.debug(`Received request ${req.method} ${req.originalUrl}.`, { + query: req.query, + body: safeBody, + }); + + // @ts-expect-error we're doing some wacky monkey patching + res.json = ResJsonInteceptor(res, res.json); + + res.on("finish", () => { + const contents = { + // @ts-expect-error we're doing some monkey patching - contentBody is what we're returning. + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + body: res.contentBody, + statusCode: res.statusCode, + requestQuery: req.query, + requestBody: safeBody, + + // This might actually be undefined, as it could be called in some weird scenarios? + from: (req[SYMBOL_TACHI_API_AUTH] as APITokenDocument | undefined)?.userID ?? null, + fromIp: req.ip, + }; + + // special overrides + // This stuff is spam, so we'll just not log it. + if (res.statusCode === 429) { + return; + } + + // 403 bannings like this are also spam. + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access + if (contents.body?.description === `You are banned from ${TachiConfig.NAME}.`) { + return; + } + + if (res.statusCode < 400 || res.statusCode === 404) { + logger.verbose( + `(${req.method} ${req.originalUrl}) Returned ${res.statusCode}.`, + contents + ); + } else if (res.statusCode < 500) { + logger.info(`(${req.method} ${req.originalUrl}) Returned ${res.statusCode}.`, contents); + } else { + logger.error( + `(${req.method} ${req.originalUrl}) Returned ${res.statusCode}.`, + contents + ); + } + }); + + next(); +}; diff --git a/server/src/server/middleware/sanitise-qstring.test.ts b/server/src/server/middleware/sanitise-qstring.test.ts new file mode 100644 index 000000000..ecbee634d --- /dev/null +++ b/server/src/server/middleware/sanitise-qstring.test.ts @@ -0,0 +1,35 @@ +import SanitiseQString from "./sanitise-qstring"; +import expMiddlewareMock from "express-request-mock"; +import t from "tap"; + +t.test("#SanitiseQString", (t) => { + t.test("Should allow GET requests with valid data.", async (t) => { + const { res } = await expMiddlewareMock(SanitiseQString, { + method: "GET", + query: { + foo: "bar", + }, + }); + + t.not(res.statusCode, 400, "Status code should NOT be 400"); + + t.end(); + }); + + t.test("Should disallow GET requests with nested data.", async (t) => { + const { res } = await expMiddlewareMock(SanitiseQString, { + method: "GET", + query: { + foo: { + bar: "baz", + }, + }, + }); + + t.equal(res.statusCode, 400, "Status code should be 400"); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/middleware/sanitise-qstring.ts b/server/src/server/middleware/sanitise-qstring.ts new file mode 100644 index 000000000..18e76f996 --- /dev/null +++ b/server/src/server/middleware/sanitise-qstring.ts @@ -0,0 +1,21 @@ +import type { NextFunction, Request, Response } from "express"; + +/** + * Disallow complex query strings by enforcing single key:value pairs. + */ +function SanitiseQString(req: Request, res: Response, next: NextFunction) { + if (req.method === "GET") { + for (const [key, value] of Object.entries(req.query)) { + if (typeof value !== "string") { + return res.status(400).json({ + success: false, + description: `Invalid request with key ${key}`, + }); + } + } + } + + next(); +} + +export default SanitiseQString; diff --git a/server/src/server/middleware/type-require.ts b/server/src/server/middleware/type-require.ts new file mode 100644 index 000000000..283f9eaf6 --- /dev/null +++ b/server/src/server/middleware/type-require.ts @@ -0,0 +1,36 @@ +import { TachiConfig } from "lib/setup/config"; +import type { RequestHandler } from "express"; + +/** + * Middleware that makes the route only available under Bokutachi. + * Note that if the special type "omni" is set (which is set for testing purposes) + * this restriction is bypassed. + */ +export const RequireBokutachi: RequestHandler = (req, res, next) => { + if (TachiConfig.TYPE === "btchi" || TachiConfig.TYPE === "omni") { + next(); + return; + } + + return res.status(404).send({ + success: false, + description: `The route ${req.url} is only available on Bokutachi.`, + }); +}; + +/** + * Middleware that makes the route only available under Kamaitachi. + * Note that if the special type "omni" is set (which is set for testing purposes) + * this restriction is bypassed. + */ +export const RequireKamaitachi: RequestHandler = (req, res, next) => { + if (TachiConfig.TYPE === "ktchi" || TachiConfig.TYPE === "omni") { + next(); + return; + } + + return res.status(404).send({ + success: false, + description: `The route ${req.url} is only available on Kamaitachi.`, + }); +}; diff --git a/server/src/server/middleware/update-last-seen.ts b/server/src/server/middleware/update-last-seen.ts new file mode 100644 index 000000000..7cb651c33 --- /dev/null +++ b/server/src/server/middleware/update-last-seen.ts @@ -0,0 +1,26 @@ +import db from "external/mongo/db"; +import type { RequestHandler } from "express"; + +export const UpdateLastSeen: RequestHandler = (req, res, next) => { + if (req.session.tachi?.user.id === undefined) { + next(); + return; + } + + if (req.session.tachi.settings.preferences.invisible) { + next(); + return; + } + + // fire, but we have no reason to await it. + void db.users.update( + { id: req.session.tachi.user.id }, + { + $set: { + lastSeen: Date.now(), + }, + } + ); + + next(); +}; diff --git a/server/src/server/router/api/v1/admin/router.test.ts b/server/src/server/router/api/v1/admin/router.test.ts new file mode 100644 index 000000000..f4c995913 --- /dev/null +++ b/server/src/server/router/api/v1/admin/router.test.ts @@ -0,0 +1,94 @@ +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import { ONE_MINUTE } from "lib/constants/time"; +import { ChangeRootLogLevel, GetLogLevel } from "lib/logger/logger"; +import { ServerConfig } from "lib/setup/config"; +import t from "tap"; +import { CreateFakeAuthCookie } from "test-utils/fake-auth"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { TestingIIDXSPScore } from "test-utils/test-data"; +import { Sleep } from "utils/misc"; +import type { ScoreDocument } from "tachi-common"; + +const LOG_LEVEL = ServerConfig.LOGGER_CONFIG.LOG_LEVEL; + +t.test("POST /api/v1/admin/change-log-level", async (t) => { + t.beforeEach(() => { + ChangeRootLogLevel(LOG_LEVEL); + }); + + const auth = await CreateFakeAuthCookie(mockApi); + + t.test("Should change the log level on the server.", async (t) => { + const res = await mockApi.post("/api/v1/admin/change-log-level").set("Cookie", auth).send({ + noReset: true, + logLevel: "crit", + }); + + t.equal(res.statusCode, 200); + t.equal(GetLogLevel(), "crit"); + + t.end(); + }); + + t.test("Should reject invalid log levels", async (t) => { + const res = await mockApi.post("/api/v1/admin/change-log-level").set("Cookie", auth).send({ + noReset: true, + logLevel: "invalid", + }); + + t.equal(res.statusCode, 400); + t.equal(GetLogLevel(), LOG_LEVEL); + + t.end(); + }); + + t.test("Should set a timer that lasts duration minutes.", async (t) => { + const res = await mockApi.post("/api/v1/admin/change-log-level").set("Cookie", auth).send({ + duration: 0.05, + logLevel: "warn", + }); + + t.equal(res.statusCode, 200); + t.equal(GetLogLevel(), "warn"); + + // wait a bit + await Sleep(ONE_MINUTE * 0.06); + + t.equal(GetLogLevel(), LOG_LEVEL); + + t.end(); + }); + + t.end(); +}); + +t.test("POST /api/v1/admin/delete-score", async (t) => { + t.beforeEach(ResetDBState); + + const auth = await CreateFakeAuthCookie(mockApi); + + await db.scores.insert( + deepmerge(TestingIIDXSPScore, { + scoreID: "deleteme", + }) + ); + + const res = await mockApi + .post("/api/v1/admin/delete-score") + .set({ + Cookie: auth, + }) + .send({ + scoreID: "deleteme", + }); + + t.equal(res.statusCode, 200); + + const dbScore = await db.scores.findOne({ scoreID: "deleteme" }); + + t.equal(dbScore, null, "Should remove the score from the database."); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/admin/router.ts b/server/src/server/router/api/v1/admin/router.ts new file mode 100644 index 000000000..0c70414c3 --- /dev/null +++ b/server/src/server/router/api/v1/admin/router.ts @@ -0,0 +1,303 @@ +/* eslint-disable no-await-in-loop */ +import { Router } from "express"; +import db from "external/mongo/db"; +import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi"; +import { ONE_MINUTE } from "lib/constants/time"; +import CreateLogCtx, { ChangeRootLogLevel, GetLogLevel } from "lib/logger/logger"; +import { DeleteMultipleScores, DeleteScore } from "lib/score-mutation/delete-scores"; +import { ServerConfig, TachiConfig } from "lib/setup/config"; +import p from "prudence"; +import prValidate from "server/middleware/prudence-validate"; +import { UserAuthLevels } from "tachi-common"; +import { RecalcAllScores, UpdateAllPBs } from "utils/calculations/recalc-scores"; +import { RecalcSessions } from "utils/calculations/recalc-sessions"; +import { IsValidPlaytype } from "utils/misc"; +import DestroyUserGamePlaytypeData from "utils/reset-state/destroy-ugpt"; +import { GetUserWithID } from "utils/user"; +import type { RequestHandler } from "express"; +import type { Game, integer, Playtype } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +const router: Router = Router({ mergeParams: true }); + +const RequireAdminLevel: RequestHandler = async (req, res, next) => { + if (req[SYMBOL_TACHI_API_AUTH].userID === null) { + return res.status(401).json({ + success: false, + description: `You are not authenticated.`, + }); + } + + const userDoc = await GetUserWithID(req[SYMBOL_TACHI_API_AUTH].userID!); + + if (!userDoc) { + logger.severe( + `Api Token ${req[SYMBOL_TACHI_API_AUTH].token} is assigned to ${req[SYMBOL_TACHI_API_AUTH].userID}, who does not exist?` + ); + + return res.status(500).json({ + success: false, + description: `An internal error has occured.`, + }); + } + + if (userDoc.authLevel !== UserAuthLevels.ADMIN) { + return res.status(403).json({ + success: false, + description: `You are not authorised to perform this.`, + }); + } + + next(); +}; + +const LOG_LEVEL = ServerConfig.LOGGER_CONFIG.LOG_LEVEL; + +router.use(RequireAdminLevel); + +let currentLogLevelTimer: NodeJS.Timeout | null = null; + +/** + * Changes the current server log level to the provided `logLevel` in the request body. + * + * @param logLevel - The log level to change to. + * @param duration - The amount of minutes to wait before changing the log level back to the default. + * Defaults to 60 minutes. + * @param noReset - If true, do not ever reset this decision. + * + * @name POST /api/v1/admin/change-log-level + */ +router.post( + "/change-log-level", + prValidate({ + logLevel: p.isIn("crit", "severe", "error", "warn", "info", "verbose", "debug"), + duration: p.optional(p.isPositiveNonZero), + noReset: p.optional("boolean"), + }), + (req, res) => { + const body = req.safeBody as { + logLevel: "crit" | "debug" | "error" | "info" | "severe" | "verbose" | "warn"; + duration?: integer; + noReset?: boolean; + }; + + const logLevel = GetLogLevel(); + + ChangeRootLogLevel(body.logLevel); + + const duration = body.duration ?? 60; + + if (currentLogLevelTimer) { + logger.verbose(`Removing last timer to reset log level to ${LOG_LEVEL}.`); + clearTimeout(currentLogLevelTimer); + } + + logger.info(`Log level has been changed to ${body.logLevel}.`); + + if (body.noReset !== true) { + logger.info(`This will reset to "${LOG_LEVEL}" level in ${duration} minutes.`); + + currentLogLevelTimer = setTimeout(() => { + logger.verbose(`Changing log level back to ${LOG_LEVEL}.`); + ChangeRootLogLevel(LOG_LEVEL); + logger.info(`Reset log level back to ${LOG_LEVEL}.`); + }, duration * ONE_MINUTE); + } + + return res.status(200).json({ + success: true, + description: `Changed log level from ${logLevel} to ${body.logLevel}.`, + body: {}, + }); + } +); + +/** + * Resynchronises all PBs that match the given query or users. + * + * @param userIDs - Optionally, An array of integers of users to resync. + * @param filter - Optionally, the set of scores to resync. + * + * @name POST /api/v1/admin/resync-pbs + */ +router.post( + "/resync-pbs", + prValidate({ + userIDs: p.optional([p.isPositiveInteger]), + filter: "*object", + }), + async (req, res) => { + const body = req.safeBody as { + userIDs?: Array; + filter?: object; + }; + + await UpdateAllPBs(body.userIDs, body.filter); + + return res.status(200).json({ + success: true, + description: `Done.`, + body: {}, + }); + } +); + +/** + * Force Delete anyones score. + * + * @param scoreID - The scoreID to delete. + * + * @name POST /api/v1/admin/delete-score + */ +router.post("/delete-score", prValidate({ scoreID: "string" }), async (req, res) => { + const body = req.safeBody as { scoreID: string }; + + const score = await db.scores.findOne({ scoreID: body.scoreID }); + + if (!score) { + return res.status(404).json({ + success: false, + description: `This score does not exist.`, + }); + } + + await DeleteScore(score); + + return res.status(200).json({ + success: true, + description: `Removed score.`, + body: {}, + }); +}); + +/** + * Destroys a users UGPT profile and forces a leaderboard recalc. + * + * @param userID - The U... + * @param game - The G... + * @param playtype - And the PT to delete. + * + * @name POST /api/v1/admin/destroy-ugpt + */ +router.post( + "/destroy-ugpt", + prValidate({ + userID: p.isInteger, + game: p.isIn(TachiConfig.GAMES), + playtype: (self, parent) => { + if (typeof self !== "string") { + return "Expected a string for a playtype."; + } + + if (!IsValidPlaytype(parent.game as Game, self)) { + return `Invalid playtype of ${self} for game ${parent.game as Game}.`; + } + + return true; + }, + }), + async (req, res) => { + const { userID, game, playtype } = req.safeBody as { + userID: integer; + game: Game; + playtype: Playtype; + }; + + const ugpt = await db["game-stats"].findOne({ + userID, + game, + + playtype, + }); + + if (!ugpt) { + return res.status(404).json({ + success: false, + description: `No stats for ${userID} (${game} ${playtype}) exist.`, + }); + } + + await DestroyUserGamePlaytypeData(userID, game, playtype); + + return res.status(200).json({ + success: true, + description: `Completely destroyed UGPT for ${userID} (${game} ${playtype}).`, + body: {}, + }); + } +); + +/** + * Destroy a chart and all of its scores (and sessions). + * + * @param chartID - The chartID to delete. + * @param game - The game this chart is for. Necessary for doing lookups. + * + * @name POST /api/v1/admin/destroy-chart + */ +router.post( + "/destroy-chart", + prValidate({ chartID: "string", game: p.isIn(TachiConfig.GAMES) }), + async (req, res) => { + const body = req.safeBody as { + game: Game; + chartID: string; + }; + + const { game, chartID } = body; + + const scores = await db.scores.find({ + chartID, + }); + + await DeleteMultipleScores(scores); + + await db.charts[game].remove({ + chartID, + }); + + await db["personal-bests"].remove({ + chartID, + }); + + return res.status(200).json({ + success: true, + description: `Obliterated chart.`, + body: {}, + }); + } +); + +/** + * Perform a site recalc on this set of scores. + * + * @name POST /api/v1/admin/recalc + */ +router.post("/recalc", async (req, res) => { + const filter = req.safeBody; + + await RecalcAllScores(filter); + + const scoreIDs = ( + await db.scores.find(filter, { + projection: { + scoreID: 1, + }, + }) + ).map((e) => e.scoreID); + + await RecalcSessions({ + "scoreInfo.scoreID": { $in: scoreIDs }, + }); + + return res.status(200).json({ + success: true, + description: `Recalced scores.`, + body: { + scoresRecalced: scoreIDs.length, + }, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/auth/auth.test.ts b/server/src/server/router/api/v1/auth/auth.test.ts new file mode 100644 index 000000000..12ff7100e --- /dev/null +++ b/server/src/server/router/api/v1/auth/auth.test.ts @@ -0,0 +1,92 @@ +import { AddNewInvite, ReinstateInvite, ValidateCaptcha } from "./auth"; +import db from "external/mongo/db"; +import t from "tap"; +import { MockJSONFetch } from "test-utils/mock-fetch"; +import ResetDBState from "test-utils/resets"; + +t.test("#ReinstateInvite", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should change the 'consumed' property of an invite to true.", async (t) => { + // mock insert + const inviteDoc = await db.invites.insert({ + code: "foobar", + consumed: true, + createdBy: 1, + createdAt: 1, + consumedAt: 2, + consumedBy: 2, + }); + + const response = await ReinstateInvite(inviteDoc.code); + + t.equal(response.nModified, 1, "Should modify one document"); + + const invite2 = await db.invites.findOne({ + // lol + code: inviteDoc.code, + }); + + t.equal(invite2!.consumed, false, "Should no longer be consumed"); + t.equal(invite2!.consumedAt, null, "Should revoke when it was consumed."); + t.equal(invite2!.consumedBy, null, "Should revoke who it was consumed by."); + + t.end(); + }); + + t.end(); +}); + +t.test("#AddNewInvite", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should create a new invite from a given user", async (t) => { + const userDoc = await db.users.findOne({ id: 1 }); + + const result = await AddNewInvite(userDoc!); + + t.equal(result.createdBy, userDoc!.id, "Invite should be created by the requesting user."); + t.equal(result.consumed, false, "Invite should not be consumed."); + + // was created +/- 6 seconds from now. This is perhaps too lenient, but we're only really testing its just around now ish. + t.ok(Math.abs(result.createdAt - Date.now()) <= 6000, "Invite was created roughly now."); + + t.match(result.code, /^[0-9a-f]{40}$/u, "Invite code should be a 40 character hex string."); + }); + + t.end(); +}); + +t.test("#ValidateCaptcha", async (t) => { + t.equal( + await ValidateCaptcha( + "200", + "bar", + MockJSONFetch({ + "https://www.google.com/recaptcha/api/siteverify?secret=unused&response=200&remoteip=bar": + { + success: true, + }, + }) + ), + true, + "Validates captcha when sucess return is true" + ); + + t.equal( + await ValidateCaptcha( + "400", + "bar", + MockJSONFetch({ + "https://www.google.com/recaptcha/api/siteverify?secret=unused&response=400&remoteip=bar": + { + success: false, + }, + }) + ), + false, + "Invalidates captcha when success return is not true" + ); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/auth/auth.ts b/server/src/server/router/api/v1/auth/auth.ts new file mode 100644 index 000000000..7983548cf --- /dev/null +++ b/server/src/server/router/api/v1/auth/auth.ts @@ -0,0 +1,182 @@ +import bcrypt from "bcryptjs"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { Environment, ServerConfig } from "lib/setup/config"; +import p from "prudence"; +import { UserAuthLevels } from "tachi-common"; +import nodeFetch from "utils/fetch"; +import { Random20Hex } from "utils/misc"; +import { CreateURLWithParams } from "utils/url"; +import { FormatUserDoc } from "utils/user"; +import type { integer, PublicUserDocument, UserSettings } from "tachi-common"; +import type { PrivateUserInfoDocument } from "utils/types"; + +const logger = CreateLogCtx(__filename); + +const BCRYPT_SALT_ROUNDS = 12; + +export const ValidatePassword = (self: unknown) => + (typeof self === "string" && self.length >= 8) || "Passwords must be 8 characters or more."; + +/** + * Compares a plaintext string of a users password to a hash. + * @param plaintext The provided user input. + * @param password The hash to compare against. + */ +export function PasswordCompare(plaintext: string, password: string) { + return bcrypt.compare(plaintext, password); +} + +export function ReinstateInvite(code: string) { + logger.info(`Reinstated Invite ${code}`); + return db.invites.update( + { + code, + }, + { + $set: { + consumed: false, + consumedAt: null, + consumedBy: null, + }, + } + ); +} + +export async function AddNewInvite(user: PublicUserDocument) { + const code = Random20Hex(); + + const result = await db.invites.insert({ + code, + consumed: false, + createdBy: user.id, + createdAt: Date.now(), + consumedAt: null, + consumedBy: null, + }); + + logger.info(`User ${FormatUserDoc(user)} created an invite.`); + + return result; +} + +export const DEFAULT_USER_SETTINGS: UserSettings["preferences"] = { + developerMode: false, + advancedMode: false, + invisible: false, + contentiousContent: false, + deletableScores: false, +}; + +export function HashPassword(plaintext: string) { + return bcrypt.hash(plaintext, BCRYPT_SALT_ROUNDS); +} + +export async function AddNewUser( + username: string, + plaintext: string, + email: string, + userID: integer +) { + const hashedPassword = await HashPassword(plaintext); + + logger.verbose(`Hashed password for ${username}.`); + + const userDoc: PublicUserDocument = { + id: userID, + username, + usernameLowercase: username.toLowerCase(), + about: "I'm a fairly nondescript person.", + clan: null, + socialMedia: {}, + status: null, + customBannerLocation: null, + customPfpLocation: null, + joinDate: Date.now(), + lastSeen: Date.now(), + authLevel: UserAuthLevels.USER, + badges: [], + }; + + const res = await db.users.insert(userDoc); + + const settingsRes = await InsertDefaultUserSettings(userID); + + await InsertPrivateUserInfo(userID, hashedPassword, email); + + return { newUser: res, newSettings: settingsRes }; +} + +export function InsertPrivateUserInfo(userID: integer, hashedPassword: string, email: string) { + const privateInfo: PrivateUserInfoDocument = { + userID, + email, + password: hashedPassword, + }; + + return db["user-private-information"].insert(privateInfo); +} + +export function InsertDefaultUserSettings(userID: integer) { + logger.verbose(`Inserting default settings for ${userID}.`); + const userSettings: UserSettings = { + userID, + preferences: DEFAULT_USER_SETTINGS, + }; + + return db["user-settings"].insert(userSettings); +} + +export async function ValidateCaptcha( + recaptcha: string, + remoteAddr: string | undefined, + fetch = nodeFetch +) { + const url = CreateURLWithParams(`https://www.google.com/recaptcha/api/siteverify`, { + secret: ServerConfig.CAPTCHA_SECRET_KEY, + response: recaptcha, + remoteip: remoteAddr ?? "", + }); + + const googleCaptchaRes: unknown = await fetch(url.href).then((r) => r.json()); + + const err = p( + googleCaptchaRes, + { + success: "boolean", + }, + {}, + { allowExcessKeys: true } + ); + + if (err) { + logger.warn( + `Google ReCaptcha returned something without a success property? Assuming this captcha check failed.`, + { googleCaptchaRes, err } + ); + return false; + } + + // asserted above + const gcr = googleCaptchaRes as { success: boolean }; + + if (!gcr.success) { + logger.verbose(`Failed GCaptcha response`, { gcr }); + } + + return gcr.success; +} + +export function MountAuthCookie( + req: Express.Request, + user: PublicUserDocument, + settings: UserSettings +) { + req.session.tachi = { + user, + settings, + }; + + req.session.cookie.maxAge = 3.154e10; + req.session.cookie.secure = Environment.nodeEnv === "production"; +} diff --git a/server/src/server/router/api/v1/auth/router.test.ts b/server/src/server/router/api/v1/auth/router.test.ts new file mode 100644 index 000000000..e439fdcfa --- /dev/null +++ b/server/src/server/router/api/v1/auth/router.test.ts @@ -0,0 +1,377 @@ +import { PasswordCompare } from "./auth"; +import db from "external/mongo/db"; +import { ClearTestingRateLimitCache } from "server/middleware/rate-limiter"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { Sleep } from "utils/misc"; + +t.test("POST /api/v1/auth/login", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(ClearTestingRateLimitCache); + + t.test("Should log a user in with right credentials", async (t) => { + const res = await mockApi.post("/api/v1/auth/login").send({ + username: "test_zkldi", + "!password": "password", + captcha: "foo", + }); + + t.equal(res.status, 200); + t.equal(res.body.success, true); + t.strictSame(res.body.body, { + userID: 1, + }); + + const cookie = res.headers["set-cookie"]; + + const stat = await mockApi.get("/api/v1/status").set("Cookie", cookie); + + t.ok(stat.body.body.permissions.length > 0); + + t.end(); + }); + + t.test("Should return 200 if user already logged in", async (t) => { + const res = await mockApi.post("/api/v1/auth/login").send({ + username: "test_zkldi", + "!password": "password", + captcha: "foo", + }); + + const cookie = res.headers["set-cookie"]; + + const res2 = await mockApi + .post("/api/v1/auth/login") + .send({ + username: "test_zkldi", + "!password": "password", + captcha: "foo", + }) + .set("Cookie", cookie); + + // even if they have a login already going, just let them log in. + t.equal(res2.status, 200); + + t.end(); + }); + + t.test("Should return 401 if password invalid", async (t) => { + const res = await mockApi.post("/api/v1/auth/login").send({ + username: "test_zkldi", + "!password": "invalid_password", + captcha: "foo", + }); + + t.equal(res.status, 401); + + t.end(); + }); + + t.test("Should return 404 if user invalid", async (t) => { + const res = await mockApi.post("/api/v1/auth/login").send({ + username: "invalid_user", + "!password": "password", + captcha: "foo", + }); + + t.equal(res.status, 404); + + t.end(); + }); + + t.test("Should return 400 if no password", async (t) => { + const res = await mockApi.post("/api/v1/auth/login").send({ + username: "invalid_user", + captcha: "foo", + }); + + t.equal(res.status, 400); + + t.end(); + }); + + t.test("Should return 400 if no username", async (t) => { + const res = await mockApi.post("/api/v1/auth/login").send({ + "!password": "password", + captcha: "foo", + }); + + t.equal(res.status, 400); + + t.end(); + }); + + t.test("Should return 400 if no captcha", async (t) => { + const res = await mockApi.post("/api/v1/auth/login").send({ + "!password": "password", + username: "test_zkldi", + }); + + t.equal(res.status, 400); + + t.end(); + }); + + t.end(); +}); + +t.test("POST /api/v1/auth/register", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(ClearTestingRateLimitCache); + + t.beforeEach(() => + db.invites.insert({ + code: "code", + createdBy: 1, + createdAt: 0, + consumed: false, + consumedAt: null, + consumedBy: null, + }) + ); + + t.test("Should register a new user.", async (t) => { + const res = await mockApi.post("/api/v1/auth/register").send({ + username: "foo", + "!password": "password", + email: "foo@bar.com", + captcha: "1", + inviteCode: "code", + }); + + t.equal(res.statusCode, 200); + t.equal(res.body.success, true); + t.equal(res.body.body.username, "foo"); + + const doc = await db.users.findOne({ username: "foo" }); + + t.not(doc, null); + + t.end(); + }); + + t.test("Should disallow users with matching names.", async (t) => { + const res = await mockApi.post("/api/v1/auth/register").send({ + username: "test_zkldi", + "!password": "password", + email: "foo@bar.com", + captcha: "1", + inviteCode: "code", + }); + + t.equal(res.statusCode, 409); + t.equal(res.body.success, false); + + t.end(); + }); + + t.test("Should disallow users with matching names case insensitively.", async (t) => { + const res = await mockApi.post("/api/v1/auth/register").send({ + username: "test_zKLdi", + "!password": "password", + email: "foo@bar.com", + captcha: "1", + inviteCode: "code", + }); + + t.equal(res.statusCode, 409); + t.equal(res.body.success, false); + + t.end(); + }); + + t.test("Should disallow email if it is already used.", async (t) => { + const res = await mockApi.post("/api/v1/auth/register").send({ + username: "foo", + "!password": "password", + + // this is our test docs email, apparently. + email: "thepasswordis@password.com", + captcha: "1", + inviteCode: "code", + }); + + t.equal(res.statusCode, 409); + t.equal(res.body.success, false); + + t.end(); + }); + + t.test("Should disallow invalid emails.", async (t) => { + const res = await mockApi.post("/api/v1/auth/register").send({ + username: "foo", + "!password": "password", + email: "nonsense+email", + captcha: "1", + inviteCode: "code", + }); + + t.equal(res.statusCode, 400); + t.equal(res.body.success, false); + + t.end(); + }); + + t.test("Should disallow short passwords.", async (t) => { + const res = await mockApi.post("/api/v1/auth/register").send({ + username: "foo", + "!password": "pass", + email: "foo@bar.com", + captcha: "1", + inviteCode: "code", + }); + + t.equal(res.statusCode, 400); + t.equal(res.body.success, false); + + t.end(); + }); + + t.test("Should disallow invalid usernames.", async (t) => { + const res = await mockApi.post("/api/v1/auth/register").send({ + username: "3foo", + "!password": "password", + email: "foo@bar.com", + captcha: "1", + inviteCode: "code", + }); + + t.equal(res.statusCode, 400); + t.equal(res.body.success, false); + + const res2 = await mockApi.post("/api/v1/auth/register").send({ + username: "f", + "!password": "password", + email: "foo@bar.com", + captcha: "1", + inviteCode: "code", + }); + + t.equal(res2.statusCode, 400); + t.equal(res2.body.success, false); + + t.end(); + }); + + t.test("Should recover from a fatal error without breaking state.", async (t) => { + // this will cause a userID collision + await db.counters.update({ counterName: "users" }, { $set: { value: 1 } }); + + const res = await mockApi.post("/api/v1/auth/register").send({ + username: "foo", + "!password": "password", + email: "foo@bar.com", + captcha: "1", + inviteCode: "code", + }); + + t.equal(res.statusCode, 500); + + const counter = await db.counters.findOne({ counterName: "users" }); + + // value should not stay incremented + t.equal(counter?.value, 1); + + const invite = await db.invites.findOne({ code: "code" }); + + // invite should not be consumed + t.equal(invite?.consumed, false); + + t.end(); + }); + + t.end(); +}); + +t.test("POST /api/v1/auth/forgot-password", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(ClearTestingRateLimitCache); + + t.test("Should create a code to reset a password with.", async (t) => { + const res = await mockApi.post("/api/v1/auth/forgot-password").send({ + email: "thepasswordis@password.com", + }); + + t.equal(res.statusCode, 202, "Should return 202 immediately."); + + t.strictSame(res.body.body, {}, "Should have no body."); + + // We have to wait for this operation to complete, otherwise, this isn't going to work. + // Note that 3seconds is a bit excessive, but better safe than + // sorry! + await Sleep(3_000); + + const dbRes = await db["password-reset-codes"].findOne({ + userID: 1, + }); + + t.not(dbRes, null, "Should exist and save a code to the database."); + + t.end(); + }); + + t.test( + "Should not create a code to reset a password with if the email does not exist.", + async (t) => { + const res = await mockApi.post("/api/v1/auth/forgot-password").send({ + email: "bademail@example.com", + }); + + t.equal(res.statusCode, 202, "Should return 202 immediately."); + + t.strictSame(res.body.body, {}, "Should have no body."); + + await Sleep(3_000); + + const dbRes = await db["password-reset-codes"].findOne({ + userID: 1, + }); + + t.equal(dbRes, null, "Should not bother sending a code to the database."); + + t.end(); + } + ); + + t.end(); +}); + +t.test("POST /api/v1/auth/reset-password", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(ClearTestingRateLimitCache); + + t.test("Should reset a users password if they have a valid code.", async (t) => { + await db["password-reset-codes"].insert({ + code: "SECRET_CODE", + createdOn: Date.now(), + userID: 1, + }); + + const res = await mockApi.post("/api/v1/auth/reset-password").send({ + code: "SECRET_CODE", + "!password": "newpassword", + }); + + t.equal(res.statusCode, 200); + + const dbRes = await db["password-reset-codes"].findOne({ + code: "SECRET_CODE", + }); + + t.equal(dbRes, null, "Codes MUST be destroyed after use."); + + const privateInfo = await db["user-private-information"].findOne({ + userID: 1, + }); + + t.ok( + await PasswordCompare("newpassword", privateInfo!.password), + "Password must be updated to 'newpassword'" + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/auth/router.ts b/server/src/server/router/api/v1/auth/router.ts new file mode 100644 index 000000000..234e3c940 --- /dev/null +++ b/server/src/server/router/api/v1/auth/router.ts @@ -0,0 +1,560 @@ +import { + AddNewUser, + HashPassword, + InsertDefaultUserSettings, + MountAuthCookie, + PasswordCompare, + ReinstateInvite, + ValidateCaptcha, + ValidatePassword, +} from "./auth"; +import { Router } from "express"; +import db from "external/mongo/db"; +import { SendEmail } from "lib/email/client"; +import { EmailFormatResetPassword, EmailFormatVerifyEmail } from "lib/email/formats"; +import CreateLogCtx from "lib/logger/logger"; +import { Environment, ServerConfig } from "lib/setup/config"; +import Prudence from "prudence"; +import prValidate from "server/middleware/prudence-validate"; +import { + AggressiveRateLimitMiddleware, + HyperAggressiveRateLimitMiddleware, +} from "server/middleware/rate-limiter"; +import { DecrementCounterValue, GetNextCounterValue } from "utils/db"; +import { Random20Hex } from "utils/misc"; +import { + CheckIfEmailInUse, + FormatUserDoc, + GetSettingsForUser, + GetUserCaseInsensitive, + GetUserPrivateInfo, + GetUserWithID, + GetUserWithIDGuaranteed, +} from "utils/user"; +import type { integer } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +const router: Router = Router({ mergeParams: true }); + +const LAZY_EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/u; + +/** + * Logs in a user. + * @name POST /api/v1/auth/login + */ +router.post( + "/login", + AggressiveRateLimitMiddleware, + prValidate( + { + username: Prudence.regex(/^[a-zA-Z_-][a-zA-Z0-9_-]{2,20}$/u), + "!password": ValidatePassword, + captcha: "string", + }, + { + username: + "Invalid username. Usernames cannot start with a number, and must be between 2 and 20 characters.", + captcha: "Please fill out the captcha.", + }, + undefined, + "verbose" + ), + async (req, res) => { + if (req.session.tachi?.user.id !== undefined) { + // Dual logins should destroy the users session and recreate it. + req.session.tachi = undefined; + } + + const body = req.safeBody as { + username: string; + "!password": string; + captcha: string; + }; + + logger.verbose(`Received login request with username ${body.username} (${req.ip})`); + + /* istanbul ignore next */ + if (Environment.nodeEnv === "production" || Environment.nodeEnv === "staging") { + logger.verbose("Validating captcha..."); + const validCaptcha = await ValidateCaptcha(body.captcha, req.socket.remoteAddress); + + if (!validCaptcha) { + logger.verbose("Captcha failed."); + return res.status(400).json({ + success: false, + description: `Captcha failed.`, + }); + } + + logger.verbose("Captcha validated!"); + } else { + logger.warn("Skipped captcha check because not in production."); + } + + const requestedUser = await GetUserCaseInsensitive(body.username); + + if (!requestedUser) { + logger.verbose(`Invalid username for login ${body.username}.`); + return res.status(404).json({ + success: false, + description: `This user does not exist.`, + }); + } + + const privateInfo = await GetUserPrivateInfo(requestedUser.id); + + if (!privateInfo) { + logger.severe( + `State desync for user ${FormatUserDoc( + requestedUser + )}. This user has no password/email information?`, + { requestedUser } + ); + + return res.status(500).json({ + success: false, + description: `An internal server error has occured.`, + }); + } + + const passwordMatch = await PasswordCompare(body["!password"], privateInfo.password); + + if (!passwordMatch) { + logger.verbose("Invalid password provided."); + return res.status(401).json({ + success: false, + description: `Invalid password.`, + }); + } + + const user = await GetUserWithID(requestedUser.id); + + if (!user) { + logger.severe(`User logged in as someone who does not exist?`, { requestedUser }); + return res.status(500).json({ + success: false, + description: `An internal server error has occured.`, + }); + } + + let settings = await GetSettingsForUser(requestedUser.id); + + if (!settings) { + logger.warn(`User ${FormatUserDoc(user)} has no settings. Inserting default settings.`); + settings = await InsertDefaultUserSettings(user.id); + } + + MountAuthCookie(req, user, settings); + + logger.verbose(`${FormatUserDoc(requestedUser)} Logged in.`); + + return res.status(200).json({ + success: true, + description: `Successfully logged in as ${FormatUserDoc(requestedUser)}`, + body: { + userID: requestedUser.id, + }, + }); + } +); + +/** + * Registers a new user. + * @name POST /api/v1/auth/register + */ +router.post( + "/register", + AggressiveRateLimitMiddleware, + prValidate( + { + username: Prudence.regex(/^[a-zA-Z_-][a-zA-Z0-9_-]{2,20}$/u), + "!password": ValidatePassword, + email: Prudence.regex(LAZY_EMAIL_REGEX), + inviteCode: "*string", + captcha: "string", + }, + { + username: + "Usernames must be between 3 and 20 characters long, can only contain alphanumeric characters and cannot start with a number.", + email: "Invalid email.", + inviteCode: "Invalid invite code.", + captcha: "Please fill out the captcha.", + }, + undefined, + "verbose" + ), + async (req, res) => { + const body = req.safeBody as { + username: string; + "!password": string; + email: string; + inviteCode?: string; + captcha: string; + }; + + if (body.inviteCode === undefined && ServerConfig.INVITE_CODE_CONFIG) { + return res.status(400).json({ + success: false, + description: `No invite code given, yet the server uses invites.`, + }); + } + + logger.verbose(`received register request with username ${body.username} (${req.ip})`); + + /* istanbul ignore next */ + if (Environment.nodeEnv === "production" || Environment.nodeEnv === "staging") { + logger.verbose("Validating captcha..."); + const validCaptcha = await ValidateCaptcha(body.captcha, req.socket.remoteAddress); + + if (!validCaptcha) { + logger.verbose("Captcha failed."); + return res.status(400).json({ + success: false, + description: `Captcha failed.`, + }); + } + + logger.verbose("Captcha validated."); + } else { + logger.warn("Skipped captcha check because not in production."); + } + + const existingUser = await GetUserCaseInsensitive(body.username); + + if (existingUser) { + logger.verbose(`Invalid username ${body.username}, already in use.`); + return res.status(409).json({ + success: false, + description: "This username is already in use.", + }); + } + + const existingEmail = await CheckIfEmailInUse(body.email); + + if (existingEmail) { + logger.info(`User attempted to sign up with email that was already in use.`); + return res.status(409).json({ + success: false, + description: `This email is already in use.`, + }); + } + + let hasInsertedUserID: integer | null = null; + + try { + const userID = await GetNextCounterValue("users"); + + if (ServerConfig.INVITE_CODE_CONFIG) { + const inviteCodeDoc = await db.invites.findOneAndUpdate( + { + code: body.inviteCode, + consumed: false, + }, + { + $set: { + consumed: true, + consumedAt: Date.now(), + consumedBy: userID, + }, + } + ); + + if (!inviteCodeDoc) { + logger.info(`Invalid invite code given: ${body.inviteCode}.`); + return res.status(401).json({ + success: false, + description: `This invite code is not valid.`, + }); + } + + logger.info(`Consumed invite ${inviteCodeDoc.code}.`); + } + + // if we get to this point, We're good to create the user. + + const { newUser, newSettings } = await AddNewUser( + body.username, + body["!password"], + body.email, + userID + ); + + hasInsertedUserID = newUser.id; + + // re-fetch the user like this so we guaranteeably omit the private fields. + const user = await GetUserWithIDGuaranteed(newUser.id); + + MountAuthCookie(req, user, newSettings); + + const resetEmailCode = Random20Hex(); + + await db["verify-email-codes"].insert({ + code: resetEmailCode, + userID, + email: body.email, + }); + + const { text, html } = EmailFormatVerifyEmail(user.username, resetEmailCode); + + void SendEmail(body.email, "Email Verification", html, text); + + return res.status(200).json({ + success: true, + description: `Successfully created account ${body.username}!`, + body: user, + }); + } catch (err) { + logger.error(`Bailed on user creation ${body.username}.`, { err }); + + if (ServerConfig.INVITE_CODE_CONFIG && body.inviteCode !== undefined) { + await ReinstateInvite(body.inviteCode); + } + + if (hasInsertedUserID !== null) { + logger.warn( + `Removing user ${body.username} (#${hasInsertedUserID}), as their document was created, but creation still failed.` + ); + await db.users.remove({ username: body.username }); + await db["user-settings"].remove({ userID: hasInsertedUserID }); + await db["user-private-information"].remove({ userID: hasInsertedUserID }); + } + + await DecrementCounterValue("users"); + + return res.status(500).json({ + success: false, + description: "An internal server error has occured.", + }); + } + } +); + +/** + * Verifies the provided email according to the code provided. + * + * @param code - The emailCode set in the /register function. + * + * @name POST /api/v1/auth/verify-email + */ +router.post( + "/verify-email", + AggressiveRateLimitMiddleware, + prValidate({ + code: "string", + }), + async (req, res) => { + const body = req.safeBody as { + code: string; + }; + + const code = await db["verify-email-codes"].findOne({ + code: body.code, + }); + + if (!code) { + return res.status(400).json({ + success: false, + description: `This email code is invalid.`, + }); + } + + await db["verify-email-codes"].remove({ + code: body.code, + }); + + return res.status(200).json({ + success: true, + description: `Verified email!`, + body: {}, + }); + } +); + +/** + * Resend a verification email, for when they fall through the + * cracks. + * + * @param email - The email to send a verification email to. + * + * @name POST /api/v1/auth/resend-verify-email + */ +router.post("/resend-verify-email", HyperAggressiveRateLimitMiddleware, async (req, res) => { + // Immediately send a response so the existence of emails + // cannot be timing attacked out. + res.status(200).json({ + success: true, + description: `Sent an email if the email address has not been verified.`, + body: {}, + }); + + const user = req.session.tachi?.user; + + if (!user) { + return; + } + + const userID = user.id; + + const verifyInfo = await db["verify-email-codes"].findOne({ userID }); + + if (!verifyInfo) { + logger.warn( + `Attempted to send reset email to ${userID}, but no verifyInfo was set for them.` + ); + return; + } + + // Send the email again. + + const { text, html } = EmailFormatVerifyEmail(user.username, verifyInfo.code); + + void SendEmail(verifyInfo.email, "Email Verification", html, text); +}); + +/** + * Logs out the requesting user. + * @name POST /api/v1/auth/logout + */ +router.post("/logout", (req, res) => { + if (req.session.tachi?.user.id === undefined) { + return res.status(409).json({ + success: false, + description: `You are not logged in.`, + }); + } + + req.session.destroy(() => 0); + + return res.status(200).json({ + success: true, + description: `Logged Out.`, + body: {}, + }); +}); + +/** + * Creates a password reset code for a user. The user will then + * be able to trigger POST /reset-password with that code. + * + * @param email - The email associated with the account you want to reset. + * + * @name POST /api/v1/auth/forgot-password + */ +router.post( + "/forgot-password", + HyperAggressiveRateLimitMiddleware, + prValidate({ email: "string" }), + async (req, res) => { + if (!ServerConfig.EMAIL_CONFIG && Environment.nodeEnv !== "test") { + return res.status(501).json({ + success: false, + description: `This server does not support password resets.`, + }); + } + + const body = req.safeBody as { + email: string; + }; + + logger.debug(`received password reset request for ${body.email}.`); + + // For timing attack and infosec reasons, we can't do anything but **immediately** return here. + res.status(202).json({ + success: true, + description: "A code has been sent to your email.", + body: {}, + }); + + const userPrivateInfo = await db["user-private-information"].findOne({ + email: body.email, + }); + + if (userPrivateInfo) { + const user = await db.users.findOne({ id: userPrivateInfo.userID }); + + if (!user) { + logger.severe( + `User ${userPrivateInfo.userID} has private information but no real account.` + ); + return; + } + + const code = `M${Random20Hex()}`; + + logger.verbose(`Created password reset code for ${FormatUserDoc(user)}.`); + + await db["password-reset-codes"].insert({ + code, + userID: user.id, + createdOn: Date.now(), + }); + + const { html, text } = EmailFormatResetPassword(user.username, code, req.ip); + + void SendEmail(userPrivateInfo.email, "Reset Password", html, text); + } else { + logger.info( + `Silently rejected password reset request for ${body.email}, as no user has this email.` + ); + } + } +); + +/** + * Takes a code generated from /forgot-password, a new password, + * and performs the reset for the user. + * + * @param password - The users new password. + * @param code - The code to use to reset this password. + * + * @name POST /api/v1/auth/reset-password + */ +router.post( + "/reset-password", + AggressiveRateLimitMiddleware, + prValidate({ + code: "string", + "!password": ValidatePassword, + }), + async (req, res) => { + const body = req.safeBody as { + code: string; + "!password": string; + }; + + const code = await db["password-reset-codes"].findOneAndDelete({ + code: body.code, + }); + + if (!code) { + return res.status(404).json({ + success: false, + description: `Invalid Reset Code.`, + }); + } + + const encryptedPassword = await HashPassword(body["!password"]); + + await db["user-private-information"].update( + { + userID: code.userID, + }, + { + $set: { + password: encryptedPassword, + }, + } + ); + + logger.info(`User ${code.userID} reset their password.`); + + return res.status(200).json({ + success: true, + description: `Reset your password.`, + body: {}, + }); + } +); + +export default router; diff --git a/server/src/server/router/api/v1/clients/middleware.test.ts b/server/src/server/router/api/v1/clients/middleware.test.ts new file mode 100644 index 000000000..dcc5e99db --- /dev/null +++ b/server/src/server/router/api/v1/clients/middleware.test.ts @@ -0,0 +1,123 @@ +import { GetClientFromID, RequireOwnershipOfClient } from "./middleware"; +import expMiddlewareMock from "express-request-mock"; +import { SYMBOL_TACHI_DATA } from "lib/constants/tachi"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; + +t.test("#GetClientFromID", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should assign the client to req[@@TachiData] if exists.", async (t) => { + const { req } = await expMiddlewareMock(GetClientFromID, { + params: { + clientID: "OAUTH2_CLIENT_ID", + }, + [SYMBOL_TACHI_DATA]: {}, + }); + + t.strictSame( + req[SYMBOL_TACHI_DATA]?.apiClientDoc, + { + clientID: "OAUTH2_CLIENT_ID", + + // clientSecret: "OAUTH2_CLIENT_SECRET", + name: "Test_Service", + author: 1, + requestedPermissions: ["customise_profile"], + redirectUri: "https://example.com/callback", + webhookUri: null, + apiKeyTemplate: null, + apiKeyFilename: null, + }, + "Should assign clientDoc with secret omitted." + ); + + t.end(); + }); + + t.test("Should return 404 if client does not exist.", async (t) => { + const { res } = await expMiddlewareMock(GetClientFromID, { + params: { + clientID: "NONSENSE", + }, + [SYMBOL_TACHI_DATA]: {}, + }); + + t.equal(res.statusCode, 404); + + t.hasStrict(res._getJSONData(), { + success: false, + description: "This client does not exist.", + }); + + t.end(); + }); + + t.end(); +}); + +t.test("#RequireOwnershipOfClient", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return 401 if the user has no authentication.", async (t) => { + const { res } = await expMiddlewareMock(RequireOwnershipOfClient, { + safeBody: { + __terribleHackOauth2ClientDoc: { + author: 1, + }, + }, + [SYMBOL_TACHI_DATA]: {}, + session: {}, + }); + + t.equal(res.statusCode, 401); + + t.end(); + }); + + t.test("Should return 403 if the user does not own this client.", async (t) => { + const { res } = await expMiddlewareMock(RequireOwnershipOfClient, { + safeBody: { + __terribleHackOauth2ClientDoc: { + author: 1, + }, + }, + session: { + tachi: { + user: { + id: 2, + }, + }, + }, + [SYMBOL_TACHI_DATA]: {}, + }); + + t.equal(res.statusCode, 403); + + t.end(); + }); + + t.test("Should continue if this is their session.", async (t) => { + const { res } = await expMiddlewareMock(RequireOwnershipOfClient, { + safeBody: { + __terribleHackOauth2ClientDoc: { + author: 1, + }, + }, + session: { + tachi: { + user: { + id: 1, + }, + }, + }, + [SYMBOL_TACHI_DATA]: {}, + }); + + t.equal(res.statusCode, 200); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/clients/middleware.ts b/server/src/server/router/api/v1/clients/middleware.ts new file mode 100644 index 000000000..3fc5ba469 --- /dev/null +++ b/server/src/server/router/api/v1/clients/middleware.ts @@ -0,0 +1,67 @@ +import db from "external/mongo/db"; +import { Environment } from "lib/setup/config"; +import { AssignToReqTachiData, GetTachiData } from "utils/req-tachi-data"; +import type { RequestHandler } from "express"; +import type { TachiAPIClientDocument } from "tachi-common"; + +export const GetClientFromID: RequestHandler = async (req, res, next) => { + const client = await db["api-clients"].findOne( + { + clientID: req.params.clientID, + }, + { + projection: { + clientSecret: 0, + }, + } + ); + + if (!client) { + return res.status(404).json({ + success: false, + description: `This client does not exist.`, + }); + } + + AssignToReqTachiData(req, { apiClientDoc: client }); + + next(); +}; + +export const RequireOwnershipOfClient: RequestHandler = (req, res, next) => { + let client: Omit; + + // @hack + // Sadly, expMiddlewareMock doesn't support mounting symbol props on + // request. To hack around this for testing, we perform this hack. + // There's an open issue for this here: https://github.com/i-like-robots/express-request-mock/issues/19 + /* istanbul ignore next */ + if ( + Environment.nodeEnv === "test" && + (req.safeBody.__terribleHackOauth2ClientDoc as TachiAPIClientDocument | undefined) + ) { + // obviously a glaring hack and security flaw - this only applies + // in testing. + client = req.safeBody.__terribleHackOauth2ClientDoc as TachiAPIClientDocument; + } else { + client = GetTachiData(req, "apiClientDoc"); + } + + const user = req.session.tachi?.user; + + if (!user) { + return res.status(401).json({ + success: false, + description: `You are not authenticated (for a session-level request, atleast).`, + }); + } + + if (user.id !== client.author) { + return res.status(403).json({ + success: false, + description: `You are not authorized to perform this action.`, + }); + } + + next(); +}; diff --git a/server/src/server/router/api/v1/clients/router.test.ts b/server/src/server/router/api/v1/clients/router.test.ts new file mode 100644 index 000000000..503bad09b --- /dev/null +++ b/server/src/server/router/api/v1/clients/router.test.ts @@ -0,0 +1,467 @@ +import db from "external/mongo/db"; +import { ServerConfig } from "lib/setup/config"; +import t from "tap"; +import { CreateFakeAuthCookie } from "test-utils/fake-auth"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import type { APITokenDocument, TachiAPIClientDocument } from "tachi-common"; + +const clientDataset: Array = [ + { + author: 1, + clientID: "CLIENT_1", + clientSecret: "SECRET_1", + name: "foo", + redirectUri: "example.com", + requestedPermissions: ["customise_profile"], + webhookUri: null, + apiKeyFilename: null, + apiKeyTemplate: null, + }, + { + author: 1, + clientID: "CLIENT_2", + clientSecret: "SECRET_2", + name: "bar", + redirectUri: "example.com", + requestedPermissions: ["customise_profile"], + webhookUri: null, + apiKeyFilename: null, + apiKeyTemplate: null, + }, + { + author: 2, + clientID: "CLIENT_3", + clientSecret: "SECRET_3", + name: "baz", + redirectUri: "example.com", + requestedPermissions: ["customise_profile"], + webhookUri: null, + apiKeyFilename: null, + apiKeyTemplate: null, + }, +]; + +t.test("GET /api/v1/clients", async (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(async () => { + await db["api-clients"].remove({}); + await db["api-clients"].insert(clientDataset); + }); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should retrieve your clients.", async (t) => { + const res = await mockApi.get("/api/v1/clients").set("Cookie", cookie); + + t.equal(res.statusCode, 200); + + // note: force sort alphabetically so this isn't dependent on + // mongodb natural order. + t.strictSame( + // eslint-disable-next-line @typescript-eslint/no-explicit-any + res.body.body.sort((a: any, b: any) => a.name - b.name), + [ + { + author: 1, + clientID: "CLIENT_1", + clientSecret: "SECRET_1", + name: "foo", + redirectUri: "example.com", + requestedPermissions: ["customise_profile"], + webhookUri: null, + apiKeyFilename: null, + apiKeyTemplate: null, + }, + { + author: 1, + clientID: "CLIENT_2", + clientSecret: "SECRET_2", + name: "bar", + redirectUri: "example.com", + requestedPermissions: ["customise_profile"], + webhookUri: null, + apiKeyFilename: null, + apiKeyTemplate: null, + }, + ] + ); + + t.end(); + }); + + t.test("Requires self-key level authentication.", async (t) => { + const res = await mockApi.get("/api/v1/clients"); + + t.equal(res.statusCode, 401); + + const res2 = await mockApi + .get("/api/v1/clients") + .set("Authorization", "Bearer fake_api_token"); + + t.equal(res2.statusCode, 401); + + t.end(); + }); + + t.end(); +}); + +t.test("POST /api/v1/clients/create", async (t) => { + t.beforeEach(ResetDBState); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should create a new client.", async (t) => { + const res = await mockApi + .post("/api/v1/clients/create") + .send({ + name: "Hello World", + redirectUri: "https://example.com/callback", + permissions: ["customise_profile"], + webhookUri: null, + apiKeyTemplate: null, + apiKeyFilename: null, + }) + .set("Cookie", cookie); + + t.equal(res.statusCode, 200); + + const dbRes = await db["api-clients"].findOne({ clientID: res.body.body.clientID }); + + t.not(dbRes, null, "Should be saved in the database."); + + t.strictSame(dbRes?.requestedPermissions, ["customise_profile"]); + + t.end(); + }); + + t.test("Should validate names to be between 3 and 80 characters.", async (t) => { + const res = await mockApi + .post("/api/v1/clients/create") + .send({ + name: "2", + redirectUri: "https://example.com/callback", + permissions: ["customise_profile"], + webhookUri: null, + apiKeyTemplate: null, + apiKeyFilename: null, + }) + .set("Cookie", cookie); + + t.equal(res.statusCode, 400); + + const res2 = await mockApi + .post("/api/v1/clients/create") + .send({ + name: "2".repeat(100), + redirectUri: "https://example.com/callback", + permissions: ["customise_profile"], + webhookUri: null, + apiKeyTemplate: null, + apiKeyFilename: null, + }) + .set("Cookie", cookie); + + t.equal(res2.statusCode, 400); + + t.end(); + }); + + t.test("Should validate urls to be between 3 and 80 characters.", async (t) => { + const res = await mockApi + .post("/api/v1/clients/create") + .send({ + name: "Hello World", + redirectUri: "ftp://example.com/callback", + permissions: ["customise_profile"], + webhookUri: null, + apiKeyTemplate: null, + apiKeyFilename: null, + }) + .set("Cookie", cookie); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.test("Should validate permissions.", async (t) => { + const res = await mockApi + .post("/api/v1/clients/create") + .send({ + name: "Hello World", + redirectUri: "http://example.com/callback", + permissions: ["permission_that_doesnt_exist"], + webhookUri: null, + apiKeyTemplate: null, + apiKeyFilename: null, + }) + .set("Cookie", cookie); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + // Currently skipped as its difficult to mock user auth level. + t.skip("Should cap a user at OAUTH_CLIENT_CAP.", async (t) => { + for (let i = 0; i < ServerConfig.OAUTH_CLIENT_CAP; i++) { + // eslint-disable-next-line no-await-in-loop + await mockApi + .post("/api/v1/clients/create") + .send({ + name: "Hello World", + redirectUri: "https://example.com/callback", + permissions: ["customise_profile"], + webhookUri: null, + apiKeyTemplate: null, + apiKeyFilename: null, + }) + .set("Cookie", cookie); + } + + const res = await mockApi + .post("/api/v1/clients/create") + .send({ + name: "Hello World", + redirectUri: "https://example.com/callback", + permissions: ["customise_profile"], + webhookUri: null, + apiKeyTemplate: null, + apiKeyFilename: null, + }) + .set("Cookie", cookie); + + t.equal(res.statusCode, 400); + + const dbCount = await db["api-clients"].count({ author: 1 }); + + t.equal(dbCount, ServerConfig.OAUTH_CLIENT_CAP); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/clients/:clientID", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return information about the client at that ID.", async (t) => { + const res = await mockApi.get("/api/v1/clients/OAUTH2_CLIENT_ID"); + + t.strictSame(res.body.body, { + clientID: "OAUTH2_CLIENT_ID", + + // clientSecret: "OAUTH2_CLIENT_SECRET", MUST NOT have secret! + name: "Test_Service", + author: 1, + requestedPermissions: ["customise_profile"], + redirectUri: "https://example.com/callback", + webhookUri: null, + apiKeyTemplate: null, + apiKeyFilename: null, + }); + + t.end(); + }); + + t.test("Should return 404 if client doesn't exist.", async (t) => { + const res = await mockApi.get("/api/v1/clients/BAD_CLIENT"); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.end(); +}); + +t.test("PATCH /api/v1/clients/:clientID", async (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(async () => { + await db["api-clients"].remove({}); + await db["api-clients"].insert(clientDataset); + }); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should be able to modify a clients name.", async (t) => { + const res = await mockApi + .patch("/api/v1/clients/CLIENT_1") + .send({ name: "NEW NAME" }) + .set("Cookie", cookie); + + t.equal(res.statusCode, 200); + + t.equal(res.body.body.name, "NEW NAME"); + + const dbRes = await db["api-clients"].findOne({ + clientID: "CLIENT_1", + }); + + t.equal(dbRes?.name, "NEW NAME"); + + t.end(); + }); + + t.test("Should be able to modify a clients webhookUri.", async (t) => { + const res = await mockApi + .patch("/api/v1/clients/CLIENT_1") + .send({ webhookUri: "https://example.com" }) + .set("Cookie", cookie); + + t.equal(res.statusCode, 200); + + t.equal(res.body.body.webhookUri, "https://example.com"); + + const dbRes = await db["api-clients"].findOne({ + clientID: "CLIENT_1", + }); + + t.equal(dbRes?.webhookUri, "https://example.com"); + + t.end(); + }); + + t.test("Must validate name to be between 3 and 80 characters.", async (t) => { + const res = await mockApi + .patch("/api/v1/clients/CLIENT_1") + .send({ name: "2" }) + .set("Cookie", cookie); + + t.equal(res.statusCode, 400); + + const res2 = await mockApi + .patch("/api/v1/clients/CLIENT_1") + .send({ name: "2".repeat(100) }) + .set("Cookie", cookie); + + t.equal(res2.statusCode, 400); + + t.end(); + }); + + t.test("Must provide name to modify.", async (t) => { + const res = await mockApi.patch("/api/v1/clients/CLIENT_1").send({}).set("Cookie", cookie); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.test("Must be owner of client.", async (t) => { + const res = await mockApi + .patch("/api/v1/clients/CLIENT_3") + .send({ name: "foo" }) + .set("Cookie", cookie); + + t.equal(res.statusCode, 403); + + const res2 = await mockApi.patch("/api/v1/clients/CLIENT_3").send({ name: "foo" }); + + t.equal(res2.statusCode, 401); + + t.end(); + }); + + t.end(); +}); + +t.test("POST /api/v1/clients/:clientID/reset-secret", async (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(async () => { + await db["api-clients"].remove({}); + await db["api-clients"].insert(clientDataset); + }); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should reset the client's secret.", async (t) => { + const res = await mockApi + .post("/api/v1/clients/CLIENT_1/reset-secret") + .set("Cookie", cookie); + + t.equal(res.statusCode, 200); + + t.not(res.body.body.clientSecret, "SECRET_1", "Should return the new secret."); + + const dbRes = await db["api-clients"].findOne({ + clientID: "CLIENT_1", + }); + + t.not(dbRes?.clientSecret, "SECRET_1", "Should change secret to anything else."); + + t.end(); + }); + + t.test("Must be owner of client.", async (t) => { + const res = await mockApi + .post("/api/v1/clients/CLIENT_3/reset-secret") + .set("Cookie", cookie); + + t.equal(res.statusCode, 403); + + const res2 = await mockApi.post("/api/v1/clients/CLIENT_3/reset-secret"); + + t.equal(res2.statusCode, 401); + + t.end(); + }); + + t.end(); +}); + +t.test("DELETE /api/v1/clients/:clientID", async (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(async () => { + await db["api-clients"].remove({}); + await db["api-clients"].insert(clientDataset); + }); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should destroy the client and all associated api keys.", async (t) => { + await db["api-tokens"].insert([ + { + fromAPIClient: "CLIENT_1", + token: "foo", + userID: 1, + }, + { + fromAPIClient: "CLIENT_1", + token: "bar", + userID: 1, + }, + ] as Array); + + const res = await mockApi.delete("/api/v1/clients/CLIENT_1").set("Cookie", cookie); + + t.equal(res.statusCode, 200); + + const dbRes = await db["api-clients"].findOne({ clientID: "CLIENT_1" }); + + t.equal(dbRes, null, "Should no longer exist."); + + const dbCount = await db["api-tokens"].count({ fromOAuth2Client: "CLIENT_1" }); + + t.equal(dbCount, 0, "Should have destroyed all related api tokens."); + + t.end(); + }); + + t.test("Must be owner of client.", async (t) => { + const res = await mockApi.delete("/api/v1/clients/CLIENT_3").set("Cookie", cookie); + + t.equal(res.statusCode, 403); + + const res2 = await mockApi.delete("/api/v1/clients/CLIENT_3"); + + t.equal(res2.statusCode, 401); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/clients/router.ts b/server/src/server/router/api/v1/clients/router.ts new file mode 100644 index 000000000..6bb7f6b4b --- /dev/null +++ b/server/src/server/router/api/v1/clients/router.ts @@ -0,0 +1,353 @@ +import { GetClientFromID, RequireOwnershipOfClient } from "./middleware"; +import { Router } from "express"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { ServerConfig } from "lib/setup/config"; +import p from "prudence"; +import prValidate from "server/middleware/prudence-validate"; +import { ALL_PERMISSIONS, UserAuthLevels } from "tachi-common"; +import { DedupeArr, DeleteUndefinedProps, IsValidURL, Random20Hex } from "utils/misc"; +import { optNull } from "utils/prudence"; +import { GetTachiData } from "utils/req-tachi-data"; +import { FormatUserDoc } from "utils/user"; +import type { APIPermissions, TachiAPIClientDocument } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +const router: Router = Router({ mergeParams: true }); + +/** + * Retrieve the clients you created. Must be performed with a session-level request. + * + * @warn This also returns the client_secrets! Those *have* to be kept secret. + * + * @name GET /api/v1/clients + */ +router.get("/", async (req, res) => { + const user = req.session.tachi?.user; + + if (!user) { + return res.status(401).json({ + success: false, + description: `You are not authenticated (for a session-level request, atleast).`, + }); + } + + const clients = await db["api-clients"].find({ + author: user.id, + }); + + return res.status(200).json({ + success: true, + description: `Returned ${clients.length} clients.`, + body: clients, + }); +}); + +/** + * Create a new API Client. Requires session-level auth. + * + * @param name - A string that identifies this client. + * @param redirectUri - The redirectUri this client uses. + * @param webhookUri - Optionally, a webhookUri to call with webhook events. + * @param apiKeyTemplate - Optionally, a static format to apply when doing static auth. + * @param apiKeyFilename - Optionally, a filename to automatically download the template to, when doing + * static flow. + * @param permissions - An array of APIPermissions this client is expected to use. + * + * @name POST /api/v1/clients/create + */ +router.post( + "/create", + prValidate({ + name: p.isBoundedString(3, 80), + redirectUri: "?string", + webhookUri: "?string", + apiKeyTemplate: (self) => { + if (self === null) { + return true; + } + + if (typeof self !== "string") { + return "Expected a string."; + } + + if (!self.includes("%%TACHI_KEY%%")) { + return "Must contain %%TACHI_KEY%% as part of the template."; + } + + return true; + }, + apiKeyFilename: "?string", + permissions: [p.isIn(Object.keys(ALL_PERMISSIONS))], + }), + async (req, res) => { + if (!req.session.tachi?.user) { + return res.status(401).json({ + success: false, + description: `You are not authenticated.`, + }); + } + + const body = req.safeBody as { + name: string; + redirectUri: string | null; + webhookUri: string | null; + apiKeyTemplate: string | null; + apiKeyFilename: string | null; + permissions: Array; + }; + + const existingClients = await db["api-clients"].find({ + author: req.session.tachi.user.id, + }); + + // Note: Admins are excluded from the API client cap. + if ( + req.session.tachi.user.authLevel !== UserAuthLevels.ADMIN && + existingClients.length >= ServerConfig.OAUTH_CLIENT_CAP + ) { + return res.status(400).json({ + success: false, + description: `You have created too many API clients. The current cap is ${ServerConfig.OAUTH_CLIENT_CAP}.`, + }); + } + + const permissions = DedupeArr(body.permissions); + + if (permissions.length === 0) { + return res.status(400).json({ + success: false, + description: `Invalid permissions -- Need to require atleast one.`, + }); + } + + if (body.redirectUri !== null && !IsValidURL(body.redirectUri)) { + return res.status(400).json({ + success: false, + description: `Invalid Redirect URL.`, + }); + } + + if (body.webhookUri !== null && !IsValidURL(body.webhookUri)) { + return res.status(400).json({ + success: false, + description: `Invalid Webhook URL.`, + }); + } + + const clientID = `CI${Random20Hex()}`; + const clientSecret = `CS${Random20Hex()}`; + + const clientDoc: TachiAPIClientDocument = { + clientID, + clientSecret, + requestedPermissions: permissions, + name: body.name, + author: req.session.tachi.user.id, + redirectUri: body.redirectUri, + webhookUri: body.webhookUri ?? null, + apiKeyFilename: body.apiKeyFilename ?? null, + apiKeyTemplate: body.apiKeyTemplate ?? null, + }; + + await db["api-clients"].insert(clientDoc); + + logger.info( + `User ${FormatUserDoc(req.session.tachi.user)} created a new API Client ${ + body.name + } (${clientID}).` + ); + + return res.status(200).json({ + success: true, + description: `Created a new API client.`, + body: clientDoc, + }); + } +); + +/** + * Retrieves information about the client at this ID. + * + * @name GET /api/v1/clients/:clientID + */ +router.get("/:clientID", GetClientFromID, (req, res) => { + const client = GetTachiData(req, "apiClientDoc"); + + return res.status(200).json({ + success: true, + description: `Retrieved client ${client.name}.`, + body: client, + }); +}); + +/** + * Update an existing client. The requester must be the owner of this + * client, and must also be making a session-level request. + * + * @param name - Change the name of this client. + * @param webhookUri - Change a bound webhookUri for this client. + * @param redirectUri - Change a bound redirectUri for this client. + * @param apiKeyFormat - Change the APIKeyFormat for this client. + * @param apiKeyFilename - Change the APIKeyFilename for this client. + * + * @name PATCH /api/v1/clients/:clientID + */ +router.patch( + "/:clientID", + GetClientFromID, + RequireOwnershipOfClient, + prValidate({ + name: p.optional(p.isBoundedString(3, 80)), + apiKeyTemplate: optNull((self) => { + if (typeof self !== "string") { + return "Expected a string."; + } + + if (!self.includes("%%TACHI_KEY%%")) { + return "Must contain a %%TACHI_KEY%% placeholder."; + } + + return true; + }), + apiKeyFilename: optNull(p.isBoundedString(3, 80)), + webhookUri: optNull((self) => { + if (typeof self !== "string") { + return "Expected a string."; + } + + const res = IsValidURL(self); + + if (!res) { + return "Invalid URL."; + } + + return true; + }), + redirectUri: optNull((self) => { + if (typeof self !== "string") { + return "Expected a string."; + } + + const res = IsValidURL(self); + + if (!res) { + return "Invalid URL."; + } + + return true; + }), + }), + async (req, res) => { + const body = req.safeBody as { + name?: string; + redirectUri?: string | null; + webhookUri?: string | null; + apiKeyTemplate?: string | null; + apiKeyFilename?: string | null; + permissions?: Array; + }; + + const client = GetTachiData(req, "apiClientDoc"); + + DeleteUndefinedProps(req.safeBody); + + if (Object.keys(req.safeBody).length === 0) { + return res.status(400).json({ + success: false, + description: `No changes to make.`, + }); + } + + const newClient = await db["api-clients"].findOneAndUpdate( + { + clientID: client.clientID, + }, + { + $set: req.safeBody, + } + ); + + logger.info( + `API Client ${client.name} (${client.clientID}) has been renamed to ${body.name}.` + ); + + return res.status(200).json({ + success: true, + description: `Updated client.`, + body: newClient, + }); + } +); + +/** + * Resets the clientSecret for this client. + * This will NOT invalidate any existing tokens, as per oauth2 spec. + * + * @name POST /api/v1/clients/:clientID/reset-secret + */ +router.post( + "/:clientID/reset-secret", + GetClientFromID, + RequireOwnershipOfClient, + async (req, res) => { + const client = GetTachiData(req, "apiClientDoc"); + const clientName = `${client.name} (${client.clientID})`; + + logger.info(`received request to reset client secret for ${clientName}`); + + const newSecret = Random20Hex(); + + const newClient = await db["api-clients"].findOneAndUpdate( + { + clientID: client.clientID, + }, + { + $set: { clientSecret: newSecret }, + } + ); + + logger.info(`Reset secret for ${clientName}.`); + + return res.status(200).json({ + success: true, + description: `Reset secret.`, + body: newClient, + }); + } +); + +/** + * Delete this client. Must be authorized at a session-request level. + * + * @name DELETE /api/v1/clients/:clientID + */ +router.delete("/:clientID", GetClientFromID, RequireOwnershipOfClient, async (req, res) => { + const client = GetTachiData(req, "apiClientDoc"); + + const clientName = `${client.name} (${client.clientID})`; + + logger.info(`received request to destroy API Client ${client.name} (${client.clientID})`); + + logger.verbose(`Removing API Client ${clientName}.`); + await db["api-clients"].remove({ + clientID: client.clientID, + }); + logger.info(`Removed API Client ${clientName}.`); + + logger.verbose(`Removing all associated api tokens.`); + const result = await db["api-tokens"].remove({ + fromOAuth2Client: client.clientID, + }); + + logger.info(`Removed ${result.deletedCount} api tokens from ${clientName}.`); + + return res.status(200).json({ + success: true, + description: `Deleted ${clientName}.`, + body: {}, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/config/router.test.ts b/server/src/server/router/api/v1/config/router.test.ts new file mode 100644 index 000000000..bc2030187 --- /dev/null +++ b/server/src/server/router/api/v1/config/router.test.ts @@ -0,0 +1,44 @@ +import { ServerConfig, TachiConfig } from "lib/setup/config"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; + +t.test("GET /api/v1/config", async (t) => { + const res = await mockApi.get("/api/v1/config"); + + t.strictSame( + res.body.body, + { + games: TachiConfig.GAMES, + importTypes: TachiConfig.IMPORT_TYPES, + name: TachiConfig.NAME, + type: TachiConfig.TYPE, + }, + "Should return TachiConfig info" + ); + + t.end(); +}); + +t.test("GET /api/v1/config/beatoraja-queue-size", async (t) => { + const res = await mockApi.get("/api/v1/config/beatoraja-queue-size"); + + t.equal( + res.body.body, + ServerConfig.BEATORAJA_QUEUE_SIZE, + "Should return integer equal to BEATORAJA_QUEUE_SIZE." + ); + + t.end(); +}); + +t.test("GET /api/v1/config/usc-queue-size", async (t) => { + const res = await mockApi.get("/api/v1/config/usc-queue-size"); + + t.equal( + res.body.body, + ServerConfig.USC_QUEUE_SIZE, + "Should return integer equal to USC_QUEUE_SIZE." + ); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/config/router.ts b/server/src/server/router/api/v1/config/router.ts new file mode 100644 index 000000000..f98f734bf --- /dev/null +++ b/server/src/server/router/api/v1/config/router.ts @@ -0,0 +1,52 @@ +import { Router } from "express"; +import { ServerConfig, TachiConfig } from "lib/setup/config"; +import { RequireBokutachi } from "server/middleware/type-require"; + +const router: Router = Router({ mergeParams: true }); + +/** + * Returns Tachi Configuration info, such as server name, type, supported games + * and more. + * + * @name GET /api/v1/config + */ +router.get("/", (req, res) => + res.status(200).json({ + success: true, + description: `Returned configuration info.`, + body: { + games: TachiConfig.GAMES, + importTypes: TachiConfig.IMPORT_TYPES, + name: TachiConfig.NAME, + type: TachiConfig.TYPE, + }, + }) +); + +/** + * Returns the value of the BEATORAJA_QUEUE_SIZE. + * + * @name GET /api/v1/config/beatoraja-queue-size + */ +router.get("/beatoraja-queue-size", RequireBokutachi, (req, res) => + res.status(200).json({ + success: true, + description: `Returned BEATORAJA_QUEUE_SIZE.`, + body: ServerConfig.BEATORAJA_QUEUE_SIZE, + }) +); + +/** + * Returns the value of the USC_QUEUE_SIZE. + * + * @name GET /api/v1/config/usc-queue-size + */ +router.get("/usc-queue-size", RequireBokutachi, (req, res) => + res.status(200).json({ + success: true, + description: `Returned USC_QUEUE_SIZE.`, + body: ServerConfig.USC_QUEUE_SIZE, + }) +); + +export default router; diff --git a/server/src/server/router/api/v1/games/_game/_playtype/charts/_chartID/middleware.ts b/server/src/server/router/api/v1/games/_game/_playtype/charts/_chartID/middleware.ts new file mode 100644 index 000000000..82af0057e --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/charts/_chartID/middleware.ts @@ -0,0 +1,27 @@ +import db from "external/mongo/db"; +import { AssignToReqTachiData, GetGPT } from "utils/req-tachi-data"; +import type { RequestHandler } from "express"; + +export const ValidateAndGetChart: RequestHandler = async (req, res, next) => { + const { game, playtype } = GetGPT(req); + + const chart = await db.charts[game].findOne({ + chartID: req.params.chartID, + + // technically redundant, but we're under playtypes here URL wise. + // this means we cant match an SP chart when we're under IIDX SP, for + // example. + playtype, + }); + + if (!chart) { + return res.status(404).json({ + success: false, + description: `The chart ${req.params.chartID} does not exist.`, + }); + } + + AssignToReqTachiData(req, { chartDoc: chart }); + + next(); +}; diff --git a/server/src/server/router/api/v1/games/_game/_playtype/charts/_chartID/router.test.ts b/server/src/server/router/api/v1/games/_game/_playtype/charts/_chartID/router.test.ts new file mode 100644 index 000000000..d332cddc9 --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/charts/_chartID/router.test.ts @@ -0,0 +1,99 @@ +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { Testing511SPA, TestingIIDXSPScorePB } from "test-utils/test-data"; +import type { PBScoreDocument, PublicUserDocument } from "tachi-common"; + +t.test("GET /api/v1/games/:game/:playtype/charts/:chartID", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return the chart at this ID", async (t) => { + const res = await mockApi.get(`/api/v1/games/iidx/SP/charts/${Testing511SPA.chartID}`); + + t.hasStrict(res.body.body, { + song: { + id: 1, + }, + chart: { + chartID: Testing511SPA.chartID, + }, + }); + t.end(); + }); + + t.test("Should return 404 if the chart doesnt exist", async (t) => { + const res = await mockApi.get(`/api/v1/games/iidx/SP/charts/FAKECHART`); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/games/:game/:playtype/charts/:chartID/pbs", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return the best PBs on that chart.", async (t) => { + await db["personal-bests"].insert([ + TestingIIDXSPScorePB, + deepmerge(TestingIIDXSPScorePB, { + userID: 2, + rankingData: { rank: 2 }, + scoreData: { score: 123 }, + }), + deepmerge(TestingIIDXSPScorePB, { + chartID: "other_chart", + }) as PBScoreDocument, + ]); + + await db.users.insert({ + id: 2, + username: "foo", + usernameLowercase: "foo", + } as PublicUserDocument); + + const res = await mockApi.get(`/api/v1/games/iidx/SP/charts/${Testing511SPA.chartID}/pbs`); + + t.equal(res.body.body.pbs.length, 2); + t.equal(res.body.body.users.length, 2); + + t.strictSame( + res.body.body.pbs.map((e: PBScoreDocument) => e.chartID), + [Testing511SPA.chartID, Testing511SPA.chartID] + ); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/games/:game/:playtype/charts/:chartID/playcount", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return the total playcount on this chart.", async (t) => { + const pbs: Array = []; + + delete TestingIIDXSPScorePB._id; + + for (let i = 1; i <= 132; i++) { + pbs.push(deepmerge(TestingIIDXSPScorePB, { userID: i }) as PBScoreDocument); + } + + await db["personal-bests"].insert(pbs); + + const res = await mockApi.get( + `/api/v1/games/iidx/SP/charts/${Testing511SPA.chartID}/playcount` + ); + + t.equal(res.body.body.count, 132); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/games/_game/_playtype/charts/_chartID/router.ts b/server/src/server/router/api/v1/games/_game/_playtype/charts/_chartID/router.ts new file mode 100644 index 000000000..7cc0f2ad3 --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/charts/_chartID/router.ts @@ -0,0 +1,183 @@ +import { ValidateAndGetChart } from "./middleware"; +import { Router } from "express"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { SearchUsersRegExp } from "lib/search/search"; +import { FormatChart } from "tachi-common"; +import { IsString } from "utils/misc"; +import { GetTachiData } from "utils/req-tachi-data"; +import { ParseStrPositiveNonZeroInt } from "utils/string-checks"; +import { GetUsersWithIDs } from "utils/user"; +import type { FilterQuery } from "mongodb"; +import type { FolderDocument } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +const router: Router = Router({ mergeParams: true }); + +router.use(ValidateAndGetChart); + +/** + * Returns the chart (and the parent song) at this chart ID. + * + * @name GET /api/v1/games/:game/:playtype/charts/:chartID + */ +router.get("/", async (req, res) => { + const chart = GetTachiData(req, "chartDoc"); + const game = GetTachiData(req, "game"); + + const song = await db.songs[game].findOne({ + id: chart.songID, + }); + + if (!song) { + logger.severe( + `Song ${chart.songID} does not exist, yet chart ${chart.chartID} has it as a parent?` + ); + + return res.status(500).json({ + success: false, + description: `An internal server error has occured.`, + }); + } + + return res.status(200).json({ + success: true, + description: `Returned ${FormatChart(game, song, chart)}.`, + body: { + song, + chart, + }, + }); +}); + +/** + * Returns any folders that contain this chart. + * + * @param inactive - Also include inactive folders. + * + * @name GET /api/v1/games/:game/:playtype/charts/:chartID/folders + */ +router.get("/folders", async (req, res) => { + const chart = GetTachiData(req, "chartDoc"); + + const folderIDs = await db["folder-chart-lookup"].find( + { + chartID: chart.chartID, + }, + { + projection: { + folderID: 1, + }, + } + ); + + const query: FilterQuery = { + folderID: { $in: folderIDs.map((e) => e.folderID) }, + }; + + if (req.query.inactive === undefined) { + query.inactive = false; + } + + const folders = await db.folders.find(query); + + return res.status(200).json({ + success: true, + description: `Found ${folders.length} folders that contain this chart.`, + body: folders, + }); +}); + +/** + * Returns the total amount of unique players that have played this chart. + * + * @name GET /api/v1/games/:game/:playtype/charts/:chartID/playcount + */ +router.get("/playcount", async (req, res) => { + const chart = GetTachiData(req, "chartDoc"); + + const count = await db["personal-bests"].count({ chartID: chart.chartID }); + + return res.status(200).json({ + success: true, + description: `Counted scores for chart.`, + body: { + count, + }, + }); +}); + +/** + * Returns the personal bests for this chart in batches of 100. + * These are returned sorted by their ranking. + * + * @param startRanking - The ranking to start iterating from - defaults to 1. + * + * @name GET /api/v1/games/:game/:playtype/charts/:chartID/pbs + */ +router.get("/pbs", async (req, res) => { + const chart = GetTachiData(req, "chartDoc"); + + const startRanking = ParseStrPositiveNonZeroInt(req.query.startRanking) ?? 1; + + const pbs = await db["personal-bests"].find( + { + chartID: chart.chartID, + "rankingData.rank": { $gte: startRanking }, + }, + { + limit: 100, + sort: { + "rankingData.rank": 1, + }, + } + ); + + const users = await GetUsersWithIDs(pbs.map((e) => e.userID)); + + return res.status(200).json({ + success: true, + description: `Returned ${pbs.length} scores.`, + body: { + pbs, + users, + }, + }); +}); + +/** + * Searches the PBs on this chart for the given user(s). + * + * @param search - The user to search for + * + * @name GET /api/v1/games/:game/:playtype/charts/:chartID/pbs/search + */ +router.get("/pbs/search", async (req, res) => { + const chart = GetTachiData(req, "chartDoc"); + + if (!IsString(req.query.search)) { + return res.status(400).json({ + success: false, + description: `Invalid parameter for search.`, + }); + } + + const users = await SearchUsersRegExp(req.query.search); + + const pbs = await db["personal-bests"].find({ + chartID: chart.chartID, + userID: { $in: users.map((e) => e.id) }, + }); + + return res.status(200).json({ + success: true, + description: `Returned ${pbs.length} scores.`, + body: { + pbs, + users, + }, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/games/_game/_playtype/charts/router.test.ts b/server/src/server/router/api/v1/games/_game/_playtype/charts/router.test.ts new file mode 100644 index 000000000..85f58c219 --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/charts/router.test.ts @@ -0,0 +1,144 @@ +import db from "external/mongo/db"; +import t from "tap"; +import { mkFakePBIIDXSP } from "test-utils/misc"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { LoadTachiIIDXData, Testing511SPA } from "test-utils/test-data"; + +t.test("GET /api/v1/games/:game/:playtype/charts", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(LoadTachiIIDXData); + + t.test("Should return the most popular charts if no param is set.", async (t) => { + await db["personal-bests"].insert([ + mkFakePBIIDXSP({ + chartID: Testing511SPA.chartID, + userID: 1, + }), + mkFakePBIIDXSP({ + chartID: Testing511SPA.chartID, + userID: 2, + }), + mkFakePBIIDXSP({ + chartID: Testing511SPA.chartID, + userID: 3, + }), + mkFakePBIIDXSP({ + // gambol hyper + songID: 7, + chartID: "fc7edc6bcfa701a261c89c999ddbba3e2195597b", + userID: 1, + }), + ]); + + const res = await mockApi.get("/api/v1/games/iidx/SP/charts"); + + t.hasStrict(res.body.body.charts[0], { + __playcount: 3, + chartID: Testing511SPA.chartID, + }); + + t.hasStrict(res.body.body.charts[1], { + __playcount: 1, + chartID: "fc7edc6bcfa701a261c89c999ddbba3e2195597b", + }); + + t.equal(res.body.body.charts.length, 100); + + t.end(); + }); + + t.test("Should search charts if a search param is set.", async (t) => { + await db["personal-bests"].insert([ + mkFakePBIIDXSP({ + // gambol hyper + songID: 7, + chartID: "fc7edc6bcfa701a261c89c999ddbba3e2195597b", + userID: 1, + }), + ]); + + const res = await mockApi.get("/api/v1/games/iidx/SP/charts?search=gambol"); + + t.hasStrict(res.body.body.charts[0], { + __playcount: 1, + chartID: "fc7edc6bcfa701a261c89c999ddbba3e2195597b", + }); + + // gambol has SPB, SPN and SPH + t.equal(res.body.body.charts.length, 3); + + t.end(); + }); + + t.test( + "Should only return charts the requester has played if requesterHasPlayed is set.", + async (t) => { + await db["personal-bests"].insert([ + mkFakePBIIDXSP({ + // gambol hyper + songID: 7, + chartID: "fc7edc6bcfa701a261c89c999ddbba3e2195597b", + userID: 2, + }), + mkFakePBIIDXSP({ + songID: 1, + chartID: Testing511SPA.chartID, + userID: 1, + }), + ]); + + const res = await mockApi + .get("/api/v1/games/iidx/SP/charts?requesterHasPlayed=true") + .set("Authorization", "Bearer fake_api_token"); + + t.hasStrict(res.body.body.charts[0], { + __playcount: 1, + chartID: Testing511SPA.chartID, + }); + + // The user has played 5.1.1., but not anything else loaded in the db. + // note that this endpoint works on played songs, rather than played charts. + t.equal(res.body.body.charts.length, 4); + + t.end(); + } + ); + + t.test( + "Should only return charts the requester has played if requesterHasPlayed is set, and work with searches at the same time.", + async (t) => { + await db["personal-bests"].insert([ + mkFakePBIIDXSP({ + // gambol hyper + songID: 7, + chartID: "fc7edc6bcfa701a261c89c999ddbba3e2195597b", + userID: 1, + }), + mkFakePBIIDXSP({ + songID: 1, + chartID: Testing511SPA.chartID, + userID: 1, + }), + ]); + + const res = await mockApi + .get("/api/v1/games/iidx/SP/charts?requesterHasPlayed=true&search=gambol") + .set("Authorization", "Bearer fake_api_token"); + + t.hasStrict(res.body.body.charts[0], { + __playcount: 1, + chartID: "fc7edc6bcfa701a261c89c999ddbba3e2195597b", + }); + + // gambol has SPB, SPN and SPH, but only SPH has been played by the requester + // although 5.1.1 has been played by the requester, it should not match the + // search. + t.equal(res.body.body.charts.length, 3); + + t.end(); + } + ); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/games/_game/_playtype/charts/router.ts b/server/src/server/router/api/v1/games/_game/_playtype/charts/router.ts new file mode 100644 index 000000000..1a51b8acf --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/charts/router.ts @@ -0,0 +1,121 @@ +import chartIDRouter from "./_chartID/router"; +import { Router } from "express"; +import db from "external/mongo/db"; +import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi"; +import { SearchSpecificGameSongs } from "lib/search/search"; +import { IsString } from "utils/misc"; +import { FindChartsOnPopularity } from "utils/queries/charts"; +import { GetGPT } from "utils/req-tachi-data"; +import type { ChartDocument, integer, UGPTSettings } from "tachi-common"; + +const router: Router = Router({ mergeParams: true }); + +/** + * Searches for charts on this game - if no search parameter is given, + * returns the 100 most popular charts for this game. + * + * @param search - The song title to match on. + * @param noIntelligentOmit - If present, will not perform intelligent + * chart omissions from results. + * @param requesterHasPlayed - If present, will only return charts the + * requesting user has a PB on. If this request doesn't belong to a user, + * this returns 401. + * + * @name GET /api/v1/games/:game/:playtype/charts + */ +router.get("/", async (req, res) => { + const { game, playtype } = GetGPT(req); + + let songIDs: Array | undefined; + + if (IsString(req.query.search)) { + const songs = await SearchSpecificGameSongs(game, req.query.search, 100); + + songIDs = songs.map((e) => e.id); + } + + if (IsString(req.query.requesterHasPlayed)) { + const userID = req[SYMBOL_TACHI_API_AUTH].userID; + + if (userID === null) { + return res.status(401).json({ + success: false, + description: `You must be authorised as a user to use the requesterHasPlayed option.`, + }); + } + + const playedSongs = ( + await db["personal-bests"].find( + { userID, game, playtype }, + { projection: { songID: 1 } } + ) + ).map((e) => e.songID); + + if (songIDs) { + songIDs = songIDs.filter((e) => playedSongs.includes(e)); + } else { + songIDs = playedSongs; + } + } + + const skip = 0; + const limit = 100; + + let charts = await FindChartsOnPopularity( + game, + playtype, + + // if empty, we want the set of all songs. Otherwise, constrict input. + songIDs, + skip, + limit, + "personal-bests" + ); + + // @optimisable + // could use songIDs from above instead of refetching + // but this is not very expensive. + const songs = await db.songs[game].find({ + id: { $in: charts.map((e) => e.songID) }, + }); + + // Edge case. + // If the game is IIDX and the player does not want + // to see 2dxtra charts, we need to remove them from the + // result of a search. + // + // Since most players will have this off, this is not a significant + // performance hit. + if (game === "iidx" && req.query.noIntelligentOmit === undefined) { + if (req[SYMBOL_TACHI_API_AUTH].userID === null) { + charts = charts.filter( + (e) => (e as ChartDocument<"iidx:DP" | "iidx:SP">).data["2dxtraSet"] === null + ); + } else { + const iidxSettings = (await db["game-settings"].findOne({ + userID: req[SYMBOL_TACHI_API_AUTH].userID!, + game, + playtype, + })) as UGPTSettings<"iidx:DP" | "iidx:SP"> | null; + + if (!iidxSettings || !iidxSettings.preferences.gameSpecific.display2DXTra) { + charts = charts.filter( + (e) => (e as ChartDocument<"iidx:DP" | "iidx:SP">).data["2dxtraSet"] === null + ); + } + } + } + + return res.status(200).json({ + success: true, + description: `Returned ${charts.length} charts.`, + body: { + charts, + songs, + }, + }); +}); + +router.use("/:chartID", chartIDRouter); + +export default router; diff --git a/server/src/server/router/api/v1/games/_game/_playtype/folders/middleware.ts b/server/src/server/router/api/v1/games/_game/_playtype/folders/middleware.ts new file mode 100644 index 000000000..e88a0a010 --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/folders/middleware.ts @@ -0,0 +1,20 @@ +import db from "external/mongo/db"; +import { AssignToReqTachiData, GetGPT } from "utils/req-tachi-data"; +import type { RequestHandler } from "express"; + +export const GetFolderFromParam: RequestHandler = async (req, res, next) => { + const { game, playtype } = GetGPT(req); + + const folder = await db.folders.findOne({ folderID: req.params.folderID, game, playtype }); + + if (!folder) { + return res.status(404).json({ + success: false, + description: `This folder does not exist.`, + }); + } + + AssignToReqTachiData(req, { folderDoc: folder }); + + next(); +}; diff --git a/server/src/server/router/api/v1/games/_game/_playtype/folders/router.test.ts b/server/src/server/router/api/v1/games/_game/_playtype/folders/router.test.ts new file mode 100644 index 000000000..cb817b7f9 --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/folders/router.test.ts @@ -0,0 +1,79 @@ +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { Testing511SPA } from "test-utils/test-data"; +import { CreateFolderChartLookup } from "utils/folder"; +import type { FolderDocument } from "tachi-common"; + +const mockFolder: FolderDocument = { + folderID: "foo", + game: "iidx", + playtype: "SP", + title: "12", + data: { + level: "10", + }, + type: "charts", + searchTerms: [], + inactive: false, +}; + +t.test("GET /api/v1/games/:game/:playtype/folders", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should search the folders for this game.", async (t) => { + await db.folders.insert([ + deepmerge(mockFolder, {}), + deepmerge(mockFolder, { folderID: "bar", playtype: "DP" }), + deepmerge(mockFolder, { folderID: "baz", game: "bms" }), + ]); + + const res = await mockApi.get("/api/v1/games/iidx/SP/folders?search=12"); + + t.equal(res.body.body.length, 1); + t.equal(res.body.body[0].folderID, "foo"); + + t.end(); + }); + + t.test("Should return 400 if no search parameter is given.", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx/SP/folders"); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/games/:game/:playtype/folders/:folderID", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return the folder at this ID.", async (t) => { + await db.folders.insert(deepmerge(mockFolder, {})); + await CreateFolderChartLookup(mockFolder, true); + + const res = await mockApi.get("/api/v1/games/iidx/SP/folders/foo"); + + t.equal(res.body.body.folder.folderID, "foo"); + t.equal(res.body.body.songs.length, 1); + t.equal(res.body.body.charts.length, 1); + t.equal(res.body.body.songs[0].id, 1); + t.equal(res.body.body.charts[0].chartID, Testing511SPA.chartID); + + t.end(); + }); + + t.test("Should return 404 if the folder does not exist.", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx/SP/folders/bar"); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/games/_game/_playtype/folders/router.ts b/server/src/server/router/api/v1/games/_game/_playtype/folders/router.ts new file mode 100644 index 000000000..00d7035c9 --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/folders/router.ts @@ -0,0 +1,69 @@ +import { GetFolderFromParam } from "./middleware"; +import { Router } from "express"; +import db from "external/mongo/db"; +import { SearchCollection } from "lib/search/search"; +import { GetFolderCharts } from "utils/folder"; +import { IsString } from "utils/misc"; +import { GetGPT, GetTachiData } from "utils/req-tachi-data"; + +const router: Router = Router({ mergeParams: true }); + +/** + * Search the folders for this GPT. + * + * @param search - The query to search for. + * @param inactive - Also show inactive folders, such as those on old versions. + * + * @name GET /api/v1/games/:game/:playtype/folders + */ +router.get("/", async (req, res) => { + const { game, playtype } = GetGPT(req); + + if (!IsString(req.query.search)) { + return res.status(400).json({ + success: false, + description: `Invalid value for search.`, + }); + } + + // if inactive is passed, we need this to be undefined so that + // mongodb returns both inactive and active folders. + // Otherwise, only return active folders. + const inactive = req.query.inactive === undefined ? false : undefined; + + const folders = await SearchCollection( + db.folders, + req.query.search, + { game, playtype, inactive }, + 100 + ); + + return res.status(200).json({ + success: true, + description: `Returned ${folders.length} folders.`, + body: folders, + }); +}); + +/** + * Get the folder at this ID, alongside its charts and songs. + * + * @name GET /api/v1/games/:game/:playtype/folders/:folderID + */ +router.get("/:folderID", GetFolderFromParam, async (req, res) => { + const folder = GetTachiData(req, "folderDoc"); + + const { songs, charts } = await GetFolderCharts(folder, {}, true); + + return res.status(200).json({ + success: true, + description: `Returned data for folder ${folder.title}`, + body: { + songs, + charts, + folder, + }, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/games/_game/_playtype/middleware.ts b/server/src/server/router/api/v1/games/_game/_playtype/middleware.ts new file mode 100644 index 000000000..9fad0e5ea --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/middleware.ts @@ -0,0 +1,21 @@ +import { GetGameConfig } from "tachi-common"; +import { AssignToReqTachiData, GetTachiData } from "utils/req-tachi-data"; +import type { RequestHandler } from "express"; +import type { Playtype } from "tachi-common"; + +export const ValidatePlaytypeFromParam: RequestHandler = (req, res, next) => { + const game = GetTachiData(req, "game"); + + const gameConfig = GetGameConfig(game); + + if (!gameConfig.validPlaytypes.includes(req.params.playtype as Playtype)) { + return res.status(400).json({ + success: false, + description: `The playtype ${req.params.playtype} is not supported.`, + }); + } + + AssignToReqTachiData(req, { playtype: req.params.playtype as Playtype }); + + next(); +}; diff --git a/server/src/server/router/api/v1/games/_game/_playtype/router.test.ts b/server/src/server/router/api/v1/games/_game/_playtype/router.test.ts new file mode 100644 index 000000000..83f90635c --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/router.test.ts @@ -0,0 +1,167 @@ +import dm from "deepmerge"; +import db from "external/mongo/db"; +import { GetGamePTConfig } from "tachi-common"; +import t from "tap"; +import { mkFakeGameStats, mkFakeUser } from "test-utils/misc"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { FakeOtherUser } from "test-utils/test-data"; +import type { PublicUserDocument, UserGameStats } from "tachi-common"; + +t.test("GET /api/v1/games/:game/:playtype", (t) => { + t.test("Should return information about the game:playtype.", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx/SP"); + + t.strictSame(res.body.body.config, GetGamePTConfig("iidx", "SP")); + + t.equal(res.body.body.chartCount, 1); + t.equal(res.body.body.playerCount, 1); + t.equal(res.body.body.scoreCount, 1); + + t.end(); + }); + + t.test("Should reject invalid playtypes for this game.", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx/Single"); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/games/:game/:playtype/leaderboard", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return the leaderboards for this game", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx/SP/leaderboard"); + + t.equal(res.statusCode, 200); + + t.equal(res.body.body.gameStats.length, 1); + t.equal(res.body.body.users.length, 1); + + t.hasStrict(res.body.body, { + gameStats: [ + { + userID: 1, + game: "iidx", + playtype: "SP", + }, + ], + users: [ + { + id: 1, + }, + ], + }); + + t.end(); + }); + + t.test("Should reject unknown alg", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx/SP/leaderboard?alg=naiveRating"); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.test("Should use provided algorithm to resort results.", async (t) => { + await db["game-stats"].insert([ + { + userID: 2, + game: "iidx", + playtype: "SP", + ratings: { + BPI: 100, + }, + }, + { + userID: 3, + game: "iidx", + playtype: "SP", + ratings: { + BPI: 50, + }, + }, + ] as Array); + + await db.users.insert([ + FakeOtherUser, + dm(FakeOtherUser, { + username: "foo", + usernameLowercase: "foo", + id: 3, + }) as PublicUserDocument, + ]); + + const res = await mockApi.get("/api/v1/games/iidx/SP/leaderboard?alg=BPI"); + + t.strictSame( + res.body.body.gameStats.map((e: UserGameStats) => e.userID), + [2, 3, 1] + ); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/games/:game/:playtype/players", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(async () => { + await db.users.insert([ + mkFakeUser(2, { usernameLowercase: "scrimblo" }), + mkFakeUser(3, { usernameLowercase: "scrimblo_2" }), + mkFakeUser(4, { usernameLowercase: "scrimblo_3" }), + mkFakeUser(5, { usernameLowercase: "cloudy" }), + ]); + + await db["game-stats"].insert([ + mkFakeGameStats(2), + mkFakeGameStats(3, { game: "iidx", playtype: "DP" }), + mkFakeGameStats(4, { game: "bms", playtype: "7K" }), + mkFakeGameStats(5), + ]); + }); + + t.test("Should find the users where this game has been played.", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx/SP/players?search=scrimblo"); + + t.hasStrict(res.body.body, [{ id: 2 }]); + t.equal(res.body.body.length, 1); + + t.end(); + }); + + t.test("Should definitely honour the search parameter.", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx/SP/players?search=nobody"); + + t.strictSame(res.body.body, []); + + t.end(); + }); + + t.test("Should definitely honour the GPT.", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx/DP/players?search=scrimblo"); + + t.hasStrict(res.body.body, [{ id: 3 }]); + t.equal(res.body.body.length, 1); + + t.end(); + }); + + t.test("Should require the search parameter.", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx/DP/players"); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/games/_game/_playtype/router.ts b/server/src/server/router/api/v1/games/_game/_playtype/router.ts new file mode 100644 index 000000000..6587784e4 --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/router.ts @@ -0,0 +1,345 @@ +import chartsRouter from "./charts/router"; +import foldersRouter from "./folders/router"; +import { ValidatePlaytypeFromParam } from "./middleware"; +import scoresRouter from "./scores/router"; +import songIDRouter from "./songs/_songID/router"; +import tablesRouter from "./tables/router"; +import targetsRouter from "./targets/router"; +import { Router } from "express"; +import db from "external/mongo/db"; +import { ONE_HOUR } from "lib/constants/time"; +import { SearchUsersRegExp } from "lib/search/search"; +import NodeCache from "node-cache"; +import p from "prudence"; +import prValidate from "server/middleware/prudence-validate"; +import { FormatGame, GetGamePTConfig } from "tachi-common"; +import { GetRelevantSongsAndCharts } from "utils/db"; +import { IsString } from "utils/misc"; +import { GetClassDistribution } from "utils/queries/stats"; +import { GetGPT } from "utils/req-tachi-data"; +import { + CheckStrProfileAlg, + CheckStrScoreAlg, + ParseStrPositiveNonZeroInt, +} from "utils/string-checks"; +import { GetUsersWithIDs } from "utils/user"; +import type { FindOptions } from "monk"; +import type { Game, integer, Playtype, UserGameStats, gameClasses, IDStrings } from "tachi-common"; + +const router: Router = Router({ mergeParams: true }); + +router.use(ValidatePlaytypeFromParam); + +const gptStatCache = new NodeCache(); + +async function GetGameStats( + game: Game, + playtype: Playtype +): Promise<{ scoreCount: integer; playerCount: integer; chartCount: integer }> { + const cacheRes = gptStatCache.get(`${game}:${playtype}`); + + if (cacheRes === undefined) { + const [scoreCount, playerCount, chartCount] = await Promise.all([ + db.scores.count({ + game, + playtype, + }), + db["game-stats"].count({ + game, + playtype, + }), + db.charts[game].count({ playtype }), + ]); + + gptStatCache.set(`${game}:${playtype}`, { scoreCount, playerCount, chartCount }, ONE_HOUR); + + return { scoreCount, playerCount, chartCount }; + } + + return cacheRes as { scoreCount: integer; playerCount: integer; chartCount: integer }; +} + +/** + * Returns the configuration for this game along with some statistics. + * + * @name GET /api/v1/games/:game/:playtype + */ +router.get("/", async (req, res) => { + const { game, playtype } = GetGPT(req); + + const { scoreCount, playerCount, chartCount } = await GetGameStats(game, playtype); + + return res.status(200).json({ + success: true, + description: `Retrieved information about ${FormatGame(game, playtype)}`, + body: { + config: GetGamePTConfig(game, playtype), + scoreCount, + playerCount, + chartCount, + }, + }); +}); + +/** + * Returns user-game-stats for this game in batches of 500. + * This is sorted by the games default-sorting-statistic. + * + * @param alg - An alternative algorithm to use instead of the gpts default. + * @param limit - How many users to return at most. Defaults (and is limited to) 500. + * + * @name GET /api/v1/games/:game/:playtype/leaderboard + */ +router.get("/leaderboard", async (req, res) => { + const { game, playtype } = GetGPT(req); + const gptConfig = GetGamePTConfig(game, playtype); + + const limit = ParseStrPositiveNonZeroInt(req.query.limit) ?? 100; + + if (limit > 500) { + return res.status(400).json({ + success: false, + description: `Invalid limit. Limit is capped at 500.`, + }); + } + + let alg = gptConfig.defaultProfileRatingAlg; + + if (IsString(req.query.alg)) { + const temp = CheckStrProfileAlg(game, playtype, req.query.alg); + + if (temp === null) { + return res.status(400).json({ + success: false, + description: `Invalid value of ${ + req.query.alg + } for alg. Expected one of ${gptConfig.profileRatingAlgs.join(", ")}`, + }); + } + + alg = temp; + } + + const options: FindOptions = { + sort: { + [`ratings.${alg}`]: -1, + }, + limit, + }; + + const gameStats = await db["game-stats"].find( + { + game, + playtype, + }, + options + ); + + const users = await GetUsersWithIDs(gameStats.map((e) => e.userID)); + + return res.status(200).json({ + success: true, + description: `Returned ${gameStats.length} user's game stats.`, + body: { + gameStats, + users, + }, + }); +}); + +/** + * Returns the best scores for this game. + * + * @param alg - An alternative algorithm to use instead of the gpts default. + * @param limit - How many scores to return. + * + * @name GET /api/v1/games/:game/:playtype/score-leaderboard + */ +router.get("/score-leaderboard", async (req, res) => { + const { game, playtype } = GetGPT(req); + const gptConfig = GetGamePTConfig(game, playtype); + + const limit = ParseStrPositiveNonZeroInt(req.query.limit) ?? 50; + + if (limit > 50) { + return res.status(400).json({ + success: false, + description: `Cannot specify a limit higher than 50.`, + }); + } + + let alg = gptConfig.defaultScoreRatingAlg; + + if (IsString(req.query.alg)) { + const temp = CheckStrScoreAlg(game, playtype, req.query.alg); + + if (temp === null) { + return res.status(400).json({ + success: false, + description: `Invalid value of ${ + req.query.alg + } for alg. Expected one of ${gptConfig.profileRatingAlgs.join(", ")}`, + }); + } + + alg = temp; + } + + const pbs = await db["personal-bests"].find( + { + game, + playtype, + }, + { + sort: { + [`calculatedData.${alg}`]: -1, + }, + limit, + } + ); + + const users = await GetUsersWithIDs(pbs.map((e) => e.userID)); + + const { songs, charts } = await GetRelevantSongsAndCharts(pbs, game); + + return res.status(200).send({ + success: true, + description: `Successfully returned ${pbs.length} pbs.`, + body: { + pbs, + songs, + charts, + users, + }, + }); +}); + +/** + * Return the distribution of players for the provided class. + * + * @param class - This should be one of the games supported classes. + * + * @name GET /api/v1/games/:game/:playtype/class-distribution + */ +router.get( + "/class-distribution", + prValidate({ + class: "string", + }), + async (req, res) => { + const { game, playtype } = GetGPT(req); + const gptConfig = GetGamePTConfig(game, playtype); + + const stat = req.query.class as string; + + const supportedClasses = Object.keys(gptConfig.classHumanisedFormat); + + if (!supportedClasses.includes(stat)) { + return res.status(400).json({ + success: false, + description: `Invalid stat ${stat}. Expected any of ${supportedClasses.join( + ", " + )}.`, + }); + } + + const distribution = await GetClassDistribution( + game, + playtype, + stat as gameClasses.GameClassSets[IDStrings] + ); + + return res.status(200).json({ + success: true, + description: `Successfully retrieved distribution.`, + body: distribution, + }); + } +); + +/** + * Returns recent class improvements for this GPT. + * + * @param limit - How many to return. Defaults to 10, caps at 50. + * + * @name GET /api/v1/games/:game/:playtype/recent-classes + */ +router.get( + "/recent-classes", + prValidate({ + limit: p.optional((self) => p.isBoundedInteger(1, 50)(Number(self))), + }), + async (req, res) => { + const { game, playtype } = GetGPT(req); + + // validated to never be NaN by prudence. + const limit = req.query.limit !== undefined ? Number(req.query.limit) : 10; + + const recentClasses = await db["class-achievements"].find( + { + game, + playtype, + }, + { + limit, + sort: { timeAchieved: -1 }, + } + ); + + const users = await GetUsersWithIDs(recentClasses.map((e) => e.userID)); + + return res.status(200).json({ + success: true, + description: `Returned ${recentClasses.length} recent classes.`, + body: { classes: recentClasses, users }, + }); + } +); + +/** + * Search users that have played this game. + * + * @param search - The username to search for. + * + * @name GET /api/v1/games/:game/:playtype/players + */ +router.get( + "/players", + prValidate({ + search: "string", + }), + async (req, res) => { + const { game, playtype } = GetGPT(req); + + const { search } = req.query as { + search: string; + }; + + const users = await SearchUsersRegExp(search); + + const gameStats = await db["game-stats"].find({ + userID: { $in: users.map((e) => e.id) }, + game, + playtype, + }); + + const thoseWithStats = gameStats.map((e) => e.userID); + + const gptPlayers = users.filter((e) => thoseWithStats.includes(e.id)); + + return res.status(200).json({ + success: true, + description: `Found ${gptPlayers.length} user(s)`, + body: gptPlayers, + }); + } +); + +router.use("/charts", chartsRouter); +router.use("/songs/:songID", songIDRouter); +router.use("/folders", foldersRouter); +router.use("/tables", tablesRouter); +router.use("/scores", scoresRouter); +router.use("/targets", targetsRouter); + +export default router; diff --git a/server/src/server/router/api/v1/games/_game/_playtype/scores/router.ts b/server/src/server/router/api/v1/games/_game/_playtype/scores/router.ts new file mode 100644 index 000000000..40c8aa3c1 --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/scores/router.ts @@ -0,0 +1,58 @@ +import { Router } from "express"; +import db from "external/mongo/db"; +import p from "prudence"; +import prValidate from "server/middleware/prudence-validate"; +import { GetRelevantSongsAndCharts } from "utils/db"; +import { GetGPT } from "utils/req-tachi-data"; +import { GetUsersWithIDs } from "utils/user"; + +const router: Router = Router({ mergeParams: true }); + +/** + * Return the most recent highlighted scores for this game. + * + * @param limit - Return up to this amount. Caps at 100, defaults to 100. + * + * @name GET /api/v1/games/:game/:playtype/scores/highlighted + */ +router.get( + "/highlighted", + prValidate({ + limit: p.optional((self) => p.isBoundedInteger(1, 100)(Number(self))), + }), + async (req, res) => { + const { game, playtype } = GetGPT(req); + + // validated to not be NaN by prudence. + const limit = req.query.limit !== undefined ? Number(req.query.limit) : 100; + + const scores = await db.scores.find( + { + game, + playtype, + highlight: true, + }, + { + limit, + sort: { timeAchieved: -1 }, + } + ); + + const users = await GetUsersWithIDs(scores.map((e) => e.userID)); + + const { songs, charts } = await GetRelevantSongsAndCharts(scores, game); + + return res.status(200).json({ + success: true, + description: `Returned ${scores.length} scores.`, + body: { + scores, + users, + songs, + charts, + }, + }); + } +); + +export default router; diff --git a/server/src/server/router/api/v1/games/_game/_playtype/songs/_songID/middleware.ts b/server/src/server/router/api/v1/games/_game/_playtype/songs/_songID/middleware.ts new file mode 100644 index 000000000..258dde69a --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/songs/_songID/middleware.ts @@ -0,0 +1,30 @@ +import db from "external/mongo/db"; +import { AssignToReqTachiData, GetTachiData } from "utils/req-tachi-data"; +import { ParseStrPositiveInt } from "utils/string-checks"; +import type { RequestHandler } from "express"; + +export const ValidateAndGetSong: RequestHandler = async (req, res, next) => { + const songID = ParseStrPositiveInt(req.params.songID); + + if (songID === null) { + return res.status(400).json({ + success: false, + description: `Invalid songID - could not be converted into integer?`, + }); + } + + const game = GetTachiData(req, "game"); + + const song = await db.songs[game].findOne({ id: songID }); + + if (!song) { + return res.status(404).json({ + success: false, + description: `No song exists with the songID ${songID}.`, + }); + } + + AssignToReqTachiData(req, { songDoc: song }); + + next(); +}; diff --git a/server/src/server/router/api/v1/games/_game/_playtype/songs/_songID/router.test.ts b/server/src/server/router/api/v1/games/_game/_playtype/songs/_songID/router.test.ts new file mode 100644 index 000000000..b55b2c6fa --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/songs/_songID/router.test.ts @@ -0,0 +1,41 @@ +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { LoadTachiIIDXData } from "test-utils/test-data"; + +t.test("GET /api/v1/games/:game/:playtype/songs/:songID", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(LoadTachiIIDXData); + + t.test("Should return the song at this ID and all of its charts.", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx/SP/songs/1"); + + t.equal(res.body.body.charts.length, 4); + + t.equal(res.body.body.song.id, 1); + + t.end(); + }); + + t.test("Should return 404 if this songID does not exist.", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx/SP/songs/0"); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.test("Should return 400 if songID is not coercible into an integer.", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx/SP/songs/1.5"); + + t.equal(res.statusCode, 400); + + const res2 = await mockApi.get("/api/v1/games/iidx/SP/songs/FOO"); + + t.equal(res2.statusCode, 400); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/games/_game/_playtype/songs/_songID/router.ts b/server/src/server/router/api/v1/games/_game/_playtype/songs/_songID/router.ts new file mode 100644 index 000000000..131583309 --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/songs/_songID/router.ts @@ -0,0 +1,34 @@ +import { ValidateAndGetSong } from "./middleware"; +import { Router } from "express"; +import db from "external/mongo/db"; +import { GetGPT, GetTachiData } from "utils/req-tachi-data"; + +const router: Router = Router({ mergeParams: true }); + +router.use(ValidateAndGetSong); + +/** + * Returns the song at this ID and its child chart documents. + * + * @name GET /api/v1/games/:game/:playtype/songs/:songID + */ +router.get("/", async (req, res) => { + const song = GetTachiData(req, "songDoc"); + const { game, playtype } = GetGPT(req); + + const charts = await db.charts[game].find({ + songID: song.id, + playtype, + }); + + return res.status(200).json({ + success: true, + description: `Returned ${charts.length} charts for song ${song.title}.`, + body: { + song, + charts, + }, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/games/_game/_playtype/tables/middleware.ts b/server/src/server/router/api/v1/games/_game/_playtype/tables/middleware.ts new file mode 100644 index 000000000..00036b4e8 --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/tables/middleware.ts @@ -0,0 +1,21 @@ +import db from "external/mongo/db"; +import { AssignToReqTachiData, GetTachiData } from "utils/req-tachi-data"; +import type { RequestHandler } from "express"; + +export const GetTableFromParam: RequestHandler = async (req, res, next) => { + const game = GetTachiData(req, "game"); + const playtype = GetTachiData(req, "playtype"); + + const table = await db.tables.findOne({ tableID: req.params.tableID, game, playtype }); + + if (!table) { + return res.status(404).json({ + success: false, + description: `This table does not exist.`, + }); + } + + AssignToReqTachiData(req, { tableDoc: table }); + + next(); +}; diff --git a/server/src/server/router/api/v1/games/_game/_playtype/tables/router.test.ts b/server/src/server/router/api/v1/games/_game/_playtype/tables/router.test.ts new file mode 100644 index 000000000..5de956b39 --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/tables/router.test.ts @@ -0,0 +1,50 @@ +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { TestingIIDXFolderSP10 } from "test-utils/test-data"; +import type { FolderDocument } from "tachi-common"; + +t.test("GET /api/v1/games/:game/:playtype/tables", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return all folders for this game.", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx/SP/tables"); + + t.equal(res.body.body.length, 1); + t.equal(res.body.body[0].tableID, "mock_table"); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/games/:game/:playtype/tables/:tableID", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return the table at this ID and its folders.", async (t) => { + await db.folders.insert( + deepmerge(TestingIIDXFolderSP10, { folderID: "testing_folder" }) as FolderDocument + ); + + const res = await mockApi.get("/api/v1/games/iidx/SP/tables/mock_table"); + + t.equal(res.body.body.folders.length, 1); + t.equal(res.body.body.folders[0].folderID, "testing_folder"); + t.equal(res.body.body.table.tableID, "mock_table"); + + t.end(); + }); + + t.test("Should return 404 if the table does not exist.", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx/SP/tables/non_existent_table"); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/games/_game/_playtype/tables/router.ts b/server/src/server/router/api/v1/games/_game/_playtype/tables/router.ts new file mode 100644 index 000000000..ed9bffc39 --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/tables/router.ts @@ -0,0 +1,56 @@ +import { GetTableFromParam } from "./middleware"; +import { Router } from "express"; +import db from "external/mongo/db"; +import { GetFoldersFromTable } from "utils/folder"; +import { GetGPT, GetTachiData } from "utils/req-tachi-data"; +import type { FilterQuery } from "mongodb"; +import type { TableDocument } from "tachi-common"; + +const router: Router = Router({ mergeParams: true }); + +/** + * Return all the tables for this game. + * + * @param showInactive - If present, also show "inactive" tables. + * + * @name GET /api/v1/games/:game/:playtype/tables + */ +router.get("/", async (req, res) => { + const { game, playtype } = GetGPT(req); + + const query: FilterQuery = { game, playtype }; + + if (req.query.showInactive === undefined) { + query.inactive = false; + } + + const tables = await db.tables.find(query); + + return res.status(200).json({ + success: true, + description: `Returned ${tables.length} tables.`, + body: tables, + }); +}); + +/** + * Return the folder documents that make up this table. + * + * @name GET /api/v1/games/:game/:playtype/tables/:tableID + */ +router.get("/:tableID", GetTableFromParam, async (req, res) => { + const table = GetTachiData(req, "tableDoc"); + + const folders = await GetFoldersFromTable(table); + + return res.status(200).json({ + success: true, + description: `Returned ${folders.length} for table ${table.title}.`, + body: { + folders, + table, + }, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/games/_game/_playtype/targets/goals/router.test.ts b/server/src/server/router/api/v1/games/_game/_playtype/targets/goals/router.test.ts new file mode 100644 index 000000000..92efdd40e --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/targets/goals/router.test.ts @@ -0,0 +1,147 @@ +import dm from "deepmerge"; +import db from "external/mongo/db"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { + FakeOtherUser, + IIDXSPMilestoneGoals, + IIDXSPMilestoneGoalSubs, + TestingIIDXSPMilestone, +} from "test-utils/test-data"; +import type { GoalDocument, GoalSubscriptionDocument } from "tachi-common"; + +// this is my lazy sample data for these tests. +const LoadLazySampleData = async () => { + await db.users.insert(FakeOtherUser); + await db.goals.insert(IIDXSPMilestoneGoals); + await db["goal-subs"].insert([ + ...IIDXSPMilestoneGoalSubs, + dm(IIDXSPMilestoneGoalSubs[0]!, { + userID: 2, + }), + ] as Array); +}; + +t.test("GET /api/v1/games/:game/:playtype/targets/goals/popular", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(LoadLazySampleData); + + t.test("Should return the most popular subscribed goals for this game.", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx/SP/targets/goals/popular"); + + t.equal(res.statusCode, 200, "Should return 200."); + + for (const goalSub of IIDXSPMilestoneGoals) { + // i hate this monk 'feature'!!! + delete goalSub._id; + } + + // note: we have to sort the output here such that it's deterministic. + t.strictSame( + (res.body.body as Array).sort((a, b) => a.goalID.localeCompare(b.goalID)), + ( + [ + // eslint-disable-next-line @typescript-eslint/no-explicit-any + dm(IIDXSPMilestoneGoals[0] as any, { __subscriptions: 2 }), + // eslint-disable-next-line @typescript-eslint/no-explicit-any + dm(IIDXSPMilestoneGoals[1] as any, { __subscriptions: 1 }), + // eslint-disable-next-line @typescript-eslint/no-explicit-any + dm(IIDXSPMilestoneGoals[2] as any, { __subscriptions: 1 }), + // eslint-disable-next-line @typescript-eslint/no-explicit-any + dm(IIDXSPMilestoneGoals[3] as any, { __subscriptions: 1 }), + ] as unknown as Array + ).sort((a, b) => a.goalID.localeCompare(b.goalID)), + "Should return the most subscribed goals." + ); + + t.end(); + }); + + t.test("Should return an empty array if nobody has done anything.", async (t) => { + const res = await mockApi.get("/api/v1/games/chunithm/Single/targets/goals/popular"); + + t.equal(res.statusCode, 200, "Should return 200."); + t.strictSame(res.body.body, []); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/games/:game/:playtype/targets/goals/:goalID", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(LoadLazySampleData); + + t.test("Should return information about the specified goal.", async (t) => { + await db.milestones.insert(TestingIIDXSPMilestone); + + const res = await mockApi.get("/api/v1/games/iidx/SP/targets/goals/eg_goal_1"); + + t.hasStrict(res.body.body, { + goal: { + goalID: "eg_goal_1", + }, + goalSubs: [ + { userID: 1, goalID: "eg_goal_1" }, + { userID: 2, goalID: "eg_goal_1" }, + ], + users: [{ id: 1 }, { id: 2 }], + parentMilestones: [{ milestoneID: TestingIIDXSPMilestone.milestoneID }], + }); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/games/:game/:playtype/targets/goals/:goalID/evaluate-for", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(LoadLazySampleData); + + t.test("Should evaluate a goal upon a user that exists.", async (t) => { + const res = await mockApi.get( + "/api/v1/games/iidx/SP/targets/goals/eg_goal_1/evaluate-for?userID=1" + ); + + t.equal(res.statusCode, 200, "Should return a status code of 200."); + + t.strictSame( + res.body.body, + { + achieved: false, + outOf: 5, + outOfHuman: "HARD CLEAR", + progress: null, + progressHuman: "NO DATA", + }, + "Should evaluate the goal for the user." + ); + + t.end(); + }); + + t.test("Should return 404 if the user doesn't exist.", async (t) => { + const res = await mockApi.get( + "/api/v1/games/iidx/SP/targets/goals/eg_goal_1/evaluate-for?userID=unknown" + ); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.test("Should return 400 if the user exists but hasn't played this game.", async (t) => { + const res = await mockApi.get( + "/api/v1/games/iidx/SP/targets/goals/eg_goal_1/evaluate-for?userID=2" + ); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/games/_game/_playtype/targets/goals/router.ts b/server/src/server/router/api/v1/games/_game/_playtype/targets/goals/router.ts new file mode 100644 index 000000000..df1226a0f --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/targets/goals/router.ts @@ -0,0 +1,167 @@ +import { Router } from "express"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { EvaluateGoalForUser, GetMilestonesThatContainGoal } from "lib/targets/goals"; +import prValidate from "server/middleware/prudence-validate"; +import { FormatGame } from "tachi-common"; +import { GetMostSubscribedGoals } from "utils/db"; +import { AssignToReqTachiData, GetGPT, GetTachiData } from "utils/req-tachi-data"; +import { GetUsersWithIDs, ResolveUser } from "utils/user"; +import type { RequestHandler } from "express"; +import type { EvaluatedGoalReturn } from "lib/targets/goals"; + +const logger = CreateLogCtx(__filename); + +const router: Router = Router({ mergeParams: true }); + +/** + * Get the most popular goals for this GPT. + * + * @name GET /api/v1/games/:game/:playtype/targets/goals/popular + */ +router.get("/popular", async (req, res) => { + const { game, playtype } = GetGPT(req); + + const goals = await GetMostSubscribedGoals({ game, playtype }); + + return res.status(200).json({ + success: true, + description: `Returned ${goals.length} goals.`, + body: goals, + }); +}); + +const ResolveGoalID: RequestHandler = async (req, res, next) => { + const { game, playtype } = GetGPT(req); + const goalID = req.params.goalID; + + const goal = await db.goals.findOne({ + goalID, + game, + playtype, + }); + + if (!goal) { + return res.status(404).json({ + success: false, + description: `A goal with ID ${goalID} doesn't exist.`, + }); + } + + AssignToReqTachiData(req, { goalDoc: goal }); + + next(); +}; + +/** + * Retrieve information about this goal and who is subscribed to it. + * + * @name GET /api/v1/games/:game/:playtype/targets/goals/:goalID + */ +router.get("/:goalID", ResolveGoalID, async (req, res) => { + const goal = GetTachiData(req, "goalDoc"); + + const goalSubs = await db["goal-subs"].find({ + goalID: goal.goalID, + }); + + const users = await GetUsersWithIDs(goalSubs.map((e) => e.userID)); + + const parentMilestones = await GetMilestonesThatContainGoal(goal.goalID); + + return res.status(200).json({ + success: true, + description: `Retrieved information about ${goal.name}.`, + body: { + goal, + goalSubs, + users, + parentMilestones, + }, + }); +}); + +/** + * Evaluates a goal upon a user, even if they aren't subscribed to it. + * + * @param userID - The userID to evaluate this goal against. Must be a player of this GPT. + * + * @name GET /api/v1/games/:game/:playtype/targets/goals/:goalID/evaluate-for + */ +router.get( + "/:goalID/evaluate-for", + ResolveGoalID, + prValidate({ + userID: "string", + }), + async (req, res) => { + const { game, playtype } = GetGPT(req); + + const userID = req.query.userID as string; + + const user = await ResolveUser(userID); + + if (!user) { + return res.status(404).json({ + success: false, + description: `The user ${userID} does not exist.`, + }); + } + + const hasPlayed = await db["game-stats"].findOne({ + game, + playtype, + userID: user.id, + }); + + if (!hasPlayed) { + return res.status(400).json({ + success: false, + description: `The user ${user.username} hasn't played ${FormatGame( + game, + playtype + )}.`, + }); + } + + const goal = GetTachiData(req, "goalDoc"); + const goalID = goal.goalID; + + const goalSub = await db["goal-subs"].findOne({ + userID: user.id, + goalID, + }); + + let goalResults: EvaluatedGoalReturn; + + // shortcut evaluation by using the user goal + + if (goalSub) { + goalResults = { + achieved: goalSub.achieved, + outOf: goalSub.outOf, + outOfHuman: goalSub.outOfHuman, + progress: goalSub.progress, + progressHuman: goalSub.progressHuman, + }; + } else { + const results = await EvaluateGoalForUser(goal, user.id, logger); + + if (!results) { + throw new Error( + `Failed to evaluate goal ${goal.name} (${goal.goalID}) for user ${user.id}. More information above.` + ); + } + + goalResults = results; + } + + return res.status(200).json({ + success: true, + description: `Evaluated ${goal.name} for ${user.username}.`, + body: goalResults, + }); + } +); + +export default router; diff --git a/server/src/server/router/api/v1/games/_game/_playtype/targets/milestone-sets/router.test.ts b/server/src/server/router/api/v1/games/_game/_playtype/targets/milestone-sets/router.test.ts new file mode 100644 index 000000000..5998f28d7 --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/targets/milestone-sets/router.test.ts @@ -0,0 +1,104 @@ +import dm from "deepmerge"; +import db from "external/mongo/db"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { TestingIIDXSPMilestone } from "test-utils/test-data"; +import type { MilestoneDocument, MilestoneSetDocument } from "tachi-common"; + +const TestingIIDXSPMilestoneSet: MilestoneSetDocument = { + name: "Testing Milestone Set", + desc: "foo", + game: "iidx", + milestones: [TestingIIDXSPMilestone.milestoneID, "other_milestone"], + playtype: "SP", + setID: "milestone_set", +}; + +t.test("GET /api/v1/games/:game/:playtype/targets/milestone-sets", (t) => { + t.beforeEach(ResetDBState); + + function mkSet(merge: any) { + return dm(TestingIIDXSPMilestoneSet, merge) as MilestoneSetDocument; + } + + t.test("Should search the loaded milestone sets for this game.", async (t) => { + await db["milestone-sets"].insert([ + mkSet({ name: "Testing Set", setID: "name" }), + mkSet({ name: "Testing Other Set", setID: "similar_name" }), + mkSet({ name: "Different Name", setID: "radically_different_name" }), + mkSet({ + game: "chunithm", + playtype: "Single", + setID: "matching name but different gpt", + }), + mkSet({ playtype: "DP", setID: "matching name but different playtype" }), + ]); + + const res = await mockApi.get( + "/api/v1/games/iidx/SP/targets/milestone-sets?search=Testing" + ); + + t.hasStrict( + (res.body.body as Array).sort((a, b) => + a.name.localeCompare(b.name) + ), + [{ setID: "similar_name" }, { setID: "name" }] + ); + + t.end(); + }); + + t.test("Should mandate a search field.", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx/SP/targets/milestone-sets"); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/games/:game/:playtype/targets/milestone-sets/:setID", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(async () => { + await db["milestone-sets"].insert(TestingIIDXSPMilestoneSet); + await db.milestones.insert([ + TestingIIDXSPMilestone, + dm(TestingIIDXSPMilestone, { milestoneID: "other_milestone" }) as MilestoneDocument, + ]); + }); + + t.test("Should return the milestone set and its milestones.", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx/SP/targets/milestone-sets/milestone_set"); + + t.equal(res.statusCode, 200, "Should return 200."); + + t.hasStrict(res.body.body.milestoneSet, { + setID: TestingIIDXSPMilestoneSet.setID, + }); + + t.hasStrict( + (res.body.body.milestones as Array).sort((a, b) => + a.milestoneID.localeCompare(b.milestoneID) + ), + [ + { milestoneID: TestingIIDXSPMilestone.milestoneID }, + { milestoneID: "other_milestone" }, + ] + ); + + t.end(); + }); + + t.test("Should return 404 if the milestone set doesn't exist.", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx/SP/targets/milestone-sets/foobar"); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/games/_game/_playtype/targets/milestone-sets/router.ts b/server/src/server/router/api/v1/games/_game/_playtype/targets/milestone-sets/router.ts new file mode 100644 index 000000000..cc7803459 --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/targets/milestone-sets/router.ts @@ -0,0 +1,84 @@ +import { Router } from "express"; +import db from "external/mongo/db"; +import { SearchCollection } from "lib/search/search"; +import { GetChildMilestones } from "utils/db"; +import { IsString } from "utils/misc"; +import { AssignToReqTachiData, GetGPT, GetTachiData } from "utils/req-tachi-data"; +import type { RequestHandler } from "express"; + +const router: Router = Router({ mergeParams: true }); + +const ResolveMilestoneSetID: RequestHandler = async (req, res, next) => { + const { game, playtype } = GetGPT(req); + const setID = req.params.setID; + + const set = await db["milestone-sets"].findOne({ + setID, + game, + playtype, + }); + + if (!set) { + return res.status(404).json({ + success: false, + description: `A milestone set with ID ${setID} doesn't exist.`, + }); + } + + AssignToReqTachiData(req, { milestoneSetDoc: set }); + + next(); +}; + +/** + * Search milestone sets. + * + * @param search - The milestone set to search for. + * + * @name GET /api/v1/games/:game/:playtype/targets/milestone-sets + */ +router.get("/", async (req, res) => { + const { game, playtype } = GetGPT(req); + + if (!IsString(req.query.search)) { + return res.status(400).json({ + success: false, + description: `Invalid value for search.`, + }); + } + + const milestoneSets = await SearchCollection( + db["milestone-sets"], + req.query.search, + { game, playtype }, + 50 + ); + + return res.status(200).json({ + success: true, + description: `Returned ${milestoneSets.length} milestone sets.`, + body: milestoneSets, + }); +}); + +/** + * Retrieve a specific milestone set. + * + * @name GET /api/v1/games/:game/:playtype/targets/milestone-sets/:setID + */ +router.get("/:setID", ResolveMilestoneSetID, async (req, res) => { + const milestoneSet = GetTachiData(req, "milestoneSetDoc"); + + const milestones = await GetChildMilestones(milestoneSet); + + return res.status(200).json({ + success: true, + description: `Retrieved milestone set '${milestoneSet.name}'.`, + body: { + milestones, + milestoneSet, + }, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/games/_game/_playtype/targets/milestones/router.test.ts b/server/src/server/router/api/v1/games/_game/_playtype/targets/milestones/router.test.ts new file mode 100644 index 000000000..151afab72 --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/targets/milestones/router.test.ts @@ -0,0 +1,271 @@ +import dm from "deepmerge"; +import db from "external/mongo/db"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { + FakeOtherUser, + IIDXSPMilestoneGoals, + IIDXSPMilestoneGoalSubs, + TestingIIDXSPMilestone, + TestingIIDXSPMilestoneSub, + TestingIIDXSPScorePB, +} from "test-utils/test-data"; +import type { + MilestoneDocument, + MilestoneSetDocument, + MilestoneSubscriptionDocument, +} from "tachi-common"; + +t.test("GET /api/v1/games/:game/:playtype/targets/milestones", (t) => { + t.beforeEach(ResetDBState); + + function mkMilestone(merge: any) { + return dm(TestingIIDXSPMilestone, merge) as MilestoneDocument; + } + + t.test("Should search milestones.", async (t) => { + await db.milestones.insert([ + mkMilestone({ name: "Testing Set", milestoneID: "name" }), + mkMilestone({ name: "Testing Other Set", milestoneID: "similar_name" }), + mkMilestone({ name: "Different Name", milestoneID: "radically_different_name" }), + mkMilestone({ + game: "chunithm", + playtype: "Single", + milestoneID: "matching name but different gpt", + }), + mkMilestone({ playtype: "DP", milestoneID: "matching name but different playtype" }), + ]); + + const res = await mockApi.get("/api/v1/games/iidx/SP/targets/milestones?search=Testing"); + + t.equal(res.statusCode, 200); + + t.hasStrict( + (res.body.body as Array).sort((a, b) => + a.name.localeCompare(b.name) + ), + [{ milestoneID: "similar_name" }, { milestoneID: "name" }] + ); + + t.end(); + }); + + t.end(); +}); + +// this is my lazy sample data for these tests. +const LoadLazySampleData = async () => { + await db.users.insert(FakeOtherUser); + await db.goals.insert(IIDXSPMilestoneGoals); + await db.milestones.insert([ + TestingIIDXSPMilestone, + dm(TestingIIDXSPMilestone, { milestoneID: "other_milestone" }) as MilestoneDocument, + ]); + await db["milestone-subs"].insert([ + TestingIIDXSPMilestoneSub, + dm(TestingIIDXSPMilestoneSub, { milestoneID: "other_milestone" }), + dm(TestingIIDXSPMilestoneSub, { + userID: 2, + }), + ] as Array); +}; + +t.test("GET /api/v1/games/:game/:playtype/targets/milestones/popular", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(LoadLazySampleData); + + t.test("Should return the most subscribed milestones for this GPT.", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx/SP/targets/milestones/popular"); + + t.equal(res.statusCode, 200); + + t.hasStrict( + (res.body.body as Array).sort((a, b) => + a.name.localeCompare(b.name) + ), + [ + { milestoneID: TestingIIDXSPMilestone.milestoneID, __subscriptions: 2 }, + { milestoneID: "other_milestone", __subscriptions: 1 }, + ] + ); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/games/:game/:playtype/targets/milestones/:milestoneID", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(async () => { + await Promise.all([ + db["goal-subs"].insert(IIDXSPMilestoneGoalSubs), + db["milestone-sets"].insert({ + setID: "set_id", + milestones: [TestingIIDXSPMilestone.milestoneID], + } as MilestoneSetDocument), + ]); + }); + + t.beforeEach(LoadLazySampleData); + + t.test("Should return the milestone and its goals.", async (t) => { + const res = await mockApi.get( + `/api/v1/games/iidx/SP/targets/milestones/${TestingIIDXSPMilestone.milestoneID}` + ); + + t.hasStrict(res.body.body, { + milestone: { milestoneID: TestingIIDXSPMilestone.milestoneID }, + milestoneSubs: [{ userID: 1, milestoneID: TestingIIDXSPMilestone.milestoneID }], + users: [{ id: 1 }, { id: 2 }], + goals: [ + { goalID: "eg_goal_1" }, + { goalID: "eg_goal_2" }, + { goalID: "eg_goal_3" }, + { goalID: "eg_goal_4" }, + ], + parentMilestoneSets: [{ setID: "set_id" }], + }); + + t.end(); + }); + + t.test("Should return 404 if the requested milestone doesn't exist.", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx/SP/targets/milestones/fake_milestone"); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.test("Should return 404 if the milestone exists but for a different GPT.", async (t) => { + const res = await mockApi.get( + `/api/v1/games/iidx/DP/targets/milestones/${TestingIIDXSPMilestone.milestoneID}` + ); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/games/:game/:playtype/targets/milestones/:milestoneID/evaluate-for", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(LoadLazySampleData); + + t.test("Should evaluate a milestone for a user.", async (t) => { + // remove all milestone subs -- the user isn't properly + // subscribed to this milestone due to test mocking. + // this will force a live calc. + await db["milestone-subs"].remove({}); + + await db["personal-bests"].insert(TestingIIDXSPScorePB); + + const res = await mockApi.get( + `/api/v1/games/iidx/SP/targets/milestones/${TestingIIDXSPMilestone.milestoneID}/evaluate-for?userID=1` + ); + + t.equal(res.statusCode, 200); + + t.hasStrict(res.body.body, { + goals: [ + { + goalID: "eg_goal_1", + }, + { + goalID: "eg_goal_2", + }, + { + goalID: "eg_goal_3", + }, + { + goalID: "eg_goal_4", + }, + ], + goalResults: [ + { + achieved: true, + progress: 6, + outOf: 5, + progressHuman: "EX HARD CLEAR (BP: 2)", + outOfHuman: "HARD CLEAR", + goalID: "eg_goal_1", + }, + { + achieved: true, + progress: 6, + outOf: 2, + progressHuman: "EX HARD CLEAR (BP: 2)", + outOfHuman: "ASSIST CLEAR", + goalID: "eg_goal_2", + }, + { + achieved: true, + progress: 1479, + outOf: 300, + outOfHuman: "300", + progressHuman: "1479", + goalID: "eg_goal_3", + }, + { + achieved: true, + progress: 1479, + outOf: 1100, + outOfHuman: "1100", + progressHuman: "1479", + goalID: "eg_goal_4", + }, + ], + achieved: true, + progress: 4, + outOf: 4, + }); + + t.end(); + }); + + t.test("Should return 404 if the requested milestone doesn't exist.", async (t) => { + const res = await mockApi.get( + "/api/v1/games/iidx/SP/targets/milestones/fake_milestone/evaluate-for?userID=1" + ); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.test("Should return 404 if the milestone exists but for a different GPT.", async (t) => { + const res = await mockApi.get( + `/api/v1/games/iidx/DP/targets/milestones/${TestingIIDXSPMilestone.milestoneID}/evaluate-for?userID=1` + ); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.test("Should return 404 if the requested user doesn't exist.", async (t) => { + const res = await mockApi.get( + `/api/v1/games/iidx/SP/targets/milestones/${TestingIIDXSPMilestone.milestoneID}/evaluate-for?userID=3` + ); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.test("Should return 400 if the requested user hasn't played this gpt.", async (t) => { + const res = await mockApi.get( + `/api/v1/games/iidx/SP/targets/milestones/${TestingIIDXSPMilestone.milestoneID}/evaluate-for?userID=2` + ); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/games/_game/_playtype/targets/milestones/router.ts b/server/src/server/router/api/v1/games/_game/_playtype/targets/milestones/router.ts new file mode 100644 index 000000000..2c722f0d2 --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/targets/milestones/router.ts @@ -0,0 +1,171 @@ +import { Router } from "express"; +import db from "external/mongo/db"; +import { SearchCollection } from "lib/search/search"; +import { EvaluateMilestoneProgress, GetGoalsInMilestone } from "lib/targets/milestones"; +import prValidate from "server/middleware/prudence-validate"; +import { FormatGame } from "tachi-common"; +import { GetMostSubscribedMilestones } from "utils/db"; +import { IsString } from "utils/misc"; +import { AssignToReqTachiData, GetGPT, GetTachiData } from "utils/req-tachi-data"; +import { GetUsersWithIDs, ResolveUser } from "utils/user"; +import type { RequestHandler } from "express"; + +const router: Router = Router({ mergeParams: true }); + +const ResolveMilestoneID: RequestHandler = async (req, res, next) => { + const { game, playtype } = GetGPT(req); + const milestoneID = req.params.milestoneID; + + const milestone = await db.milestones.findOne({ + milestoneID, + game, + playtype, + }); + + if (!milestone) { + return res.status(404).json({ + success: false, + description: `A milestone with ID ${milestoneID} doesn't exist.`, + }); + } + + AssignToReqTachiData(req, { milestoneDoc: milestone }); + + next(); +}; + +/** + * Search milestones for this GPT. + * + * @param search - The query to search for. + * + * @name GET /api/v1/games/:game/:playtype/targets/milestones + */ +router.get("/", async (req, res) => { + const { game, playtype } = GetGPT(req); + + if (!IsString(req.query.search)) { + return res.status(400).json({ + success: false, + description: `Invalid value for search.`, + }); + } + + const milestones = await SearchCollection( + db.milestones, + req.query.search, + { game, playtype }, + 50 + ); + + return res.status(200).json({ + success: true, + description: `Returned ${milestones.length} milestones.`, + body: milestones, + }); +}); + +/** + * Find the most subscribed-to milestones for this GPT. + * + * @name GET /api/v1/games/:game/:playtype/targets/milestones/popular + */ +router.get("/popular", async (req, res) => { + const { game, playtype } = GetGPT(req); + + const milestones = await GetMostSubscribedMilestones({ game, playtype }); + + return res.status(200).json({ + success: true, + description: `Returned ${milestones.length} popular milestones.`, + body: milestones, + }); +}); + +/** + * Retrieve information about this milestone and who is subscribed to it. + * + * @name GET /api/v1/games/:game/:playtype/targets/milestones/:milestoneID + */ +router.get("/:milestoneID", ResolveMilestoneID, async (req, res) => { + const milestone = GetTachiData(req, "milestoneDoc"); + + const milestoneSubs = await db["milestone-subs"].find({ + milestoneID: milestone.milestoneID, + }); + + const users = await GetUsersWithIDs(milestoneSubs.map((e) => e.userID)); + + const goals = await GetGoalsInMilestone(milestone); + + const parentMilestoneSets = await db["milestone-sets"].find({ + milestones: milestone.milestoneID, + }); + + return res.status(200).json({ + success: true, + description: `Retrieved information about ${milestone.name}.`, + body: { + milestone, + milestoneSubs, + users, + goals, + parentMilestoneSets, + }, + }); +}); + +/** + * Evaluates a milestone upon a user, even if they aren't subscribed to it. + * + * @param userID - The userID to evaluate this goal against. Must be a player of this GPT. + * + * @name GET /api/v1/games/:game/:playtype/targets/milestones/:milestoneID/evaluate-for + */ +router.get( + "/:milestoneID/evaluate-for", + ResolveMilestoneID, + prValidate({ userID: "string" }), + async (req, res) => { + const { game, playtype } = GetGPT(req); + + const userID = req.query.userID as string; + + const user = await ResolveUser(userID); + + if (!user) { + return res.status(404).json({ + success: false, + description: `The user ${userID} does not exist.`, + }); + } + + const hasPlayed = await db["game-stats"].findOne({ + game, + playtype, + userID: user.id, + }); + + if (!hasPlayed) { + return res.status(400).json({ + success: false, + description: `The user ${user.username} hasn't played ${FormatGame( + game, + playtype + )}.`, + }); + } + + const milestone = GetTachiData(req, "milestoneDoc"); + + const milestoneProgress = await EvaluateMilestoneProgress(user.id, milestone); + + return res.status(200).json({ + success: true, + description: `Evaluated ${milestone.name} for ${user.username}.`, + body: milestoneProgress, + }); + } +); + +export default router; diff --git a/server/src/server/router/api/v1/games/_game/_playtype/targets/router.test.ts b/server/src/server/router/api/v1/games/_game/_playtype/targets/router.test.ts new file mode 100644 index 000000000..4100115dc --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/targets/router.test.ts @@ -0,0 +1,101 @@ +import db from "external/mongo/db"; +import t from "tap"; +import { mkFakeGoal, mkFakeGoalSub } from "test-utils/misc"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { HC511UserGoal } from "test-utils/test-data"; +import type { GoalSubscriptionDocument } from "tachi-common"; + +t.test("GET /api/v1/games/:game/:playtype/targets/recently-achieved", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return some recently achieved goals.", async (t) => { + await db.goals.insert([ + mkFakeGoal({ goalID: "achieved" }), + mkFakeGoal({ goalID: "achieved_more_recently" }), + mkFakeGoal({ goalID: "achieved_instantly" }), + ]); + + await db["goal-subs"].insert([ + // not achieved + HC511UserGoal, + mkFakeGoalSub({ goalID: "achieved", achieved: true, timeAchieved: 1000 }), + mkFakeGoalSub({ goalID: "achieved_more_recently", achieved: true, timeAchieved: 2000 }), + mkFakeGoalSub({ + goalID: "achieved_instantly", + achieved: true, + timeAchieved: 1000, + wasInstantlyAchieved: true, + }), + ]); + + const res = await mockApi.get("/api/v1/games/iidx/SP/targets/recently-achieved"); + + t.equal(res.statusCode, 200); + + // Shouldn't have the unachieved goal, shouldn't have the instantly achieved goal. + // should also have them in the right order. + t.strictSame( + res.body.body.goalSubs.map((e: GoalSubscriptionDocument) => e.goalID), + ["achieved_more_recently", "achieved"] + ); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/games/:game/:playtype/targets/recently-raised", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return some recently interacted goals.", async (t) => { + await db.goals.insert([ + mkFakeGoal({ goalID: "interacted" }), + mkFakeGoal({ goalID: "interacted_more_recently" }), + mkFakeGoal({ goalID: "achieved" }), + mkFakeGoal({ goalID: "achieved_instantly" }), + ]); + + await db["goal-subs"].insert([ + // not achieved + HC511UserGoal, + mkFakeGoalSub({ goalID: "interacted", achieved: false, lastInteraction: 1000 }), + + // happened more recently + mkFakeGoalSub({ + goalID: "interacted_more_recently", + achieved: false, + lastInteraction: 2000, + }), + + // shouldnt be included -- just recently-raised. + mkFakeGoalSub({ + goalID: "achieved", + achieved: true, + lastInteraction: 1000, + }), + mkFakeGoalSub({ + goalID: "achieved_instantly", + achieved: true, + lastInteraction: 1000, + wasInstantlyAchieved: true, + }), + ]); + + const res = await mockApi.get("/api/v1/games/iidx/SP/targets/recently-raised"); + + t.equal(res.statusCode, 200); + + // Shouldn't have the uninteracted goal, shouldn't have the instantly achieved goal. + // should also have them in the right order. + t.strictSame( + res.body.body.goalSubs.map((e: GoalSubscriptionDocument) => e.goalID), + ["interacted_more_recently", "interacted"] + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/games/_game/_playtype/targets/router.ts b/server/src/server/router/api/v1/games/_game/_playtype/targets/router.ts new file mode 100644 index 000000000..b79b2490f --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/_playtype/targets/router.ts @@ -0,0 +1,73 @@ +import goalsRouter from "./goals/router"; +import milestoneSetsRouter from "./milestone-sets/router"; +import milestonesRouter from "./milestones/router"; +import { Router } from "express"; +import { FormatGame } from "tachi-common"; +import { + GetRecentlyAchievedGoals, + GetRecentlyAchievedMilestones, + GetRecentlyInteractedGoals, + GetRecentlyInteractedMilestones, +} from "utils/db"; +import { GetGPT } from "utils/req-tachi-data"; + +const router: Router = Router({ mergeParams: true }); + +/** + * Retrieve all of this game's recently achieved goals and milestones. + * + * @name GET /api/v1/games/:game/:playtype/targets/recently-achieved + */ +router.get("/recently-achieved", async (req, res) => { + const { game, playtype } = GetGPT(req); + + const [{ goals, goalSubs }, { milestones, milestoneSubs }] = await Promise.all([ + GetRecentlyAchievedGoals({ game, playtype }), + GetRecentlyAchievedMilestones({ game, playtype }), + ]); + + return res.status(200).json({ + success: true, + description: `Retrieved some recently achieved targets for ${FormatGame(game, playtype)}`, + body: { + goals, + goalSubs, + milestones, + milestoneSubs, + }, + }); +}); + +/** + * Retrieve all of this game's recently interacted-with goals and milestones. + * + * @name GET /api/v1/games/:game/:playtype/targets/recently-raised + */ +router.get("/recently-raised", async (req, res) => { + const { game, playtype } = GetGPT(req); + + const [{ goals, goalSubs }, { milestones, milestoneSubs }] = await Promise.all([ + GetRecentlyInteractedGoals({ game, playtype }), + GetRecentlyInteractedMilestones({ game, playtype }), + ]); + + return res.status(200).json({ + success: true, + description: `Retrieved some recently interacted-with targets for ${FormatGame( + game, + playtype + )}`, + body: { + goals, + goalSubs, + milestones, + milestoneSubs, + }, + }); +}); + +router.use("/goals", goalsRouter); +router.use("/milestones", milestonesRouter); +router.use("/milestone-sets", milestoneSetsRouter); + +export default router; diff --git a/server/src/server/router/api/v1/games/_game/middleware.ts b/server/src/server/router/api/v1/games/_game/middleware.ts new file mode 100644 index 000000000..b812c586d --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/middleware.ts @@ -0,0 +1,27 @@ +import { TachiConfig } from "lib/setup/config"; +import { IsValidGame } from "utils/misc"; +import { AssignToReqTachiData } from "utils/req-tachi-data"; +import type { RequestHandler } from "express"; + +export const ValidateGameFromParam: RequestHandler = (req, res, next) => { + const game = req.params.game; + + if (game === undefined) { + throw new Error( + `Expected parameter of game when ValidateGameFromParam was called on ${req.originalUrl}.` + ); + } + + if (!IsValidGame(game)) { + return res.status(400).json({ + success: false, + description: `Invalid/unsupported game ${ + req.params.game + } - Expected any of ${TachiConfig.GAMES.join(", ")}`, + }); + } + + AssignToReqTachiData(req, { game }); + + next(); +}; diff --git a/server/src/server/router/api/v1/games/_game/router.test.ts b/server/src/server/router/api/v1/games/_game/router.test.ts new file mode 100644 index 000000000..aec9828ed --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/router.test.ts @@ -0,0 +1,23 @@ +import { GetGameConfig } from "tachi-common"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; + +t.test("GET /api/v1/games/:game", (t) => { + t.test("Should parse the game from the header", async (t) => { + const res = await mockApi.get("/api/v1/games/iidx"); + + t.strictSame(res.body.body, GetGameConfig("iidx")); + + t.end(); + }); + + t.test("Should reject an unsupported game.", async (t) => { + const res = await mockApi.get("/api/v1/games/invalid_game"); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/games/_game/router.ts b/server/src/server/router/api/v1/games/_game/router.ts new file mode 100644 index 000000000..1063927d7 --- /dev/null +++ b/server/src/server/router/api/v1/games/_game/router.ts @@ -0,0 +1,28 @@ +import playtypeRouter from "./_playtype/router"; +import { ValidateGameFromParam } from "./middleware"; +import { Router } from "express"; +import { GetGameConfig } from "tachi-common"; +import { GetTachiData } from "utils/req-tachi-data"; + +const router: Router = Router({ mergeParams: true }); + +router.use(ValidateGameFromParam); + +/** + * Returns the configuration for this game. + * + * @name GET /api/v1/games/:game + */ +router.get("/", (req, res) => { + const game = GetTachiData(req, "game"); + + return res.status(200).json({ + success: true, + description: `Returned information for ${game}`, + body: GetGameConfig(game), + }); +}); + +router.use("/:playtype", playtypeRouter); + +export default router; diff --git a/server/src/server/router/api/v1/games/router.test.ts b/server/src/server/router/api/v1/games/router.test.ts new file mode 100644 index 000000000..de4955438 --- /dev/null +++ b/server/src/server/router/api/v1/games/router.test.ts @@ -0,0 +1,17 @@ +import { TachiConfig } from "lib/setup/config"; +import { GetGameConfig } from "tachi-common"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; + +t.test("GET /api/v1/games", async (t) => { + // lets just run some basic tests that this contains all of our supported games + // and also returns configs properly. + const res = await mockApi.get("/api/v1/games"); + + t.strictSame(res.body.body.supportedGames, TachiConfig.GAMES); + + t.strictSame(res.body.body.configs.iidx, GetGameConfig("iidx")); + t.equal(Object.keys(res.body.body.configs).length, TachiConfig.GAMES.length); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/games/router.ts b/server/src/server/router/api/v1/games/router.ts new file mode 100644 index 000000000..46cfdc403 --- /dev/null +++ b/server/src/server/router/api/v1/games/router.ts @@ -0,0 +1,30 @@ +import gameRouter from "./_game/router"; +import { Router } from "express"; +import { TachiConfig } from "lib/setup/config"; +import { GetGameConfig } from "tachi-common"; + +const router: Router = Router({ mergeParams: true }); + +/** + * Declares the supported games for this version of tachi. + * Not sure if this endpoint has any purpose, to be honest. + * + * @name GET /api/v1/games + */ +router.get("/", (req, res) => { + // this line is a bit too 'smart' for its own good, but whatever. + const configs = Object.fromEntries(TachiConfig.GAMES.map((e) => [e, GetGameConfig(e)])); + + return res.status(200).json({ + success: true, + description: `Returned support information for ${TachiConfig.GAMES.length} game(s).`, + body: { + supportedGames: TachiConfig.GAMES, + configs, + }, + }); +}); + +router.use("/:game", gameRouter); + +export default router; diff --git a/server/src/server/router/api/v1/import/router.test.ts b/server/src/server/router/api/v1/import/router.test.ts new file mode 100644 index 000000000..f7e4f4910 --- /dev/null +++ b/server/src/server/router/api/v1/import/router.test.ts @@ -0,0 +1,401 @@ +import db from "external/mongo/db"; +import t from "tap"; +import { RequireAuthPerms } from "test-utils/api-common"; +import { CreateFakeAuthCookie } from "test-utils/fake-auth"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { + GetKTDataBuffer, + LoadTachiIIDXData, + TestingIIDXEamusementCSV26, + TestingIIDXEamusementCSV27, +} from "test-utils/test-data"; + +t.test("POST /api/v1/import/file", async (t) => { + const cookie = await CreateFakeAuthCookie(mockApi); + + t.beforeEach(ResetDBState); + + RequireAuthPerms("/api/v1/import/file", "submit_score", "POST"); + + t.test("file/eamusement-iidx-csv", (t) => { + t.beforeEach(LoadTachiIIDXData); + + t.test("Mini HV import", async (t) => { + const res = await mockApi + .post("/api/v1/import/file") + .set("Cookie", cookie) + .attach( + "scoreData", + GetKTDataBuffer("./eamusement-iidx-csv/small-hv-file.csv"), + "my_csv.csv" + ) + .field("importType", "file/eamusement-iidx-csv") + .field("playtype", "SP"); + + t.equal(res.body.success, true, "Should be successful."); + + t.equal(res.body.body.errors.length, 0, "Mini HV Import Should have 0 failed scores."); + + t.equal(res.body.body.scoreIDs.length, 2, "Should have 2 successful scores."); + + const scoreCount = await db.scores.find({ + scoreID: { $in: res.body.body.scoreIDs }, + }); + + t.equal( + scoreCount.length, + res.body.body.scoreIDs.length, + "All returned scoreIDs should be inserted to the DB." + ); + + t.end(); + }); + + t.test("Valid Rootage CSV import", async (t) => { + const res = await mockApi + .post("/api/v1/import/file") + .set("Cookie", cookie) + .attach("scoreData", TestingIIDXEamusementCSV26, "my_csv.csv") + .field("importType", "file/eamusement-iidx-csv") + .field("playtype", "SP"); + + t.equal(res.body.success, true, "Should be successful."); + + t.equal(res.body.body.errors.length, 0, "Should have 0 failed scores."); + + const scoreCount = await db.scores.find({ + scoreID: { $in: res.body.body.scoreIDs }, + }); + + t.equal( + scoreCount.length, + res.body.body.scoreIDs.length, + "All returned scoreIDs should be inserted to the DB." + ); + + t.end(); + }); + + t.test("Valid Heroic Verse CSV import", async (t) => { + const res = await mockApi + .post("/api/v1/import/file") + .set("Cookie", cookie) + .attach("scoreData", TestingIIDXEamusementCSV27, "my_csv.csv") + .field("importType", "file/eamusement-iidx-csv") + .field("playtype", "SP"); + + t.equal(res.body.success, true, "Should be successful."); + + t.strictSame(res.body.body.errors, [], "Should have 0 failed scores."); + + const scoreCount = await db.scores.find({ + scoreID: { $in: res.body.body.scoreIDs }, + }); + + t.equal( + scoreCount.length, + res.body.body.scoreIDs.length, + "All returned scoreIDs should be inserted to the DB." + ); + + t.end(); + }); + + t.end(); + }); + + // thats right i literally just copied it + t.test("file/pli-iidx-csv", (t) => { + t.beforeEach(LoadTachiIIDXData); + + t.test("Mini HV import", async (t) => { + const res = await mockApi + .post("/api/v1/import/file") + .set("Cookie", cookie) + .attach( + "scoreData", + GetKTDataBuffer("./eamusement-iidx-csv/small-hv-file.csv"), + "my_csv.csv" + ) + .field("importType", "file/pli-iidx-csv") + .field("playtype", "SP"); + + t.equal(res.body.success, true, "Should be successful."); + + t.equal(res.body.body.errors.length, 0, "Mini HV Import Should have 0 failed scores."); + + t.equal(res.body.body.scoreIDs.length, 2, "Should have 2 successful scores."); + + const scoreCount = await db.scores.find({ + scoreID: { $in: res.body.body.scoreIDs }, + }); + + t.equal( + scoreCount.length, + res.body.body.scoreIDs.length, + "All returned scoreIDs should be inserted to the DB." + ); + + t.end(); + }); + + t.test("Valid Rootage CSV import", async (t) => { + const res = await mockApi + .post("/api/v1/import/file") + .set("Cookie", cookie) + .attach("scoreData", TestingIIDXEamusementCSV26, "my_csv.csv") + .field("importType", "file/pli-iidx-csv") + .field("playtype", "SP"); + + t.equal(res.body.success, true, "Should be successful."); + + t.equal(res.body.body.errors.length, 0, "Should have 0 failed scores."); + + const scoreCount = await db.scores.find({ + scoreID: { $in: res.body.body.scoreIDs }, + }); + + t.equal( + scoreCount.length, + res.body.body.scoreIDs.length, + "All returned scoreIDs should be inserted to the DB." + ); + + t.end(); + }); + + t.test("Valid Heroic Verse CSV import", async (t) => { + const res = await mockApi + .post("/api/v1/import/file") + .set("Cookie", cookie) + .attach("scoreData", TestingIIDXEamusementCSV27, "my_csv.csv") + .field("importType", "file/pli-iidx-csv") + .field("playtype", "SP"); + + t.equal(res.body.success, true, "Should be successful."); + + t.equal(res.body.body.errors.length, 0, "Should have 0 failed scores."); + + const scoreCount = await db.scores.find({ + scoreID: { $in: res.body.body.scoreIDs }, + }); + + t.equal( + scoreCount.length, + res.body.body.scoreIDs.length, + "All returned scoreIDs should be inserted to the DB." + ); + + t.end(); + }); + + t.end(); + }); + + t.test("file/batch-manual", (t) => { + t.test("Empty import", async (t) => { + const res = await mockApi + .post("/api/v1/import/file") + .set("Cookie", cookie) + .attach( + "scoreData", + GetKTDataBuffer("./batch-manual/empty-file.json"), + "empty-file.json" + ) + .field("importType", "file/batch-manual"); + + t.equal(res.body.success, true, "Should be successful."); + + t.equal(res.body.body.errors.length, 0, "Import Should have 0 failed scores."); + + t.equal(res.body.body.scoreIDs.length, 0, "Should have 0 successful scores."); + + const scoreCount = await db.scores.find({ + scoreID: { $in: res.body.body.scoreIDs }, + }); + + t.equal( + scoreCount.length, + res.body.body.scoreIDs.length, + "All returned scoreIDs should be inserted to the DB." + ); + + t.end(); + }); + + t.test("Invalid JSON", async (t) => { + const res = await mockApi + .post("/api/v1/import/file") + .set("Cookie", cookie) + .attach("scoreData", Buffer.from("{invalid JSON")) + .field("importType", "file/batch-manual"); + + t.equal(res.body.success, false, "Should not be successful."); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.test("Single import", async (t) => { + const res = await mockApi + .post("/api/v1/import/file") + .set("Cookie", cookie) + .attach( + "scoreData", + GetKTDataBuffer("./batch-manual/small-file.json"), + "small-file.json" + ) + .field("importType", "file/batch-manual"); + + t.equal(res.body.success, true, "Should be successful."); + + t.equal(res.body.body.errors.length, 0, "Import Should have 0 failed scores."); + + t.equal(res.body.body.scoreIDs.length, 1, "Should have 1 successful score."); + + const scoreCount = await db.scores.find({ + scoreID: { $in: res.body.body.scoreIDs }, + }); + + t.equal( + scoreCount.length, + res.body.body.scoreIDs.length, + "All returned scoreIDs should be inserted to the DB." + ); + + t.end(); + }); + + t.end(); + }); + + t.test("file/mer-iidx", (t) => { + t.beforeEach(LoadTachiIIDXData); + + t.test("Example Import", async (t) => { + const res = await mockApi + .post("/api/v1/import/file") + .set("Cookie", cookie) + .attach("scoreData", GetKTDataBuffer("./mer/base.json"), "base.json") + .field("importType", "file/mer-iidx"); + + t.equal(res.body.success, true, "Should be successful"); + + t.equal(res.body.body.errors.length, 0, "Import Should have 0 failed scores."); + + t.equal(res.body.body.scoreIDs.length, 3, "Should have 3 successful scores."); + + t.end(); + }); + + t.test("Example Import", async (t) => { + const res = await mockApi + .post("/api/v1/import/file") + .set("Cookie", cookie) + .attach("scoreData", GetKTDataBuffer("./mer/large.json"), "base.json") + .field("importType", "file/mer-iidx"); + + t.equal(res.body.success, true, "Should be successful"); + + t.equal(res.body.body.errors.length, 0, "Import Should have 0 failed scores."); + + t.equal(res.body.body.scoreIDs.length, 627, "Should have 627 successful scores."); + + t.end(); + }); + + t.end(); + }); + + t.skip("file/solid-state-squad", (t) => { + t.beforeEach(LoadTachiIIDXData); + + t.test("Large Import", async (t) => { + const res = await mockApi + .post("/api/v1/import/file") + .set("Cookie", cookie) + .attach("scoreData", GetKTDataBuffer("./s3/large-example.xml"), "large.xml") + .field("importType", "file/solid-state-squad"); + + t.equal(res.body.success, true, "Should be successful"); + t.equal(res.body.body.scoreIDs.length, null, "Should parse N scores."); + + t.end(); + }); + + t.end(); + }); + + t.end(); +}); + +t.test("POST /api/v1/import/orphans", async (t) => { + const cookie = await CreateFakeAuthCookie(mockApi); + + t.beforeEach(ResetDBState); + + t.test("Should force a reprocessing of orphan scores.", async (t) => { + await db["orphan-scores"].insert([ + { + userID: 1, + timeInserted: 1000, + orphanID: "asdf", + importType: "ir/direct-manual", + errMsg: "foo", + context: { + game: "iidx", + playtype: "SP", + service: "foo", + version: null, + }, + data: { + score: 500, + lamp: "HARD CLEAR", + matchType: "songTitle", + identifier: "5.1.1.", + difficulty: "ANOTHER", + }, + game: "iidx", + }, + { + userID: 1, + timeInserted: 1000, + orphanID: "asdf2", + importType: "ir/direct-manual", + errMsg: "foo", + context: { + game: "iidx", + playtype: "SP", + service: "foo", + version: null, + }, + data: { + score: 500, + lamp: "HARD CLEAR", + matchType: "songTitle", + identifier: "TITLE NOBODY WILL USE", + difficulty: "ANOTHER", + }, + game: "iidx", + }, + ]); + + const res = await mockApi.post("/api/v1/import/orphans").set("Cookie", cookie); + + t.equal(res.statusCode, 200, "Should return 200."); + + t.equal(res.body.body.success, 1, "Should successfully reprocess one orphan."); + t.equal(res.body.body.processed, 2, "Should reprocess two orphans."); + t.equal(res.body.body.failed, 1, "Should fail in de-orphaning one orphan."); + + const dbCount = await db["orphan-scores"].count({}); + + t.equal(dbCount, 1, "Should only leave one orphan-score in the database."); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/import/router.ts b/server/src/server/router/api/v1/import/router.ts new file mode 100644 index 000000000..c0e276614 --- /dev/null +++ b/server/src/server/router/api/v1/import/router.ts @@ -0,0 +1,216 @@ +import { Router } from "express"; +import db from "external/mongo/db"; +import { SIXTEEN_MEGABTYES } from "lib/constants/filesize"; +import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi"; +import CreateLogCtx from "lib/logger/logger"; +import { ExpressWrappedScoreImportMain } from "lib/score-import/framework/express-wrapper"; +import { ReprocessOrphan } from "lib/score-import/framework/orphans/orphans"; +import { MakeScoreImport } from "lib/score-import/framework/score-import"; +import { ServerConfig, TachiConfig } from "lib/setup/config"; +import Prudence from "prudence"; +import { RequirePermissions } from "server/middleware/auth"; +import { CreateMulterSingleUploadMiddleware } from "server/middleware/multer-upload"; +import prValidate from "server/middleware/prudence-validate"; +import { ScoreImportRateLimiter } from "server/middleware/rate-limiter"; +import { Random20Hex } from "utils/misc"; +import { FormatUserDoc, GetUserWithIDGuaranteed } from "utils/user"; +import type { ScoreImportJobData } from "lib/score-import/worker/types"; +import type { APIImportTypes, FileUploadImportTypes } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +const router: Router = Router({ mergeParams: true }); + +const ParseMultipartScoredata = CreateMulterSingleUploadMiddleware( + "scoreData", + SIXTEEN_MEGABTYES, + logger +); + +const fileImportTypes = TachiConfig.IMPORT_TYPES.filter((e) => e.startsWith("file/")); +const apiImportTypes = TachiConfig.IMPORT_TYPES.filter((e) => e.startsWith("api/")); + +/** + * Import scores from a file. Expects the post request to be multipart, and to provide a scoreData file. + * + * @param importType - The import type for this file. + * @param file - The actual file. Should be passed as multipart. + * + * @name POST /api/v1/import/file + */ +router.post( + "/file", + RequirePermissions("submit_score"), + ScoreImportRateLimiter, + ParseMultipartScoredata, + prValidate( + { + importType: Prudence.isIn(fileImportTypes), + }, + {}, + { allowExcessKeys: true } + ), + async (req, res) => { + if (!req.file) { + return res.status(400).json({ + success: false, + description: `No file provided.`, + }); + } + + const importType = req.safeBody.importType as FileUploadImportTypes; + + const userIntent = !!req.header("X-User-Intent"); + + if (ServerConfig.USE_EXTERNAL_SCORE_IMPORT_WORKER) { + const importID = Random20Hex(); + + const job: ScoreImportJobData = { + importID, + userID: req[SYMBOL_TACHI_API_AUTH].userID!, + userIntent, + importType, + parserArguments: [req.file, req.safeBody], + }; + + // Fire the score import, but make no guarantees about its state. + void MakeScoreImport(job); + + return res.status(202).json({ + success: true, + description: + "Import loaded into queue. You can poll the provided URL for information on when its complete.", + body: { + url: `${ServerConfig.OUR_URL}/api/v1/imports/${importID}/poll-status`, + importID, + }, + }); + } + + // Fire the score import and wait for it to finish! + const importResponse = await ExpressWrappedScoreImportMain( + req[SYMBOL_TACHI_API_AUTH].userID!, + userIntent, + importType, + [req.file, req.safeBody] + ); + + return res.status(importResponse.statusCode).json(importResponse.body); + } +); + +/** + * Import scores from another API. This typically will perform a full sync. + * @name POST /api/v1/import/from-api + */ +router.post( + "/from-api", + RequirePermissions("submit_score"), + prValidate( + { + importType: Prudence.isIn(apiImportTypes), + }, + {}, + { allowExcessKeys: true } + ), + async (req, res) => { + const importType = req.safeBody.importType as APIImportTypes; + + const importID = Random20Hex(); + + const userID = req[SYMBOL_TACHI_API_AUTH].userID!; + + const userIntent = !!req.header("X-User-Intent"); + + if (ServerConfig.USE_EXTERNAL_SCORE_IMPORT_WORKER) { + const job: ScoreImportJobData = { + importID, + userID, + userIntent, + importType, + parserArguments: [userID], + }; + + // Fire the score import, but make no guarantees about its state. + void MakeScoreImport(job); + + return res.status(202).json({ + success: true, + description: + "Import loaded into queue. You can poll the provided URL for information on when its complete.", + body: { + url: `${ServerConfig.OUR_URL}/api/v1/imports/${importID}/poll-status`, + importID, + }, + }); + } + + // Fire the score import and wait for it to finish! + const importResponse = await ExpressWrappedScoreImportMain( + userID, + userIntent, + importType, + [userID] + ); + + return res.status(importResponse.statusCode).json(importResponse.body); + } +); + +/** + * Force Tachi to reprocess your orphaned scores. This is automatically done + * daily, but this endpoint allows users to speed that up. + * + * @name POST /api/v1/import/orphans + */ +router.post("/orphans", RequirePermissions("submit_score"), async (req, res) => { + const userDoc = await GetUserWithIDGuaranteed(req[SYMBOL_TACHI_API_AUTH].userID!); + + logger.info(`User ${FormatUserDoc(userDoc)} forced an orphan sync.`); + + const orphans = await db["orphan-scores"].find({ + userID: userDoc.id, + }); + + // ScoreIDs are essentially userID dependent, so this is fine. + const blacklist = (await db["score-blacklist"].find({ userID: userDoc.id })).map( + (e) => e.scoreID + ); + + let processed = 0; + let failed = 0; + let success = 0; + let removed = 0; + + await Promise.all( + orphans.map((or) => + ReprocessOrphan(or, blacklist, logger).then((r) => { + processed++; + if (r === null) { + removed++; + } else if (r === false) { + failed++; + } else { + success++; + } + }) + ) + ); + + logger.info(`Finished attempting deorphaning.`); + + logger.info(`Success: ${success} | Failed ${failed} | Removed ${removed}.`); + + return res.status(200).json({ + success: true, + description: `Reprocessed ${processed} orphan scores.`, + body: { + processed, + failed, + success, + removed, + }, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/imports/middleware.ts b/server/src/server/router/api/v1/imports/middleware.ts new file mode 100644 index 000000000..47e0387c3 --- /dev/null +++ b/server/src/server/router/api/v1/imports/middleware.ts @@ -0,0 +1,50 @@ +import db from "external/mongo/db"; +import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi"; +import CreateLogCtx from "lib/logger/logger"; +import { AssignToReqTachiData, GetTachiData } from "utils/req-tachi-data"; +import { IsRequesterAdmin } from "utils/user"; +import type { RequestHandler } from "express"; + +const logger = CreateLogCtx(__filename); + +export const GetImportFromParam: RequestHandler = async (req, res, next) => { + const importDoc = await db.imports.findOne({ importID: req.params.importID }); + + if (!importDoc) { + return res.status(404).json({ + success: false, + description: `This import does not exist.`, + }); + } + + AssignToReqTachiData(req, { importDoc }); + + next(); +}; + +export const RequireOwnershipOfImportOrAdmin: RequestHandler = async (req, res, next) => { + const importDoc = GetTachiData(req, "importDoc"); + const userID = req[SYMBOL_TACHI_API_AUTH].userID; + + if (userID === null) { + return res.status(401).json({ + success: false, + description: `You are not authorised as anyone, and this endpoint requires us to know who you are.`, + }); + } + + if (importDoc.userID !== userID) { + if (await IsRequesterAdmin(req[SYMBOL_TACHI_API_AUTH])) { + logger.info(`Admin ${userID} interacted with someone elses import.`); + next(); + return; + } + + return res.status(403).json({ + success: false, + description: `You are not authorised to perform this action.`, + }); + } + + next(); +}; diff --git a/server/src/server/router/api/v1/imports/router.test.ts b/server/src/server/router/api/v1/imports/router.test.ts new file mode 100644 index 000000000..c606e4bb4 --- /dev/null +++ b/server/src/server/router/api/v1/imports/router.test.ts @@ -0,0 +1,163 @@ +import db from "external/mongo/db"; +import { UserAuthLevels } from "tachi-common"; +import t from "tap"; +import { CreateFakeAuthCookie } from "test-utils/fake-auth"; +import { mkFakeImport } from "test-utils/misc"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { FakeImport } from "test-utils/test-data"; + +t.test("GET /api/v1/imports/:importID", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(() => db.imports.insert(FakeImport)); + + t.test("Should return the import at this ID.", async (t) => { + const res = await mockApi.get(`/api/v1/imports/${FakeImport.importID}`); + + t.equal(res.statusCode, 200, "Should return 200."); + + t.hasStrict( + res.body.body, + { + user: { + id: 1, + }, + scores: [ + { + scoreID: FakeImport.scoreIDs[0], + }, + ], + charts: [ + { + chartID: res.body.body.scores[0].chartID, + }, + ], + songs: [ + { + id: res.body.body.scores[0].songID, + }, + ], + import: { + importID: FakeImport.importID, + }, + }, + "Should return the import and some info about it." + ); + + t.end(); + }); + + t.test("Should return 404 if the import doesn't exist.", async (t) => { + const res = await mockApi.get("/api/v1/imports/bad-import"); + + t.equal(res.statusCode, 404, "Should return 404."); + + t.end(); + }); + + t.end(); +}); + +t.test("POST /api/v1/imports/:importID/revert", async (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(() => db.imports.insert(FakeImport)); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should revert the import at this ID.", async (t) => { + const res = await mockApi + .post(`/api/v1/imports/${FakeImport.importID}/revert`) + .set("Cookie", cookie); + + t.equal(res.statusCode, 200, "Should return 200."); + + t.strictSame(res.body.body, {}, "The response body should be empty."); + + t.resolveMatch( + db.scores.findOne({ scoreID: FakeImport.scoreIDs[0] }), + + // @ts-expect-error https://github.com/DefinitelyTyped/DefinitelyTyped/pull/60020 + null, + "The scores that were part of this import should be deleted." + ); + + t.end(); + }); + + t.test("Should return 404 if the import doesn't exist.", async (t) => { + const res = await mockApi.post(`/api/v1/imports/doesnt-exist/revert`).set("Cookie", cookie); + + t.equal(res.statusCode, 404, "Should return 404."); + + t.end(); + }); + + t.test("Should return 401 if the user isn't authed.", async (t) => { + const res = await mockApi.post(`/api/v1/imports/${FakeImport.importID}/revert`); + + t.equal(res.statusCode, 401, "Should return 401."); + + t.end(); + }); + + t.test("Should return 403 if the user is authed as someone else.", async (t) => { + await db.users.update( + { + id: 1, + }, + { + $set: { authLevel: UserAuthLevels.USER }, + } + ); + + const someoneElsesImport = mkFakeImport({ userID: 2, importID: "someone_elses" }); + + await db.imports.insert(someoneElsesImport); + + const res = await mockApi + .post(`/api/v1/imports/${someoneElsesImport.importID}/revert`) + .set("Cookie", cookie); + + t.equal(res.statusCode, 403, "Should return 403."); + + t.end(); + }); + + t.test( + "Should allow reverting another users import if the requester is an admin.", + async (t) => { + await db.users.update( + { + id: 1, + }, + { + $set: { authLevel: UserAuthLevels.ADMIN }, + } + ); + + const someoneElsesImport = mkFakeImport({ userID: 2, importID: "someone_elses" }); + + await db.imports.insert(someoneElsesImport); + + const res = await mockApi + .post(`/api/v1/imports/${someoneElsesImport.importID}/revert`) + .set("Cookie", cookie); + + t.equal(res.statusCode, 200, "Should return 200."); + + t.strictSame(res.body.body, {}, "The response body should be empty."); + + t.resolveMatch( + db.scores.findOne({ scoreID: FakeImport.scoreIDs[0] }), + + // @ts-expect-error https://github.com/DefinitelyTyped/DefinitelyTyped/pull/60020 + null, + "The scores that were part of this import should be deleted." + ); + + t.end(); + } + ); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/imports/router.ts b/server/src/server/router/api/v1/imports/router.ts new file mode 100644 index 000000000..2504cfa3b --- /dev/null +++ b/server/src/server/router/api/v1/imports/router.ts @@ -0,0 +1,201 @@ +import { GetImportFromParam, RequireOwnershipOfImportOrAdmin } from "./middleware"; +import { Router } from "express"; +import db from "external/mongo/db"; +import { JOB_RETRY_COUNT } from "lib/constants/tachi"; +import { RevertImport } from "lib/imports/imports"; +import CreateLogCtx from "lib/logger/logger"; +import ScoreImportQueue, { ScoreImportQueueEvents } from "lib/score-import/worker/queue"; +import { ServerConfig, TachiConfig } from "lib/setup/config"; +import { RequirePermissions } from "server/middleware/auth"; +import { GetRelevantSongsAndCharts } from "utils/db"; +import { GetTachiData } from "utils/req-tachi-data"; +import { GetUserWithID } from "utils/user"; +import type { ScoreImportWorkerReturns } from "lib/score-import/worker/types"; + +const router: Router = Router({ mergeParams: true }); + +const logger = CreateLogCtx(__filename); + +/** + * Retrieve an import with this ID. + * + * @name GET /api/v1/imports/:importID + */ +router.get("/:importID", GetImportFromParam, async (req, res) => { + const importDoc = GetTachiData(req, "importDoc"); + + const scores = await db.scores.find({ + scoreID: { $in: importDoc.scoreIDs }, + }); + + const { songs, charts } = await GetRelevantSongsAndCharts(scores, importDoc.game); + + const sessions = await db.sessions.find({ + sessionID: { $in: importDoc.createdSessions.map((e) => e.sessionID) }, + }); + + const user = await GetUserWithID(importDoc.userID); + + if (!user) { + logger.severe(`User ${importDoc.userID} doesn't exist, yet has a session?`); + return res.status(500).json({ + success: false, + description: `An internal server error has occured.`, + }); + } + + return res.status(200).json({ + success: true, + description: `Returned info about this session.`, + body: { + scores, + songs, + charts, + sessions, + import: importDoc, + user, + }, + }); +}); + +/** + * Delete this import and revert it from having ever happened. This un-imports all + * of the scores that were imported. + * + * Must be a request from the owner of this import. + * + * Counterintuitively, this endpoint requires the "delete_score" permission. This is + * because reverting an import is actually just deleting all of its scores. + * + * @name POST /api/v1/imports/:importID/revert + */ +router.post( + "/:importID/revert", + GetImportFromParam, + RequireOwnershipOfImportOrAdmin, + RequirePermissions("delete_score"), + async (req, res) => { + const importDoc = GetTachiData(req, "importDoc"); + + await RevertImport(importDoc); + + return res.status(200).json({ + success: true, + description: `Reverted import.`, + body: {}, + }); + } +); + +// Finding jobs is slightly harder than just doing a key lookup, because of retrying. +async function FindImportJob(importID: string) { + const possibleImportIDs = []; + + for (let i = 1; i <= JOB_RETRY_COUNT; i++) { + possibleImportIDs.push(`${importID}:TRY${i}`); + } + + // Note that instead of the cleaner await-inside-for here, we parallelise this + // for performance. + // Just for scalings sake. + const maybeJob = ( + await Promise.all(possibleImportIDs.map((i) => ScoreImportQueue.getJob(i))) + ).find((k) => k); + + return maybeJob; +} + +/** + * Retrieve the status of an ongoing import. + * If the import has been finalised and was successful, return 200. + * + * If the import is ongoing, return its progress. + * + * If the import was never ongoing, return 404. + * + * If the import was finalised and was unsuccessful (i.e. threw a fatal error) + * return its error information in expressified form. + * + * @name GET /api/v1/import/:importID/poll-status + */ +router.get("/:importID/poll-status", async (req, res) => { + if (!ServerConfig.USE_EXTERNAL_SCORE_IMPORT_WORKER) { + return res.status(501).json({ + success: false, + description: `${TachiConfig.NAME} does not use an external score import worker. Polling imports is not possible. This import may be ongoing, or it may have never occured.`, + }); + } + + const importDoc = await db.imports.findOne({ importID: req.params.importID }); + + if (importDoc) { + return res.status(200).json({ + success: true, + description: `Import was completed!`, + body: { + importStatus: "completed", + import: importDoc, + }, + }); + } + + const job = await FindImportJob(req.params.importID); + + if (!job) { + return res.status(404).json({ + success: false, + description: `There is no ongoing import here.`, + }); + } + + // job.isFailed() actually means a critical error has occured. + // As in, an unhandled exception was thrown. + if (await job.isFailed()) { + logger.error("Internal Server Error with job?", { job }); + + return res.status(500).json({ + success: false, + description: `An internal service error has occured with this import. This has been reported!`, + }); + } else if (await job.isCompleted()) { + const content = (await job.waitUntilFinished( + ScoreImportQueueEvents + )) as ScoreImportWorkerReturns; + + // Since job.isFailed() is for whether a job had a fatal exception + // or not. We still want to check whether a job failed from say, + // nonsense user input. + // As such, if content.success == true, then the import was + // successful. + // Else, it was a "score import fatal error", which means the user + // screwed something up and we had to bail on the import. + if (content.success) { + return res.status(200).json({ + success: true, + description: `Import was completed!`, + body: { + importStatus: "completed", + import: content.importDocument, + }, + }); + } + + return res.status(content.statusCode).json({ + success: false, + description: content.description, + }); + } + + const progress = job.progress; + + return res.status(200).json({ + success: true, + description: `Import is ongoing.`, + body: { + importStatus: "ongoing", + progress: progress === 0 ? { description: "Starting up import." } : progress, + }, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/oauth/router.test.ts b/server/src/server/router/api/v1/oauth/router.test.ts new file mode 100644 index 000000000..306d9194f --- /dev/null +++ b/server/src/server/router/api/v1/oauth/router.test.ts @@ -0,0 +1,99 @@ +import db from "external/mongo/db"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; + +t.test("POST /api/v1/oauth/token", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should grant and create an api token.", async (t) => { + const res = await mockApi.post(`/api/v1/oauth/token`).send({ + client_id: "OAUTH2_CLIENT_ID", + client_secret: "OAUTH2_CLIENT_SECRET", + grant_type: "authorization_code", + redirect_uri: "https://example.com/callback", + code: "AUTH_CODE", + }); + + t.equal(res.statusCode, 200); + + const tokenDoc = await db["api-tokens"].findOne({ + token: res.body.body.token, + }); + + t.not(tokenDoc, null); + t.equal(tokenDoc?.userID, 1); + t.equal(tokenDoc?.fromAPIClient, "OAUTH2_CLIENT_ID"); + t.strictSame( + tokenDoc?.permissions, + { + customise_profile: true, + }, + "Should assign the permissions this client has configured." + ); + + const exists = await db["oauth2-auth-codes"].findOne({ code: "AUTH_CODE" }); + + t.equal(exists, null, "Should remove the code from the database after being used."); + + t.end(); + }); + + t.test("Requires a valid code.", async (t) => { + const res = await mockApi.post(`/api/v1/oauth/token`).send({ + client_id: "OAUTH2_CLIENT_ID", + client_secret: "OAUTH2_CLIENT_SECRET", + grant_type: "authorization_code", + redirect_uri: "https://example.com/callback", + code: "invalidcode", + }); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.test("Requires a valid clientID.", async (t) => { + const res = await mockApi.post(`/api/v1/oauth/token`).send({ + client_id: "INVALID_CLIENT_ID", + client_secret: "OAUTH2_CLIENT_SECRET", + grant_type: "authorization_code", + redirect_uri: "https://example.com/callback", + code: "AUTH_CODE", + }); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.test("Requires a valid client secret.", async (t) => { + const res = await mockApi.post(`/api/v1/oauth/token`).send({ + client_id: "OAUTH2_CLIENT_ID", + client_secret: "INVALID_SECRET", + grant_type: "authorization_code", + redirect_uri: "https://example.com/callback", + code: "AUTH_CODE", + }); + + t.equal(res.statusCode, 403); + + t.end(); + }); + + t.test("Requires an identical redirect_uri.", async (t) => { + const res = await mockApi.post(`/api/v1/oauth/token`).send({ + client_id: "OAUTH2_CLIENT_ID", + client_secret: "OAUTH2_CLIENT_SECRET", + grant_type: "authorization_code", + redirect_uri: "https://invalid.example.com/callback", + code: "AUTH_CODE", + }); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/oauth/router.ts b/server/src/server/router/api/v1/oauth/router.ts new file mode 100644 index 000000000..7f894ba80 --- /dev/null +++ b/server/src/server/router/api/v1/oauth/router.ts @@ -0,0 +1,128 @@ +import { Router } from "express"; +import db from "external/mongo/db"; +import p from "prudence"; +import prValidate from "server/middleware/prudence-validate"; +import { Random20Hex } from "utils/misc"; + +const router: Router = Router({ mergeParams: true }); + +/** + * Converts an auth code into a valid API key that is returned. + * + * @note The params here are deliberately snake cased as that's what + * the digitalocean examples for oauth2 do. I have no idea whether that's + * part of the spec or not, but it probably is. + * + * @param client_id - The id for the client requesting a token. + * @param client_secret - The secret for the client. + * @param grant_type - Only exactly "authorization_code" is supported at the moment. + * @param redirect_uri - Must be the exact redirectUri registered with this client. + * @param code - The code to convert into an API token. + * + * @name POST /api/v1/oauth/token + */ +router.post( + "/token", + prValidate({ + client_id: "string", + client_secret: "string", + grant_type: p.is("authorization_code"), + redirect_uri: "string", + code: "string", + }), + async (req, res) => { + const body = req.safeBody as { + client_id: string; + client_secret: string; + grant_type: "authorization_code"; + redirect_uri: string; + code: string; + }; + + const client = await db["api-clients"].findOne({ + clientID: body.client_id, + }); + + if (!client) { + return res.status(404).json({ + success: false, + description: `This client does not exist.`, + }); + } + + if (client.clientSecret !== body.client_secret) { + return res.status(403).json({ + success: false, + description: `Invalid secret.`, + }); + } + + // I honest to god have no idea what the point of this check is + // but it's part of the oauth spec. + if (client.redirectUri !== body.redirect_uri) { + return res.status(400).json({ + success: false, + description: `This redirect_uri does not match with your registered client redirect_uri ${client.redirectUri}.`, + }); + } + + const codeDoc = await db["oauth2-auth-codes"].findOne({ code: body.code }); + + if (!codeDoc) { + return res.status(404).json({ + success: false, + description: `This code does not exist.`, + }); + } + + // don't let people auth with the same code multiple times. + await db["oauth2-auth-codes"].remove({ code: body.code }); + + const apiDoc = { + userID: codeDoc.userID, + token: Random20Hex(), + identifier: `${client.name} Token`, + + // converts ["a","b"] to {a: true, b: true}. + permissions: Object.fromEntries(client.requestedPermissions.map((e) => [e, true])), + fromAPIClient: client.clientID, + }; + + // Now we can actually register the api key (lol) + await db["api-tokens"].insert(apiDoc); + + return res.status(200).json({ + success: true, + description: `Successfully authenticated.`, + body: apiDoc, + }); + } +); + +/** + * Creates an authorization code for this user (inferred from session). + * + * @name POST /api/v1/oauth/create-code + */ +router.post("/create-code", async (req, res) => { + if (!req.session.tachi?.user) { + return res.status(401).json({ + success: false, + description: `You are not authenticated.`, + }); + } + + const code = Random20Hex(); + + const doc = { code, userID: req.session.tachi.user.id, createdOn: Date.now() }; + + await db["oauth2-auth-codes"].insert(doc); + + return res.status(200).json({ + success: true, + description: `Successfully created code.`, + body: doc, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/router.test.ts b/server/src/server/router/api/v1/router.test.ts new file mode 100644 index 000000000..02ae2c751 --- /dev/null +++ b/server/src/server/router/api/v1/router.test.ts @@ -0,0 +1,39 @@ +import { ClearTestingRateLimitCache } from "server/middleware/rate-limiter"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; + +// just a rudimentary test for rate-limiting. We fire 150 requests at GET /api/v1 +// (which does a server status check) +// and then check any of them return 429. +t.test("Rate Limiting Test", async (t) => { + ClearTestingRateLimitCache(); + + const promises = []; + + // default rate limit is 500, so lets go a bit over + for (let i = 0; i < 520; i++) { + promises.push(mockApi.get("/api/v1/status")); + } + + const res = await Promise.all(promises); + + const rateLimited = res.filter((e) => e.statusCode === 429); + + t.ok(rateLimited.length > 0, "Some requests should be rate limited."); + + t.end(); +}); + +t.test("404 Handler", async (t) => { + ClearTestingRateLimitCache(); + + const res = await mockApi.get("/api/v1/invalid_route_that_will_never_exist"); + + t.equal(res.statusCode, 404); + t.strictSame(res.body, { + success: false, + description: "Endpoint Not Found.", + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/router.ts b/server/src/server/router/api/v1/router.ts new file mode 100644 index 000000000..9a0651522 --- /dev/null +++ b/server/src/server/router/api/v1/router.ts @@ -0,0 +1,51 @@ +import adminRouter from "./admin/router"; +import authRouter from "./auth/router"; +import clientsRouter from "./clients/router"; +import configRouter from "./config/router"; +import gamesRouter from "./games/router"; +import importRouter from "./import/router"; +import importsRouter from "./imports/router"; +import oauthRouter from "./oauth/router"; +import scoresRouter from "./scores/router"; +import searchRouter from "./search/router"; +import sessionsRouter from "./sessions/router"; +import statusRouter from "./status/router"; +import usersRouter from "./users/router"; +import { Router } from "express"; +import { NormalRateLimitMiddleware } from "server/middleware/rate-limiter"; + +const router: Router = Router({ mergeParams: true }); + +// Auth is up here so it can have special rate limiting rules, +// since it needs slightly harsher ones! +router.use("/auth", authRouter); + +// Everything else can use the normal rate limiter! +router.use(NormalRateLimitMiddleware); + +router.use("/admin", adminRouter); +router.use("/status", statusRouter); +router.use("/import", importRouter); +router.use("/imports", importsRouter); +router.use("/users", usersRouter); +router.use("/games", gamesRouter); +router.use("/search", searchRouter); +router.use("/scores", scoresRouter); +router.use("/sessions", sessionsRouter); +router.use("/oauth", oauthRouter); +router.use("/clients", clientsRouter); +router.use("/config", configRouter); + +/** + * Return a JSON 404 response if an endpoint is hit that does not exist. + * + * @name ALL /api/v1/* + */ +router.all("*", (req, res) => + res.status(404).json({ + success: false, + description: "Endpoint Not Found.", + }) +); + +export default router; diff --git a/server/src/server/router/api/v1/scores/_scoreID/middleware.ts b/server/src/server/router/api/v1/scores/_scoreID/middleware.ts new file mode 100644 index 000000000..0d45ea78e --- /dev/null +++ b/server/src/server/router/api/v1/scores/_scoreID/middleware.ts @@ -0,0 +1,50 @@ +import db from "external/mongo/db"; +import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi"; +import CreateLogCtx from "lib/logger/logger"; +import { AssignToReqTachiData, GetTachiData } from "utils/req-tachi-data"; +import { IsRequesterAdmin } from "utils/user"; +import type { RequestHandler } from "express"; + +const logger = CreateLogCtx(__filename); + +export const GetScoreFromParam: RequestHandler = async (req, res, next) => { + const score = await db.scores.findOne({ scoreID: req.params.scoreID }); + + if (!score) { + return res.status(404).json({ + success: false, + description: `This score does not exist.`, + }); + } + + AssignToReqTachiData(req, { scoreDoc: score }); + + next(); +}; + +export const RequireOwnershipOfScoreOrAdmin: RequestHandler = async (req, res, next) => { + const score = GetTachiData(req, "scoreDoc"); + const userID = req[SYMBOL_TACHI_API_AUTH].userID; + + if (userID === null) { + return res.status(401).json({ + success: false, + description: `You are not authorised as anyone, and this endpoint requires us to know who you are.`, + }); + } + + if (score.userID !== userID) { + if (await IsRequesterAdmin(req[SYMBOL_TACHI_API_AUTH])) { + logger.info(`Admin ${userID} interacted with someone elses .`); + next(); + return; + } + + return res.status(403).json({ + success: false, + description: `You are not authorised to perform this action.`, + }); + } + + next(); +}; diff --git a/server/src/server/router/api/v1/scores/_scoreID/router.test.ts b/server/src/server/router/api/v1/scores/_scoreID/router.test.ts new file mode 100644 index 000000000..a6780ce83 --- /dev/null +++ b/server/src/server/router/api/v1/scores/_scoreID/router.test.ts @@ -0,0 +1,292 @@ +import db from "external/mongo/db"; +import { UserAuthLevels } from "tachi-common"; +import t from "tap"; +import { CreateFakeAuthCookie } from "test-utils/fake-auth"; +import { mkFakeScoreIIDXSP } from "test-utils/misc"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { Testing511SPA } from "test-utils/test-data"; + +t.test("GET /api/v1/scores/:scoreID", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return the score at that ID.", async (t) => { + const res = await mockApi.get("/api/v1/scores/TESTING_SCORE_ID"); + + t.equal(res.body.body.score.scoreID, "TESTING_SCORE_ID"); + + t.end(); + }); + + t.test("Should return the associated data if the param is set.", async (t) => { + const res = await mockApi.get("/api/v1/scores/TESTING_SCORE_ID?getRelated=true"); + + t.equal(res.body.body.score.scoreID, "TESTING_SCORE_ID"); + t.equal(res.body.body.user.id, 1); + t.equal(res.body.body.chart.chartID, Testing511SPA.chartID); + t.equal(res.body.body.song.id, 1); + + t.end(); + }); + + t.test("Should return 404 if the score does not exist.", async (t) => { + const res = await mockApi.get("/api/v1/scores/not_real"); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.end(); +}); + +t.test("PATCH /api/v1/scores/:scoreID", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should modify the session if the user has permission to.", async (t) => { + const res = await mockApi + .patch("/api/v1/scores/TESTING_SCORE_ID") + .set("Authorization", "Bearer fake_api_token") + .send({ + comment: "hello_world", + }); + + t.equal(res.body.body.comment, "hello_world"); + + const score = await db.scores.findOne({ scoreID: "TESTING_SCORE_ID" }); + + t.equal(score?.comment, "hello_world"); + + t.end(); + }); + + t.test("Should modify highlighted status.", async (t) => { + const res = await mockApi + .patch("/api/v1/scores/TESTING_SCORE_ID") + .set("Authorization", "Bearer fake_api_token") + .send({ + highlight: true, + }); + + t.equal(res.body.body.highlight, true); + + const score = await db.scores.findOne({ scoreID: "TESTING_SCORE_ID" }); + + t.equal(score?.highlight, true); + + t.end(); + }); + + t.test("Should set comment status to null.", async (t) => { + const res = await mockApi + .patch("/api/v1/scores/TESTING_SCORE_ID") + .set("Authorization", "Bearer fake_api_token") + .send({ + comment: null, + }); + + t.equal(res.body.body.comment, null); + + const score = await db.scores.findOne({ scoreID: "TESTING_SCORE_ID" }); + + t.equal(score?.comment, null); + + t.end(); + }); + + t.test("Should restrict comments to those between 1 and 120 characters.", async (t) => { + const res = await mockApi + .patch("/api/v1/scores/TESTING_SCORE_ID") + .set("Authorization", "Bearer fake_api_token") + .send({ + comment: "", + }); + + t.equal(res.statusCode, 400); + t.match(res.body.description, /\[comment\]/u); + + const res2 = await mockApi + .patch("/api/v1/scores/TESTING_SCORE_ID") + .set("Authorization", "Bearer fake_api_token") + .send({ + comment: "a".repeat(121), + }); + + t.equal(res2.statusCode, 400); + t.match(res2.body.description, /\[comment\]/u); + + t.end(); + }); + + t.test("Should reject empty bodies.", async (t) => { + const res = await mockApi + .patch("/api/v1/scores/TESTING_SCORE_ID") + .set("Authorization", "Bearer fake_api_token") + .send({}); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.test("Should require authorisation as this user.", async (t) => { + await db["api-tokens"].insert({ + token: "some_dude", + userID: 2, + identifier: "Fake Token", + permissions: { + customise_score: true, + }, + fromAPIClient: null, + }); + + const res = await mockApi + .patch("/api/v1/scores/TESTING_SCORE_ID") + .set("Authorization", "Bearer some_dude") + .send({ + comment: "foo", + }); + + t.equal(res.statusCode, 403); + + t.match(res.body.description, /You are not authorised/u); + + t.end(); + }); + + t.test("Should require the customise_score permission", async (t) => { + await db["api-tokens"].insert({ + token: "some_token", + userID: 1, + identifier: "another fake token", + permissions: {}, + fromAPIClient: null, + }); + + const res = await mockApi + .patch("/api/v1/scores/TESTING_SCORE_ID") + .set("Authorization", "Bearer some_token") + .send({ + comment: "foo", + }); + + t.equal(res.statusCode, 403); + + t.match(res.body.description, /customise_score/u); + + t.end(); + }); + + t.end(); +}); + +t.test("DELETE /api/v1/scores/:scoreID", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should delete a score if the requester can.", async (t) => { + await db["api-tokens"].insert({ + userID: 1, + identifier: "foo", + permissions: { + delete_score: true, + }, + token: "foo", + fromAPIClient: null, + }); + + const res = await mockApi + .delete("/api/v1/scores/TESTING_SCORE_ID") + .set("Authorization", "Bearer foo"); + + t.equal(res.statusCode, 200); + + const dbScore = await db.scores.findOne({ scoreID: "TESTING_SCORE_ID" }); + + t.equal(dbScore, null, "Should remove the score from the database."); + + t.end(); + }); + + t.test("Should require authorisation as this user.", async (t) => { + await db["api-tokens"].insert({ + token: "some_dude", + userID: 2, + identifier: "Fake Token", + permissions: { + delete_score: true, + }, + fromAPIClient: null, + }); + + const res = await mockApi + .delete("/api/v1/scores/TESTING_SCORE_ID") + .set("Authorization", "Bearer some_dude") + .send({ + comment: "foo", + }); + + t.equal(res.statusCode, 403); + + t.match(res.body.description, /You are not authorised/u); + + t.end(); + }); + + t.test("Should require the delete_score permission", async (t) => { + await db["api-tokens"].insert({ + token: "some_token", + userID: 1, + identifier: "another fake token", + permissions: {}, + fromAPIClient: null, + }); + + const res = await mockApi + .delete("/api/v1/scores/TESTING_SCORE_ID") + .set("Authorization", "Bearer some_token") + .send(); + + t.equal(res.statusCode, 403); + + t.match(res.body.description, /delete_score/u); + + t.end(); + }); + + t.test("Should allow admins to delete other's scores", async (t) => { + const cookie = await CreateFakeAuthCookie(mockApi); + + await db.users.update( + { + id: 1, + }, + { + $set: { authLevel: UserAuthLevels.ADMIN }, + } + ); + + const someoneElsesScore = mkFakeScoreIIDXSP({ userID: 2, scoreID: "someone_elses" }); + + await db.scores.insert(someoneElsesScore); + + const res = await mockApi + .delete(`/api/v1/scores/${someoneElsesScore.scoreID}`) + .set("Cookie", cookie); + + t.equal(res.statusCode, 200, "Should return 200."); + + t.strictSame(res.body.body, {}, "The response body should be empty."); + + t.resolveMatch( + db.scores.findOne({ scoreID: someoneElsesScore.scoreID }), + + // @ts-expect-error https://github.com/DefinitelyTyped/DefinitelyTyped/pull/60020 + null, + "The score should be deleted." + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/scores/_scoreID/router.ts b/server/src/server/router/api/v1/scores/_scoreID/router.ts new file mode 100644 index 000000000..ee75bac93 --- /dev/null +++ b/server/src/server/router/api/v1/scores/_scoreID/router.ts @@ -0,0 +1,171 @@ +import { GetScoreFromParam, RequireOwnershipOfScoreOrAdmin } from "./middleware"; +import { Router } from "express"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { DeleteScore } from "lib/score-mutation/delete-scores"; +import p from "prudence"; +import { RequirePermissions } from "server/middleware/auth"; +import prValidate from "server/middleware/prudence-validate"; +import { GetTachiData } from "utils/req-tachi-data"; +import { GetUserWithID } from "utils/user"; + +const router: Router = Router({ mergeParams: true }); + +const logger = CreateLogCtx(__filename); + +router.use(GetScoreFromParam); + +/** + * Retrieve the score document at this ID. + * + * @param getRelated - Gets the related song and chart document for this score, aswell. + * + * @name GET /api/v1/scores/:scoreID + */ +router.get("/", async (req, res) => { + const score = GetTachiData(req, "scoreDoc"); + + if (req.query.getRelated !== undefined) { + const [user, chart, song] = await Promise.all([ + GetUserWithID(score.userID), + db.charts[score.game].findOne({ chartID: score.chartID }), + db.songs[score.game].findOne({ id: score.songID }), + ]); + + if (!user || !chart || !song) { + logger.error( + `Score ${ + score.scoreID + } refers to non-existent data: [user,chart,song] [${!!user} ${!!chart} ${!!song}]` + ); + + return res.status(500).json({ + success: false, + description: `An internal server error has occured.`, + }); + } + + return res.status(200).json({ + success: true, + description: `Returned score.`, + body: { + score, + user, + song, + chart, + }, + }); + } + + return res.status(200).json({ + success: true, + description: `Returned score.`, + body: { + score, + }, + }); +}); + +interface ModifiableScoreProps { + comment?: string | null; + highlight?: boolean; +} + +/** + * Modifies a score. + * + * Requires you to be the owner of this score, and have the modify_scores permission. + * + * @name PATCH /api/v1/scores/:scoreID + */ +router.patch( + "/", + RequireOwnershipOfScoreOrAdmin, + RequirePermissions("customise_score"), + prValidate({ + comment: p.optional(p.nullable(p.isBoundedString(1, 120))), + highlight: "*boolean", + }), + async (req, res) => { + const body = req.safeBody as { + comment?: string | null; + highlight?: boolean; + }; + + const score = GetTachiData(req, "scoreDoc"); + + const modifyOption: ModifiableScoreProps = {}; + + if (body.comment !== undefined) { + modifyOption.comment = body.comment; + } + + if (body.highlight !== undefined) { + modifyOption.highlight = body.highlight; + } + + if (Object.keys(modifyOption).length === 0) { + return res.status(400).json({ + success: false, + description: `This request modifies nothing about the score.`, + }); + } + + const newScore = await db.scores.findOneAndUpdate( + { scoreID: score.scoreID }, + { $set: modifyOption } + ); + + if (modifyOption.highlight === true || modifyOption.highlight === false) { + await db["personal-bests"].findOneAndUpdate( + { + chartID: score.chartID, + userID: score.userID, + }, + { + $set: { + highlight: modifyOption.highlight, + }, + } + ); + } + + return res.status(200).json({ + success: true, + description: `Updated score.`, + body: newScore, + }); + } +); + +/** + * Deletes the score. + * + * @param blacklist - Whether to blacklist this scoreID or not. + * A blacklisted score will never be reimported. + * + * @name DELETE /api/v1/scores/:scoreID + */ +router.delete( + "/", + RequireOwnershipOfScoreOrAdmin, + prValidate({ blacklist: "*boolean" }), + RequirePermissions("delete_score"), + async (req, res) => { + const body = req.safeBody as { + blacklist?: boolean; + }; + + const score = GetTachiData(req, "scoreDoc"); + + await DeleteScore(score, body.blacklist); + + return res.status(200).json({ + success: true, + description: `Successfully deleted score.`, + body: {}, + }); + } +); + +export default router; diff --git a/server/src/server/router/api/v1/scores/router.ts b/server/src/server/router/api/v1/scores/router.ts new file mode 100644 index 000000000..31798b608 --- /dev/null +++ b/server/src/server/router/api/v1/scores/router.ts @@ -0,0 +1,15 @@ +import scoreIDRouter from "./_scoreID/router"; +import { Router } from "express"; + +const router: Router = Router({ mergeParams: true }); + +/** + * Nothing? Maybe we can think of a good use for this endpoint at some point. + * + * @name GET /api/v1/scores/:scoreID + */ +// router.get("/", async (req, res) => {}); + +router.use("/:scoreID", scoreIDRouter); + +export default router; diff --git a/server/src/server/router/api/v1/search/router.test.ts b/server/src/server/router/api/v1/search/router.test.ts new file mode 100644 index 000000000..72771627b --- /dev/null +++ b/server/src/server/router/api/v1/search/router.test.ts @@ -0,0 +1,153 @@ +import db from "external/mongo/db"; +import t from "tap"; +import { mkFakeGameSettings, mkFakeUser } from "test-utils/misc"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { LoadTachiIIDXData } from "test-utils/test-data"; +import type { ChartDocument, SongDocument } from "tachi-common"; + +t.test("GET /api/v1/search", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(LoadTachiIIDXData); + + t.test("Should search users and songs.", async (t) => { + const res = await mockApi.get("/api/v1/search?search=zkldi"); + + t.equal(res.body.body.users.length, 1); + + t.equal(res.body.body.users[0].username, "test_zkldi"); + t.equal(res.body.body.users[0].__isRival, false); + + t.end(); + }); + + t.test("Should highlight users as rivals if they're rivals of the requester", async (t) => { + await db.users.insert( + mkFakeUser(2, { username: "scoobydoo", usernameLowercase: "scoobydoo" }) + ); + + await db["game-settings"].remove({}); + await db["game-settings"].insert(mkFakeGameSettings(1, "iidx", "SP", { rivals: [2] })); + + const res = await mockApi + .get("/api/v1/search?search=scoobydoo") + .set("Authorization", "Bearer fake_api_token"); + + t.equal(res.body.body.users.length, 1); + + t.equal(res.body.body.users[0].__isRival, true); + + t.end(); + }); + + t.test("Should search songs.", async (t) => { + const res = await mockApi.get("/api/v1/search?search=AA"); + + t.strictSame( + res.body.body.songs.map((e: SongDocument) => e.title), + ["AA", "AA -rebuild-"] + ); + + t.end(); + }); + + t.test("Should search charts.", async (t) => { + const res = await mockApi.get("/api/v1/search?search=AA"); + + t.strictSame( + res.body.body.charts.map((e: ChartDocument) => e.chartID), + [ + "f50fada294fd94afb48215c172bafcd686abf80d", + "dc63134bd7da647e67e6074f37179da30739ef62", + "0f059e53963850860c98298b9b9c25e07c3a35df", + "0e1fbd5bfe34351cb8c4869eddebc34241ec4546", + "c873be77d89ae1bc3c1bac75ddf9b2de5a3fe6af", + "95bd4cfdc20bf8a510abe7fa07fe6bb7393e95ab", + "45c4c6c8fc966c1456206f713110b463f9bedde2", + "15c2dc36d57a469ce6e0655ef968528149f08854", + "557a1536509108ab9a0e146110a3227fc0c5b0aa", + "294f86a9f4dc7116d82f3d495c5aae59f093030a", + "fb057b61b91df7fb01027182d3be01aadebcec94", + "29b8fb636805f70b8918ff4654838b474619154f", + ] + ); + + t.end(); + }); + + t.test("Should reject requests without a query.", async (t) => { + const res = await mockApi.get("/api/v1/search"); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/search/chart-hash", (t) => { + const BMS_MD5 = "38616b85332037cc12924f2ae2840262"; + const BMS_SHA2 = "195fe1be5c3e74fccd04dc426e05f8a9cfa8a1059c339d0a23e99f63661f0b7d"; + const PMS_MD5 = "d1253dd56bb2087d0b0d474f0d562aae"; + const PMS_SHA2 = "a10193f7ae05ce839292dc716f182fda0b1cc6ac5382c2056f37e22ffba87b7d"; + + // this is apparantly what our mock data uses. + const USC_SHA1 = "USC_CHART_HASH"; + + t.test("Should return a BMS chart if the MD5 matches.", async (t) => { + const res = await mockApi.get(`/api/v1/search/chart-hash?search=${BMS_MD5}`); + + t.equal(res.body.body.charts[0].data.hashMD5, BMS_MD5); + t.equal(res.body.body.songs[0].game, "bms"); + + t.end(); + }); + + t.test("Should return a BMS chart if the SHA2 matches.", async (t) => { + const res = await mockApi.get(`/api/v1/search/chart-hash?search=${BMS_SHA2}`); + + t.equal(res.body.body.charts[0].data.hashSHA256, BMS_SHA2); + t.equal(res.body.body.songs[0].game, "bms"); + + t.end(); + }); + + t.test("Should return a PMS chart if the MD5 matches.", async (t) => { + const res = await mockApi.get(`/api/v1/search/chart-hash?search=${PMS_MD5}`); + + t.equal(res.body.body.charts[0].data.hashMD5, PMS_MD5); + t.equal(res.body.body.songs[0].game, "pms"); + + t.end(); + }); + + t.test("Should return a PMS chart if the SHA2 matches.", async (t) => { + const res = await mockApi.get(`/api/v1/search/chart-hash?search=${PMS_SHA2}`); + + t.equal(res.body.body.charts[0].data.hashSHA256, PMS_SHA2); + t.equal(res.body.body.songs[0].game, "pms"); + + t.end(); + }); + + t.test("Should return a USC chart if the SHA1 matches.", async (t) => { + const res = await mockApi.get(`/api/v1/search/chart-hash?search=${USC_SHA1}`); + + t.equal(res.body.body.charts[0].data.hashSHA1, USC_SHA1); + t.equal(res.body.body.songs[0].game, "usc"); + + t.end(); + }); + + t.test("Should return nothing if the hash matches nothing.", async (t) => { + const res = await mockApi.get(`/api/v1/search/chart-hash?search=CHART_THAT_DOESNT_EXIST`); + + t.equal(res.body.body.charts.length, 0); + t.equal(res.body.body.songs.length, 0); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/search/router.ts b/server/src/server/router/api/v1/search/router.ts new file mode 100644 index 000000000..969e014b6 --- /dev/null +++ b/server/src/server/router/api/v1/search/router.ts @@ -0,0 +1,118 @@ +import { Router } from "express"; +import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi"; +import { + SearchFolders, + SearchForChartHash, + SearchGamesSongsCharts, + SearchUsersRegExp, +} from "lib/search/search"; +import { TachiConfig } from "lib/setup/config"; +import { RequireBokutachi } from "server/middleware/type-require"; +import { IsString } from "utils/misc"; +import { GetAllUserRivals, GetUserPlayedGPTs } from "utils/user"; +import type { FilterQuery } from "mongodb"; +import type { FolderDocument, Game, integer, PublicUserDocument, SongDocument } from "tachi-common"; + +const router: Router = Router({ mergeParams: true }); + +/** + * Performs a generic "search" across Tachi. + * + * @param search - The criteria to search on. + * + * @name GET /api/v1/search + */ +router.get("/", async (req, res) => { + if (!IsString(req.query.search)) { + return res.status(400).json({ + success: false, + description: "No search parameter given.", + }); + } + + const userID = req[SYMBOL_TACHI_API_AUTH].userID; + + let filter: FilterQuery = {}; + let relevantGames: Array = TachiConfig.GAMES; + + if (userID !== null) { + // if the requesting user exists, and they've set this param, + // only return info related to games they've played. + if (IsString(req.query.hasPlayedGame)) { + const gpts = await GetUserPlayedGPTs(userID); + + // @hack This is a bit lazy. We should really be filtering the user stuff + // on GPTs with an $or query. + filter = { + game: { $in: gpts.map((e) => e.game) }, + playtype: { $in: gpts.map((e) => e.playtype) }, + }; + + relevantGames = gpts.map((e) => e.game); + } + } + + const [users, songChartData, folders] = await Promise.all([ + SearchUsersRegExp(req.query.search), + SearchGamesSongsCharts(req.query.search, relevantGames), + SearchFolders(req.query.search, filter), + ]); + + const songs = songChartData.flatMap((e) => e.songs.map((song) => ({ game: e.game, ...song }))); + const charts = songChartData.flatMap((e) => + e.charts.map((chart) => ({ game: e.game, ...chart })) + ); + + // @ts-expect-error Handled below -- the field is added by the below for loop. + const usersWithRivalTag: Array = users; + + let rivals: Array = []; + + if (userID !== null) { + rivals = await GetAllUserRivals(userID); + } + + for (const user of usersWithRivalTag) { + user.__isRival = rivals.includes(user.id); + } + + return res.status(200).json({ + success: true, + description: `Searched everything.`, + body: { + users, + songs, + charts, + folders, + }, + }); +}); + +/** + * Search checksums for charts, instead of matching on song title. + * + * @param search - The hash to search on + * + * @note This matches MD5 and SHA256 for BMS/PMS, and SHA1 for USC. + */ +router.get("/chart-hash", RequireBokutachi, async (req, res) => { + if (!IsString(req.query.search)) { + return res.status(400).json({ + success: false, + description: "No search parameter given.", + }); + } + + const { songs, charts } = await SearchForChartHash(req.query.search); + + return res.status(200).json({ + success: true, + description: `Searched BMS, PMS and USC for ${req.query.search}.`, + body: { + songs, + charts, + }, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/sessions/_sessionID/middleware.ts b/server/src/server/router/api/v1/sessions/_sessionID/middleware.ts new file mode 100644 index 000000000..2cb22b1e1 --- /dev/null +++ b/server/src/server/router/api/v1/sessions/_sessionID/middleware.ts @@ -0,0 +1,85 @@ +import db from "external/mongo/db"; +import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi"; +import CreateLogCtx from "lib/logger/logger"; +import { AssignToReqTachiData, GetTachiData } from "utils/req-tachi-data"; +import type { RequestHandler } from "express"; + +const logger = CreateLogCtx(__filename); + +export const GetSessionFromParam: RequestHandler = async (req, res, next) => { + const session = await db.sessions.findOne({ + sessionID: req.params.sessionID, + }); + + if (!session) { + return res.status(404).json({ + success: false, + description: `This session does not exist.`, + }); + } + + AssignToReqTachiData(req, { sessionDoc: session }); + + next(); +}; + +export const RequireOwnershipOfSession: RequestHandler = (req, res, next) => { + const userID = req[SYMBOL_TACHI_API_AUTH].userID; + const session = GetTachiData(req, "sessionDoc"); + + if (userID !== session.userID) { + return res.status(403).json({ + success: false, + description: `You are not authorised to modify this session.`, + }); + } + + next(); +}; + +export const UpdateSessionViewcount: RequestHandler = async (req, res, next) => { + const session = GetTachiData(req, "sessionDoc"); + + // Maybe we could improve how this cache works using redis. Maybe. + // we don't need to actually check timestamp - this collection expires documents every 24hours. + const hasViewedRecently = await db["session-view-cache"].findOne({ + sessionID: session.sessionID, + ip: req.ip, + }); + + if (hasViewedRecently) { + next(); + return; + } + + // This sometimes fails due to a race condition in the above statement. + // @hack I've just lazily wrapped this in a try catch -> continue flow. + // Maybe there'll be a neater solution. + try { + await db["session-view-cache"].insert({ + sessionID: session.sessionID, + ip: req.ip, + timestamp: Date.now(), + }); + + await db.sessions.update( + { + sessionID: session.sessionID, + }, + { + $inc: { + views: 1, + }, + } + ); + + // increment locally so that the right state is shown to the end user. + session.views++; + } catch (_err) { + logger.debug( + `Race condition protection triggered in UpdateSessionViewcount for ${session.sessionID}. Ignoring.` + ); + } + + next(); +}; diff --git a/server/src/server/router/api/v1/sessions/_sessionID/router.test.ts b/server/src/server/router/api/v1/sessions/_sessionID/router.test.ts new file mode 100644 index 000000000..c9e411322 --- /dev/null +++ b/server/src/server/router/api/v1/sessions/_sessionID/router.test.ts @@ -0,0 +1,204 @@ +import db from "external/mongo/db"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { Testing511SPA } from "test-utils/test-data"; + +const TESTING_SESSION_ID = "Qe7b00261b1d3ba8e5c9ee4e76e77ea9f07d9493b"; + +t.test("GET /api/v1/sessions/:sessionID", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return the session at this ID", async (t) => { + const res = await mockApi.get(`/api/v1/sessions/${TESTING_SESSION_ID}`); + + t.equal(res.body.body.session.sessionID, TESTING_SESSION_ID); + + t.equal(res.body.body.charts.length, 1); + t.equal(res.body.body.charts[0].chartID, Testing511SPA.chartID); + + t.equal(res.body.body.songs.length, 1); + t.equal(res.body.body.songs[0].id, 1); + + t.equal(res.body.body.scores.length, 1); + t.equal(res.body.body.scores[0].scoreID, "TESTING_SCORE_ID"); + + t.equal(res.body.body.user.id, 1); + + t.end(); + }); + + t.test("Should return 404 if the session does not exist.", async (t) => { + const res = await mockApi.get("/api/v1/sessions/fake_session"); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.end(); +}); + +t.test("PATCH /api/v1/sessions/:sessionID", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should modify the session if the user has permission to.", async (t) => { + const res = await mockApi + .patch(`/api/v1/sessions/${TESTING_SESSION_ID}`) + .set("Authorization", "Bearer fake_api_token") + .send({ + name: "hello_world", + }); + + t.equal(res.body.body.name, "hello_world"); + + const session = await db.sessions.findOne({ sessionID: TESTING_SESSION_ID }); + + t.equal(session?.name, "hello_world", "Should update the session in the database."); + + t.end(); + }); + + t.test("Should modify highlighted status.", async (t) => { + const res = await mockApi + .patch(`/api/v1/sessions/${TESTING_SESSION_ID}`) + .set("Authorization", "Bearer fake_api_token") + .send({ + highlight: true, + }); + + t.equal(res.body.body.highlight, true); + + const session = await db.sessions.findOne({ sessionID: TESTING_SESSION_ID }); + + t.equal(session?.highlight, true); + + t.end(); + }); + + t.test("Should set description.", async (t) => { + const res = await mockApi + .patch(`/api/v1/sessions/${TESTING_SESSION_ID}`) + .set("Authorization", "Bearer fake_api_token") + .send({ + desc: "foobar", + }); + + t.equal(res.body.body.desc, "foobar"); + + const session = await db.sessions.findOne({ sessionID: TESTING_SESSION_ID }); + + t.equal(session?.desc, "foobar"); + + t.end(); + }); + + t.test("Should restrict names to those between 3 and 80 chars.", async (t) => { + const res = await mockApi + .patch(`/api/v1/sessions/${TESTING_SESSION_ID}`) + .set("Authorization", "Bearer fake_api_token") + .send({ + name: "a", + }); + + t.equal(res.statusCode, 400); + t.match(res.body.description, /\[name\]/u); + + const res2 = await mockApi + .patch(`/api/v1/sessions/${TESTING_SESSION_ID}`) + .set("Authorization", "Bearer fake_api_token") + .send({ + name: "a".repeat(81), + }); + + t.equal(res2.statusCode, 400); + t.match(res2.body.description, /\[name\]/u); + + t.end(); + }); + + t.test("Should restrict descs to those between 3 and 120 chars.", async (t) => { + const res = await mockApi + .patch(`/api/v1/sessions/${TESTING_SESSION_ID}`) + .set("Authorization", "Bearer fake_api_token") + .send({ + desc: "a", + }); + + t.equal(res.statusCode, 400); + t.match(res.body.description, /\[desc\]/u); + + const res2 = await mockApi + .patch(`/api/v1/sessions/${TESTING_SESSION_ID}`) + .set("Authorization", "Bearer fake_api_token") + .send({ + desc: "a".repeat(121), + }); + + t.equal(res2.statusCode, 400); + t.match(res2.body.description, /\[desc\]/u); + + t.end(); + }); + + t.test("Should reject empty bodies.", async (t) => { + const res = await mockApi + .patch(`/api/v1/sessions/${TESTING_SESSION_ID}`) + .set("Authorization", "Bearer fake_api_token") + .send({}); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.test("Should require authorisation as this user.", async (t) => { + await db["api-tokens"].insert({ + token: "some_dude", + userID: 2, + identifier: "Fake Token", + permissions: { + customise_session: true, + }, + fromAPIClient: null, + }); + + const res = await mockApi + .patch(`/api/v1/sessions/${TESTING_SESSION_ID}`) + .set("Authorization", "Bearer some_dude") + .send({ + comment: "foo", + }); + + t.equal(res.statusCode, 403); + + t.match(res.body.description, /You are not authorised/u); + + t.end(); + }); + + t.test("Should require the customise_session permission", async (t) => { + await db["api-tokens"].insert({ + token: "some_token", + userID: 1, + identifier: "another fake token", + permissions: {}, + fromAPIClient: null, + }); + + const res = await mockApi + .patch(`/api/v1/sessions/${TESTING_SESSION_ID}`) + .set("Authorization", "Bearer some_token") + .send({ + comment: "foo", + }); + + t.equal(res.statusCode, 403); + + t.match(res.body.description, /customise_session/u); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/sessions/_sessionID/router.ts b/server/src/server/router/api/v1/sessions/_sessionID/router.ts new file mode 100644 index 000000000..2efd81de8 --- /dev/null +++ b/server/src/server/router/api/v1/sessions/_sessionID/router.ts @@ -0,0 +1,127 @@ +import { + GetSessionFromParam, + RequireOwnershipOfSession, + UpdateSessionViewcount, +} from "./middleware"; +import { Router } from "express"; +import db from "external/mongo/db"; +import p from "prudence"; +import { RequirePermissions } from "server/middleware/auth"; +import prValidate from "server/middleware/prudence-validate"; +import { GetTachiData } from "utils/req-tachi-data"; +import { GetUserWithID } from "utils/user"; + +const router: Router = Router({ mergeParams: true }); + +router.use(GetSessionFromParam); + +/** + * Retrieves the session, its scores and the related songs and charts. + * + * @name GET /api/v1/sessions/:sessionID + */ +router.get("/", UpdateSessionViewcount, async (req, res) => { + const session = GetTachiData(req, "sessionDoc"); + + const scores = await db.scores.find({ + scoreID: { $in: session.scoreInfo.map((e) => e.scoreID) }, + }); + + const [songs, charts, user] = await Promise.all([ + db.songs[session.game].find({ + id: { $in: scores.map((e) => e.songID) }, + }), + db.charts[session.game].find({ + chartID: { $in: scores.map((e) => e.chartID) }, + }), + GetUserWithID(session.userID), + ]); + + return res.status(200).json({ + success: true, + description: `Successfully returned session ${session.name}.`, + body: { + session, + songs, + charts, + scores, + user, + }, + }); +}); + +interface ModifiableSessionProps { + name?: string; + desc?: string; + highlight?: boolean; +} + +/** + * Modifies a session. + * + * Requires the requester to be the owner of the session, alongside having the + * customise_session permission. + * + * @param name - A new name for the session. + * @param desc - A new desc for the session. + * @param highlight - Update the highlighted state of the session with this. + * + * @name PATCH /api/v1/sessions/:sessionID + */ +router.patch( + "/", + RequireOwnershipOfSession, + RequirePermissions("customise_session"), + prValidate( + { + name: p.optional(p.isBoundedString(3, 80)), + desc: p.optional(p.isBoundedString(3, 120)), + highlight: "*boolean", + }, + {}, + { allowExcessKeys: true } + ), + async (req, res) => { + const session = GetTachiData(req, "sessionDoc"); + + const updateExp: ModifiableSessionProps = {}; + + const body = req.safeBody as { + name?: string; + desc?: string; + highlight?: boolean; + }; + + if (body.name) { + updateExp.name = body.name; + } + + if (body.desc) { + updateExp.desc = body.desc; + } + + if (typeof body.highlight === "boolean") { + updateExp.highlight = body.highlight; + } + + if (Object.keys(updateExp).length === 0) { + return res.status(400).json({ + success: false, + description: `This request modifies nothing about this session.`, + }); + } + + const newSession = await db.sessions.findOneAndUpdate( + { sessionID: session.sessionID }, + { $set: updateExp } + ); + + return res.status(200).json({ + success: true, + description: `Updated Session.`, + body: newSession, + }); + } +); + +export default router; diff --git a/server/src/server/router/api/v1/sessions/router.ts b/server/src/server/router/api/v1/sessions/router.ts new file mode 100644 index 000000000..c72c5707e --- /dev/null +++ b/server/src/server/router/api/v1/sessions/router.ts @@ -0,0 +1,15 @@ +import sessionIDRouter from "./_sessionID/router"; +import { Router } from "express"; + +const router: Router = Router({ mergeParams: true }); + +/** + * nothing, yet. + * + * @name GET /api/v1/sessions + */ +// router.get("/", async (req, res) => {}); + +router.use("/:sessionID", sessionIDRouter); + +export default router; diff --git a/server/src/server/router/api/v1/status/router.test.ts b/server/src/server/router/api/v1/status/router.test.ts new file mode 100644 index 000000000..47111388f --- /dev/null +++ b/server/src/server/router/api/v1/status/router.test.ts @@ -0,0 +1,84 @@ +import { VERSION_PRETTY } from "lib/constants/version"; +import t from "tap"; +import { CreateFakeAuthCookie } from "test-utils/fake-auth"; +import mockApi from "test-utils/mock-api"; + +t.test("GET /api/v1/status", async (t) => { + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should return the current time and the server version.", async (t) => { + const res = await mockApi.get("/api/v1/status").set("Cookie", cookie); + + t.equal(res.statusCode, 200); + t.equal(res.body.success, true); + t.ok( + Math.abs(Date.now() - res.body.body.serverTime) < 5_000, + "Should be roughly the current time (5 seconds lenience)" + ); + t.type(res.body.body.startTime, "number", "Should return a number for startTime."); + t.equal(res.body.body.version, VERSION_PRETTY); + t.equal(res.body.body.whoami, 1); + + t.end(); + }); + + t.test("Should echo the provided echo param.", async (t) => { + const res = await mockApi.get("/api/v1/status?echo=foobar").set("Cookie", cookie); + + t.equal(res.statusCode, 200); + t.equal(res.body.success, true); + t.equal(res.body.body.echo, "foobar"); + t.ok( + Math.abs(Date.now() - res.body.body.serverTime) < 5_000, + "Should be roughly the current time (5 seconds lenience)" + ); + t.type(res.body.body.startTime, "number", "Should return a number for startTime."); + t.equal(res.body.body.version, VERSION_PRETTY); + t.equal(res.body.body.whoami, 1); + + t.end(); + }); + + t.end(); +}); + +t.test("POST /api/v1/status", async (t) => { + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should return the current time and the server version.", async (t) => { + const res = await mockApi.post("/api/v1/status").set("Cookie", cookie); + + t.equal(res.statusCode, 200); + t.equal(res.body.success, true); + t.ok( + Math.abs(Date.now() - res.body.body.serverTime) < 5_000, + "Should be roughly the current time (5 seconds lenience)" + ); + t.equal(res.body.body.version, VERSION_PRETTY); + t.equal(res.body.body.whoami, 1); + t.type(res.body.body.startTime, "number", "Should return a number for startTime."); + + t.end(); + }); + + t.test("Should echo the provided echo param.", async (t) => { + const res = await mockApi.post("/api/v1/status").set("Cookie", cookie).send({ + echo: "foobar", + }); + + t.equal(res.statusCode, 200); + t.equal(res.body.success, true); + t.equal(res.body.body.echo, "foobar"); + t.ok( + Math.abs(Date.now() - res.body.body.serverTime) < 5_000, + "Should be roughly the current time (5 seconds lenience)" + ); + t.equal(res.body.body.version, VERSION_PRETTY); + t.equal(res.body.body.whoami, 1); + t.type(res.body.body.startTime, "number", "Should return a number for startTime."); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/status/router.ts b/server/src/server/router/api/v1/status/router.ts new file mode 100644 index 000000000..d9ef232ff --- /dev/null +++ b/server/src/server/router/api/v1/status/router.ts @@ -0,0 +1,70 @@ +import { Router } from "express"; +import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi"; +import { VERSION_PRETTY } from "lib/constants/version"; + +const router: Router = Router({ mergeParams: true }); + +const startTime = Date.now(); + +/** + * Returns the current status of the Tachi Server. + * + * @name GET /api/v1/status + */ +router.get("/", (req, res) => { + let echo; + + if (typeof req.query.echo === "string") { + echo = req.query.echo; + } + + return res.status(200).json({ + success: true, + description: "Status check successful.", + body: { + serverTime: Date.now(), + startTime, + version: VERSION_PRETTY, + whoami: req[SYMBOL_TACHI_API_AUTH].userID, + + // converts {foo: true, bar: false, baz: true} into [foo, baz] + permissions: Object.entries(req[SYMBOL_TACHI_API_AUTH].permissions) + .filter((e) => e[1]) + .map((e) => e[0]), + echo, + }, + }); +}); + +/** + * Returns the current status of the Tachi Server, but as a POST + * request, for that kind of testing. + * + * @name POST /api/v1/status + */ +router.post("/", (req, res) => { + let echo; + + if (typeof req.safeBody.echo === "string") { + echo = req.safeBody.echo; + } + + return res.status(200).json({ + success: true, + description: "Status check successful.", + body: { + serverTime: Date.now(), + startTime, + version: VERSION_PRETTY, + whoami: req[SYMBOL_TACHI_API_AUTH].userID, + + // converts {foo: true, bar: false, baz: true} into [foo, baz] + permissions: Object.entries(req[SYMBOL_TACHI_API_AUTH].permissions) + .filter((e) => e[1]) + .map((e) => e[0]), + echo, + }, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/api-tokens/router.test.ts b/server/src/server/router/api/v1/users/_userID/api-tokens/router.test.ts new file mode 100644 index 000000000..41561b56d --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/api-tokens/router.test.ts @@ -0,0 +1,288 @@ +import db from "external/mongo/db"; +import t from "tap"; +import { CreateFakeAuthCookie } from "test-utils/fake-auth"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import type { PublicUserDocument } from "tachi-common"; + +t.test("GET /api/v1/users/:userID/api-tokens", async (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(async () => { + await db["api-tokens"].remove({}); + await db["api-tokens"].insert([ + { + userID: 1, + identifier: "foo", + permissions: {}, + token: "tfoo", + fromAPIClient: null, + }, + { + userID: 1, + identifier: "bar", + permissions: {}, + token: "tbar", + fromAPIClient: null, + }, + { + userID: 2, + identifier: "baz", + permissions: {}, + token: "tbaz", + fromAPIClient: null, + }, + ]); + }); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should return this users tokens alone.", async (t) => { + const res = await mockApi.get("/api/v1/users/1/api-tokens").set("Cookie", cookie); + + t.equal(res.statusCode, 200); + + // sort these alphabetically so that strictsame can work properly + t.strictSame( + // eslint-disable-next-line @typescript-eslint/no-explicit-any + res.body.body.sort((a: any, b: any) => a.identifier - b.identifier), + [ + { + userID: 1, + identifier: "foo", + permissions: {}, + token: "tfoo", + fromAPIClient: null, + }, + { + userID: 1, + identifier: "bar", + permissions: {}, + token: "tbar", + fromAPIClient: null, + }, + ] + ); + + t.end(); + }); + + t.test("Should require authentication as that user.", async (t) => { + const res = await mockApi.get("/api/v1/users/1/api-tokens"); + + t.equal(res.statusCode, 401); + + await db.users.insert({ + username: "test", + usernameLowercase: "test", + id: 2, + } as PublicUserDocument); + + const res2 = await mockApi.get("/api/v1/users/2/api-tokens").set("Cookie", cookie); + + t.equal(res2.statusCode, 403); + + t.end(); + }); + + t.end(); +}); + +t.test("DELETE /api/v1/users/:userID/api-tokens/:token", async (t) => { + t.beforeEach(ResetDBState); + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should delete the cookie at that token.", async (t) => { + const res = await mockApi + .delete("/api/v1/users/1/api-tokens/fake_api_token") + .set("Cookie", cookie); + + t.equal(res.statusCode, 200); + + const dbRes = await db["api-tokens"].findOne({ + token: "fake_api_token", + }); + + t.equal(dbRes, null, "Should delete the token in the database"); + + t.end(); + }); + + t.test("Returns 404 if token doesn't exist.", async (t) => { + const res = await mockApi + .delete("/api/v1/users/1/api-tokens/non_exist_token") + .set("Cookie", cookie); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.test("Must return 404 if the token belongs to another user.", async (t) => { + await db["api-tokens"].insert({ + identifier: "foo", + permissions: {}, + token: "foo", + userID: 2, + fromAPIClient: null, + }); + + const res = await mockApi.delete("/api/v1/users/1/api-tokens/foo").set("Cookie", cookie); + + // so as not to reveal that this token exists. + t.equal(res.statusCode, 404); + + const dbRes = await db["api-tokens"].findOne({ token: "foo" }); + + t.not(dbRes, null, "Should not have deleted the token."); + + t.end(); + }); + + t.test("Must require authentication as that user.", async (t) => { + const res = await mockApi.delete("/api/v1/users/1/api-tokens/foo"); + + t.equal(res.statusCode, 401); + + t.end(); + }); + + t.end(); +}); + +t.test("POST /api/v1/users/:userID/api-tokens/create", async (t) => { + t.beforeEach(ResetDBState); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should create a new API Key for this user with provided permissions.", async (t) => { + const res = await mockApi + .post("/api/v1/users/1/api-tokens/create") + .set("Cookie", cookie) + .send({ + identifier: "Hello World", + permissions: ["submit_score", "customise_profile"], + }); + + t.equal(res.statusCode, 200, "Should return 200."); + + t.hasStrict( + res.body.body, + { + identifier: "Hello World", + permissions: { submit_score: true, customise_profile: true }, + userID: 1, + fromAPIClient: null, + }, + "Should return a conforming API Token." + ); + + const dbRes = await db["api-tokens"].findOne({ + identifier: "Hello World", + }); + + t.hasStrict( + dbRes, + { + identifier: "Hello World", + permissions: { submit_score: true, customise_profile: true }, + userID: 1, + fromAPIClient: null, + }, + "Should insert a conforming API Token into the database." + ); + + t.end(); + }); + + t.test( + "Should create a new API Key for this user according to an existing clientID.", + async (t) => { + const res = await mockApi + .post("/api/v1/users/1/api-tokens/create") + .set("Cookie", cookie) + .send({ + clientID: "OAUTH2_CLIENT_ID", + }); + + t.equal(res.statusCode, 200, "Should return 200."); + + t.hasStrict( + res.body.body, + { + identifier: "Test_Service", + permissions: { customise_profile: true }, + userID: 1, + fromAPIClient: "OAUTH2_CLIENT_ID", + }, + "Should return a conforming API Token, with the permissions from that client." + ); + + const dbRes = await db["api-tokens"].findOne({ + identifier: "Test_Service", + }); + + t.hasStrict( + dbRes, + { + identifier: "Test_Service", + permissions: { customise_profile: true }, + userID: 1, + fromAPIClient: "OAUTH2_CLIENT_ID", + }, + "Should insert a conforming API Token into the database." + ); + + t.end(); + } + ); + + t.test("Should reject requests that use both provided permissions and clientID.", async (t) => { + const res = await mockApi + .post("/api/v1/users/1/api-tokens/create") + .set("Cookie", cookie) + .send({ + identifier: "Hello World", + permissions: ["submit_score", "customise_profile"], + clientID: "OAUTH2_CLIENT_ID", + }); + + t.equal(res.statusCode, 400, "Should return 400."); + t.match( + res.body.description, + /clientID creation and permissions creation at the same time/iu + ); + + t.end(); + }); + + t.test("Should reject requests with no provided permissions or clientID.", async (t) => { + const res = await mockApi + .post("/api/v1/users/1/api-tokens/create") + .set("Cookie", cookie) + .send({ + identifier: "Hello World", + }); + + t.equal(res.statusCode, 400, "Should return 400."); + t.match(res.body.description, /must specify either clientID or permissions/iu); + + t.end(); + }); + + t.test("Should reject invalid permissions.", async (t) => { + const res = await mockApi + .post("/api/v1/users/1/api-tokens/create") + .set("Cookie", cookie) + .send({ + identifier: "Hello World", + permissions: ["submit_score", "invalid_permission"], + }); + + t.equal(res.statusCode, 400, "Should return 400."); + t.match(res.body.description, /invalid_permission/iu); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/api-tokens/router.ts b/server/src/server/router/api/v1/users/_userID/api-tokens/router.ts new file mode 100644 index 000000000..5bf1ec171 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/api-tokens/router.ts @@ -0,0 +1,187 @@ +import { RequireSelfRequestFromUser } from "../middleware"; +import { Router } from "express"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import p from "prudence"; +import prValidate from "server/middleware/prudence-validate"; +import { ALL_PERMISSIONS } from "tachi-common"; +import { Random20Hex } from "utils/misc"; +import { GetTachiData } from "utils/req-tachi-data"; +import { FormatUserDoc } from "utils/user"; +import type { APIPermissions, APITokenDocument } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +const router: Router = Router({ mergeParams: true }); + +router.use(RequireSelfRequestFromUser); + +/** + * Retrieve this users API tokens. + * This request MUST be performed with session-level auth. + * + * @name GET /api/v1/users/:userID/api-tokens + */ +router.get("/", async (req, res) => { + const user = GetTachiData(req, "requestedUser"); + + const keys = await db["api-tokens"].find({ + userID: user.id, + }); + + return res.status(200).json({ + success: true, + description: `Returned ${keys.length} keys.`, + body: keys, + }); +}); + +/** + * Create a new API token. + * + * @param clientID - Create a token that has the permissions implied from this client. + * @param identifier - A user provided string to identify this API Key. + * @param permissions - An array of strings dictating what permissions to create with. + * This is incompatible with the first option. + * + * @name POST /api/v1/users/:userID/api-tokens/create + */ +router.post( + "/create", + prValidate({ + permissions: p.optional([p.isIn(Object.keys(ALL_PERMISSIONS))]), + identifier: "*string", + clientID: "*string", + }), + async (req, res) => { + const body = req.safeBody as { + permissions?: Array; + identifier?: string; + clientID?: string; + }; + + if (body.clientID !== undefined && body.permissions) { + return res.status(400).json({ + success: false, + description: `Cannot use ClientID creation and permissions creation at the same time!`, + }); + } + + let permissions: Array; + + const user = GetTachiData(req, "requestedUser"); + + let identifier: string; + let fromAPIClient = null; + + if (body.clientID !== undefined) { + const client = await db["api-clients"].findOne( + { + clientID: body.clientID, + }, + { + projection: { + clientSecret: 0, + }, + } + ); + + if (!client) { + return res.status(404).json({ + success: false, + description: `This client does not exist.`, + }); + } + + const exists = await db["api-tokens"].findOne({ + userID: user.id, + fromAPIClient: client.clientID, + }); + + if (exists) { + return res.status(200).json({ + success: true, + description: `Returned existing key`, + body: exists, + }); + } + + permissions = client.requestedPermissions; + identifier = client.name; + fromAPIClient = client.clientID; + + logger.info( + `Creating API Key for ${FormatUserDoc(user)} from ${client.name} specification.` + ); + } else if (body.permissions) { + permissions = body.permissions; + identifier = body.identifier ?? "Custom Token"; + + logger.info( + `Creating API Key for ${FormatUserDoc(user)} with ${permissions.join(", ")}.` + ); + } else { + return res.status(400).json({ + success: false, + description: `Invalid request, must specify either clientID or permissions.`, + }); + } + + const permissionsObject = Object.fromEntries(permissions.map((e) => [e, true])); + + const apiTokenDocument: APITokenDocument = { + identifier, + permissions: permissionsObject, + token: Random20Hex(), + userID: user.id, + fromAPIClient, + }; + + await db["api-tokens"].insert(apiTokenDocument); + + logger.info(`Inserted new API Key for ${FormatUserDoc(user)}.`); + + return res.status(200).json({ + success: true, + description: `Successfully created new API Token.`, + body: apiTokenDocument, + }); + } +); + +/** + * Delete this token. + * + * @name DELETE /api/v1/users/:userID/api-token/:token + */ +router.delete("/:token", async (req, res) => { + const user = GetTachiData(req, "requestedUser"); + + logger.info( + `received request from ${FormatUserDoc(user)} to delete token ${req.params.token}.` + ); + + const token = await db["api-tokens"].findOne({ + token: req.params.token, + userID: user.id, + }); + + if (!token) { + return res.status(404).json({ + success: false, + description: `This key does not exist.`, + }); + } + + await db["api-tokens"].remove({ token: req.params.token }); + + logger.info(`Deleted ${req.params.token}, which belonged to ${FormatUserDoc(user)}.`); + + return res.status(200).json({ + success: true, + description: `Removed Token.`, + body: {}, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/banner/router.test.ts b/server/src/server/router/api/v1/users/_userID/banner/router.test.ts new file mode 100644 index 000000000..2d06b8533 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/banner/router.test.ts @@ -0,0 +1,85 @@ +import db from "external/mongo/db"; +import { CDNStoreOrOverwrite } from "lib/cdn/cdn"; +import { GetProfileBannerURL } from "lib/cdn/url-format"; +import { rootLogger } from "lib/logger/logger"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { GetKTDataBuffer } from "test-utils/test-data"; + +t.test("GET /api/v1/users/:userID/banner", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return the default profile banner if user has no custom banner", async (t) => { + await CDNStoreOrOverwrite("/users/default/banner", "test"); + const res = await mockApi.get("/api/v1/users/1/banner").redirects(1); + + t.equal(res.statusCode, 200, "Should return 200."); + + t.equal(res.body.toString(), "test"); + + t.end(); + }); + + t.test("Should return a custom profile banner if one is set", async (t) => { + await CDNStoreOrOverwrite(GetProfileBannerURL(1, "checksum"), "foo"); + await db.users.update({ id: 1 }, { $set: { customBannerLocation: "checksum" } }); + const res = await mockApi.get("/api/v1/users/1/banner").redirects(1); + + t.equal(res.statusCode, 200, "Should return 200."); + + if (res.statusCode !== 200) { + rootLogger.info("Unexpected non-200 in CDN tests, received this as a body.", { + body: res.body, + }); + } + + t.equal(res.body.toString(), "foo"); + + t.end(); + }); + + t.end(); +}); + +t.test("PUT /api/v1/users/:userID/banner", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should set a profile banner if user has no custom banner", async (t) => { + const img = GetKTDataBuffer("/images/acorn.png"); + + const res = await mockApi + .put("/api/v1/users/1/banner") + .set("Authorization", "Bearer fake_api_token") + .attach("banner", img, "file.jpg"); + + t.equal(res.statusCode, 200); + + const get = await mockApi.get(res.body.body.get).redirects(1); + + t.strictSame(img, get.body, "Profile banner should be stored."); + + t.end(); + }); + + t.test("Should set a profile banner if user has custom banner", async (t) => { + await db.users.update({ id: 1 }, { $set: { customBannerLocation: "checksum" } }); + + const img = GetKTDataBuffer("/images/acorn.png"); + + const res = await mockApi + .put("/api/v1/users/1/banner") + .set("Authorization", "Bearer fake_api_token") + .attach("banner", img, "file.jpg"); + + t.equal(res.statusCode, 200); + + const get = await mockApi.get(res.body.body.get).redirects(1); + + t.strictSame(img, get.body, "Profile banner should be stored."); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/banner/router.ts b/server/src/server/router/api/v1/users/_userID/banner/router.ts new file mode 100644 index 000000000..7091b4c10 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/banner/router.ts @@ -0,0 +1,133 @@ +import { RequireAuthedAsUser } from "../middleware"; +import { Router } from "express"; +import db from "external/mongo/db"; +import { CDNDelete, CDNRedirect, CDNStoreOrOverwrite } from "lib/cdn/cdn"; +import { GetProfileBannerURL } from "lib/cdn/url-format"; +import { ONE_MEGABYTE } from "lib/constants/filesize"; +import CreateLogCtx from "lib/logger/logger"; +import { RequirePermissions } from "server/middleware/auth"; +import { CreateMulterSingleUploadMiddleware } from "server/middleware/multer-upload"; +import { HashSHA256 } from "utils/crypto"; +import { GetTachiData } from "utils/req-tachi-data"; +import { FormatUserDoc } from "utils/user"; + +// note: this is just the ../pfp/router.ts code copied and altered. + +const logger = CreateLogCtx(__filename); + +const router: Router = Router({ mergeParams: true }); + +/** + * Sets a profile banner. + * + * @param banner - A JPG or PNG file less than 1mb. + * + * @name PUT /api/v1/users/:userID/banner + */ +router.put( + "/", + RequireAuthedAsUser, + RequirePermissions("customise_profile"), + CreateMulterSingleUploadMiddleware("banner", ONE_MEGABYTE, logger), + async (req, res) => { + const user = GetTachiData(req, "requestedUser"); + + if (!user.customBannerLocation) { + logger.verbose(`User ${FormatUserDoc(user)} set a custom profile banner.`); + } else { + logger.verbose(`User ${FormatUserDoc(user)} updated their profile banner.`); + } + + if (!req.file) { + logger.error( + `Conflicting state - no req.file has been populated but passed middleware? (${FormatUserDoc( + user + )})` + ); + return res.status(500).json({ + success: false, + description: `An internal error has occured.`, + }); + } + + const contentHash = HashSHA256(req.file.buffer); + + if ( + req.file.mimetype === "image/jpeg" || + req.file.mimetype === "image/png" || + req.file.mimetype === "image/gif" + ) { + await CDNStoreOrOverwrite(GetProfileBannerURL(user.id, contentHash), req.file.buffer); + } else { + return res.status(400).json({ + success: false, + description: `Invalid file - only JPG and PNG files are supported.`, + }); + } + + if (req.session.tachi?.user) { + req.session.tachi.user.customBannerLocation = contentHash; + } + + await db.users.update({ id: user.id }, { $set: { customBannerLocation: contentHash } }); + + return res.status(200).json({ + success: true, + description: `Stored profile banner.`, + body: { + get: req.originalUrl, + }, + }); + } +); + +/** + * Returns this user's profile banner. If the user does not have a custom profile banner, + * return the default profile banner. + * + * @name GET /api/v1/users/:userID/banner + */ +router.get("/", (req, res) => { + const user = GetTachiData(req, "requestedUser"); + + if (!user.customBannerLocation) { + res.setHeader("Content-Type", "image/png"); + CDNRedirect(res, "/users/default/banner"); + return; + } + + // express sniffs whether this is a png or jpg **and** browsers dont care either. + CDNRedirect(res, GetProfileBannerURL(user.id, user.customBannerLocation)); +}); + +/** + * Deletes this user's profile banner, and go back to the default profile banner. + * + * @name DELETE /api/v1/users/:userID/banner + */ +router.delete( + "/", + RequireAuthedAsUser, + RequirePermissions("customise_profile"), + async (req, res) => { + const user = GetTachiData(req, "requestedUser"); + + if (!user.customBannerLocation) { + return res.status(404).json({ + success: false, + description: `You do not have a custom profile banner to delete.`, + }); + } + + await CDNDelete(GetProfileBannerURL(user.id, user.customBannerLocation)); + await db.users.update({ id: user.id }, { $set: { customBannerLocation: null } }); + + return res.status(200).json({ + success: true, + description: `Removed custom profile banner.`, + body: {}, + }); + } +); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/folders/_folderID/router.test.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/folders/_folderID/router.test.ts new file mode 100644 index 000000000..8f186b58c --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/folders/_folderID/router.test.ts @@ -0,0 +1,201 @@ +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { + GetKTDataJSON, + Testing511SPA, + TestingIIDXFolderSP10, + TestingIIDXSPScore, + TestingIIDXSPScorePB, +} from "test-utils/test-data"; +import { CreateFolderChartLookup } from "utils/folder"; +import type { ChartDocument, FolderDocument, ScoreDocument, SongDocument } from "tachi-common"; + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/folders/:folderID", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(async () => { + const folder = deepmerge(TestingIIDXFolderSP10, { + folderID: "testing_folder", + }) as FolderDocument; + + await db.folders.insert(folder); + await CreateFolderChartLookup(folder, true); + await db["personal-bests"].insert(deepmerge(TestingIIDXSPScorePB, {})); + }); + + t.test("Should return a user's PBs on a given folder.", async (t) => { + const res = await mockApi.get("/api/v1/users/1/games/iidx/SP/folders/testing_folder"); + + t.equal(res.body.body.songs.length, 1); + t.equal(res.body.body.charts.length, 1); + t.equal(res.body.body.charts[0].chartID, Testing511SPA.chartID); + t.equal(res.body.body.pbs.length, 1); + t.equal(res.body.body.pbs[0].chartID, Testing511SPA.chartID); + t.equal(res.body.body.folder.folderID, "testing_folder"); + + t.end(); + }); + + t.test("Should return 404 if this folder does not exist.", async (t) => { + const res = await mockApi.get("/api/v1/users/1/games/iidx/SP/folders/fake_folder"); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/folders/:folderID/timeline", (t) => { + const folder = deepmerge(TestingIIDXFolderSP10, { + folderID: "testing_folder", + }) as FolderDocument; + + t.beforeEach(ResetDBState); + t.beforeEach(async () => { + await db.folders.insert(folder); + await CreateFolderChartLookup(folder, true); + await db["personal-bests"].insert(deepmerge(TestingIIDXSPScorePB, {})); + }); + + t.test("Should return the users scores on this folder in timeline order", async (t) => { + // set up a more realistic scenario so we can fire more data at it. + await db.songs.iidx.remove({}); + await db.charts.iidx.remove({}); + await db["folder-chart-lookup"].remove({}); + await db.songs.iidx.insert( + GetKTDataJSON("./tachi/tachi-songs-iidx.json") as Array> + ); + await db.charts.iidx.insert( + GetKTDataJSON("./tachi/tachi-charts-iidx.json") as Array< + ChartDocument<"iidx:DP" | "iidx:SP"> + > + ); + + await CreateFolderChartLookup(folder, true); + + await db.scores.insert([ + deepmerge(TestingIIDXSPScore, { + scoreID: "OTHER_SCORE_ID", + timeAchieved: 500, + songID: 5, + chartID: "f3e7f84103d68f9f27193f037f35d0bca8c6d607", + }), + deepmerge(TestingIIDXSPScore, { + scoreID: "OTHER_SCORE_ID_2", + timeAchieved: 100, + songID: 5, + chartID: "f3e7f84103d68f9f27193f037f35d0bca8c6d607", + }), + deepmerge(TestingIIDXSPScore, { + scoreID: "OTHER_SCORE_ID_NULL", + timeAchieved: null, + songID: 5, + chartID: "f3e7f84103d68f9f27193f037f35d0bca8c6d607", + }), + deepmerge(TestingIIDXSPScore, { + scoreData: { + lampIndex: 3, + lamp: "CLEAR", + }, + scoreID: "OTHER_SCORE_ID_3", + timeAchieved: 50, + songID: 5, + chartID: "f3e7f84103d68f9f27193f037f35d0bca8c6d607", + }), + deepmerge(TestingIIDXSPScore, { + scoreID: "OTHER_SCORE_ID_4", + timeAchieved: 200, + songID: 6, + chartID: "3b5fa295d243c131752e2f1ad835998f6dad2e97", + }), + ]); + + const res = await mockApi.get( + "/api/v1/users/1/games/iidx/SP/folders/testing_folder/timeline?criteriaType=lamp&criteriaValue=4" + ); + + t.equal(res.body.body.scores.length, 3); + + t.equal( + res.body.body.scores[0].scoreID, + "TESTING_SCORE_ID", + "First score should be TESTING_SCORE_ID, as it has a timeAchieved of null." + ); + t.equal( + res.body.body.scores[1].scoreID, + "OTHER_SCORE_ID_2", + "Second score returned should be OTHER_SCORE_ID_2" + ); + t.equal( + res.body.body.scores[2].scoreID, + "OTHER_SCORE_ID_4", + "Third score should be OTHER_SCORE_ID_4, as it was achieved later." + ); + t.notOk( + res.body.body.scores.some((k: ScoreDocument) => k.scoreID === "OTHER_SCORE_ID_NULL"), + "OTHER_SCORE_ID_NULL should never appear, as it is a null timestamp for a score that has a real timestamp." + ); + + t.end(); + }); + + t.test("Should reject invalid criteriaTypes", async (t) => { + const res = await mockApi.get( + "/api/v1/users/1/games/iidx/SP/folders/testing_folder/timeline?criteriaType=invalid" + ); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.test("Should reject invalid indexes for lamps", async (t) => { + const res = await mockApi.get( + "/api/v1/users/1/games/iidx/SP/folders/testing_folder/timeline?criteriaType=lamp&criteriaValue=-1" + ); + + t.equal(res.statusCode, 400); + + const res2 = await mockApi.get( + "/api/v1/users/1/games/iidx/SP/folders/testing_folder/timeline?criteriaType=lamp&criteriaValue=0.5" + ); + + t.equal(res2.statusCode, 400); + + const res3 = await mockApi.get( + "/api/v1/users/1/games/iidx/SP/folders/testing_folder/timeline?criteriaType=lamp&criteriaValue=100" + ); + + t.equal(res3.statusCode, 400); + + t.end(); + }); + + t.test("Should reject invalid indexes for grades", async (t) => { + const res = await mockApi.get( + "/api/v1/users/1/games/iidx/SP/folders/testing_folder/timeline?criteriaType=grade&criteriaValue=-1" + ); + + t.equal(res.statusCode, 400); + + const res2 = await mockApi.get( + "/api/v1/users/1/games/iidx/SP/folders/testing_folder/timeline?criteriaType=grade&criteriaValue=0.5" + ); + + t.equal(res2.statusCode, 400); + + const res3 = await mockApi.get( + "/api/v1/users/1/games/iidx/SP/folders/testing_folder/timeline?criteriaType=grade&criteriaValue=100" + ); + + t.equal(res3.statusCode, 400); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/folders/_folderID/router.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/folders/_folderID/router.ts new file mode 100644 index 000000000..4ab7d5e76 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/folders/_folderID/router.ts @@ -0,0 +1,199 @@ +import { GetFolderFromParam } from "../../../../../../../games/_game/_playtype/folders/middleware"; +import { RequireSelfRequestFromUser } from "../../../../../middleware"; +import { Router } from "express"; +import db from "external/mongo/db"; +import { GetGamePTConfig } from "tachi-common"; +import { GetFolderCharts, GetGradeLampDistributionForFolder, GetPBsOnFolder } from "utils/folder"; +import { GetTachiData, GetUGPT } from "utils/req-tachi-data"; +import { ParseStrPositiveInt } from "utils/string-checks"; +import type { FilterQuery } from "mongodb"; +import type { ScoreDocument } from "tachi-common"; + +const router: Router = Router({ mergeParams: true }); + +router.use(GetFolderFromParam); + +/** + * Returns a users pbs on this folder. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/folders/:folderID + */ +router.get("/", async (req, res) => { + const { user } = GetUGPT(req); + + const folder = GetTachiData(req, "folderDoc"); + + const { songs, charts, pbs } = await GetPBsOnFolder(user.id, folder); + + return res.status(200).json({ + success: true, + description: `Returned ${pbs.length} pbs.`, + body: { + songs, + charts, + pbs, + folder, + }, + }); +}); + +/** + * Returns a users stats on this folder. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/folders/:folderID/stats + */ +router.get("/stats", async (req, res) => { + const { user } = GetUGPT(req); + + const folder = GetTachiData(req, "folderDoc"); + + const stats = await GetGradeLampDistributionForFolder(user.id, folder); + + return res.status(200).json({ + success: true, + description: `Returned statistics for ${folder.title}.`, + body: { + folder, + stats, + }, + }); +}); + +/** + * Add a folder to the list of recently-viewed folders. This can only + * be performed by a session-level token, to stop rogue API keys from causing + * trouble. Also, it's a post request, to avoid funny SSRF stuff. + * + * @name POST /api/v1/users/:userID/games/:game/:playtype/folders/:folderID/viewed + */ +router.post("/viewed", RequireSelfRequestFromUser, async (req, res) => { + const { user } = GetUGPT(req); + + const folder = GetTachiData(req, "folderDoc"); + + await db["recent-folder-views"].update( + { + userID: user.id, + game: folder.game, + playtype: folder.playtype, + folderID: folder.folderID, + }, + { + $set: { + lastViewed: Date.now(), + }, + }, + { + upsert: true, + } + ); + + return res.status(200).json({ + success: true, + description: `Recorded a view on ${folder.title}.`, + body: {}, + }); +}); + +// note: this path is disgustingly long. :( +/** + * Returns the users scores in order of when they met this criteria. + * + * @param criteriaType - either "lamp" or "grade". + * @param criteriaValue - An index for this lamp or grade. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/folders/:folderID/timeline + */ +router.get("/timeline", async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + const folder = GetTachiData(req, "folderDoc"); + const gptConfig = GetGamePTConfig(game, playtype); + + const intIndex = ParseStrPositiveInt(req.query.criteriaValue); + + const { songs, charts } = await GetFolderCharts(folder, {}, true); + + if (intIndex === null) { + return res.status(400).json({ + success: false, + description: `Invalid value for criteriaValue.`, + }); + } + + const matchCriteria: FilterQuery = { + userID: user.id, + game, + playtype, + chartID: { $in: charts.map((e) => e.chartID) }, + }; + + if (req.query.criteriaType === "lamp") { + if (!gptConfig.lamps[intIndex]) { + return res.status(400).json({ + success: false, + description: `Invalid index for this games' lamps.`, + }); + } + + matchCriteria["scoreData.lampIndex"] = { $gte: intIndex }; + } else if (req.query.criteriaType === "grade") { + if (!gptConfig.grades[intIndex]) { + return res.status(400).json({ + success: false, + description: `Invalid index for this games' grades.`, + }); + } + + matchCriteria["scoreData.gradeIndex"] = { $gte: intIndex }; + } else { + return res.status(400).json({ + success: false, + description: `Invalid criteriaType. Expected "lamp" or "grade".`, + }); + } + + // Returns a unique score per-chart that was the first score to achieve + // this criteria on that chart. + const scoresAgg: Array<{ doc: ScoreDocument }> = await db.scores.aggregate([ + { + $match: matchCriteria, + }, + { + $addFields: { + __sortTime: { $ifNull: ["$timeAchieved", Infinity, "$timeAchieved"] }, + }, + }, + { + $sort: { + __sortTime: 1, + }, + }, + { + $group: { + _id: "$chartID", + doc: { $first: "$$ROOT" }, + }, + }, + { + $unset: ["doc.__sortTime"], + }, + ]); + + const scores = scoresAgg + .map((e) => e.doc) + .sort((a, b) => (a.timeAchieved ?? 0) - (b.timeAchieved ?? 0)); + + return res.status(200).json({ + success: true, + description: `Returned ${scores.length} scores for ${charts.length} charts.`, + body: { + songs, + charts, + scores, + folder, + }, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/folders/router.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/folders/router.ts new file mode 100644 index 000000000..58357efcc --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/folders/router.ts @@ -0,0 +1,85 @@ +import folderIDRouter from "./_folderID/router"; +import { Router } from "express"; +import db from "external/mongo/db"; +import { SearchCollection } from "lib/search/search"; +import { GetGradeLampDistributionForFolders, GetRecentlyViewedFolders } from "utils/folder"; +import { IsString } from "utils/misc"; +import { GetUGPT } from "utils/req-tachi-data"; + +const router: Router = Router({ mergeParams: true }); + +/** + * Search folders, and supplant a users grade+lamp distribution on that + * folder as part of the returns. + * + * This is a "beefed-up" version of GPT /folders, but with this users + * stats returned at the same time. + * + * @param search - What to search for. + * @param inactive - Also show inactive folders, such as those on old versions. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/folders + */ +router.get("/", async (req, res) => { + const { game, playtype, user } = GetUGPT(req); + + if (!IsString(req.query.search)) { + return res.status(400).json({ + success: false, + description: `Invalid value for search.`, + }); + } + + // if inactive is passed, we need this to be undefined so that + // mongodb returns both inactive and active folders. + // Otherwise, only return active folders. + const inactive = req.query.inactive === undefined ? false : undefined; + + const folders = await SearchCollection( + db.folders, + req.query.search, + { game, playtype, inactive }, + 20 + ); + + const stats = await GetGradeLampDistributionForFolders(user.id, folders); + + return res.status(200).json({ + success: true, + description: `Returned ${stats.length} folders.`, + body: { + folders, + stats, + }, + }); +}); + +/** + * Get a users most recently interacted with folders. + * + * A folder is interacted with if it is directly fetched using a session key. + * This - in UI terms - is when the user clicks on that folder. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/folders/recent + */ +router.get("/recent", async (req, res) => { + const { game, playtype, user } = GetUGPT(req); + + const { views, folders } = await GetRecentlyViewedFolders(user.id, game, playtype); + + const stats = await GetGradeLampDistributionForFolders(user.id, folders); + + return res.status(200).json({ + success: true, + description: `Returned ${views.length} recently interacted with folders.`, + body: { + views, + folders, + stats, + }, + }); +}); + +router.use("/:folderID", folderIDRouter); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/middleware.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/middleware.ts new file mode 100644 index 000000000..daefcdc57 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/middleware.ts @@ -0,0 +1,58 @@ +import db from "external/mongo/db"; +import { IsValidGame, IsValidPlaytype } from "utils/misc"; +import { AssignToReqTachiData, GetTachiData } from "utils/req-tachi-data"; +import type { RequestHandler } from "express"; + +export const CheckUserPlayedGamePlaytype: RequestHandler = async (req, res, next) => { + const user = GetTachiData(req, "requestedUser"); + + const game = req.params.game; + const playtype = req.params.playtype; + + if (game === undefined) { + throw new Error( + `Unexpected lack of game parameter when CheckUserPlayedGamePlaytype called on ${req.originalUrl}.` + ); + } + + if (playtype === undefined) { + throw new Error( + `Unexpected lack of playtype parameter when CheckUserPlayedGamePlaytype called on ${req.originalUrl}.` + ); + } + + if (!IsValidGame(game)) { + return res.status(400).json({ + success: false, + description: `The game ${req.params.game} is not supported.`, + }); + } + + if (!IsValidPlaytype(game, playtype)) { + return res.status(400).json({ + success: false, + description: `The game ${game} does not have a playtype called ${playtype}.`, + }); + } + + const stats = await db["game-stats"].findOne({ + userID: user.id, + game, + playtype, + }); + + if (!stats) { + return res.status(404).json({ + success: false, + description: `The user ${user.username} has not played ${req.params.game} (${req.params.playtype})`, + }); + } + + AssignToReqTachiData(req, { + requestedUserGameStats: stats, + game, + playtype, + }); + + next(); +}; diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/pbs/router.test.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/pbs/router.test.ts new file mode 100644 index 000000000..546cb4b79 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/pbs/router.test.ts @@ -0,0 +1,200 @@ +import db from "external/mongo/db"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { + GetKTDataJSON, + LoadTachiIIDXData, + Testing511Song, + Testing511SPA, + TestingIIDXSPScorePB, +} from "test-utils/test-data"; +import type { ChartDocument, PBScoreDocument } from "tachi-common"; + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/pbs/best", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return a user's best 100 personal bests.", async (t) => { + const mockPBs: Array = []; + + for (let i = 0; i < 200; i++) { + mockPBs.push({ + userID: 1, + game: "iidx", + playtype: "SP", + isPrimary: true, + + // hack to generate some random chartIDs + chartID: i.toString(), + + songID: Testing511Song.id, + calculatedData: { + ktLampRating: i, + }, + } as PBScoreDocument); + } + + await db["personal-bests"].insert(mockPBs); + + for (const sc of mockPBs) { + // lol + delete sc._id; + } + + const res = await mockApi.get("/api/v1/users/test_zkldi/games/iidx/SP/pbs/best"); + + t.hasStrict(res.body, { + success: true, + description: "Retrieved 100 personal bests.", + body: { + pbs: mockPBs.slice(100).reverse(), + songs: [Testing511Song], + charts: [], + }, + }); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/pbs", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(LoadTachiIIDXData); + + t.test("Should return 400 if no search param is given", async (t) => { + const res = await mockApi.get("/api/v1/users/test_zkldi/games/iidx/SP/pbs"); + + t.equal(res.statusCode, 400); + t.equal(res.body.success, false); + + t.end(); + }); + + t.test("Should return 400 if invalid search param is given", async (t) => { + const res = await mockApi.get( + "/api/v1/users/test_zkldi/games/iidx/SP/pbs?search=foo&search=bar" + ); + + t.equal(res.statusCode, 400); + t.equal(res.body.success, false); + + const res2 = await mockApi.get( + "/api/v1/users/test_zkldi/games/iidx/SP/pbs?search[$where]=process.exit(1)" + ); + + t.equal(res2.statusCode, 400); + t.equal(res2.body.success, false); + + t.end(); + }); + + t.test("Should search a user's personal bests.", async (t) => { + const mockPBs: Array = []; + + const charts = GetKTDataJSON("./tachi/tachi-charts-iidx.json") as Array; + + for (let i = 0; i < 200; i++) { + const chart = charts[i]; + + if (!chart) { + return t.fail( + `Not enough charts in tachi-charts-iidx.json to mock pb data? Failed at index ${i}.` + ); + } + + mockPBs.push({ + userID: 1, + game: "iidx", + playtype: "SP", + isPrimary: true, + chartID: chart.chartID, + songID: chart.songID, + calculatedData: { + ktLampRating: i, + }, + } as PBScoreDocument); + } + + await db["personal-bests"].insert(mockPBs); + + const res = await mockApi.get("/api/v1/users/test_zkldi/games/iidx/SP/pbs?search=5.1.1."); + + t.hasStrict(res.body, { + success: true, + description: "Retrieved 4 personal bests.", + body: { + pbs: [ + { + chartID: "71865a2b6d3581decf076ae83c6621302c4bb271", + }, + { + chartID: "952805894d7d78257e87019426fa1d87aec834a5", + }, + { + chartID: "c2311194e3897ddb5745b1760d2c0141f933e683", + }, + { + chartID: "c641238220d73faf82659513ba03bde71b0b45f0", + }, + ], + songs: [ + { + title: "5.1.1.", + }, + ], + charts: [ + { + chartID: "c2311194e3897ddb5745b1760d2c0141f933e683", + }, + { + chartID: "71865a2b6d3581decf076ae83c6621302c4bb271", + }, + { + chartID: "c641238220d73faf82659513ba03bde71b0b45f0", + }, + { + chartID: "952805894d7d78257e87019426fa1d87aec834a5", + }, + ], + }, + }); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/pbs/:chartID", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should retrieve the PB at this chart ID.", async (t) => { + await db["personal-bests"].insert(TestingIIDXSPScorePB); + + const res = await mockApi.get(`/api/v1/users/1/games/iidx/SP/pbs/${Testing511SPA.chartID}`); + + t.equal(res.body.body.pb.chartID, Testing511SPA.chartID); + t.equal(res.body.body.chart.chartID, Testing511SPA.chartID); + + t.end(); + }); + + t.test("Should retrieve composed scores if param is set.", async (t) => { + await db["personal-bests"].insert(TestingIIDXSPScorePB); + + const res = await mockApi.get( + `/api/v1/users/1/games/iidx/SP/pbs/${Testing511SPA.chartID}?getComposition=true` + ); + + t.equal(res.body.body.pb.chartID, Testing511SPA.chartID); + t.equal(res.body.body.chart.chartID, Testing511SPA.chartID); + t.equal(res.body.body.scores.length, 1); + t.equal(res.body.body.scores[0].scoreID, "TESTING_SCORE_ID"); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/pbs/router.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/pbs/router.ts new file mode 100644 index 000000000..71166b327 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/pbs/router.ts @@ -0,0 +1,259 @@ +import { Router } from "express"; +import db from "external/mongo/db"; +import { SearchSpecificGameSongsAndCharts } from "lib/search/search"; +import { AggressiveRateLimitMiddleware } from "server/middleware/rate-limiter"; +import { GetGamePTConfig } from "tachi-common"; +import { GetRelevantSongsAndCharts } from "utils/db"; +import { IsValidScoreAlg } from "utils/misc"; +import { GetAdjacentAbove, GetAdjacentBelow } from "utils/queries/pbs"; +import { GetUGPT } from "utils/req-tachi-data"; +import { FilterChartsAndSongs, GetScoreIDsFromComposed } from "utils/scores"; +import { GetUsersWithIDs } from "utils/user"; + +const router: Router = Router({ mergeParams: true }); + +/** + * Searches a user's personal bests. + * + * @param search - The search criteria. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/pbs + */ +router.get("/", async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + if (typeof req.query.search !== "string") { + return res.status(400).json({ + success: false, + description: `Invalid value of for search parameter.`, + }); + } + + const { songs: allSongs, charts: allCharts } = await SearchSpecificGameSongsAndCharts( + game, + req.query.search, + playtype + ); + + const pbs = await db["personal-bests"].find( + { + chartID: { $in: allCharts.map((e) => e.chartID) }, + userID: user.id, + }, + { + sort: { + timeAchieved: -1, + }, + limit: 30, + } + ); + + const { songs, charts } = FilterChartsAndSongs(pbs, allCharts, allSongs); + + return res.status(200).json({ + success: true, + description: `Retrieved ${pbs.length} personal bests.`, + body: { + pbs, + songs, + charts, + }, + }); +}); + +/** + * Returns all of a users personal bests. + * + * @warn This endpoint is probably quite expensive. We'll need to do + * some performance tests. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/pbs/all + */ +router.get("/all", AggressiveRateLimitMiddleware, async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + const pbs = await db["personal-bests"].find({ + userID: user.id, + game, + playtype, + isPrimary: true, + }); + + const { songs, charts } = await GetRelevantSongsAndCharts(pbs, game); + + return res.status(200).json({ + success: true, + description: `Returned ${pbs.length} PBs.`, + body: { pbs, songs, charts }, + }); +}); + +/** + * Returns a users best 100 personal-bests for this game. + * + * @param alg - Specifies an override for the default algorithm + * to sort on. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/pbs/best + */ +router.get("/best", async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + const gptConfig = GetGamePTConfig(game, playtype); + + if (req.query.alg !== undefined && !IsValidScoreAlg(gptConfig, req.query.alg)) { + return res.status(400).json({ + success: false, + description: `Invalid score algorithm. Expected any of ${gptConfig.scoreRatingAlgs.join( + ", " + )}`, + }); + } + + const alg = req.query.alg ?? gptConfig.defaultScoreRatingAlg; + + const pbs = await db["personal-bests"].find( + { + userID: user.id, + game, + playtype, + isPrimary: true, + }, + { + limit: 100, + sort: { + [`calculatedData.${alg}`]: -1, + }, + } + ); + + const { songs, charts } = await GetRelevantSongsAndCharts(pbs, game); + + return res.status(200).json({ + success: true, + description: `Retrieved ${pbs.length} personal bests.`, + body: { + pbs, + songs, + charts, + }, + }); +}); + +/** + * Returns a user's PB on the given chart. If the user has not played this chart, 404 is + * returned. + * + * @param getComposition - Also retrieves the score documents that composed this PB. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/pbs/:chartID + */ +router.get("/:chartID", async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + const chart = await db.charts[game].findOne({ + chartID: req.params.chartID, + playtype, + }); + + if (!chart) { + return res.status(404).json({ + success: false, + description: `This chart does not exist.`, + }); + } + + const pb = await db["personal-bests"].findOne({ + chartID: req.params.chartID, + userID: user.id, + }); + + if (!pb) { + return res.status(404).json({ + success: false, + description: `This user has not played this chart.`, + }); + } + + if (req.query.getComposition !== undefined) { + const scoreIDs = GetScoreIDsFromComposed(pb); + + const scores = await db.scores.find({ + scoreID: { $in: scoreIDs }, + }); + + return res.status(200).json({ + success: true, + description: `Successfully retrieved PB for user.`, + body: { + scores, + chart, + pb, + }, + }); + } + + return res.status(200).json({ + success: true, + description: `Successfully retrieved PB for user.`, + body: { + pb, + chart, + }, + }); +}); + +/** + * Return this users PB on this chart, and 5 nearby players on the + * leaderboard. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/pbs/:chartID/leaderboard-adjacent + */ +router.get("/:chartID/leaderboard-adjacent", async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + const chart = await db.charts[game].findOne({ + chartID: req.params.chartID, + playtype, + }); + + if (!chart) { + return res.status(404).json({ + success: false, + description: `This chart does not exist.`, + }); + } + + const pb = await db["personal-bests"].findOne({ + chartID: req.params.chartID, + userID: user.id, + }); + + if (!pb) { + return res.status(404).json({ + success: false, + description: `This user has not played this chart.`, + }); + } + + const [adjacentAbove, adjacentBelow] = await Promise.all([ + GetAdjacentAbove(pb), + GetAdjacentBelow(pb), + ]); + + const users = await GetUsersWithIDs([...adjacentAbove, ...adjacentBelow].map((e) => e.userID)); + + return res.status(200).json({ + success: true, + description: `Successfully retrieved PB for user.`, + body: { + pb, + chart, + adjacentAbove, + adjacentBelow, + users, + }, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/rivals/router.test.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/rivals/router.test.ts new file mode 100644 index 000000000..f9adbbb09 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/rivals/router.test.ts @@ -0,0 +1,189 @@ +import db from "external/mongo/db"; +import t from "tap"; +import { CreateFakeAuthCookie } from "test-utils/fake-auth"; +import { mkFakeGameSettings, mkFakeUser } from "test-utils/misc"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { FakeOtherUser } from "test-utils/test-data"; +import type { PublicUserDocument } from "tachi-common"; + +const SetupRivals = async () => { + await db.users.insert([FakeOtherUser, mkFakeUser(3), mkFakeUser(4)]); + await db["game-settings"].insert([ + mkFakeGameSettings(2, "iidx", "SP"), + mkFakeGameSettings(3, "iidx", "SP"), + ]); + + await db["game-settings"].update( + { + userID: 1, + }, + { + $set: { + rivals: [2, 3], + }, + } + ); +}; + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/rivals", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(SetupRivals); + + t.test("Should return the userdocs of your rivals.", async (t) => { + const res = await mockApi.get("/api/v1/users/1/games/iidx/SP/rivals"); + + t.equal(res.statusCode, 200); + + t.strictSame( + res.body.body.map((e: PublicUserDocument) => e.id), + [2, 3], + "Should have the users rivals and no more." + ); + + t.end(); + }); + + t.test("Should panic if your rival doesn't exist.", async (t) => { + await db.users.remove({ id: 3 }); + + const res = await mockApi.get("/api/v1/users/1/games/iidx/SP/rivals"); + + t.equal(res.statusCode, 500); + + t.end(); + }); + + t.end(); +}); + +t.test("PUT /api/v1/users/:userID/games/:game/:playtype/rivals", async (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(SetupRivals); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should replace the users rivals.", async (t) => { + const res = await mockApi + .put("/api/v1/users/1/games/iidx/SP/rivals") + .set("Cookie", cookie) + .send({ + rivalIDs: [2], + }); + + t.equal(res.statusCode, 200); + + const dbRes = await db["game-settings"].findOne({ + userID: 1, + game: "iidx", + playtype: "SP", + }); + + t.strictSame(dbRes?.rivals, [2]); + + t.end(); + }); + + t.test("Should return 400 if the user tries to rival themselves.", async (t) => { + const res = await mockApi + .put("/api/v1/users/1/games/iidx/SP/rivals") + .set("Cookie", cookie) + .send({ + rivalIDs: [1], + }); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.test("Should return 400 if the user tries to rival > 5 people.", async (t) => { + await db.users.insert([mkFakeUser(5), mkFakeUser(6)]); + + const res = await mockApi + .put("/api/v1/users/1/games/iidx/SP/rivals") + .set("Cookie", cookie) + .send({ + rivalIDs: [2, 3, 4, 5, 6], + }); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.test("Should return 400 if the user tries to rival someone who doesn't exist.", async (t) => { + const res = await mockApi + .put("/api/v1/users/1/games/iidx/SP/rivals") + .set("Cookie", cookie) + .send({ + rivalIDs: [5], + }); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.test( + "Should return 400 if the user tries to rival someone who exists but hasn't played the GPT.", + async (t) => { + await db.users.insert(mkFakeUser(5)); + + const res = await mockApi + .put("/api/v1/users/1/games/iidx/SP/rivals") + .set("Cookie", cookie) + .send({ + rivalIDs: [5], + }); + + t.equal(res.statusCode, 400); + + t.end(); + } + ); + + t.test("Should return 401 if user has no auth.", async (t) => { + const res = await mockApi.put("/api/v1/users/1/games/iidx/SP/rivals").send({ + rivalIDs: [2], + }); + + t.equal(res.statusCode, 401); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/rivals/challengers", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(SetupRivals); + + t.test("Should return all of the users that rival this UGPT.", async (t) => { + await db.users.insert(mkFakeUser(5)); + + await db["game-settings"].remove({ userID: 3 }); + await db["game-settings"].remove({ userID: 4 }); + + await db["game-settings"].insert([ + mkFakeGameSettings(2, "chunithm", "Single", { rivals: [1] }), + mkFakeGameSettings(3, "iidx", "SP", { rivals: [1, 3] }), + mkFakeGameSettings(4, "iidx", "SP", { rivals: [1, 3, 5] }), + mkFakeGameSettings(5, "iidx", "SP", { rivals: [1, 4] }), + ]); + + const res = await mockApi.get("/api/v1/users/1/games/iidx/SP/rivals/challengers"); + + t.equal(res.statusCode, 200); + + t.hasStrict( + res.body.body.map((e: PublicUserDocument) => e.id), + [3, 4, 5] + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/rivals/router.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/rivals/router.ts new file mode 100644 index 000000000..19098b63d --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/rivals/router.ts @@ -0,0 +1,100 @@ +import { RequireAuthedAsUser } from "../../../../middleware"; +import { Router } from "express"; +import { SetRivalsFailReasons } from "lib/constants/err-codes"; +import { GetChallengerUsers, GetRivalUsers, SetRivals } from "lib/rivals/rivals"; +import p from "prudence"; +import { RequirePermissions } from "server/middleware/auth"; +import prValidate from "server/middleware/prudence-validate"; +import { FormatGame } from "tachi-common"; +import { GetUGPT } from "utils/req-tachi-data"; +import type { integer } from "tachi-common"; + +const router: Router = Router({ mergeParams: true }); + +/** + * Returns all of this user's set rivals. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/rivals + */ +router.get("/", async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + const rivals = await GetRivalUsers(user.id, game, playtype); + + return res.status(200).json({ + success: true, + description: `Returned ${rivals.length} rivals.`, + body: rivals, + }); +}); + +/** + * Sets the user's rivals for this GPT. + * + * @param rivalIDs - An array of rivalIDs to set as their rivals. + * + * @name PUT /api/v1/users/:userID/games/:game/:playtype/rivals + */ +router.put( + "/", + RequireAuthedAsUser, + RequirePermissions("manage_rivals"), + prValidate({ + rivalIDs: [p.isPositiveNonZeroInteger], + }), + async (req, res) => { + const body = req.safeBody as { + rivalIDs: Array; + }; + + const rivalIDs = body.rivalIDs; + const { user, game, playtype } = GetUGPT(req); + + const result = await SetRivals(user.id, game, playtype, rivalIDs); + + if (result === SetRivalsFailReasons.RIVALED_SELF) { + return res.status(400).json({ + success: false, + description: `You cannot rival yourself.`, + }); + } else if (result === SetRivalsFailReasons.RIVALS_HAVENT_PLAYED_GPT) { + return res.status(400).json({ + success: false, + description: `Not all of the rivals you specified have played ${FormatGame( + game, + playtype + )}.`, + }); + } else if (result === SetRivalsFailReasons.TOO_MANY) { + return res.status(400).json({ + success: false, + description: `You can't set more than 5 rivals.`, + }); + } + + return res.status(200).json({ + success: true, + description: `Set ${rivalIDs.length} rivals.`, + body: {}, + }); + } +); + +/** + * Return all of the users that are rivalling this user for this GPT. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/rivals/challengers + */ +router.get("/challengers", async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + const challengers = await GetChallengerUsers(user.id, game, playtype); + + return res.status(200).json({ + success: true, + description: `Returned ${challengers.length} challengers.`, + body: challengers, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/router.test.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/router.test.ts new file mode 100644 index 000000000..dda49e8c8 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/router.test.ts @@ -0,0 +1,209 @@ +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { Testing511SPA, TestingIIDXSPScore, TestingIIDXSPScorePB } from "test-utils/test-data"; +import type { ScoreDocument } from "tachi-common"; + +t.test("GET /api/v1/users/:userID/games/:game/:playtype", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return a users statistics for that game.", async (t) => { + const res = await mockApi.get("/api/v1/users/test_zkldi/games/iidx/SP"); + + t.hasStrict(res.body, { + success: true, + description: "Retrieved user statistics for test_zkldi (iidx SP)", + body: { + gameStats: { + userID: 1, + game: "iidx", + playtype: "SP", + classes: {}, + ratings: {}, + }, + firstScore: null, + mostRecentScore: null, + totalScores: 1, + rankingData: { + ktLampRating: { + ranking: 1, + outOf: 1, + }, + BPI: { + ranking: 1, + outOf: 1, + }, + }, + }, + }); + + t.end(); + }); + + t.test("Should return a users first score if one exists.", async (t) => { + await db.scores.insert([ + { + userID: 1, + timeAchieved: 100, + scoreID: "foo", + game: "iidx", + playtype: "SP", + }, + { + userID: 1, + timeAchieved: 200, + scoreID: "bar", + game: "iidx", + playtype: "SP", + }, + { + userID: 1, + timeAchieved: 300, + scoreID: "baz", + game: "iidx", + playtype: "SP", + }, + ] as Array); + + const res = await mockApi.get("/api/v1/users/test_zkldi/games/iidx/SP"); + + t.hasStrict(res.body, { + success: true, + description: "Retrieved user statistics for test_zkldi (iidx SP)", + body: { + gameStats: { + userID: 1, + game: "iidx", + playtype: "SP", + classes: {}, + ratings: {}, + }, + firstScore: { + timeAchieved: 100, + scoreID: "foo", + }, + mostRecentScore: { + timeAchieved: 300, + scoreID: "baz", + }, + totalScores: 4, + rankingData: { + ktLampRating: { + ranking: 1, + outOf: 1, + }, + BPI: { + ranking: 1, + outOf: 1, + }, + }, + }, + }); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/history", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return a users history snapshots for that gpt.", async (t) => { + await db["game-stats-snapshots"].insert([ + { + userID: 1, + game: "iidx", + playtype: "SP", + + // @ts-expect-error Too lazy to sort this one out... + rankings: { + BPI: { + ranking: 2, + outOf: 4, + }, + }, + playcount: 100, + classes: {}, + ratings: {}, + timestamp: 1234, + }, + ]); + + const res = await mockApi.get("/api/v1/users/test_zkldi/games/iidx/SP/history"); + + // by default, it's set to the current time. we can't + // test that nicely, so lets round it to the nearest 100 seconds. + res.body.body[0].timestamp = Math.floor(res.body.body[0].timestamp / 100_000); + + t.strictSame(res.body.body, [ + { + rankings: { + ktLampRating: { + ranking: 1, + outOf: 1, + }, + BPI: { + ranking: 1, + outOf: 1, + }, + }, + playcount: 1, + classes: {}, + ratings: {}, + + // close enough, right? + timestamp: Math.floor(Date.now() / 100_000), + }, + { + rankings: { + BPI: { + ranking: 2, + outOf: 4, + }, + }, + playcount: 100, + classes: {}, + ratings: {}, + timestamp: 1234, + }, + ]); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/most-played", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return the users most played scores.", async (t) => { + await db.scores.insert([ + // @ts-expect-error nonsense + deepmerge(TestingIIDXSPScore, { scoreID: "something_else" }), + + // @ts-expect-error nonsense + deepmerge(TestingIIDXSPScore, { scoreID: "something_else2" }), + ]); + + await db["personal-bests"].insert(TestingIIDXSPScorePB); + + const res = await mockApi.get("/api/v1/users/1/games/iidx/SP/most-played"); + + t.equal(res.body.body.pbs.length, 1); + t.equal(res.body.body.pbs[0].__playcount, 3); + + t.equal(res.body.body.songs.length, 1); + t.equal(res.body.body.songs[0].id, 1); + + t.equal(res.body.body.charts.length, 1); + t.equal(res.body.body.charts[0].chartID, Testing511SPA.chartID); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/router.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/router.ts new file mode 100644 index 000000000..8fba0ae64 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/router.ts @@ -0,0 +1,304 @@ +import foldersRouter from "./folders/router"; +import { CheckUserPlayedGamePlaytype } from "./middleware"; +import pbsRouter from "./pbs/router"; +import rivalsRouter from "./rivals/router"; +import scoresRouter from "./scores/router"; +import sessionsRouter from "./sessions/router"; +import settingsRouter from "./settings/router"; +import showcaseRouter from "./showcase/router"; +import tablesRouter from "./tables/router"; +import targetsRouter from "./targets/router"; +import { Router } from "express"; +import db from "external/mongo/db"; +import { GetGamePTConfig } from "tachi-common"; +import { IsString } from "utils/misc"; +import { GetTachiData, GetUGPT } from "utils/req-tachi-data"; +import { CheckStrProfileAlg } from "utils/string-checks"; +import { + GetAllRankings, + GetUGPTPlaycount, + GetUsersRankingAndOutOf, + GetUsersWithIDs, +} from "utils/user"; +import type { integer, PBScoreDocument, UserGameStatsSnapshot } from "tachi-common"; + +const router: Router = Router({ mergeParams: true }); + +router.use(CheckUserPlayedGamePlaytype); + +/** + * Returns information about a user for this game + playtype. + * @name GET /api/v1/users/:userID/games/:game/:playtype + */ +router.get("/", async (req, res) => { + const { game, playtype, user } = GetUGPT(req); + + const stats = GetTachiData(req, "requestedUserGameStats"); + + const [totalScores, firstScore, mostRecentScore, rankingData] = await Promise.all([ + db.scores.count({ + userID: user.id, + game, + playtype, + }), + db.scores.findOne( + { + userID: user.id, + game, + playtype, + timeAchieved: { $ne: null }, + }, + { + sort: { + timeAchieved: 1, + }, + } + ), + db.scores.findOne( + { + userID: user.id, + game, + playtype, + timeAchieved: { $ne: null }, + }, + { + sort: { + timeAchieved: -1, + }, + } + ), + GetAllRankings(stats), + ]); + + return res.status(200).json({ + success: true, + description: `Retrieved user statistics for ${user.username} (${game} ${playtype})`, + body: { + gameStats: stats, + firstScore, + mostRecentScore, + totalScores, + rankingData, + }, + }); +}); + +/** + * Returns a users game-stats for the past 90 days. + * @name GET /api/v1/users/:userID/games/:game/:playtype/history + */ +router.get("/history", async (req, res) => { + const { game, playtype, user } = GetUGPT(req); + + const stats = GetTachiData(req, "requestedUserGameStats"); + + const snapshots = (await db["game-stats-snapshots"].find( + { + userID: user.id, + game, + playtype, + }, + { + sort: { + timestamp: -1, + }, + + // avoid sending so much garbage. + projection: { + userID: 0, + game: 0, + playtype: 0, + }, + limit: 30, + } + )) as Array>; + + const currentSnapshot: Omit = { + classes: stats.classes, + ratings: stats.ratings, + + // lazy, should probably be this midnight + timestamp: Date.now(), + playcount: await GetUGPTPlaycount(user.id, game, playtype), + rankings: await GetAllRankings(stats), + }; + + return res.status(200).json({ + success: true, + description: `Successfully returned history for the past ${snapshots.length} days.`, + body: [currentSnapshot, ...snapshots], + }); +}); + +/** + * Returns the users most played charts by playcount. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/most-played + */ +router.get("/most-played", async (req, res) => { + const { game, playtype, user } = GetUGPT(req); + + const mostPlayed: Array<{ playcount: integer; songID: integer; _id: string }> = + await db.scores.aggregate([ + { + $match: { + userID: user.id, + game, + playtype, + }, + }, + { + $group: { + _id: "$chartID", + + // micro opt + songID: { $first: "$songID" }, + playcount: { $sum: 1 }, + }, + }, + { + $sort: { + playcount: -1, + }, + }, + { + $limit: 100, + }, + ]); + + const chartIDs = mostPlayed.map((e) => e._id); + const songIDs = mostPlayed.map((e) => e.songID); + + const [songs, charts, pbs] = await Promise.all([ + await db.songs[game].find({ id: { $in: songIDs } }), + await db.charts[game].find({ chartID: { $in: chartIDs } }), + await db["personal-bests"].find({ chartID: { $in: chartIDs }, userID: user.id }), + ]); + + const playcountMap = new Map(); + + for (const doc of mostPlayed) { + playcountMap.set(doc._id, doc.playcount); + } + + // @ts-expect-error monkeypatching + const playcountPBs = pbs as Array; + + // monkey patch __playcount on + for (const pb of playcountPBs) { + pb.__playcount = playcountMap.get(pb.chartID) ?? 0; + } + + playcountPBs.sort((a, b) => b.__playcount - a.__playcount); + + return res.status(200).json({ + success: true, + description: `Returned ${playcountPBs.length} scores.`, + body: { + songs, + charts, + pbs: playcountPBs, + }, + }); +}); + +/** + * Returns the users around the given user on the leaderboard. + * + * @param alg - Optional, the algorithm to use. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/leaderboard-adjacent + */ +router.get("/leaderboard-adjacent", async (req, res) => { + const { game, playtype, user } = GetUGPT(req); + + const gptConfig = GetGamePTConfig(game, playtype); + + let alg = gptConfig.defaultProfileRatingAlg; + + if (IsString(req.query.alg)) { + const temp = CheckStrProfileAlg(game, playtype, req.query.alg); + + if (temp === null) { + return res.status(400).json({ + success: false, + description: `Invalid value of ${ + req.query.alg + } for alg. Expected one of ${gptConfig.profileRatingAlgs.join(", ")}`, + }); + } + + alg = temp; + } + + const thisUsersStats = await db["game-stats"].findOne({ game, playtype, userID: user.id }); + + if (!thisUsersStats) { + return res.status(400).json({ + success: false, + description: `This user has not played this game.`, + }); + } + + const [above, below] = await Promise.all([ + db["game-stats"].find( + { + game, + playtype, + userID: { $ne: user.id }, + [`ratings.${alg}`]: { $gt: thisUsersStats.ratings[alg] }, + }, + { + limit: 5, + sort: { + [`ratings.${alg}`]: 1, + }, + } + ), + db["game-stats"].find( + { + game, + playtype, + userID: { $ne: user.id }, + [`ratings.${alg}`]: { $lte: thisUsersStats.ratings[alg] }, + }, + { + limit: 5, + sort: { + [`ratings.${alg}`]: -1, + }, + } + ), + ]); + + const users = await GetUsersWithIDs([ + ...above.map((e) => e.userID), + ...below.map((e) => e.userID), + ]); + + const thisUsersRanking = await GetUsersRankingAndOutOf(thisUsersStats, alg); + + return res.status(200).json({ + success: true, + description: `Returned ${above.length + below.length} nearby stats.`, + body: { + above: above.reverse(), + below, + users, + thisUsersStats, + thisUsersRanking, + }, + }); +}); + +router.use("/pbs", pbsRouter); +router.use("/scores", scoresRouter); +router.use("/sessions", sessionsRouter); +router.use("/tables", tablesRouter); +router.use("/showcase", showcaseRouter); +router.use("/settings", settingsRouter); +router.use("/folders", foldersRouter); +router.use("/targets", targetsRouter); +router.use("/rivals", rivalsRouter); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/scores/router.test.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/scores/router.test.ts new file mode 100644 index 000000000..a0d042f41 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/scores/router.test.ts @@ -0,0 +1,243 @@ +import db from "external/mongo/db"; +import t from "tap"; +import { mkFakeScoreIIDXSP, mkFakeScoreSDVX } from "test-utils/misc"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { + GetKTDataJSON, + LoadTachiIIDXData, + Testing511Song, + Testing511SPA, +} from "test-utils/test-data"; +import type { ChartDocument, ScoreDocument } from "tachi-common"; + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/scores/recent", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return a users 100 most recent scores.", async (t) => { + const mockScores: Array = []; + + for (let i = 0; i < 200; i++) { + mockScores.push({ + userID: 1, + game: "iidx", + playtype: "SP", + timeAchieved: i * 100, + scoreID: `scoreID_${i}`, + chartID: Testing511SPA.chartID, + songID: Testing511Song.id, + } as ScoreDocument); + } + + await db.scores.insert(mockScores); + + for (const sc of mockScores) { + // lol + delete sc._id; + } + + const res = await mockApi.get("/api/v1/users/1/games/iidx/SP/scores/recent"); + + t.hasStrict(res.body, { + success: true, + description: "Retrieved 100 scores.", + body: { + scores: mockScores.slice(100).reverse(), + songs: [Testing511Song], + charts: [Testing511SPA], + }, + }); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/scores", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(LoadTachiIIDXData); + + t.test("Should return 400 if no search param is given", async (t) => { + const res = await mockApi.get("/api/v1/users/test_zkldi/games/iidx/SP/scores"); + + t.equal(res.statusCode, 400); + t.equal(res.body.success, false); + + t.end(); + }); + + t.test("Should return 400 if invalid search param is given", async (t) => { + const res = await mockApi.get( + "/api/v1/users/test_zkldi/games/iidx/SP/scores?search=foo&search=bar" + ); + + t.equal(res.statusCode, 400); + t.equal(res.body.success, false); + + // evil eval attempts + const res2 = await mockApi.get( + "/api/v1/users/test_zkldi/games/iidx/SP/scores?search[$where]=process.exit(1)" + ); + + t.equal(res2.statusCode, 400); + t.equal(res2.body.success, false); + + t.end(); + }); + + t.test("Should search a user's scores.", async (t) => { + const mockScores: Array = []; + + const charts = GetKTDataJSON("./tachi/tachi-charts-iidx.json") as Array< + ChartDocument<"iidx:DP" | "iidx:SP"> + >; + + for (let i = 0; i < 200; i++) { + const chart = charts[i]; + + if (!chart) { + return t.fail( + `tachi-charts-iidx.json doesn't have enough mock data for testing. Needed atleast 200 entries, but failed to retrieve one at index ${i}.` + ); + } + + mockScores.push({ + scoreID: i.toString(), + userID: 1, + game: "iidx", + playtype: "SP", + isPrimary: true, + chartID: chart.chartID, + songID: chart.songID, + calculatedData: { + ktLampRating: i, + }, + } as ScoreDocument); + } + + await db.scores.insert(mockScores); + + const res = await mockApi.get( + "/api/v1/users/test_zkldi/games/iidx/SP/scores?search=5.1.1." + ); + + t.equal(res.body.body.scores.length, 5); + t.equal(res.body.body.songs.length, 1); + t.equal(res.body.body.charts.length, 4); + + t.hasStrict(res.body, { + success: true, + description: "Retrieved 5 scores.", + body: { + scores: [ + { + songID: 1, + }, + { + songID: 1, + }, + { + songID: 1, + }, + ], + songs: [ + { + title: "5.1.1.", + }, + ], + charts: [ + { + songID: 1, + }, + { + songID: 1, + }, + ], + }, + }); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/scores/all", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return every score from a user.", async (t) => { + await db.scores.remove({}); + await db.scores.insert([ + mkFakeScoreIIDXSP({ scoreID: "score_1" }), + mkFakeScoreIIDXSP({ scoreID: "score_2" }), + mkFakeScoreIIDXSP({ scoreID: "score_3" }), + mkFakeScoreIIDXSP({ scoreID: "other_score", userID: 2 }), + mkFakeScoreSDVX({ scoreID: "other_game_same_user" }), + ]); + + const res = await mockApi.get("/api/v1/users/1/games/iidx/SP/scores/all"); + + t.equal(res.statusCode, 200, "Should return 200"); + + t.strictSame( + res.body.body.scores.map((e: ScoreDocument) => e.scoreID), + ["score_1", "score_2", "score_3"] + ); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/scores/:chartID", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(LoadTachiIIDXData); + + t.test("Should return a users score history on a given chart.", async (t) => { + await db.scores.remove({}); + await db.scores.insert([ + { + chartID: Testing511SPA.chartID, + userID: 1, + scoreID: "foo", + }, + { + chartID: Testing511SPA.chartID, + userID: 1, + scoreID: "bar", + }, + { + chartID: Testing511SPA.chartID, + userID: 2, + scoreID: "baz", + }, + ] as Array); + + const res = await mockApi.get( + `/api/v1/users/1/games/iidx/SP/scores/${Testing511SPA.chartID}` + ); + + const scoreIDs = res.body.body.map((e: ScoreDocument) => e.scoreID); + + t.equal(scoreIDs.length, 2); + t.ok(scoreIDs.includes("foo")); + t.ok(scoreIDs.includes("bar")); + + t.end(); + }); + + t.test("Should reject a chart that does not exist.", async (t) => { + const res = await mockApi.get( + `/api/v1/users/1/games/iidx/SP/scores/CHART_THAT_DOESNT_EXIST` + ); + + t.equal(res.statusCode, 404); + t.match(res.body.description, /chart does not exist/iu); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/scores/router.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/scores/router.ts new file mode 100644 index 000000000..78100a5fa --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/scores/router.ts @@ -0,0 +1,151 @@ +import { Router } from "express"; +import db from "external/mongo/db"; +import { SearchSpecificGameSongsAndCharts } from "lib/search/search"; +import { HyperAggressiveRateLimitMiddleware } from "server/middleware/rate-limiter"; +import { GetRelevantSongsAndCharts } from "utils/db"; +import { GetUGPT } from "utils/req-tachi-data"; +import { FilterChartsAndSongs } from "utils/scores"; + +const router: Router = Router({ mergeParams: true }); + +/** + * Searches a user's individual scores. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/scores + */ +router.get("/", async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + if (typeof req.query.search !== "string") { + return res.status(400).json({ + success: false, + description: `Invalid value for search parameter.`, + }); + } + + const { songs: allSongs, charts: allCharts } = await SearchSpecificGameSongsAndCharts( + game, + req.query.search, + playtype + ); + + const scores = await db.scores.find( + { + chartID: { $in: allCharts.map((e) => e.chartID) }, + userID: user.id, + }, + { + sort: { + timeAchieved: -1, + }, + limit: 30, + } + ); + + const { songs, charts } = FilterChartsAndSongs(scores, allCharts, allSongs); + + return res.status(200).json({ + success: true, + description: `Retrieved ${scores.length} scores.`, + body: { + scores, + songs, + charts, + }, + }); +}); + +/** + * Retrieve all scores from this user. + * + * @warn This endpoint is expensive, and is rate-limited as such. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/scores/all + */ +router.get("/all", HyperAggressiveRateLimitMiddleware, async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + const scores = await db.scores.find({ + userID: user.id, + game, + playtype, + isPrimary: true, + }); + + const { songs, charts } = await GetRelevantSongsAndCharts(scores, game); + + return res.status(200).json({ + success: true, + description: `Returned ${scores.length} PBs.`, + body: { scores, songs, charts }, + }); +}); + +/** + * Returns a users recent 100 scores for this game. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/scores/recent + */ +router.get("/recent", async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + const recentScores = await db.scores.find( + { + userID: user.id, + game, + playtype, + }, + { + limit: 100, + sort: { + timeAchieved: -1, + }, + } + ); + + const { songs, charts } = await GetRelevantSongsAndCharts(recentScores, game); + + return res.status(200).json({ + success: true, + description: `Retrieved ${recentScores.length} scores.`, + body: { + scores: recentScores, + songs, + charts, + }, + }); +}); + +/** + * Retrieve all the scores a user has on the given chartID. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/scores/:chartID + */ +router.get("/:chartID", async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + const chart = await db.charts[game].findOne({ + chartID: req.params.chartID, + playtype, + }); + + if (!chart) { + return res.status(404).json({ + success: false, + description: `This chart does not exist.`, + }); + } + + const scores = await db.scores.find({ + userID: user.id, + chartID: chart.chartID, + }); + + return res.status(200).json({ + success: true, + description: `Returned ${scores.length} scores.`, + body: scores, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/sessions/router.test.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/sessions/router.test.ts new file mode 100644 index 000000000..f99b41da6 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/sessions/router.test.ts @@ -0,0 +1,226 @@ +import db from "external/mongo/db"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { LoadTachiIIDXData } from "test-utils/test-data"; +import type { SessionDocument } from "tachi-common"; + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/sessions", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(LoadTachiIIDXData); + + t.test("Should return 400 if no search param is given", async (t) => { + const res = await mockApi.get("/api/v1/users/test_zkldi/games/iidx/SP/sessions"); + + t.equal(res.statusCode, 400); + t.equal(res.body.success, false); + + t.end(); + }); + + t.test("Should return 400 if invalid search param is given", async (t) => { + const res = await mockApi.get( + "/api/v1/users/test_zkldi/games/iidx/SP/sessions?search=foo&search=bar" + ); + + t.equal(res.statusCode, 400); + t.equal(res.body.success, false); + + // evil eval attempts + const res2 = await mockApi.get( + "/api/v1/users/test_zkldi/games/iidx/SP/sessions?search[$where]=process.exit(1)" + ); + + t.equal(res2.statusCode, 400); + t.equal(res2.body.success, false); + + t.end(); + }); + + t.test("Should search a user's sessions.", async (t) => { + await db.sessions.insert( + ["Epic Session", "Session Of Epic", "Epic Gaming", "something else", "bad session"].map( + (e) => ({ + userID: 1, + game: "iidx", + playtype: "SP", + name: e, + desc: "something", + + // hack to avoid db nonsense + sessionID: e, + }) + ) as Array + ); + + const res = await mockApi.get( + "/api/v1/users/test_zkldi/games/iidx/SP/sessions?search=Epic" + ); + + t.hasStrict(res.body, { + success: true, + description: "Retrieved 3 sessions.", + body: [], + }); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/sessions/best", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(LoadTachiIIDXData); + + t.test("Should return a user's best 100 sessions.", async (t) => { + const sessions: Array = []; + + for (let i = 0; i < 200; i++) { + sessions.push({ + sessionID: i.toString(), + game: "iidx", + playtype: "SP", + userID: 1, + calculatedData: { + ktLampRating: i, + }, + } as SessionDocument); + } + + await db.sessions.remove({}); + await db.sessions.insert(sessions); + + const res = await mockApi.get("/api/v1/users/test_zkldi/games/iidx/SP/sessions/best"); + + t.hasStrict(res.body, { + success: true, + description: "Retrieved 100 sessions.", + }); + + t.strictSame( + res.body.body.map((e: SessionDocument) => e.sessionID), + sessions + .slice(100) + .reverse() + .map((e) => e.sessionID) + ); + + t.end(); + }); + + t.test( + "Should return a user's best 100 sessions according to the provided rating alg.", + async (t) => { + const sessions: Array = []; + + for (let i = 0; i < 200; i++) { + sessions.push({ + sessionID: i.toString(), + game: "iidx", + playtype: "SP", + userID: 1, + calculatedData: { + ktLampRating: 200 - i, + BPI: i, + }, + } as SessionDocument); + } + + await db.sessions.remove({}); + await db.sessions.insert(sessions); + + const res = await mockApi.get( + "/api/v1/users/test_zkldi/games/iidx/SP/sessions/best?alg=BPI" + ); + + t.hasStrict(res.body, { + success: true, + description: "Retrieved 100 sessions.", + }); + + t.strictSame( + res.body.body.map((e: SessionDocument) => e.sessionID), + sessions + .slice(100) + .reverse() + .map((e) => e.sessionID) + ); + + t.end(); + } + ); + + t.end(); +}); + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/sessions/highlighted", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return only highlighted sessions.", async (t) => { + await db.sessions.insert({ + highlight: true, + userID: 1, + game: "iidx", + playtype: "SP", + sessionID: "highlighted_id", + } as SessionDocument); + + const res = await mockApi.get("/api/v1/users/1/games/iidx/SP/sessions/highlighted"); + + t.equal(res.body.body.length, 1); + t.equal(res.body.body[0].sessionID, "highlighted_id"); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/sessions/recent", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return the users most recent sessions.", async (t) => { + await db.sessions.remove({}); + await db.sessions.insert([ + { + highlight: false, + userID: 1, + game: "iidx", + playtype: "SP", + sessionID: "recent_id1", + timeEnded: 1, + }, + { + highlight: false, + userID: 1, + game: "iidx", + playtype: "SP", + sessionID: "recent_id2", + timeEnded: 3, + }, + { + highlight: false, + userID: 1, + game: "iidx", + playtype: "SP", + sessionID: "recent_id3", + timeEnded: 2, + }, + ] as Array); + + const res = await mockApi.get("/api/v1/users/1/games/iidx/SP/sessions/recent"); + + t.equal(res.body.body.length, 3); + t.strictSame( + // eslint-disable-next-line lines-around-comment + // @ts-expect-error temporary type hack + res.body.body.map((e) => e.sessionID), + ["recent_id2", "recent_id3", "recent_id1"] + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/sessions/router.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/sessions/router.ts new file mode 100644 index 000000000..94166d125 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/sessions/router.ts @@ -0,0 +1,151 @@ +import { Router } from "express"; +import db from "external/mongo/db"; +import { SearchSessions } from "lib/search/search"; +import { GetGamePTConfig } from "tachi-common"; +import { GetUGPT } from "utils/req-tachi-data"; +import { CheckStrSessionAlg } from "utils/string-checks"; + +const router: Router = Router({ mergeParams: true }); + +/** + * Search a users sessions. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/sessions + */ +router.get("/", async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + if (typeof req.query.search !== "string") { + return res.status(400).json({ + success: false, + description: `Invalid value for search parameter.`, + }); + } + + const sessions = await SearchSessions(req.query.search, game, playtype, user.id, 100); + + return res.status(200).json({ + success: true, + description: `Retrieved ${sessions.length} sessions.`, + body: sessions, + }); +}); + +/** + * Returns a user's best 100 sessions according to the default statistic + * for that game. + * + * @param alg - An override to specify a different algorithm for that game. + * @name GET /api/v1/users/:userID/games/:game/:playtype/sessions/best + */ +router.get("/best", async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + const gptConfig = GetGamePTConfig(game, playtype); + + let alg = gptConfig.defaultSessionRatingAlg; + + if (typeof req.query.alg === "string") { + const userAlg = CheckStrSessionAlg(game, playtype, req.query.alg); + + if (userAlg === null) { + return res.status(400).json({ + success: false, + description: `Invalid algorithm '${ + req.query.alg + }' provided. Expected any of ${gptConfig.sessionRatingAlgs.join(", ")}.`, + }); + } + + alg = userAlg; + } + + const sessions = await db.sessions.find( + { + userID: user.id, + game, + playtype, + }, + { + limit: 100, + sort: { + [`calculatedData.${alg}`]: -1, + }, + } + ); + + return res.status(200).json({ + success: true, + description: `Retrieved ${sessions.length} sessions.`, + body: sessions, + }); +}); + +/** + * Returns a users 100 most recent highlighted sessions. Returned in timeEnded order. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/sessions/highlighted + */ +router.get("/highlighted", async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + const sessions = await db.sessions.find( + { userID: user.id, game, playtype, highlight: true }, + { sort: { timeEnded: -1 }, limit: 100 } + ); + + return res.status(200).json({ + success: true, + description: `Returned ${sessions.length} sessions.`, + body: sessions, + }); +}); + +/** + * Returns a users 100 most recent sessions. Returned in timeEnded order. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/sessions/recent + */ +router.get("/recent", async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + const sessions = await db.sessions.find( + { userID: user.id, game, playtype }, + { sort: { timeEnded: -1 }, limit: 100 } + ); + + return res.status(200).json({ + success: true, + description: `Returned ${sessions.length} sessions.`, + body: sessions, + }); +}); + +/** + * Returns a user's most recent session. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/sessions/last + */ +router.get("/last", async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + const session = await db.sessions.findOne( + { userID: user.id, game, playtype }, + { sort: { timeEnded: -1 } } + ); + + if (!session) { + return res.status(404).json({ + success: false, + description: `This user has not got any sessions!`, + }); + } + + return res.status(200).json({ + success: true, + description: `Returned a session.`, + body: session, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/settings/router.test.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/settings/router.test.ts new file mode 100644 index 000000000..40509c96f --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/settings/router.test.ts @@ -0,0 +1,474 @@ +/* eslint-disable no-await-in-loop */ +import db from "external/mongo/db"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import type { UGPTSettings } from "tachi-common"; + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/settings", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return a user's settings.", async (t) => { + const res = await mockApi.get("/api/v1/users/1/games/iidx/SP/settings"); + + t.strictSame(res.body.body, { + userID: 1, + game: "iidx", + playtype: "SP", + preferences: { + preferredScoreAlg: null, + preferredSessionAlg: null, + preferredProfileAlg: null, + scoreBucket: null, + defaultTable: null, + stats: [], + gameSpecific: { + display2DXTra: false, + bpiTarget: 0, + }, + }, + rivals: [], + }); + + t.end(); + }); + + t.end(); +}); + +t.test("PATCH /api/v1/users/:userID/games/:game/:playtype/settings", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should update a user's settings.", async (t) => { + await db["api-tokens"].insert({ + userID: 1, + identifier: "api_token", + permissions: { + customise_profile: true, + }, + token: "api_token", + fromAPIClient: null, + }); + + const res = await mockApi + .patch("/api/v1/users/1/games/iidx/SP/settings") + .set("Authorization", "Bearer api_token") + .send({ + preferredScoreAlg: "ktLampRating", + }); + + t.strictSame( + res.body.body, + { + userID: 1, + game: "iidx", + playtype: "SP", + preferences: { + preferredScoreAlg: "ktLampRating", + preferredSessionAlg: null, + preferredProfileAlg: null, + scoreBucket: null, + defaultTable: null, + stats: [], + gameSpecific: { + display2DXTra: false, + bpiTarget: 0, + }, + }, + rivals: [], + }, + "Should only update the mutated properties." + ); + + const data = await db["game-settings"].findOne({ + userID: 1, + game: "iidx", + playtype: "SP", + }); + + t.equal(data?.preferences.preferredScoreAlg, "ktLampRating"); + + t.end(); + }); + + t.test("Should update a user's game specific settings.", async (t) => { + await db["api-tokens"].insert({ + userID: 1, + identifier: "api_token", + permissions: { + customise_profile: true, + }, + token: "api_token", + fromAPIClient: null, + }); + + const res = await mockApi + .patch("/api/v1/users/1/games/iidx/SP/settings") + .set("Authorization", "Bearer api_token") + .send({ + preferredScoreAlg: "ktLampRating", + gameSpecific: { + display2DXTra: true, + bpiTarget: 50, + }, + }); + + t.strictSame( + res.body.body, + { + userID: 1, + game: "iidx", + playtype: "SP", + preferences: { + preferredScoreAlg: "ktLampRating", + preferredSessionAlg: null, + preferredProfileAlg: null, + scoreBucket: null, + defaultTable: null, + stats: [], + gameSpecific: { + display2DXTra: true, + bpiTarget: 50, + }, + }, + rivals: [], + }, + "Should only update the mutated properties." + ); + + const data = await db["game-settings"].findOne({ + userID: 1, + game: "iidx", + playtype: "SP", + }); + + t.equal(data?.preferences.preferredScoreAlg, "ktLampRating"); + + t.end(); + }); + + t.test("Should update an IIDX player's bpiTarget settings.", (t) => { + t.beforeEach(async () => { + await db["api-tokens"].insert({ + userID: 1, + identifier: "api_token", + permissions: { + customise_profile: true, + }, + token: "api_token", + fromAPIClient: null, + }); + }); + + for (const target of [0, 10, 15, 100]) { + t.test(`Should be able to update the BPI target to ${target}`, async (t) => { + const res = await mockApi + .patch("/api/v1/users/1/games/iidx/SP/settings") + .set("Authorization", "Bearer api_token") + .send({ + gameSpecific: { + bpiTarget: target, + }, + }); + + t.equal(res.statusCode, 200); + + t.strictSame( + res.body.body, + { + userID: 1, + game: "iidx", + playtype: "SP", + preferences: { + preferredScoreAlg: null, + preferredSessionAlg: null, + preferredProfileAlg: null, + scoreBucket: null, + defaultTable: null, + stats: [], + gameSpecific: { + display2DXTra: false, + bpiTarget: target, + }, + }, + rivals: [], + }, + "Should only update the mutated properties." + ); + + const data = (await db["game-settings"].findOne({ + userID: 1, + game: "iidx", + playtype: "SP", + })) as UGPTSettings<"iidx:DP" | "iidx:SP"> | null; + + t.equal(data?.preferences.gameSpecific.bpiTarget, target); + + t.end(); + }); + } + + t.test("Should reject float BPI targets.", async (t) => { + const res = await mockApi + .patch("/api/v1/users/1/games/iidx/SP/settings") + .set("Authorization", "Bearer api_token") + .send({ + gameSpecific: { + bpiTarget: 10.5, + }, + }); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.test("Should reject negative BPI targets", async (t) => { + const res = await mockApi + .patch("/api/v1/users/1/games/iidx/SP/settings") + .set("Authorization", "Bearer api_token") + .send({ + gameSpecific: { + bpiTarget: -10, + }, + }); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.test("Should reject >= 100 BPI targets", async (t) => { + const res = await mockApi + .patch("/api/v1/users/1/games/iidx/SP/settings") + .set("Authorization", "Bearer api_token") + .send({ + gameSpecific: { + bpiTarget: 101, + }, + }); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.end(); + }); + + t.test("Should reject a arbitrary things on game specific settings.", async (t) => { + await db["api-tokens"].insert({ + userID: 1, + identifier: "api_token", + permissions: { + customise_profile: true, + }, + token: "api_token", + fromAPIClient: null, + }); + + const res = await mockApi + .patch("/api/v1/users/1/games/iidx/SP/settings") + .set("Authorization", "Bearer api_token") + .send({ + preferredScoreAlg: "ktRating", + gameSpecific: { + display2DXTra: true, + arbitraryValue: {}, + }, + }); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.test("Should reject a arbitrary things on game specific settings.", async (t) => { + await db["api-tokens"].insert({ + userID: 1, + identifier: "api_token", + permissions: { + customise_profile: true, + }, + token: "api_token", + fromAPIClient: null, + }); + + const res = await mockApi + .patch("/api/v1/users/1/games/iidx/SP/settings") + .set("Authorization", "Bearer api_token") + .send({ + preferredScoreAlg: "ktRating", + gameSpecific: { + display2DXTra: true, + arbitraryValue: {}, + }, + }); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.test("Requires the user to be authed as the requested user.", async (t) => { + await db["api-tokens"].insert({ + userID: 2, + identifier: "api_token", + permissions: { + customise_profile: true, + }, + token: "api_token", + fromAPIClient: null, + }); + + const res = await mockApi + .patch("/api/v1/users/1/games/iidx/SP/settings") + .set("Authorization", `Bearer api_token`); + + t.equal(res.statusCode, 403); + + t.end(); + }); + + t.test("Requires the permission customise_profile", async (t) => { + await db["api-tokens"].insert({ + userID: 1, + identifier: "api_token", + permissions: { + customise_profile: false, + }, + token: "api_token", + fromAPIClient: null, + }); + + const res = await mockApi + .patch("/api/v1/users/1/games/iidx/SP/settings") + .set("Authorization", `Bearer api_token`); + + t.equal(res.statusCode, 403); + + t.end(); + }); + + t.test("Should reject invalid values.", async (t) => { + await db["api-tokens"].insert({ + userID: 1, + identifier: "foo", + permissions: { + customise_profile: true, + }, + token: "api_token", + fromAPIClient: null, + }); + + for (const key of [ + "preferredScoreAlg", + "preferredSessionAlg", + "preferredProfileAlg", + ] as const) { + const res = await mockApi + .patch("/api/v1/users/1/games/iidx/SP/settings") + .set("Authorization", "Bearer api_token") + .send({ + [key]: "nonsense", + }); + + t.equal(res.statusCode, 400); + + const data = await db["game-settings"].findOne({ + userID: 1, + game: "iidx", + playtype: "SP", + }); + + t.equal(data?.preferences[key], null, "Should be unmodified."); + } + + t.end(); + }); + + t.test("Should update a user's default table.", async (t) => { + await db["api-tokens"].insert({ + userID: 1, + identifier: "api_token", + permissions: { + customise_profile: true, + }, + token: "api_token", + fromAPIClient: null, + }); + + const res = await mockApi + .patch("/api/v1/users/1/games/iidx/SP/settings") + .set("Authorization", "Bearer api_token") + .send({ + defaultTable: "mock_table", + }); + + t.strictSame( + res.body.body, + { + userID: 1, + game: "iidx", + playtype: "SP", + preferences: { + preferredScoreAlg: null, + preferredSessionAlg: null, + preferredProfileAlg: null, + scoreBucket: null, + defaultTable: "mock_table", + stats: [], + gameSpecific: { + display2DXTra: false, + bpiTarget: 0, + }, + }, + rivals: [], + }, + "Should only update the mutated properties." + ); + + const data = await db["game-settings"].findOne({ + userID: 1, + game: "iidx", + playtype: "SP", + }); + + t.equal(data?.preferences.defaultTable, "mock_table"); + + t.end(); + }); + + t.test("Should not allow updating to a table that doesn't exist.", async (t) => { + await db["api-tokens"].insert({ + userID: 1, + identifier: "api_token", + permissions: { + customise_profile: true, + }, + token: "api_token", + fromAPIClient: null, + }); + + const res = await mockApi + .patch("/api/v1/users/1/games/iidx/SP/settings") + .set("Authorization", "Bearer api_token") + .send({ + defaultTable: "fake_table", + }); + + t.equal(res.statusCode, 400); + + const data = await db["game-settings"].findOne({ + userID: 1, + game: "iidx", + playtype: "SP", + }); + + t.equal(data?.preferences.defaultTable, null); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/settings/router.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/settings/router.ts new file mode 100644 index 000000000..06b18214e --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/settings/router.ts @@ -0,0 +1,188 @@ +import { RequireAuthedAsUser } from "../../../../middleware"; +import { Router } from "express"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import p from "prudence"; +import { RequirePermissions } from "server/middleware/auth"; +import { GetGamePTConfig } from "tachi-common"; +import { FormatPrError, optNull } from "utils/prudence"; +import { GetUGPT } from "utils/req-tachi-data"; +import { FormatUserDoc } from "utils/user"; +import type { UGPTSettings } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +const router: Router = Router({ mergeParams: true }); + +/** + * Update your settings. + * + * @param - See the prudence validation. + * + * @name PATCH /api/v1/users/:userID/games/:game/:playtype/settings + */ +router.patch( + "/", + RequireAuthedAsUser, + RequirePermissions("customise_profile"), + async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + const gptConfig = GetGamePTConfig(game, playtype); + + let gameSpecificSchema = {}; + + if (game === "iidx") { + gameSpecificSchema = { + display2DXTra: p.optional("boolean"), + bpiTarget: p.optional(p.isBoundedInteger(0, 100)), + }; + } else if (game === "sdvx" || game === "usc") { + gameSpecificSchema = { + vf6Target: p.optional(p.isBetween(0, 0.5)), + }; + } else if (game === "jubeat") { + gameSpecificSchema = { + // 165.1 is the max jubility. + jubilityTarget: p.optional(p.isBetween(0, 165.1)), + }; + } + + const err = p(req.safeBody, { + preferredScoreAlg: p.optional(p.nullable(p.isIn(gptConfig.scoreRatingAlgs))), + preferredSessionAlg: p.optional(p.nullable(p.isIn(gptConfig.sessionRatingAlgs))), + preferredProfileAlg: p.optional(p.nullable(p.isIn(gptConfig.profileRatingAlgs))), + defaultTable: "*?string", + + // This is handled with game-specific schema validation below. + gameSpecific: optNull(gameSpecificSchema), + scoreBucket: optNull(p.isIn("grade", "lamp")), + }); + + if (err) { + return res.status(400).json({ + success: false, + description: FormatPrError(err, "Invalid game-settings."), + }); + } + + const body = req.safeBody as Partial; + + if (typeof body.defaultTable === "string") { + const table = await db.tables.findOne({ + game, + playtype, + tableID: body.defaultTable, + }); + + if (!table) { + return res.status(400).json({ + success: false, + description: `The table (${body.defaultTable}) does not exist (and therefore cannot be set as a default).`, + }); + } + } + + const updateQuery: Record = {}; + + // @warning Slightly icky dynamic prop assignment instead of copypasta. + for (const key of ["Score", "Session", "Profile"] as const) { + const k = `preferred${key}Alg` as const; + + const value = body[k]; + + if (value !== undefined) { + updateQuery[`preferences.${k}`] = value; + } + } + + if (body.scoreBucket !== undefined) { + updateQuery[`preferences.scoreBucket`] = body.scoreBucket; + } + + if (body.defaultTable !== undefined) { + updateQuery[`preferences.defaultTable`] = body.defaultTable; + } + + if (body.gameSpecific) { + for (const [key, value] of Object.entries(body.gameSpecific)) { + // @ts-expect-error This is a very hacky way of applying changes. + // However, we know this to be correct, so we're just going to ignore it. + updateQuery[`preferences.gameSpecific.${key}`] = value; + } + } + + if (Object.keys(updateQuery).length === 0) { + const settings = await db["game-settings"].findOne({ + userID: user.id, + game, + playtype, + }); + + return res.status(200).json({ + success: true, + description: `Nothing has been modified, successfully.`, + body: settings, + }); + } + + await db["game-settings"].update( + { + userID: user.id, + game, + playtype, + }, + { + $set: updateQuery, + } + ); + + const settings = await db["game-settings"].findOne({ + userID: user.id, + game, + playtype, + }); + + if (!settings) { + logger.error( + `User ${FormatUserDoc( + user + )} has no game-settings, but has played ${game} ${playtype}?` + ); + + return res.status(500).json({ + success: false, + description: `An internal error has occured. Do not repeat this request.`, + }); + } + + return res.status(200).json({ + success: true, + description: `Updated settings.`, + body: settings, + }); + } +); + +/** + * Returns this user's settings. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/settings + */ +router.get("/", async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + const settings = await db["game-settings"].findOne({ + userID: user.id, + game, + playtype, + }); + + return res.status(200).json({ + success: true, + description: `Returned ${FormatUserDoc(user)}'s settings.`, + body: settings, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/showcase/router.test.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/showcase/router.test.ts new file mode 100644 index 000000000..d5ba4d7e0 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/showcase/router.test.ts @@ -0,0 +1,427 @@ +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import { IIDX_GRADES, IIDX_LAMPS } from "tachi-common"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { Testing511SPA, TestingIIDXFolderSP10, TestingIIDXSPScorePB } from "test-utils/test-data"; +import { CreateFolderChartLookup } from "utils/folder"; +import type { ChartDocument, PublicUserDocument } from "tachi-common"; + +const SetFolders = async () => { + await db.folders.insert(TestingIIDXFolderSP10); + await CreateFolderChartLookup(TestingIIDXFolderSP10, true); + + await db["game-settings"].remove({}); + + await db["game-settings"].insert({ + userID: 1, + game: "iidx", + playtype: "SP", + preferences: { + preferredProfileAlg: null, + preferredScoreAlg: null, + preferredSessionAlg: null, + scoreBucket: null, + defaultTable: null, + stats: [ + { + folderID: TestingIIDXFolderSP10.folderID, + mode: "folder", + property: "lamp", + gte: IIDX_LAMPS.HARD_CLEAR, + }, + { + chartID: Testing511SPA.chartID, + mode: "chart", + property: "score", + }, + ], + gameSpecific: { + display2DXTra: false, + bpiTarget: 0, + }, + }, + rivals: [], + }); + + await db["personal-bests"].insert(deepmerge(TestingIIDXSPScorePB, {})); +}; + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/showcase", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(SetFolders); + + t.test("Should return the evaluated stats for this user.", async (t) => { + const res = await mockApi.get("/api/v1/users/1/games/iidx/SP/showcase"); + + t.hasStrict(res.body.body, [ + { + stat: { + mode: "folder", + }, + result: { + value: 1, + outOf: 1, + }, + }, + { + stat: { + mode: "chart", + }, + result: { + value: 1479, + }, + }, + ]); + + t.end(); + }); + + t.test("Should project another users stats over this one if projectUser is set.", async (t) => { + await db["game-settings"].insert({ + userID: 2, + game: "iidx", + playtype: "SP", + preferences: { + preferredProfileAlg: null, + preferredScoreAlg: null, + preferredSessionAlg: null, + scoreBucket: null, + defaultTable: null, + stats: [ + { + mode: "folder", + folderID: TestingIIDXFolderSP10.folderID, + property: "score", + gte: 1480, + }, + ], + gameSpecific: { + display2DXTra: false, + bpiTarget: 0, + }, + }, + rivals: [], + }); + + // hack + await db.users.insert({ + username: "test_acc", + usernameLowercase: "test_acc", + id: 2, + } as PublicUserDocument); + + const res = await mockApi.get("/api/v1/users/1/games/iidx/SP/showcase?projectUser=2"); + + t.hasStrict(res.body.body, [ + { + stat: { + mode: "folder", + }, + result: { + value: 0, + outOf: 1, + }, + }, + ]); + + t.end(); + }); + + t.test("Should return 404 if the user has not played this game.", async (t) => { + const res = await mockApi.get("/api/v1/users/1/games/bms/7K/showcase"); + + t.equal(res.statusCode, 404); + + t.match(res.body.description, /not played/iu); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/showcase/custom", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(SetFolders); + + t.test("Should return a custom folder evaluated stat on a user.", async (t) => { + const res = await mockApi.get( + `/api/v1/users/1/games/iidx/SP/showcase/custom?mode=folder&property=grade>e=3&folderID=${TestingIIDXFolderSP10.folderID}` + ); + + t.hasStrict(res.body.body, { + result: { + value: 1, + outOf: 1, + }, + }); + + t.end(); + }); + + t.test("Should return a custom chart evaluated stat on a user.", async (t) => { + const res = await mockApi.get( + `/api/v1/users/1/games/iidx/SP/showcase/custom?mode=chart&property=grade&chartID=${Testing511SPA.chartID}` + ); + + t.hasStrict(res.body.body, { + result: { value: IIDX_GRADES.AAA }, + }); + + t.end(); + }); + + t.test("Should reject for invalid folderID.", async (t) => { + const res = await mockApi.get( + `/api/v1/users/1/games/iidx/SP/showcase/custom?mode=folder&property=grade>e=4` + ); + + t.equal(res.statusCode, 400, "Should reject for no folderID"); + + const res2 = await mockApi.get( + `/api/v1/users/1/games/iidx/SP/showcase/custom?mode=folder&property=grade>e=4&folderID=foo&folderID=bar` + ); + + t.equal(res2.statusCode, 400, "Should reject for non-string folderID"); + + t.end(); + }); + + t.test("Should reject for invalid chartID.", async (t) => { + const res = await mockApi.get( + `/api/v1/users/1/games/iidx/SP/showcase/custom?mode=chart&property=grade>e=4` + ); + + t.equal(res.statusCode, 400, "Should reject for no chartID"); + + const res2 = await mockApi.get( + `/api/v1/users/1/games/iidx/SP/showcase/custom?mode=chart&property=grade&chartID=foo&chartID=bar` + ); + + t.equal(res2.statusCode, 400, "Should reject for non-string chartID"); + + t.end(); + }); + + t.test("Should reject for chartID that doesn't exist.", async (t) => { + const res = await mockApi.get( + `/api/v1/users/1/games/iidx/SP/showcase/custom?mode=chart&property=grade&chartID=chart_does_not_exist` + ); + + t.equal(res.statusCode, 400); + + await db.charts.iidx.insert({ + chartID: "testing_dp_chart", + playtype: "DP", + } as ChartDocument); + + const res2 = await mockApi.get( + `/api/v1/users/1/games/iidx/SP/showcase/custom?mode=chart&property=grade&chartID=testing_dp_chart` + ); + + t.equal(res2.statusCode, 400); + + t.end(); + }); + + t.test("Should reject for folderID that doesn't exist.", async (t) => { + const res = await mockApi.get( + `/api/v1/users/1/games/iidx/SP/showcase/custom?mode=folder&property=grade>e=4&folderID=invalid` + ); + + t.equal(res.statusCode, 400); + + const res2 = await mockApi.get( + `/api/v1/users/1/games/iidx/SP/showcase/custom?mode=folder&property=grade>e=4&folderID=${TestingIIDXFolderSP10.folderID},invalid` + ); + + t.equal(res2.statusCode, 400); + + t.end(); + }); + + t.test("Should reject for invalid mode", async (t) => { + const res = await mockApi.get( + `/api/v1/users/1/games/iidx/SP/showcase/custom?mode=nonsense&property=grade>e=4&chartID=foo` + ); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.end(); +}); + +t.test("PUT /api/v1/users/:userID/games/:game/:playtype/showcase", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(SetFolders); + + t.beforeEach( + async () => + // eslint-disable-next-line no-return-await + await db["api-tokens"].insert({ + userID: 1, + identifier: "alt_token", + permissions: { + customise_profile: true, + }, + token: "alt_token", + fromAPIClient: null, + }) + ); + + t.test("Requires the user to be authed as the requested user.", async (t) => { + await db["api-tokens"].insert({ + userID: 2, + identifier: "alt_token", + permissions: { + customise_profile: true, + }, + token: "altz_token", + fromAPIClient: null, + }); + + const res = await mockApi + .put("/api/v1/users/1/games/iidx/SP/showcase") + .set("Authorization", `Bearer altz_token`); + + t.equal(res.statusCode, 403); + + t.end(); + }); + + t.test("Requires the permission customise_profile", async (t) => { + await db["api-tokens"].insert({ + userID: 1, + identifier: "alt_token", + permissions: { + customise_profile: false, + }, + token: "unauth_token", + fromAPIClient: null, + }); + + const res = await mockApi + .put("/api/v1/users/1/games/iidx/SP/showcase") + .set("Authorization", `Bearer unauth_token`); + + t.equal(res.statusCode, 403); + + t.end(); + }); + + t.test("Should replace a user's preferences.stats with the contained stats.", async (t) => { + const res = await mockApi + .put("/api/v1/users/1/games/iidx/SP/showcase") + .set("Authorization", `Bearer alt_token`) + .send([ + { + mode: "chart", + chartID: Testing511SPA.chartID, + property: "lamp", + }, + ]); + + t.equal(res.statusCode, 200); + + const data = await db["game-settings"].findOne({ userID: 1, game: "iidx", playtype: "SP" }); + + t.hasStrict( + data?.preferences.stats, + [ + { + mode: "chart", + chartID: Testing511SPA.chartID, + property: "lamp", + }, + ], + "Should update preferences.stats in the database." + ); + + t.hasStrict( + res.body.body.preferences.stats, + [ + { + mode: "chart", + chartID: Testing511SPA.chartID, + property: "lamp", + }, + ], + "Should return the updated preferences" + ); + + t.end(); + }); + + t.test("Should reject for chartID that doesn't exist.", async (t) => { + const res = await mockApi + .put("/api/v1/users/1/games/iidx/SP/showcase") + .set("Authorization", `Bearer alt_token`) + .send([ + { + mode: "chart", + chartID: "chart_id_does_not_exist", + property: "lamp", + }, + ]); + + t.equal(res.statusCode, 400); + + await db.charts.iidx.insert({ + chartID: "testing_dp_chart", + playtype: "DP", + } as ChartDocument); + + const res2 = await mockApi + .put("/api/v1/users/1/games/iidx/SP/showcase") + .set("Authorization", `Bearer alt_token`) + .send([ + { + mode: "chart", + chartID: "testing_dp_chart", + property: "lamp", + }, + ]); + + t.equal(res2.statusCode, 400); + + t.end(); + }); + + t.test("Should reject for folderID that doesn't exist.", async (t) => { + const res = await mockApi + .put("/api/v1/users/1/games/iidx/SP/showcase") + .set("Authorization", `Bearer alt_token`) + .send([ + { + mode: "folder", + property: "grade", + gte: 4, + folderID: "folder_does_not_exist", + }, + ]); + + t.equal(res.statusCode, 400); + + const res2 = await mockApi + .put("/api/v1/users/1/games/iidx/SP/showcase") + .set("Authorization", `Bearer alt_token`) + .send([ + { + mode: "folder", + property: "grade", + gte: 4, + folderID: [TestingIIDXFolderSP10.folderID, "folder_does_not_exist"], + }, + ]); + + t.equal(res2.statusCode, 400); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/showcase/router.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/showcase/router.ts new file mode 100644 index 000000000..db4cb1340 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/showcase/router.ts @@ -0,0 +1,309 @@ +import { Router } from "express"; +import db from "external/mongo/db"; +import { EvaluateShowcaseStat } from "lib/showcase/evaluator"; +import { GetRelatedStatDocuments } from "lib/showcase/get-related"; +import { EvaluateUsersStatsShowcase } from "lib/showcase/get-stats"; +import p from "prudence"; +import { RequirePermissions } from "server/middleware/auth"; +import { RequireAuthedAsUser } from "server/router/api/v1/users/_userID/middleware"; +import { FormatGame, GetGamePTConfig } from "tachi-common"; +import { IsRecord } from "utils/misc"; +import { FormatPrError } from "utils/prudence"; +import { GetUGPT } from "utils/req-tachi-data"; +import { ResolveUser } from "utils/user"; +import type { ShowcaseStatDetails } from "tachi-common"; + +const router: Router = Router({ mergeParams: true }); + +/** + * Evaluate this users set stats. + * + * @param projectUser - Project another user's stats instead of their set stats. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/showcase + */ +router.get("/", async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + let projectUser; + + if (typeof req.query.projectUser === "string") { + const user = await ResolveUser(req.query.projectUser); + + if (!user) { + return res.status(404).json({ + success: false, + description: `The projected user ${req.query.projectUser} does not exist.`, + }); + } + + projectUser = user.id; + } + + const results = await EvaluateUsersStatsShowcase(user.id, game, playtype, projectUser); + + return res.status(200).json({ + success: true, + description: `Evaluated ${results.length} stats.`, + body: results, + }); +}); + +/** + * Evalulate a custom stat on this user. + * + * @param mode - "folder" or "chart" + * @param property - "grade" | "lamp" | "score" | "percent" and "playcount" if mode is chart. + * @param chartID - If mode is "chart" this must contain the chartID the stat is referencing. + * @param folderID - If mode is "folder" this must contain the folderID the stat is referencing. + * @param gte - If mode is "folder" this must contain the value the property must be greater than. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/showcase/custom + */ +router.get("/custom", async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + let stat: ShowcaseStatDetails; + + if (req.query.mode === "folder") { + const err = p( + req.query, + { + mode: p.is("folder"), + property: p.isIn("grade", "lamp", "score", "percent"), + folderID: "string", + + // lazy regex for matching strings that look like numbers + gte: p.regex(/^[0-9]*(.[0-9])?$/u), + }, + {}, + { allowExcessKeys: true } + ); + + if (err) { + return res.status(400).json({ + success: false, + description: FormatPrError(err, "Invalid folder stat"), + }); + } + + const folderID = req.query.folderID as string; + + const folder = await db.folders.findOne({ folderID }); + + if (!folder || folder.game !== game || folder.playtype !== playtype) { + return res.status(400).json({ + success: false, + description: `Invalid folderID - all folders must be for ${FormatGame( + game, + playtype + )}, and exist.`, + }); + } + + stat = { + mode: "folder", + property: req.query.property as "grade" | "lamp" | "percent" | "score", + folderID, + gte: Number(req.query.gte), + }; + } else if (req.query.mode === "chart") { + const err = p( + req.query, + { + mode: p.is("chart"), + property: p.isIn("grade", "lamp", "score", "percent", "playcount"), + chartID: "string", + }, + {}, + { allowExcessKeys: true } + ); + + if (err) { + return res.status(400).json({ + success: false, + description: FormatPrError(err, "Invalid chart stat"), + }); + } + + const chart = await db.charts[game].findOne({ chartID: req.query.chartID as string }); + + if (!chart || chart.playtype !== playtype) { + return res.status(400).json({ + success: false, + description: `Chart does not exist, or is not for this game and playtype.`, + }); + } + + stat = { + mode: "chart", + property: req.query.property as "grade" | "lamp" | "percent" | "playcount" | "score", + chartID: req.query.chartID as string, + }; + } else { + return res.status(400).json({ + success: false, + description: `Invalid stat mode - expected either 'chart' or 'folder'.`, + }); + } + + const result = await EvaluateShowcaseStat(stat, user.id); + + const related = await GetRelatedStatDocuments(stat, game); + + return res.status(200).json({ + success: true, + description: `Evaluated Stat for ${user.username}`, + body: { stat, result, related }, + }); +}); + +/** + * Replaces a user's stat showcase. + * + * @name PUT /api/v1/users/:userID/games/:game/:playtype/showcase + */ +router.put("/", RequireAuthedAsUser, RequirePermissions("customise_profile"), async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + const gptConfig = GetGamePTConfig(game, playtype); + + if (!Array.isArray(req.safeBody)) { + return res.status(400).json({ + success: false, + description: `No stats provided, or was not an array.`, + }); + } + + if (req.safeBody.length > 6) { + return res.status(400).json({ + success: false, + description: `You are only allowed 6 stats at once.`, + }); + } + + const stats = req.safeBody as Array; + + for (const unvalidatedStat of stats) { + let err; + + if (!IsRecord(unvalidatedStat)) { + return res.status(400).json({ + success: false, + description: `Invalid stat -- got null or a non-object.`, + }); + } + + if (unvalidatedStat.mode === "chart") { + err = p(unvalidatedStat, { + chartID: "string", + mode: p.is("chart"), + property: p.isIn("grade", "lamp", "score", "percent", "playcount"), + }); + } else if (unvalidatedStat.mode === "folder") { + err = p(unvalidatedStat, { + folderID: (self) => { + if (typeof self === "string") { + return true; + } else if (Array.isArray(self)) { + return self.length <= 6 && self.every((r) => typeof r === "string"); + } + + return false; + }, + mode: p.is("folder"), + property: p.isIn("grade", "lamp", "score", "percent"), + + gte: (self, parent) => { + if (typeof self !== "number") { + return "Expected a number."; + } + + if (parent.property === "grade") { + return !!gptConfig.grades[self]; + } else if (parent.property === "lamp") { + return !!gptConfig.lamps[self]; + } else if (parent.property === "score") { + return p.isPositive(self); + } else if (parent.property === "percent") { + return p.isBetween(0, gptConfig.percentMax)(self); + } + + return `Invalid property of ${parent.property}`; + }, + }); + } else { + return res.status(400).json({ + success: false, + description: `Invalid stat - Expected mode to be 'chart' or 'folder').`, + }); + } + + if (err) { + return res.status(400).json({ + success: false, + description: FormatPrError(err, "Invalid stat."), + }); + } + + const stat = unvalidatedStat as unknown as ShowcaseStatDetails; + + if (stat.mode === "chart") { + // eslint-disable-next-line no-await-in-loop + const chart = await db.charts[game].findOne({ chartID: stat.chartID }); + + if (!chart || chart.playtype !== playtype) { + return res.status(400).json({ + success: false, + description: `Invalid chartID - must be a chart for this game and playtype.`, + }); + } + } else if (unvalidatedStat.mode === "folder") { + const folderIDs = Array.isArray(unvalidatedStat.folderID) + ? unvalidatedStat.folderID + : [unvalidatedStat.folderID]; + + // eslint-disable-next-line no-await-in-loop + const folders = await db.folders.find({ folderID: { $in: folderIDs } }); + + if ( + folders.length !== folderIDs.length || + !folders.every((r) => r.game === game && r.playtype === playtype) + ) { + return res.status(400).json({ + success: false, + + // this error message is kinda lazy. + description: `Invalid folderID - must be a folder for this game and playtype.`, + }); + } + } + } + + await db["game-settings"].update( + { + userID: user.id, + game, + playtype, + }, + { + $set: { + "preferences.stats": req.safeBody, + }, + } + ); + + const newSettings = await db["game-settings"].findOne({ + userID: user.id, + game, + playtype, + }); + + return res.status(200).json({ + success: true, + description: `Updated stat showcase.`, + body: newSettings, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/tables/router.test.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/tables/router.test.ts new file mode 100644 index 000000000..375c9cee0 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/tables/router.test.ts @@ -0,0 +1,45 @@ +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { TestingIIDXFolderSP10, TestingIIDXSPScorePB } from "test-utils/test-data"; +import { CreateFolderChartLookup } from "utils/folder"; +import type { FolderDocument } from "tachi-common"; + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/tables/:tableID", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return a users statistics for this table", async (t) => { + const folder = deepmerge(TestingIIDXFolderSP10, { + folderID: "testing_folder", + }) as FolderDocument; + + await db.folders.insert(folder); + + await CreateFolderChartLookup(folder, true); + + await db["personal-bests"].insert(TestingIIDXSPScorePB); + + const res = await mockApi.get("/api/v1/users/1/games/iidx/SP/tables/mock_table"); + + t.equal(res.body.body.folders.length, 1); + t.equal(res.body.body.folders[0].folderID, "testing_folder"); + t.equal(res.body.body.table.tableID, "mock_table"); + t.equal(res.body.body.stats.length, 1); + t.equal(res.body.body.stats[0].lamps["EX HARD CLEAR"], 1); + t.equal(res.body.body.stats[0].grades.AAA, 1); + + t.end(); + }); + + t.test("Should return 404 if the table does not exist.", async (t) => { + const res = await mockApi.get("/api/v1/users/1/games/iidx/SP/tables/bad_table"); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/tables/router.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/tables/router.ts new file mode 100644 index 000000000..6e324e0a0 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/tables/router.ts @@ -0,0 +1,37 @@ +import { GetTableFromParam } from "../../../../../../games/_game/_playtype/tables/middleware"; +import { Router } from "express"; +import { GetFoldersFromTable, GetGradeLampDistributionForFolders } from "utils/folder"; +import { GetTachiData, GetUGPT } from "utils/req-tachi-data"; + +// @todo maybe refactor where middleware is stored to avoid paths this ugly. + +const router: Router = Router({ mergeParams: true }); + +/** + * Retrieves a users statistics on this table. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/tables/:tableID + */ +router.get("/:tableID", GetTableFromParam, async (req, res) => { + const { user } = GetUGPT(req); + + const table = GetTachiData(req, "tableDoc"); + + const folders = await GetFoldersFromTable(table); + + // @optimisable - Requests a lot of charts we don't care about + // could be cached too, i guess. + const stats = await GetGradeLampDistributionForFolders(user.id, folders); + + return res.status(200).json({ + success: true, + description: `Returned stats for ${folders.length} folders.`, + body: { + folders, + stats, + table, + }, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/goals/router.test.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/goals/router.test.ts new file mode 100644 index 000000000..58492208b --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/goals/router.test.ts @@ -0,0 +1,787 @@ +/* eslint-disable no-await-in-loop */ +import dm from "deepmerge"; +import db from "external/mongo/db"; +import { IIDX_GRADES, IIDX_LAMPS } from "tachi-common"; +import t from "tap"; +import { CreateFakeAuthCookie } from "test-utils/fake-auth"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { TestSnapshot } from "test-utils/single-process-snapshot"; +import { + HC511Goal, + HC511UserGoal, + IIDXSPMilestoneGoals, + IIDXSPMilestoneGoalSubs, + Testing511SPA, + TestingIIDXFolderSP10, + TestingIIDXSPMilestone, + TestingIIDXSPMilestoneSub, + TestingIIDXSPScore, + TestingIIDXSPScorePB, +} from "test-utils/test-data"; +import { CreateFolderChartLookup } from "utils/folder"; +import type { ChartDocument, GoalSubscriptionDocument, PBScoreDocument } from "tachi-common"; + +// @ts-expect-error Not sure why the types break here, but they do. +const dupedGoal = dm({}, HC511Goal); + +// @ts-expect-error Not sure why the types break here, but they do. +const dupedGoalSub = dm({}, HC511UserGoal); + +// having two charts available is useful here for testing multi-chart goals. +const anotherFakeChart = dm(Testing511SPA, { + chartID: "another_chart", + difficulty: "HYPER", + data: { + arcChartID: null, + }, +}) as ChartDocument; + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/targets/goals", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should retrieve this user's goal subscriptions.", async (t) => { + await db.goals.insert(dupedGoal); + await db["goal-subs"].insert(dupedGoalSub); + + const res = await mockApi.get("/api/v1/users/1/games/iidx/SP/targets/goals"); + + t.equal(res.statusCode, 200); + + // due to poor design decisions, these props may be set anyway. + delete HC511Goal._id; + delete HC511UserGoal._id; + + t.strictSame(res.body.body, { + goals: [HC511Goal], + goalSubs: [HC511UserGoal], + }); + + t.end(); + }); + + t.end(); +}); + +t.test("POST /api/v1/users/:userID/games/:game/:playtype/targets/add-goal", async (t) => { + t.beforeEach(ResetDBState); + + const customScorePB = dm(TestingIIDXSPScorePB, { + scoreData: TestingIIDXSPScore.scoreData, + }) as PBScoreDocument; + + t.beforeEach(async () => { + await db["personal-bests"].remove({}); + await db["personal-bests"].insert(customScorePB); + }); + + const cookie = await CreateFakeAuthCookie(mockApi); + + const baseInput = { + criteria: { + key: "scoreData.percent", + value: 80, + mode: "single", + }, + charts: { + type: "single", + data: Testing511SPA.chartID, + }, + }; + + function mkInput(caseName: string, merge: any) { + const input = { + caseName, + content: dm(baseInput, merge) as any, + }; + + // if we've set this prop to undefined, we want to delete it, actually. + if (input.content.charts.data === undefined) { + delete input.content.charts.data; + } + + return input; + } + + t.beforeEach(() => db.charts.iidx.insert(anotherFakeChart)); + + // @ts-expect-error weird type issues + t.beforeEach(() => db.folders.insert(dm(TestingIIDXFolderSP10, {}))); + + t.beforeEach(() => CreateFolderChartLookup(TestingIIDXFolderSP10, true)); + + const multiCharts = { + type: "multi", + data: [Testing511SPA.chartID, "another_chart"], + }; + + const anyCharts = { + type: "any", + data: undefined, + }; + + const folderCharts = { + type: "folder", + data: TestingIIDXFolderSP10.folderID, + }; + + const absModeCriteria = { + mode: "absolute", + countNum: 2, + }; + + const proportionModeCriteria = { + mode: "proportion", + countNum: 1, + }; + + t.test("Should set valid goals.", async (t) => { + const validInput = [ + mkInput("Percent:Single Case", {}), + mkInput("Score:Single Case", { + criteria: { + key: "scoreData.score", + value: 1000, + }, + }), + mkInput("LampIndex:Single Case", { + criteria: { + key: "scoreData.lampIndex", + value: IIDX_LAMPS.EX_HARD_CLEAR, + }, + }), + mkInput("GradeIndex:Single Case", { + criteria: { + key: "scoreData.gradeIndex", + value: IIDX_GRADES.AAA, + }, + }), + mkInput("Percent:Multi Case", { + charts: multiCharts, + }), + mkInput("Percent:Multi:Abs Case", { + criteria: absModeCriteria, + charts: multiCharts, + }), + mkInput("Percent:Multi:Abs Case", { + criteria: proportionModeCriteria, + charts: multiCharts, + }), + + // NOT LEGAL FOR IIDX, due to being nonsense! NEEDS SPECIFIC TESTING. + // mkInput("Score:Multi Case", { + // criteria: { + // key: "scoreData.score", + // value: 1, + // }, + // charts: multiCharts, + // }), + mkInput("LampIndex:Multi Case", { + criteria: { + key: "scoreData.lampIndex", + value: IIDX_LAMPS.HARD_CLEAR, + }, + charts: multiCharts, + }), + mkInput("LampIndex:Multi:Abs Case", { + criteria: { + key: "scoreData.lampIndex", + value: IIDX_LAMPS.HARD_CLEAR, + ...absModeCriteria, + }, + charts: multiCharts, + }), + mkInput("LampIndex:Multi:Proportion Case", { + criteria: { + key: "scoreData.lampIndex", + value: IIDX_LAMPS.HARD_CLEAR, + ...proportionModeCriteria, + }, + charts: multiCharts, + }), + mkInput("GradeIndex:Multi Case", { + criteria: { + key: "scoreData.gradeIndex", + value: IIDX_GRADES.AAA, + }, + charts: multiCharts, + }), + mkInput("GradeIndex:Multi:Abs Case", { + criteria: { + key: "scoreData.gradeIndex", + value: IIDX_GRADES.AAA, + ...absModeCriteria, + }, + charts: multiCharts, + }), + mkInput("GradeIndex:Multi:Proportion Case", { + criteria: { + key: "scoreData.gradeIndex", + value: IIDX_GRADES.AAA, + ...proportionModeCriteria, + }, + charts: multiCharts, + }), + mkInput("Percent:Any Case", { + charts: anyCharts, + }), + mkInput("Percent:Any:Abs Case", { + criteria: absModeCriteria, + charts: anyCharts, + }), + mkInput("Percent:Any:Proportion Case", { + criteria: proportionModeCriteria, + charts: anyCharts, + }), + + // also illegal in iidx, bms and pms. + // mkInput("Score:Any Case", { + // criteria: { + // key: "scoreData.score", + // value: 1000, + // }, + // charts: anyCharts, + // }), + mkInput("LampIndex:Any Case", { + criteria: { + key: "scoreData.lampIndex", + value: IIDX_LAMPS.HARD_CLEAR, + }, + charts: anyCharts, + }), + mkInput("LampIndex:Any:Abs Case", { + criteria: { + key: "scoreData.lampIndex", + value: IIDX_LAMPS.HARD_CLEAR, + ...absModeCriteria, + }, + charts: anyCharts, + }), + mkInput("LampIndex:Any:Proportion Case", { + criteria: { + key: "scoreData.lampIndex", + value: IIDX_LAMPS.HARD_CLEAR, + ...proportionModeCriteria, + }, + charts: anyCharts, + }), + mkInput("GradeIndex:Any Case", { + criteria: { + key: "scoreData.gradeIndex", + value: IIDX_GRADES.AAA, + }, + charts: anyCharts, + }), + mkInput("GradeIndex:Any:Abs Case", { + criteria: { + key: "scoreData.gradeIndex", + value: IIDX_GRADES.AAA, + ...absModeCriteria, + }, + charts: anyCharts, + }), + mkInput("GradeIndex:Any:Proportion Case", { + criteria: { + key: "scoreData.gradeIndex", + value: IIDX_GRADES.AAA, + ...proportionModeCriteria, + }, + charts: anyCharts, + }), + mkInput("Percent:Folder Case", { + charts: folderCharts, + }), + mkInput("Percent:Folder:Abs Case", { + criteria: absModeCriteria, + charts: folderCharts, + }), + mkInput("Percent:Folder:Proportion Case", { + criteria: proportionModeCriteria, + charts: folderCharts, + }), + + // also illegal in iidx, bms and pms. + // mkInput("Score:Folder Case", { + // criteria: { + // key: "scoreData.score", + // value: 1000, + // }, + // charts: folderCharts, + // }), + mkInput("LampIndex:Folder Case", { + criteria: { + key: "scoreData.lampIndex", + value: IIDX_LAMPS.HARD_CLEAR, + }, + charts: folderCharts, + }), + mkInput("LampIndex:Folder:Abs Case", { + criteria: { + key: "scoreData.lampIndex", + value: IIDX_LAMPS.HARD_CLEAR, + ...absModeCriteria, + }, + charts: folderCharts, + }), + mkInput("LampIndex:Folder:Proportion Case", { + criteria: { + key: "scoreData.lampIndex", + value: IIDX_LAMPS.HARD_CLEAR, + ...proportionModeCriteria, + }, + charts: folderCharts, + }), + mkInput("GradeIndex:Folder Case", { + criteria: { + key: "scoreData.gradeIndex", + value: IIDX_GRADES.AAA, + }, + charts: folderCharts, + }), + mkInput("GradeIndex:Folder:Abs Case", { + criteria: { + key: "scoreData.gradeIndex", + value: IIDX_GRADES.AAA, + ...absModeCriteria, + }, + charts: folderCharts, + }), + mkInput("GradeIndex:Folder:Proportion Case", { + criteria: { + key: "scoreData.gradeIndex", + value: IIDX_GRADES.AAA, + ...proportionModeCriteria, + }, + charts: folderCharts, + }), + ]; + + for (const input of validInput) { + await t.test(`Valid Goal: ${input.caseName}`, async (t) => { + const res = await mockApi + .post("/api/v1/users/1/games/iidx/SP/targets/goals/add-goal") + .set("Cookie", cookie) + .send(input.content); + + t.equal( + // eslint-disable-next-line lines-around-comment + // this looks stupid, but results in better errmsgs. + res.statusCode === 200 ? 200 : res.body.description, + 200, + "Should return 200" + ); + + // don't bother doing db checks if this is good. + if (res.statusCode !== 200) { + return; + } + + const existsInDb = await db.goals.findOne({ + charts: input.content.charts, + criteria: input.content.criteria, + }); + + t.not(existsInDb, null, "A new goal should be added to the database."); + + const subscribed = await db["goal-subs"].findOne({ + userID: 1, + goalID: existsInDb?.goalID ?? "edge_case", + }); + + t.not( + subscribed, + null, + `Requesting user 1 should be subscribed to their new goal.` + ); + + t.end(); + }); + } + + t.end(); + }); + + t.test("Should reject invalid goals.", async (t) => { + const invalidInput = [ + mkInput("negative percent", { + criteria: { + value: -1, + }, + }), + mkInput("percent of 0 is a non-goal", { + criteria: { + value: 0, + }, + }), + mkInput("percent greater than 100", { + criteria: { + value: 100.1, + }, + }), + mkInput("too big grade", { + criteria: { + key: "scoreData.gradeIndex", + value: IIDX_GRADES.MAX + 1, + }, + }), + mkInput("invalid grade", { + criteria: { + key: "scoreData.gradeIndex", + value: 0.5, + }, + }), + mkInput("too big lamp", { + criteria: { + key: "scoreData.lampIndex", + value: IIDX_LAMPS.FULL_COMBO + 1, + }, + }), + mkInput("invalid lamp", { + criteria: { + key: "scoreData.lampIndex", + value: 0.5, + }, + }), + mkInput("too big score", { + criteria: { + key: "scoreData.score", + value: 9_000, + }, + }), + mkInput("abs without countNum", { + criteria: { + mode: "absolute", + }, + charts: multiCharts, + }), + mkInput("proportion without countNum", { + criteria: { + mode: "proportion", + }, + charts: multiCharts, + }), + mkInput("single with countNum", { + criteria: { + mode: "single", + countNum: 123, + }, + }), + mkInput("proportion with negative countNum", { + criteria: { + mode: "proportion", + countNum: -0.5, + }, + charts: multiCharts, + }), + mkInput("proportion with greater than 1 countNum", { + criteria: { + mode: "proportion", + countNum: 1.1, + }, + charts: multiCharts, + }), + mkInput("proportion which results in countNum of 0", { + criteria: { + mode: "proportion", + countNum: 0.05, + }, + charts: multiCharts, + }), + mkInput("nonsense mode", { + criteria: { + mode: "nonsense", + }, + }), + mkInput("abs with countNum but charts.type == single", { + criteria: { + mode: "absolute", + countNum: 1, + }, + charts: { + type: "single", + }, + }), + mkInput("nonsense charts.type", { + charts: { + type: "nonsense", + }, + }), + mkInput("charts.data when type == any", { + charts: { + type: "any", + data: "foo", + }, + }), + mkInput("charts.data array when type == single", { + charts: { + type: "single", + data: multiCharts.data, + }, + }), + mkInput("charts.data array of identical chartIDs", { + charts: { + type: "multi", + data: [Testing511SPA.chartID, Testing511SPA.chartID], + }, + }), + mkInput("charts.data array of single chartID", { + charts: { + type: "multi", + data: [Testing511SPA.chartID], + }, + }), + mkInput("charts.data array of chartIDs where some don't exist", { + charts: { + type: "multi", + data: [Testing511SPA.chartID, "not_exist"], + }, + }), + mkInput("charts.data folder refers to folder that doesn't exist", { + charts: { + type: "folder", + data: "fake-folder", + }, + }), + mkInput("nonsense charts.data", { + charts: { + data: "nonsense", + }, + }), + mkInput("multi-score for iidx is illegal", { + criteria: { + key: "scoreData.score", + value: 1000, + }, + charts: multiCharts, + }), + mkInput("folder-score for iidx is illegal", { + criteria: { + key: "scoreData.score", + value: 1000, + }, + charts: folderCharts, + }), + mkInput("any-score for iidx is illegal", { + criteria: { + key: "scoreData.score", + value: 1000, + }, + charts: anyCharts, + }), + mkInput("charts single but criteria not.", { + criteria: { + mode: "absolute", + countNum: 2, + }, + }), + ]; + + for (const input of invalidInput) { + await t.test(`Invalid Goal: ${input.caseName}`, async (t) => { + const res = await mockApi + .post("/api/v1/users/1/games/iidx/SP/targets/goals/add-goal") + .set("Cookie", cookie) + .send(input.content); + + t.equal(res.statusCode, 400); + + TestSnapshot(t, res.body.description, `Invalid Goal: ${input.caseName}`); + + t.end(); + }); + } + + t.end(); + }); + + t.test("Should reject if user tries to subscribe to already subscribed goal.", async (t) => { + const res = await mockApi + .post("/api/v1/users/1/games/iidx/SP/targets/goals/add-goal") + .set("Cookie", cookie) + .send(baseInput); + + t.equal(res.statusCode, 200, "Should allow a subscription the first time."); + + const res2 = await mockApi + .post("/api/v1/users/1/games/iidx/SP/targets/goals/add-goal") + .set("Cookie", cookie) + .send(baseInput); + + t.equal(res2.statusCode, 409, "Should fail the second time."); + + t.end(); + }); + + t.test("Should reject if user tries to subscribe to immediately achieved goal.", async (t) => { + const res = await mockApi + .post("/api/v1/users/1/games/iidx/SP/targets/goals/add-goal") + .set("Cookie", cookie) + .send( + dm(baseInput, { + criteria: { + key: "scoreData.score", + value: 1, + }, + }) + ); + + t.equal( + res.statusCode, + 400, + "Should disallow goal subscriptions that would be instantly achieved." + ); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/targets/goals/:goalID", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should retrieve this user's goal subscription.", async (t) => { + await db.goals.insert(dupedGoal); + await db["goal-subs"].insert(dupedGoalSub); + + const res = await mockApi.get( + `/api/v1/users/1/games/iidx/SP/targets/goals/${HC511Goal.goalID}` + ); + + t.equal(res.statusCode, 200); + + t.hasStrict(res.body.body, { + goal: HC511Goal, + goalSub: HC511UserGoal, + milestones: [], + user: { + id: 1, + }, + }); + + t.end(); + }); + + t.test("Should return parent milestones if goal has any.", async (t) => { + await db.goals.insert(IIDXSPMilestoneGoals); + await db["goal-subs"].insert(IIDXSPMilestoneGoalSubs); + await db.milestones.insert(TestingIIDXSPMilestone); + + if (!IIDXSPMilestoneGoalSubs[0] || !IIDXSPMilestoneGoals[0]) { + throw new Error(`Expected atleast one milestone goal or sub to work with?`); + } + + const res = await mockApi.get( + `/api/v1/users/1/games/iidx/SP/targets/goals/${IIDXSPMilestoneGoalSubs[0].goalID}` + ); + + t.equal(res.statusCode, 200); + + delete IIDXSPMilestoneGoals[0]._id; + delete IIDXSPMilestoneGoalSubs[0]._id; + delete TestingIIDXSPMilestone._id; + + t.hasStrict(res.body.body, { + goal: IIDXSPMilestoneGoals[0], + goalSub: IIDXSPMilestoneGoalSubs[0], + milestones: [TestingIIDXSPMilestone], + user: { + id: 1, + }, + }); + + t.end(); + }); + + t.test("Should return 404 if the user is not subscribed to this goal ID.", async (t) => { + const res = await mockApi.get(`/api/v1/users/1/games/iidx/SP/targets/goals/INVALID_GOAL`); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.end(); +}); + +t.test("DELETE /api/v1/users/:userID/games/:game/:playtype/targets/goals/:goalID", async (t) => { + t.beforeEach(ResetDBState); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should delete a goal subscription if subscribed.", async (t) => { + await db.goals.insert(dupedGoal); + await db["goal-subs"].insert(dupedGoalSub); + + const res = await mockApi + .delete(`/api/v1/users/1/games/iidx/SP/targets/goals/${dupedGoalSub.goalID}`) + .set("Cookie", cookie); + + t.equal(res.statusCode, 200); + + const dbRes = await db["goal-subs"].findOne({ + userID: 1, + goalID: dupedGoal.goalID, + }); + + t.equal(dbRes, null, "Should delete the goal sub from the database."); + + t.end(); + }); + + t.test("Should reject a goal deletion if goal has parent milestones.", async (t) => { + await db.milestones.insert(TestingIIDXSPMilestone); + await db["milestone-subs"].insert(TestingIIDXSPMilestoneSub); + await db.goals.insert(IIDXSPMilestoneGoals); + await db["goal-subs"].insert( + dm(dupedGoalSub, { goalID: "eg_goal_1" }) as GoalSubscriptionDocument + ); + + const res = await mockApi + .delete(`/api/v1/users/1/games/iidx/SP/targets/goals/eg_goal_1`) + .set("Cookie", cookie); + + t.equal(res.statusCode, 400); + t.equal( + res.body.description, + `This goal is part of a milestone you are subscribed to. It can only be removed by unsubscribing from the relevant milestones: '${TestingIIDXSPMilestone.name}'.` + ); + + const dbRes = await db["goal-subs"].findOne({ + userID: 1, + goalID: "eg_goal_1", + }); + + t.not(dbRes, null, "Should NOT delete the goal sub from the database."); + + t.end(); + }); + + t.test("Should reject a goal deletion if not subscribed.", async (t) => { + await db.goals.insert(dupedGoal); + await db["goal-subs"].insert(dupedGoalSub); + + const res = await mockApi + .delete(`/api/v1/users/1/games/iidx/SP/targets/goals/INVALID_GOAL`) + .set("Cookie", cookie); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.test("Should reject a goal deletion if not authed.", async (t) => { + await db.goals.insert(dupedGoal); + await db["goal-subs"].insert(dupedGoalSub); + + const res = await mockApi.delete( + `/api/v1/users/1/games/iidx/SP/targets/goals/${dupedGoalSub.goalID}` + ); + + t.equal(res.statusCode, 401); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/goals/router.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/goals/router.ts new file mode 100644 index 000000000..1885b56dc --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/goals/router.ts @@ -0,0 +1,286 @@ +import { RequireAuthedAsUser } from "../../../../../middleware"; +import { Router } from "express"; +import db from "external/mongo/db"; +import { SubscribeFailReasons } from "lib/constants/err-codes"; +import CreateLogCtx from "lib/logger/logger"; +import { ServerConfig } from "lib/setup/config"; +import { + ConstructGoal, + GetBlockingParentMilestoneSubs, + GetMilestonesThatContainGoal, + SubscribeToGoal, +} from "lib/targets/goals"; +import p from "prudence"; +import { RequirePermissions } from "server/middleware/auth"; +import prValidate from "server/middleware/prudence-validate"; +import { GetGoalForIDGuaranteed } from "utils/db"; +import { AssignToReqTachiData, GetTachiData, GetUGPT } from "utils/req-tachi-data"; +import type { RequestHandler } from "express"; +import type { GoalDocument, MilestoneDocument } from "tachi-common"; + +const router: Router = Router({ mergeParams: true }); + +const logger = CreateLogCtx(__filename); + +/** + * Retrieves this user's set goals for this GPT. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/targets/goals + */ +router.get("/", async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + const goalSubs = await db["goal-subs"].find({ + userID: user.id, + game, + playtype, + }); + + const goals = await db.goals.find({ + goalID: { $in: goalSubs.map((e) => e.goalID) }, + }); + + return res.status(200).json({ + success: true, + description: `Retrieved ${goalSubs.length} goal(s).`, + body: { + goals, + goalSubs, + }, + }); +}); + +type GoalCreationBody = Pick; + +/** + * Add a goal to your account. If the goal document already exists, it is subscribed to. + * Otherwise, that goal document is created, and then subscribed to. + * + * @param criteria.key - The key for the goal to be on. This is stuff like scoreData.percent. + * @param criteria.value - The value the key must be greater than for it to count as achieved. + * @param criteria.mode - "single", "absolute" or "proportion". If abs or proportion, countNum + * must be supplied. + * @param criteria.countNum - For abs/proportion mode. Atleast N scores must achieve the + * key:value condition. + * + * @param charts.type - "single", "multi", "folder" or "any". + * @param charts.data - If *not* "any", an identifier for the set of charts must be + * supplied here. For single, this is a chartID. For multi, this is an array of chartIDs. + * For folder, this is a folderID. For any, no data should be supplied. + * + * @name POST /api/v1/users/:userID/games/:game/:playtype/targets/goals/add-goal + */ +router.post( + "/add-goal", + RequireAuthedAsUser, + RequirePermissions("manage_targets"), + prValidate({ + criteria: { + key: p.isIn( + "scoreData.percent", + "scoreData.lampIndex", + "scoreData.gradeIndex", + "scoreData.score" + ), + + // we do proper validation on this later. + value: p.gte(0), + mode: p.isIn("single", "absolute", "proportion"), + countNum: (self, parent) => { + if (parent.mode === "single") { + return ( + self === undefined || + "Invalid countNum for mode 'single'. Must not have one!" + ); + } + + // proper validation later. + return p.gte(0)(self); + }, + }, + charts: { + type: p.isIn("single", "multi", "folder", "any"), + data: (self, parent) => { + if (parent.type === "any") { + return ( + self === undefined || + "Invalid charts.data for type 'any'. Must not have any data!" + ); + } else if (parent.type === "single") { + return ( + typeof self === "string" || + "Expected a string in charts.data due to charts.type being 'single'." + ); + } else if (parent.type === "multi") { + return ( + (Array.isArray(self) && + self.every((k) => typeof k === "string") && + self.length < 5 && + self.length > 1) || + "Expected an array of 2 to 5 strings in charts.data due to charts.type being 'multi'." + ); + /* istanbul ignore next */ + } else if (parent.type === "folder") { + return ( + typeof self === "string" || + "Expected a string in charts.data due to charts.type being 'folder'." + ); + } + + // impossible to reach, so doesn't count for coverage. + /* istanbul ignore next */ + return "Unknown charts.type."; + }, + }, + }), + async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + const existingGoalsCount = await db["goal-subs"].count({ + userID: user.id, + game, + playtype, + }); + + if (existingGoalsCount > ServerConfig.MAX_GOAL_SUBSCRIPTIONS) { + return res.status(400).json({ + success: false, + description: `You already have ${ServerConfig.MAX_GOAL_SUBSCRIPTIONS} goals. You cannot have anymore.`, + }); + } + + const data = req.safeBody as GoalCreationBody; + + let goal; + + try { + goal = await ConstructGoal(data.charts, data.criteria, game, playtype); + } catch (e) { + const err = e as Error; + + logger.info(err.message, { err }); + + return res.status(400).json({ + success: false, + description: err.message, + }); + } + + const goalSub = await SubscribeToGoal(user.id, goal); + + if (goalSub === SubscribeFailReasons.ALREADY_SUBSCRIBED) { + return res.status(409).json({ + success: false, + description: `You are already subscribed to this goal.`, + }); + } + + if (goalSub === SubscribeFailReasons.ALREADY_ACHIEVED) { + return res.status(400).json({ + success: false, + description: `You can't directly assign goals that you would immediately achieve.`, + }); + } + + return res.status(200).json({ + success: true, + description: `Subscribed to ${goal.name}.`, + body: { + goal, + goalSub, + }, + }); + } +); + +const GetGoalSubscription: RequestHandler = async (req, res, next) => { + const { user, game, playtype } = GetUGPT(req); + + const goalSub = await db["goal-subs"].findOne({ + userID: user.id, + game, + playtype, + goalID: req.params.goalID, + }); + + if (!goalSub) { + return res.status(404).json({ + success: false, + description: `${user.username} is not subscribed to this goal.`, + }); + } + + AssignToReqTachiData(req, { goalSubDoc: goalSub }); + + next(); +}; + +/** + * Reads information about the users subscription to this goal ID. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/targets/goals/:goalID + */ +router.get("/:goalID", GetGoalSubscription, async (req, res) => { + const { user } = GetUGPT(req); + + const goalSub = GetTachiData(req, "goalSubDoc"); + + const milestones: Array = await GetMilestonesThatContainGoal(goalSub.goalID); + + const goal = await GetGoalForIDGuaranteed(goalSub.goalID); + + return res.status(200).json({ + success: true, + description: `Returned information about goal '${goal.name}'.`, + body: { + goal, + goalSub, + milestones, + user, + }, + }); +}); + +/** + * Unsubscribe from a goal. + * + * @name DELETE /api/v1/users/:userID/games/:game/:playtype/targets/goals/:goalID + */ +router.delete( + "/:goalID", + RequireAuthedAsUser, + GetGoalSubscription, + RequirePermissions("manage_targets"), + async (req, res) => { + const goalID = req.params.goalID; + const { user, game, playtype } = GetUGPT(req); + + const goalSub = GetTachiData(req, "goalSubDoc"); + + const parentMilestones = await GetBlockingParentMilestoneSubs(goalSub); + + if (parentMilestones.length) { + return res.status(400).json({ + success: false, + description: `This goal is part of a milestone you are subscribed to. It can only be removed by unsubscribing from the relevant milestones: ${parentMilestones + .map((e) => `'${e.milestone.name}'`) + .join(", ")}.`, + }); + } + + await db["goal-subs"].remove({ + userID: user.id, + goalID, + game, + playtype, + }); + + return res.status(200).json({ + success: true, + description: `Removed this goal from your subscriptions.`, + body: {}, + }); + } +); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/milestones/router.test.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/milestones/router.test.ts new file mode 100644 index 000000000..60f4e495f --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/milestones/router.test.ts @@ -0,0 +1,268 @@ +import db from "external/mongo/db"; +import t from "tap"; +import { CreateFakeAuthCookie } from "test-utils/fake-auth"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { + IIDXSPMilestoneGoals, + IIDXSPMilestoneGoalSubs, + TestingIIDXSPMilestone, + TestingIIDXSPMilestoneSub, +} from "test-utils/test-data"; +import type { PublicUserDocument, UserGameStats } from "tachi-common"; + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/targets/milestones", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return all milestone subscriptions.", async (t) => { + await db.milestones.insert(TestingIIDXSPMilestone); + await db["milestone-subs"].insert(TestingIIDXSPMilestoneSub); + + const res = await mockApi.get("/api/v1/users/1/games/iidx/SP/targets/milestones"); + + delete TestingIIDXSPMilestone._id; + delete TestingIIDXSPMilestoneSub._id; + + t.strictSame(res.body.body, { + milestones: [TestingIIDXSPMilestone], + milestoneSubs: [TestingIIDXSPMilestoneSub], + }); + + t.end(); + }); + + t.test("Should panic if milestone subs are parentless.", async (t) => { + // await db.milestones.insert(TestingIIDXSPMilestone); + await db["milestone-subs"].insert(TestingIIDXSPMilestoneSub); + + const res = await mockApi.get("/api/v1/users/1/games/iidx/SP/targets/milestones"); + + t.equal(res.statusCode, 500); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/targets/milestones/:milestoneID", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return the user's specific milestone sub.", async (t) => { + await db.milestones.insert(TestingIIDXSPMilestone); + await db["milestone-subs"].insert(TestingIIDXSPMilestoneSub); + + await db.goals.insert(IIDXSPMilestoneGoals); + await db["goal-subs"].insert(IIDXSPMilestoneGoalSubs); + + const res = await mockApi.get( + `/api/v1/users/1/games/iidx/SP/targets/milestones/${TestingIIDXSPMilestone.milestoneID}` + ); + + // i hate the fact that monk just adds this to objects! terrible. + delete TestingIIDXSPMilestone._id; + delete TestingIIDXSPMilestoneSub._id; + + for (const goal of IIDXSPMilestoneGoals) { + delete goal._id; + } + + t.strictSame(res.body.body, { + milestone: TestingIIDXSPMilestone, + milestoneSub: TestingIIDXSPMilestoneSub, + results: IIDXSPMilestoneGoalSubs.map((e) => ({ + achieved: e.achieved, + progress: e.progress, + progressHuman: e.progressHuman, + outOf: e.outOf, + outOfHuman: e.outOfHuman, + goalID: e.goalID, + })), + goals: IIDXSPMilestoneGoals, + }); + + t.end(); + }); + + t.test("Should return 404 if the user is not subscribed to this milestone.", async (t) => { + const res = await mockApi.get( + `/api/v1/users/1/games/iidx/SP/targets/milestones/fake_milestone` + ); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.end(); +}); + +t.test( + "PUT /api/v1/users/:userID/games/:game/:playtype/targets/milestones/:milestoneID", + async (t) => { + t.beforeEach(ResetDBState); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should return 404 if this milestone doesn't exist.", async (t) => { + const res = await mockApi + .put(`/api/v1/users/1/games/iidx/SP/targets/milestones/fake_milestone`) + .set("Cookie", cookie); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.test("Should return 409 if user is already subscribed to this milestone.", async (t) => { + await db.milestones.insert(TestingIIDXSPMilestone); + await db["milestone-subs"].insert(TestingIIDXSPMilestoneSub); + + const res = await mockApi + .put( + `/api/v1/users/1/games/iidx/SP/targets/milestones/${TestingIIDXSPMilestone.milestoneID}` + ) + .set("Cookie", cookie); + + t.equal(res.statusCode, 409); + + t.end(); + }); + + t.test("Should subscribe to a milestone.", async (t) => { + await db.milestones.insert(TestingIIDXSPMilestone); + await db.goals.insert(IIDXSPMilestoneGoals); + + const res = await mockApi + .put( + `/api/v1/users/1/games/iidx/SP/targets/milestones/${TestingIIDXSPMilestone.milestoneID}` + ) + .set("Cookie", cookie); + + t.equal(res.statusCode, 200); + + const dbRes = await db["milestone-subs"].findOne({ + userID: 1, + milestoneID: TestingIIDXSPMilestone.milestoneID, + }); + + t.not(dbRes, null, "Should have subscribed the user to the milestone."); + + t.end(); + }); + + t.test("Should return 401 if the user is not authed.", async (t) => { + const res = await mockApi.put( + `/api/v1/users/1/games/iidx/SP/targets/milestones/fake_milestone` + ); + + t.equal(res.statusCode, 401); + + t.end(); + }); + + t.test("Should return 403 if the user is authed as someone else.", async (t) => { + // We have to make sure that the user exists, otherwise we'll just get + // a normal 404. + await db.users.insert({ + id: 2, + username: "fake_person", + usernameLowercase: "fake_person", + } as PublicUserDocument); + + await db["game-stats"].insert({ + game: "iidx", + playtype: "SP", + userID: 2, + } as UserGameStats); + + const res = await mockApi + .put(`/api/v1/users/2/games/iidx/SP/targets/milestones/fake_milestone`) + .set("Cookie", cookie); + + t.equal(res.statusCode, 403); + + t.end(); + }); + + t.end(); + } +); + +t.test( + "DELETE /api/v1/users/:userID/games/:game/:playtype/targets/milestones/:milestoneID", + async (t) => { + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should return 404 if the user is not subscribed to this milestone.", async (t) => { + const res = await mockApi + .delete(`/api/v1/users/1/games/iidx/SP/targets/milestones/fake_milestone`) + .set("Cookie", cookie); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.test("Should return 401 if the user is not authed.", async (t) => { + const res = await mockApi.delete( + `/api/v1/users/1/games/iidx/SP/targets/milestones/fake_milestone` + ); + + t.equal(res.statusCode, 401); + + t.end(); + }); + + t.test("Should return 403 if the user is authed as someone else.", async (t) => { + // We have to make sure that the user exists, otherwise we'll just get + // a normal 404. + await db.users.insert({ + id: 2, + username: "fake_person", + usernameLowercase: "fake_person", + } as PublicUserDocument); + + await db["game-stats"].insert({ + game: "iidx", + playtype: "SP", + userID: 2, + } as UserGameStats); + + const res = await mockApi + .delete(`/api/v1/users/2/games/iidx/SP/targets/milestones/fake_milestone`) + .set("Cookie", cookie); + + t.equal(res.statusCode, 403); + + t.end(); + }); + + t.test("Should unsubscribe from a milestone.", async (t) => { + await db.milestones.insert(TestingIIDXSPMilestone); + await db["milestone-subs"].insert(TestingIIDXSPMilestoneSub); + + const res = await mockApi + .delete( + `/api/v1/users/1/games/iidx/SP/targets/milestones/${TestingIIDXSPMilestone.milestoneID}` + ) + .set("Cookie", cookie); + + t.equal(res.statusCode, 200); + + delete TestingIIDXSPMilestone._id; + t.strictSame(res.body.body.milestone, TestingIIDXSPMilestone); + + const dbRes = await db["milestone-subs"].findOne({ + userID: 1, + milestoneID: TestingIIDXSPMilestone.milestoneID, + }); + + t.equal(dbRes, null, "Should have removed the milestone from the database."); + + t.end(); + }); + + t.end(); + } +); diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/milestones/router.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/milestones/router.ts new file mode 100644 index 000000000..1183d9ade --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/milestones/router.ts @@ -0,0 +1,231 @@ +import { RequireAuthedAsUser } from "../../../../../middleware"; +import { Router } from "express"; +import db from "external/mongo/db"; +import { SubscribeFailReasons } from "lib/constants/err-codes"; +import CreateLogCtx from "lib/logger/logger"; +import { ServerConfig } from "lib/setup/config"; +import { + EvaluateMilestoneProgress, + SubscribeToMilestone, + UnsubscribeFromMilestone, +} from "lib/targets/milestones"; +import { RequirePermissions } from "server/middleware/auth"; +import { AssignToReqTachiData, GetGPT, GetTachiData, GetUGPT } from "utils/req-tachi-data"; +import { FormatUserDoc } from "utils/user"; +import type { RequestHandler } from "express"; + +const logger = CreateLogCtx(__filename); + +const router: Router = Router({ mergeParams: true }); + +/** + * Retrieves this user's subscribed milestones. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/targets/milestones + */ +router.get("/", async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + const milestoneSubs = await db["milestone-subs"].find({ + userID: user.id, + game, + playtype, + }); + + const milestones = await db.milestones.find({ + milestoneID: { $in: milestoneSubs.map((e) => e.milestoneID) }, + }); + + if (milestones.length !== milestoneSubs.length) { + logger.error( + `Found ${milestoneSubs.length} subscriptions, but got ${milestones.length} parents. This is a state desync.` + ); + throw new Error("Failed to fetch milestones"); + } + + return res.status(200).json({ + success: true, + description: `Retrieved ${milestoneSubs.length} milestone(s).`, + body: { + milestones, + milestoneSubs, + }, + }); +}); + +const GetMilestoneSubscription: RequestHandler = async (req, res, next) => { + const { user, game, playtype } = GetUGPT(req); + + const milestoneSub = await db["milestone-subs"].findOne({ + userID: user.id, + game, + playtype, + milestoneID: req.params.milestoneID, + }); + + if (!milestoneSub) { + return res.status(404).json({ + success: false, + description: `${user.username} is not subscribed to this milestone.`, + }); + } + + AssignToReqTachiData(req, { milestoneSubDoc: milestoneSub }); + + next(); +}; + +const GetMilestone: RequestHandler = async (req, res, next) => { + const { game, playtype } = GetGPT(req); + + const milestone = await db.milestones.findOne({ + game, + playtype, + milestoneID: req.params.milestoneID, + }); + + if (!milestone) { + return res.status(404).json({ + success: false, + description: `Can't find a milestone with id '${req.params.milestoneID}'.`, + }); + } + + AssignToReqTachiData(req, { milestoneDoc: milestone }); + + next(); +}; + +/** + * Returns this user's progress on this milestone. + * This also evaluates individual progress on all of the milestones goals. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/targets/milestones/:milestoneID + */ +router.get("/:milestoneID", GetMilestone, GetMilestoneSubscription, async (req, res) => { + const { user } = GetUGPT(req); + + const milestoneSub = GetTachiData(req, "milestoneSubDoc"); + const milestone = GetTachiData(req, "milestoneDoc"); + + // Evaluate each goal for the user. This operation is much faster if the user is + // subscribed to the milestone (they are), as we can just read their goalSub + // for each goal. + const { goalResults: results, goals } = await EvaluateMilestoneProgress(user.id, milestone); + + return res.status(200).json({ + success: true, + description: `Returned information about ${FormatUserDoc(user)}'s progress on ${ + milestone.name + }.`, + body: { + milestoneSub, + milestone, + results, + goals, + }, + }); +}); + +/** + * Subscribe to a milestone. + * + * @name PUT /api/v1/users/:userID/games/:game/:playtype/targets/milestones/:milestoneID + */ +router.put( + "/:milestoneID", + RequireAuthedAsUser, + GetMilestone, + RequirePermissions("manage_targets"), + async (req, res) => { + const { user, game, playtype } = GetUGPT(req); + + const existingMilestonesCount = await db["milestone-subs"].count({ + userID: user.id, + game, + playtype, + }); + + if (existingMilestonesCount > ServerConfig.MAX_MILESTONE_SUBSCRIPTIONS) { + return res.status(400).json({ + success: false, + description: `You already have ${ServerConfig.MAX_MILESTONE_SUBSCRIPTIONS} milestones. You cannot have anymore for this game.`, + }); + } + + const milestone = GetTachiData(req, "milestoneDoc"); + + const alreadySubscibed = await db["milestone-subs"].findOne({ + userID: user.id, + milestoneID: milestone.milestoneID, + }); + + if (alreadySubscibed) { + return res.status(409).json({ + success: false, + description: `You are already subscribed to this goal.`, + }); + } + + const subResult = await SubscribeToMilestone(user.id, milestone, false); + + // Users should be able to subscribe to milestones EVEN IF they would instantly + // achieve them. + + // if (subResult === SubscribeFailReasons.ALREADY_ACHIEVED) { + // return res.status(400).json({ + // success: false, + // description: `You cannot assign a milestone that would be immediately achieved.`, + // }); + // } + + if (subResult === SubscribeFailReasons.ALREADY_SUBSCRIBED) { + return res.status(409).json({ + success: false, + description: `You're already subscribed to this milestone.`, + }); + } + + return res.status(200).json({ + success: true, + description: `Subscribed to milestone '${milestone.name}'.`, + body: { ...subResult, milestone }, + }); + } +); + +/** + * Unsubscribe from a milestone. + * + * @name DELETE /api/v1/users/:userID/games/:game/:playtype/targets/milestones/:milestoneID + */ +router.delete( + "/:milestoneID", + RequireAuthedAsUser, + GetMilestone, + RequirePermissions("manage_targets"), + async (req, res) => { + const { user } = GetUGPT(req); + const milestone = GetTachiData(req, "milestoneDoc"); + + logger.info( + `User ${FormatUserDoc(user)} is unsubscribing from milestone '${milestone.name}'.`, + { + milestone, + user, + } + ); + + await UnsubscribeFromMilestone(user.id, milestone.milestoneID); + + return res.status(200).json({ + success: true, + description: `Unsubscribed from milestone.`, + body: { + milestone, + }, + }); + } +); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/router.test.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/router.test.ts new file mode 100644 index 000000000..8608e2943 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/router.test.ts @@ -0,0 +1,162 @@ +import dm from "deepmerge"; +import db from "external/mongo/db"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { + HC511Goal, + HC511UserGoal, + TestingIIDXSPMilestone, + TestingIIDXSPMilestoneSub, +} from "test-utils/test-data"; +import type { + GoalDocument, + GoalSubscriptionDocument, + MilestoneDocument, + MilestoneSubscriptionDocument, +} from "tachi-common"; + +function mkGoalSub(merge: Partial) { + return dm(HC511UserGoal, merge); +} + +function mkGoal(merge: Partial) { + return dm(HC511Goal, merge); +} + +function mkMilestone(merge: Partial) { + return dm(TestingIIDXSPMilestone, merge); +} + +function mkMilestoneSub(merge: Partial) { + return dm(TestingIIDXSPMilestoneSub, merge); +} + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/targets/recently-achieved", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return subscriptions that were recently achieved by this user.", async (t) => { + await db.goals.insert([ + mkGoal({ + goalID: "achieved_goal", + }), + mkGoal({ + goalID: "not_achieved_goal", + }), + ]); + + await db["goal-subs"].insert([ + mkGoalSub({ + achieved: true, + timeAchieved: 1000, + goalID: "achieved_goal", + }), + mkGoalSub({ + achieved: false, + goalID: "not_achieved_goal", + }), + ]); + + await db.milestones.insert([ + mkMilestone({}), + mkMilestone({ + milestoneID: "not_achieved_milestone", + }), + ]); + + await db["milestone-subs"].insert([ + mkMilestoneSub({ + achieved: true, + timeAchieved: 2000, + }), + mkMilestoneSub({ + achieved: false, + milestoneID: "not_achieved_milestone", + }), + ]); + + const res = await mockApi.get("/api/v1/users/1/games/iidx/SP/targets/recently-achieved"); + + t.equal(res.statusCode, 200); + + t.hasStrict(res.body.body, { + milestones: [{ milestoneID: "example_milestone_id" }], + goals: [{ goalID: "achieved_goal" }], + goalSubs: [{ goalID: "achieved_goal" }], + milestoneSubs: [{ milestoneID: "example_milestone_id" }], + user: { id: 1 }, + }); + + t.equal(res.body.body.goals.length, 1); + t.equal(res.body.body.milestones.length, 1); + t.equal(res.body.body.goalSubs.length, 1); + t.equal(res.body.body.milestoneSubs.length, 1); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/users/:userID/games/:game/:playtype/targets/recently-raised", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return subscriptions that were recently achieved by this user.", async (t) => { + await db.goals.insert([ + mkGoal({ + goalID: "achieved_goal", + }), + mkGoal({ + goalID: "not_achieved_goal", + }), + ]); + + await db["goal-subs"].insert([ + mkGoalSub({ + achieved: true, + timeAchieved: 1000, + goalID: "achieved_goal", + }), + mkGoalSub({ + achieved: false, + lastInteraction: 1000, + goalID: "not_achieved_goal", + }), + ]); + + await db.milestones.insert([ + mkMilestone({}), + mkMilestone({ + milestoneID: "not_achieved_milestone", + }), + ]); + + await db["milestone-subs"].insert([ + mkMilestoneSub({ + achieved: true, + timeAchieved: 2000, + }), + mkMilestoneSub({ + achieved: false, + lastInteraction: 1000, + milestoneID: "not_achieved_milestone", + }), + ]); + + const res = await mockApi.get("/api/v1/users/1/games/iidx/SP/targets/recently-raised"); + + t.equal(res.statusCode, 200); + + t.hasStrict(res.body.body, { + milestones: [{ milestoneID: "not_achieved_milestone" }], + goals: [{ goalID: "not_achieved_goal" }], + goalSubs: [{ goalID: "not_achieved_goal" }], + milestoneSubs: [{ milestoneID: "not_achieved_milestone" }], + user: { id: 1 }, + }); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/router.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/router.ts new file mode 100644 index 000000000..5fa1cd4ae --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/router.ts @@ -0,0 +1,74 @@ +import goalsRouter from "./goals/router"; +import milestonesRouter from "./milestones/router"; +import { Router } from "express"; +import { + GetRecentlyAchievedGoals, + GetRecentlyAchievedMilestones, + GetRecentlyInteractedGoals, + GetRecentlyInteractedMilestones, +} from "utils/db"; +import { GetUGPT } from "utils/req-tachi-data"; + +const router: Router = Router({ mergeParams: true }); + +/** + * Return a user's recently achieved goals and milestones. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/targets/recently-achieved + */ +router.get("/recently-achieved", async (req, res) => { + const { game, playtype, user } = GetUGPT(req); + + const userID = user.id; + + const [{ goals, goalSubs }, { milestones, milestoneSubs }] = await Promise.all([ + GetRecentlyAchievedGoals({ userID, game, playtype }), + GetRecentlyAchievedMilestones({ userID, game, playtype }), + ]); + + return res.status(200).json({ + success: true, + description: `Returned ${user.username}'s recently achieved targets.`, + body: { + goals, + milestones, + goalSubs, + milestoneSubs, + user, + }, + }); +}); + +/** + * Returns a user's recently interacted with (raised, etc.) goals and milestones. + * Note that this does not include recently achieved. + * + * @name GET /api/v1/users/:userID/games/:game/:playtype/targets/recently-raised + */ +router.get("/recently-raised", async (req, res) => { + const { game, playtype, user } = GetUGPT(req); + + const userID = user.id; + + const [{ goals, goalSubs }, { milestones, milestoneSubs }] = await Promise.all([ + GetRecentlyInteractedGoals({ userID, game, playtype }), + GetRecentlyInteractedMilestones({ userID, game, playtype }), + ]); + + return res.status(200).json({ + success: true, + description: `Returned ${user.username}'s recently achieved targets.`, + body: { + goals, + milestones, + goalSubs, + milestoneSubs, + user, + }, + }); +}); + +router.use("/goals", goalsRouter); +router.use("/milestones", milestonesRouter); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/imports/router.test.ts b/server/src/server/router/api/v1/users/_userID/imports/router.test.ts new file mode 100644 index 000000000..bd3010b7e --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/imports/router.test.ts @@ -0,0 +1,90 @@ +import db from "external/mongo/db"; +import t from "tap"; +import { mkFakeImport } from "test-utils/misc"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { ApplyNTimes } from "utils/misc"; +import type { ImportDocument } from "tachi-common"; + +t.test("GET /api/v1/users/:userID/imports", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(async () => { + const testingImports = ApplyNTimes(600, (i) => + mkFakeImport({ + importID: `import_${i}`, + timeFinished: 1000 - i, + timeStarted: 999 - i, + }) + ); + + await db.imports.insert(testingImports); + await db.imports.insert( + mkFakeImport({ userID: 2, importID: "other_user_import", timeFinished: 998 }) + ); + }); + + t.test("Should return all of this users imports.", async (t) => { + const res = await mockApi.get("/api/v1/users/1/imports"); + + t.equal(res.statusCode, 200); + + t.strictSame( + res.body.body.map((e: ImportDocument) => e.importID), + ApplyNTimes(500, (i) => `import_${i}`), + "Should contain exactly the imports we were expecting, and no more." + ); + + t.end(); + }); + + t.test("Should honour the timeFinished parameter.", async (t) => { + const res = await mockApi.get("/api/v1/users/1/imports?timeFinished=500"); + + t.equal(res.statusCode, 200); + + t.strictSame( + res.body.body.map((e: ImportDocument) => e.importID), + ApplyNTimes(100, (i) => `import_${i + 500}`), + "Should contain exactly the imports we were expecting, and no more." + ); + + t.end(); + }); + + t.test("Should return 400 if timeFinished is not parsable.", async (t) => { + const res = await mockApi.get("/api/v1/users/1/imports?timeFinished=INVALID"); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/users/:userID/imports/with-user-intent", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(() => { + db.imports.insert([ + mkFakeImport({ userID: 2, importID: "other_user_import" }), + mkFakeImport({ userID: 1, importID: "with_intent", userIntent: true }), + mkFakeImport({ userID: 1, importID: "without_intent", userIntent: false }), + ]); + }); + + t.test("Should return all of the imports this user has with user intent.", async (t) => { + const res = await mockApi.get("/api/v1/users/1/imports/with-user-intent"); + + t.equal(res.statusCode, 200, "Should return 200"); + + t.strictSame( + res.body.body.map((e: ImportDocument) => e.importID), + ["with_intent"], + "Should return the exact imports we expected and no more." + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/imports/router.ts b/server/src/server/router/api/v1/users/_userID/imports/router.ts new file mode 100644 index 000000000..422303422 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/imports/router.ts @@ -0,0 +1,80 @@ +import { Router } from "express"; +import db from "external/mongo/db"; +import prValidate from "server/middleware/prudence-validate"; +import { IsNonEmptyString } from "utils/misc"; +import { GetTachiData } from "utils/req-tachi-data"; + +const router: Router = Router({ mergeParams: true }); + +/** + * Return minimal information about up to 500 of this user's most recent imports. + * To control where that 500 starts from, pass the timeFinished param. + * + * This endpoint is intended to be used by developers to triage certain bugs. + * + * @param timeFinished - Where to start counting this users 500 imports from, this + * should be a unix timestamp in milliseconds. + * + * @name GET /api/v1/users/:userID/imports + */ +router.get("/", prValidate({ timeFinished: "*string" }), async (req, res) => { + const userID = GetTachiData(req, "requestedUser").id; + + const query = req.query as { timeFinished: string | undefined }; + + let timeFinished = Infinity; + + if (IsNonEmptyString(query.timeFinished)) { + timeFinished = Number(query.timeFinished); + + if (Number.isNaN(timeFinished)) { + return res.status(400).json({ + success: false, + description: `Couldn't read timeFinished as unix milliseconds.`, + }); + } + } + + const imports = await db.imports.find( + { + userID, + timeFinished: { $lte: timeFinished }, + }, + { + limit: 500, + sort: { timeFinished: -1 }, + } + ); + + return res.status(200).json({ + success: true, + description: `Found ${imports.length} imports.`, + body: imports, + }); +}); + +/** + * Return all of this user's imports that were made with user intent. + * + * Note that we can safely do this without rate limiting, because an import with + * userIntent implies that the user uploaded a file or something similar. Intent + * Imports are not vulnerable to being brutalised by every fervidex upload or similar. + * + * @name GET /api/v1/users/:userID/imports/with-user-intent + */ +router.get("/with-user-intent", async (req, res) => { + const userID = GetTachiData(req, "requestedUser").id; + + const importsWithIntent = await db.imports.find({ + userID, + userIntent: true, + }); + + return res.status(200).json({ + success: true, + description: `Found ${importsWithIntent.length} imports that were made with user-intent.`, + body: importsWithIntent, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/integrations/arc/router.test.ts b/server/src/server/router/api/v1/users/_userID/integrations/arc/router.test.ts new file mode 100644 index 000000000..80350a72e --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/integrations/arc/router.test.ts @@ -0,0 +1,178 @@ +import db from "external/mongo/db"; +import t from "tap"; +import { CreateFakeAuthCookie } from "test-utils/fake-auth"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; + +t.test("GET /api/v1/users/:userID/integrations/arc", async (t) => { + t.beforeEach(ResetDBState); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should return the current authentication state.", async (t) => { + await db["arc-saved-profiles"].insert({ + userID: 1, + accountID: "foobar", + forImportType: "api/arc-iidx", + }); + + await db["arc-saved-profiles"].insert({ + userID: 2, + accountID: "barfoo", + forImportType: "api/arc-sdvx", + }); + + const res = await mockApi.get("/api/v1/users/1/integrations/arc").set("Cookie", cookie); + + t.hasStrict(res.body.body, { + iidx: { userID: 1, accountID: "foobar", forImportType: "api/arc-iidx" }, + sdvx: null, + }); + + t.end(); + }); + + t.test("Should reject APIKey authentication.", async (t) => { + await db["api-tokens"].insert({ + identifier: "foobar", + permissions: {}, + token: "foobar", + userID: 1, + fromAPIClient: null, + }); + + const res = await mockApi + .get("/api/v1/users/1/integrations/arc") + .set("Authorization", "Bearer foobar"); + + t.equal(res.statusCode, 403); + t.match(res.body.description, /this request cannot be performed by an api key/iu); + + t.end(); + }); + + t.end(); +}); + +t.test("PATCH /api/v1/users/:userID/integrations/arc", async (t) => { + t.beforeEach(ResetDBState); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should update a users configured accountIDs.", async (t) => { + const res = await mockApi + .patch("/api/v1/users/1/integrations/arc") + .set("Cookie", cookie) + .send({ + iidx: "newAccountID", + }); + + t.equal(res.statusCode, 200); + + t.hasStrict(res.body.body, { + iidx: { + accountID: "newAccountID", + userID: 1, + forImportType: "api/arc-iidx", + }, + sdvx: null, + }); + + const dbRes = await db["arc-saved-profiles"].findOne({ + userID: 1, + forImportType: "api/arc-iidx", + }); + + t.strictSame(dbRes, { + accountID: "newAccountID", + userID: 1, + forImportType: "api/arc-iidx", + }); + + t.end(); + }); + + t.test("Should update accountIDs if one already exists", async (t) => { + await db["arc-saved-profiles"].insert({ + userID: 1, + accountID: "OLD_ACCOUNT_ID", + forImportType: "api/arc-iidx", + }); + + const res = await mockApi + .patch("/api/v1/users/1/integrations/arc") + .set("Cookie", cookie) + .send({ + iidx: "newAccountID", + }); + + t.equal(res.statusCode, 200); + + t.hasStrict(res.body.body, { + iidx: { + accountID: "newAccountID", + userID: 1, + forImportType: "api/arc-iidx", + }, + sdvx: null, + }); + + const dbRes = await db["arc-saved-profiles"].findOne({ + userID: 1, + forImportType: "api/arc-iidx", + }); + + t.strictSame(dbRes, { + accountID: "newAccountID", + userID: 1, + forImportType: "api/arc-iidx", + }); + + t.end(); + }); + + t.test("Should remove accountIDs if nulled", async (t) => { + await db["arc-saved-profiles"].insert({ + userID: 1, + accountID: "OLD_ACCOUNT_ID", + forImportType: "api/arc-iidx", + }); + + const res = await mockApi + .patch("/api/v1/users/1/integrations/arc") + .set("Cookie", cookie) + .send({ + iidx: null, + }); + + t.equal(res.statusCode, 200); + + t.hasStrict(res.body.body, { + iidx: null, + sdvx: null, + }); + + const dbRes = await db["arc-saved-profiles"].findOne({ + userID: 1, + forImportType: "api/arc-iidx", + }); + + t.equal(dbRes, null); + + t.end(); + }); + + t.test("Should reject requests with no modifications", async (t) => { + const res = await mockApi + .patch("/api/v1/users/1/integrations/arc") + .set("Cookie", cookie) + .send({}); + + t.equal(res.statusCode, 400); + t.match(res.body.description, "Invalid request to modify nothing."); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/integrations/arc/router.ts b/server/src/server/router/api/v1/users/_userID/integrations/arc/router.ts new file mode 100644 index 000000000..c84b91ebf --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/integrations/arc/router.ts @@ -0,0 +1,125 @@ +/* eslint-disable no-await-in-loop */ +import { RequireSelfRequestFromUser } from "../../middleware"; +import { Router } from "express"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import prValidate from "server/middleware/prudence-validate"; +import { RequireKamaitachi } from "server/middleware/type-require"; +import { IsNonEmptyString } from "utils/misc"; +import { GetArcAuth } from "utils/queries/auth"; +import { GetTachiData } from "utils/req-tachi-data"; +import { FormatUserDoc } from "utils/user"; + +const router: Router = Router({ mergeParams: true }); + +const logger = CreateLogCtx(__filename); + +router.use(RequireKamaitachi); +router.use(RequireSelfRequestFromUser); + +/** + * Return this users integration status for ARC. + * @name GET /api/v1/users/:userID/integrations/arc + */ +router.get("/", async (req, res) => { + const user = GetTachiData(req, "requestedUser"); + + const [iidx, sdvx] = await Promise.all([ + GetArcAuth(user.id, "api/arc-iidx"), + GetArcAuth(user.id, "api/arc-sdvx"), + ]); + + return res.status(200).json({ + success: true, + description: `Retrieved integration information for ARC.`, + body: { + iidx, + sdvx, + }, + }); +}); + +/** + * Modify this users integrations for ARC. + * @name PATCH /api/v1/users/:userID/integrations/arc + */ +router.patch("/", prValidate({ iidx: "*?string", sdvx: "*?string" }), async (req, res) => { + const user = GetTachiData(req, "requestedUser"); + + const body = req.safeBody as { + iidx?: string | null; + sdvx?: string | null; + }; + + if (Object.keys(body).length === 0) { + return res.status(400).json({ + success: false, + description: `Invalid request to modify nothing.`, + }); + } + + const [iidx, sdvx] = await Promise.all([ + GetArcAuth(user.id, "api/arc-iidx"), + GetArcAuth(user.id, "api/arc-sdvx"), + ]); + + const existingData = { iidx, sdvx }; + + for (const key of ["iidx", "sdvx"] as const) { + const importType = `api/arc-${key}` as const; + + const value = body[key]; + + if (value === null) { + logger.info(`User ${FormatUserDoc(user)} removed ARC integration for ${importType}.`); + + await db["arc-saved-profiles"].remove( + { + userID: user.id, + forImportType: importType, + }, + { + single: true, + } + ); + } else if (IsNonEmptyString(value)) { + if (existingData[key]) { + logger.info(`User updated ARC integration for ${importType}.`); + await db["arc-saved-profiles"].update( + { + userID: user.id, + forImportType: importType, + }, + { + $set: { + accountID: value, + }, + } + ); + } else { + logger.info(`User created ARC integration for ${importType}.`); + await db["arc-saved-profiles"].insert({ + userID: user.id, + forImportType: importType, + accountID: value, + }); + } + } + } + + const [iidx2, sdvx2] = await Promise.all([ + GetArcAuth(user.id, "api/arc-iidx"), + GetArcAuth(user.id, "api/arc-sdvx"), + ]); + + return res.status(200).json({ + success: true, + description: `Updated ARC integrations.`, + body: { + iidx: iidx2, + sdvx: sdvx2, + }, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/integrations/fervidex/router.test.ts b/server/src/server/router/api/v1/users/_userID/integrations/fervidex/router.test.ts new file mode 100644 index 000000000..074b32071 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/integrations/fervidex/router.test.ts @@ -0,0 +1,134 @@ +import db from "external/mongo/db"; +import t from "tap"; +import { CreateFakeAuthCookie } from "test-utils/fake-auth"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import type { PublicUserDocument } from "tachi-common"; + +t.test("GET /api/v1/users/:userID/integrations/fervidex/s", async (t) => { + t.beforeEach(ResetDBState); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should return null if this user has no settings set.", async (t) => { + await db["fer-settings"].remove({}); + + const res = await mockApi + .get("/api/v1/users/1/integrations/fervidex/settings") + .set("Cookie", cookie); + + t.equal(res.statusCode, 200); + + t.equal(res.body.body, null); + + t.end(); + }); + + t.test("Should return this users settings if they have them.", async (t) => { + await db["fer-settings"].update({ userID: 1 }, { $set: { cards: ["foo", "bar"] } }); + + const res = await mockApi + .get("/api/v1/users/1/integrations/fervidex/settings") + .set("Cookie", cookie); + + t.equal(res.statusCode, 200); + + t.strictSame(res.body.body, { + userID: 1, + forceStaticImport: false, + cards: ["foo", "bar"], + }); + + t.end(); + }); + + t.test("Must require self-key level authentication.", async (t) => { + const res = await mockApi.get("/api/v1/users/1/integrations/fervidex/settings"); + + t.equal(res.statusCode, 401); + + const res2 = await mockApi + .get("/api/v1/users/1/integrations/fervidex/settings") + .set("Authorization", "Bearer fake_api_token"); + + t.equal(res2.statusCode, 403); + + // insert a fake user doc so this doesn't 404 + await db.users.insert({ + id: 2, + username: "foo", + usernameLowercase: "foo", + } as PublicUserDocument); + + const res3 = await mockApi + .get("/api/v1/users/2/integrations/fervidex/settings") + .set("Cookie", cookie); + + t.equal(res3.statusCode, 403); + + t.end(); + }); + + t.end(); +}); + +t.test("PATCH /api/v1/users/:userID/integrations/fervidex/settings", async (t) => { + t.beforeEach(ResetDBState); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should update a users settings.", async (t) => { + const res = await mockApi + .patch("/api/v1/users/1/integrations/fervidex/settings") + .send({ + cards: ["foo", "bar"], + }) + .set("Cookie", cookie); + + t.strictSame(res.body.body.cards, ["foo", "bar"]); + + const dbRes = await db["fer-settings"].findOne({ userID: 1 }); + + t.strictSame(dbRes?.cards, ["foo", "bar"]); + + t.end(); + }); + + t.test("Should insert a setting filter document if one doesn't exist.", async (t) => { + await db["fer-settings"].remove({}); + + const res = await mockApi + .patch("/api/v1/users/1/integrations/fervidex/settings") + .send({ + cards: ["foo", "bar"], + }) + .set("Cookie", cookie); + + t.strictSame(res.body.body.cards, ["foo", "bar"]); + + const dbRes = await db["fer-settings"].findOne({ userID: 1 }); + + t.strictSame(dbRes?.cards, ["foo", "bar"]); + + t.end(); + }); + + t.test("Should null settings if null is provided.", async (t) => { + const res = await mockApi + .patch("/api/v1/users/1/integrations/fervidex/settings") + .send({ + cards: null, + }) + .set("Cookie", cookie); + + t.strictSame(res.body.body.cards, null); + + const dbRes = await db["fer-settings"].findOne({ userID: 1 }); + + t.strictSame(dbRes?.cards, null); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/integrations/fervidex/router.ts b/server/src/server/router/api/v1/users/_userID/integrations/fervidex/router.ts new file mode 100644 index 000000000..46e6114bf --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/integrations/fervidex/router.ts @@ -0,0 +1,91 @@ +import { RequireSelfRequestFromUser } from "../../middleware"; +import { Router } from "express"; +import db from "external/mongo/db"; +import prValidate from "server/middleware/prudence-validate"; +import { RequireKamaitachi } from "server/middleware/type-require"; +import { DeleteUndefinedProps } from "utils/misc"; +import { optNull } from "utils/prudence"; +import { GetTachiData } from "utils/req-tachi-data"; + +const router: Router = Router({ mergeParams: true }); + +router.use(RequireKamaitachi); +router.use(RequireSelfRequestFromUser); + +/** + * Retrieve your fervidex settings. + * + * @name GET /api/v1/users/:userID/integrations/fervidex/settings + */ +router.get("/settings", async (req, res) => { + const user = GetTachiData(req, "requestedUser"); + + const settingsDoc = await db["fer-settings"].findOne({ + userID: user.id, + }); + + return res.status(200).json({ + success: true, + description: `Retrieved Fervidex settings.`, + body: settingsDoc ?? null, + }); +}); + +/** + * Update your fervidex configuration. + * + * @param cards - An array of strings to be used as a cards whitelist. + * @param forceStaticImport - Whether or whether not to force a static import on non-INF2 clients. + * + * @name PUT /api/v1/users/:userID/integrations/fervidex/settings + */ +router.patch( + "/settings", + prValidate({ cards: optNull(["string"]), forceStaticImport: "*?boolean" }), + async (req, res) => { + const body = req.safeBody as { + cards?: Array | null; + forceStaticImport?: boolean | null; + }; + + if (body.cards && body.cards.length > 6) { + return res.status(400).json({ + success: false, + description: `You cannot have more than 6 card filters at once.`, + }); + } + + const user = GetTachiData(req, "requestedUser"); + + const modifyDocument = req.safeBody; + + DeleteUndefinedProps(modifyDocument); + + if (Object.keys(modifyDocument).length === 0) { + return res.status(400).json({ + success: false, + description: `No modifications sent.`, + }); + } + + await db["fer-settings"].update( + { userID: user.id }, + { + $set: modifyDocument, + }, + { + upsert: true, + } + ); + + const settings = await db["fer-settings"].findOne({ userID: user.id }); + + return res.status(200).json({ + success: true, + description: `Successfully updated settings.`, + body: settings, + }); + } +); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/integrations/kai/_kaiType/middleware.test.ts b/server/src/server/router/api/v1/users/_userID/integrations/kai/_kaiType/middleware.test.ts new file mode 100644 index 000000000..63d2e9ded --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/integrations/kai/_kaiType/middleware.test.ts @@ -0,0 +1,32 @@ +import { ValidateKaiType } from "./middleware"; +import expMiddlewareMock from "express-request-mock"; +import t from "tap"; + +t.test("#ValidateKaiType", (t) => { + const k = async (k: string) => { + const { res } = await expMiddlewareMock(ValidateKaiType, { params: { kaiType: k } }); + + return res.statusCode; + }; + + t.test("Should allow flo, eag or min, case insensitively.", async (t) => { + t.equal(await k("flo"), 200); + t.equal(await k("eag"), 200); + t.equal(await k("min"), 200); + t.equal(await k("FLO"), 200); + t.equal(await k("EAG"), 200); + t.equal(await k("MIN"), 200); + t.equal(await k("FlO"), 200); + t.equal(await k("EaG"), 200); + t.equal(await k("MiN"), 200); + t.equal(await k("nonsense"), 400); + t.equal(await k("bad"), 400); + t.equal(await k(""), 400); + t.equal(await k("FLO2"), 400); + t.equal(await k("2FLO"), 400); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/integrations/kai/_kaiType/middleware.ts b/server/src/server/router/api/v1/users/_userID/integrations/kai/_kaiType/middleware.ts new file mode 100644 index 000000000..eada38132 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/integrations/kai/_kaiType/middleware.ts @@ -0,0 +1,20 @@ +import type { RequestHandler } from "express"; + +export const ValidateKaiType: RequestHandler = (req, res, next) => { + const kaiType = req.params.kaiType; + + if (kaiType === undefined) { + throw new Error( + `Expected to find kaiType parameter inside ValidateKaiType on route ${req.originalUrl}.` + ); + } + + if (!["min", "flo", "eag"].includes(kaiType.toLowerCase())) { + return res.status(400).json({ + success: false, + description: `Invalid kaiType - Expected min, flo or eag.`, + }); + } + + next(); +}; diff --git a/server/src/server/router/api/v1/users/_userID/integrations/kai/_kaiType/router.test.ts b/server/src/server/router/api/v1/users/_userID/integrations/kai/_kaiType/router.test.ts new file mode 100644 index 000000000..af9eb80e3 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/integrations/kai/_kaiType/router.test.ts @@ -0,0 +1,65 @@ +import db from "external/mongo/db"; +import t from "tap"; +import { CreateFakeAuthCookie } from "test-utils/fake-auth"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; + +t.test("GET /api/v1/users/:userID/integrations/kai/:kaiType", async (t) => { + t.beforeEach(ResetDBState); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should return false if unauthed with this kaiType", async (t) => { + const res = await mockApi.get("/api/v1/users/1/integrations/kai/flo").set("Cookie", cookie); + + t.equal(res.statusCode, 200); + t.equal(res.body.body.authStatus, false); + + t.end(); + }); + + t.test("Should return true if authed with this kaiType", async (t) => { + await db["kai-auth-tokens"].insert({ + refreshToken: "refresh", + service: "FLO", + token: "bar", + userID: 1, + }); + + const res = await mockApi.get("/api/v1/users/1/integrations/kai/flo").set("Cookie", cookie); + + t.equal(res.statusCode, 200); + t.equal(res.body.body.authStatus, true); + + t.end(); + }); + + t.test("Should return the auth status of this user specifically.", async (t) => { + await db["kai-auth-tokens"].insert([ + { + refreshToken: "refresh", + service: "EAG", + token: "bar", + userID: 1, + }, + { + refreshToken: "refresh", + service: "FLO", + token: "baz", + userID: 2, + }, + ]); + + const res = await mockApi.get("/api/v1/users/1/integrations/kai/flo").set("Cookie", cookie); + + t.equal(res.statusCode, 200); + t.equal(res.body.body.authStatus, false); + + t.end(); + }); + + t.end(); +}); + +// test is currently undoable due to issues with mocking out real Fetch calls. +t.todo("PATCH /api/v1/users/:userID/integrations/kai/:kaiType/oauth2callback"); diff --git a/server/src/server/router/api/v1/users/_userID/integrations/kai/_kaiType/router.ts b/server/src/server/router/api/v1/users/_userID/integrations/kai/_kaiType/router.ts new file mode 100644 index 000000000..56b33ad4b --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/integrations/kai/_kaiType/router.ts @@ -0,0 +1,184 @@ +import { ValidateKaiType } from "./middleware"; +import { RequireSelfRequestFromUser } from "../../../middleware"; +import { Router } from "express"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { + GetKaiTypeClientCredentials, + KaiTypeToBaseURL, +} from "lib/score-import/import-types/common/api-kai/utils"; +import p from "prudence"; +import prValidate from "server/middleware/prudence-validate"; +import { RequireKamaitachi } from "server/middleware/type-require"; +import fetch from "utils/fetch"; +import { NotNullish } from "utils/misc"; +import { GetKaiAuth } from "utils/queries/auth"; +import { GetTachiData } from "utils/req-tachi-data"; +import { FormatUserDoc } from "utils/user"; +import { URL } from "url"; + +const router: Router = Router({ mergeParams: true }); + +const logger = CreateLogCtx(__filename); + +router.use(RequireKamaitachi, RequireSelfRequestFromUser, ValidateKaiType); + +/** + * Return the authentication status for this kaiType. + * @note - Express's types infer arg0 of "/" to mean no params, for some reason. + * the generic overrides this behaviour. + * + * @name GET /api/v1/users/:userID/integrations/kai/:kaiType + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +router.get("/", async (req, res) => { + const user = GetTachiData(req, "requestedUser"); + const kaiType = NotNullish(req.params.kaiType).toUpperCase() as "EAG" | "FLO" | "MIN"; + + const authDoc = await GetKaiAuth(user.id, kaiType); + + return res.status(200).json({ + success: true, + description: authDoc ? `User is authenticated.` : `User is unauthenticated.`, + body: { + authStatus: !!authDoc, + }, + }); +}); + +const KAI_OAUTH2_RETURN_SCHEMA = { + access_token: "string", + refresh_token: "string", +}; + +/** + * The OAuth2 callback used by Kai to send an intermediate token to. + * @note The way this is implemented is *really* weird due to the fact that + * the tachi-server code cannot have any knowledge of the tachi-client code, + * and the two must be agnostic. + * + * This means the tachi-client will handle the redirecting, and will check + * query params for ?code=12345 to know when to POST us with the code + * to perform an update. + * + * @param code - An intermediate code to use to get the real auth token. + * + * @name POST /api/v1/users/:userID/integrations/kai/:kaiType/oauth2callback + */ +router.post( + "/oauth2callback", + prValidate({ code: "string" }, {}, { allowExcessKeys: true }), + async (req, res) => { + const user = GetTachiData(req, "requestedUser"); + const kaiType = NotNullish(req.params.kaiType).toUpperCase() as "EAG" | "FLO" | "MIN"; + + const body = req.safeBody as { + code: string; + }; + + const baseUrl = KaiTypeToBaseURL(kaiType); + + const maybeCredentials = GetKaiTypeClientCredentials(kaiType); + + if (!maybeCredentials) { + logger.severe( + `Attempted to /callback ${kaiType}, but this server has no oauth2 credentials configured for that type.` + ); + return res.status(500).json({ + success: false, + description: `A fatal error has occured, This has been reported.`, + }); + } + + const { CLIENT_SECRET, CLIENT_ID, REDIRECT_URI } = maybeCredentials; + + const url = new URL(`${baseUrl}/oauth/token`); + + url.searchParams.append("code", body.code); + url.searchParams.append("grant_type", "authorization_code"); + url.searchParams.append("client_secret", CLIENT_SECRET); + url.searchParams.append("client_id", CLIENT_ID); + url.searchParams.append("redirect_uri", REDIRECT_URI); + + logger.info(`Making token reify request from ${baseUrl}/oauth/token`); + let getTokenRes; + + try { + // this also isn't a POST?? + getTokenRes = await fetch(url.href); + } catch (err) { + logger.error(`Completely failed to getTokenRes from ${url.href}.`, err); + return res.status(500).json({ + success: false, + description: `We failed to reach this site. Are they down?`, + }); + } + + if (getTokenRes.status !== 200) { + logger.error( + `Unexpected status of ${getTokenRes.status} from ${url.href} oauth2 flow.` + ); + + return res.status(500).json({ + success: false, + description: `A fatal error has occured, This has been reported.`, + }); + } + + let json: unknown; + + try { + json = await getTokenRes.json(); + } catch (err) { + logger.error(`Error parsing JSON in response body from getTokenRes.`, { + res: getTokenRes, + err, + }); + + return res.status(500).json({ + success: false, + description: `A fatal error has occured, This has been reported.`, + }); + } + + const err = p(json, KAI_OAUTH2_RETURN_SCHEMA, {}, { allowExcessKeys: true }); + + if (err) { + logger.error(`Validation error in JSON return from ${url.href}.`, { err }); + return res.status(500).json({ + success: false, + description: `A fatal error has occured, This has been reported.`, + }); + } + + const j = json as { access_token: string; refresh_token: string }; + + await db["kai-auth-tokens"].update( + { + userID: user.id, + service: kaiType, + }, + { + $set: { + userID: user.id, + service: kaiType, + refreshToken: j.refresh_token, + token: j.access_token, + }, + }, + { + upsert: true, + } + ); + + logger.info(`Updated Auth for ${kaiType} for user ${FormatUserDoc(user)}.`); + + return res.status(200).json({ + success: true, + description: `Successfully updated auth for ${kaiType}`, + body: {}, + }); + } +); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/integrations/router.ts b/server/src/server/router/api/v1/users/_userID/integrations/router.ts new file mode 100644 index 000000000..acdb984ed --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/integrations/router.ts @@ -0,0 +1,12 @@ +import arcRouter from "./arc/router"; +import fervidexRouter from "./fervidex/router"; +import kaiKaiTypeRouter from "./kai/_kaiType/router"; +import { Router } from "express"; + +const router: Router = Router({ mergeParams: true }); + +router.use("/arc", arcRouter); +router.use("/kai/:kaiType", kaiKaiTypeRouter); +router.use("/fervidex", fervidexRouter); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/invites/router.test.ts b/server/src/server/router/api/v1/users/_userID/invites/router.test.ts new file mode 100644 index 000000000..876c2fd53 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/invites/router.test.ts @@ -0,0 +1,160 @@ +import db from "external/mongo/db"; +import { ONE_MONTH } from "lib/constants/time"; +import t from "tap"; +import { CreateFakeAuthCookie } from "test-utils/fake-auth"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import type { InviteCodeDocument, PublicUserDocument } from "tachi-common"; + +t.test("GET /api/v1/users/:userID/invites", async (t) => { + t.beforeEach(ResetDBState); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should return all of this users created invites and who used them.", async (t) => { + await db.users.insert({ + id: 2, + username: "other_dude", + usernameLowercase: "other_dude", + } as PublicUserDocument); + + const res = await mockApi.get("/api/v1/users/1/invites").set("Cookie", cookie); + + t.strictSame( + (res.body.body.invites as Array).sort( + (a, b) => a.createdAt - b.createdAt + ), + [ + { + code: "example_invite", + createdBy: 1, + createdAt: 0, + consumed: false, + consumedBy: null, + consumedAt: null, + }, + { + code: "example_consumed_invite", + createdBy: 1, + createdAt: 1, + consumed: true, + consumedBy: 2, + consumedAt: 123, + }, + ] + ); + + t.strictSame(res.body.body.consumers, [ + { + id: 2, + username: "other_dude", + usernameLowercase: "other_dude", + }, + ]); + + t.end(); + }); + + t.test("Should require self-key level authentication.", async (t) => { + const res = await mockApi.get("/api/v1/users/1/invites"); + + t.equal(res.statusCode, 401); + + const res2 = await mockApi + .get("/api/v1/users/1/invites") + .set("Authorization", "Bearer fake_api_token"); + + t.equal(res2.statusCode, 403); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/users/:userID/invites/limit", async (t) => { + t.beforeEach(ResetDBState); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should return this users current limit on invites.", async (t) => { + // because this thing is time-based, we need to make sure + // this is always relative to right now. + + await db.users.update({ id: 1 }, { $set: { joinDate: Date.now() - ONE_MONTH * 2.5 } }); + const res = await mockApi.get("/api/v1/users/1/invites/limit").set("Cookie", cookie); + + t.equal(res.body.body.invites, 2); + t.equal(res.body.body.limit, 4); + + t.end(); + }); + + t.test("Should require self-key level authentication.", async (t) => { + const res = await mockApi.get("/api/v1/users/1/invites/limit"); + + t.equal(res.statusCode, 401); + + const res2 = await mockApi + .get("/api/v1/users/1/invites/limit") + .set("Authorization", "Bearer fake_api_token"); + + t.equal(res2.statusCode, 403); + + t.end(); + }); + + t.end(); +}); + +t.test("POST /api/v1/users/:userID/invites/create", async (t) => { + t.beforeEach(ResetDBState); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should create a new invite.", async (t) => { + await db.users.update({ id: 1 }, { $set: { joinDate: Date.now() - ONE_MONTH * 2.5 } }); + + const res = await mockApi.post("/api/v1/users/1/invites/create").set("Cookie", cookie); + + t.equal(res.statusCode, 200); + + const dbRes = await db.invites.findOne({ + code: res.body.body.code, + }); + + t.not(dbRes, null, "Should exist in the database."); + + t.end(); + }); + + t.test("Should honor invite limit.", async (t) => { + await db.invites.remove({}); + + // users with less than a month of life in them dont get invites, + // so this will force an invite limit honor. + await db.users.update({ id: 1 }, { $set: { joinDate: Date.now() } }); + + const res = await mockApi.post("/api/v1/users/1/invites/create").set("Cookie", cookie); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.test("Should require self-key level authentication.", async (t) => { + const res = await mockApi.post("/api/v1/users/1/invites/create"); + + t.equal(res.statusCode, 401); + + const res2 = await mockApi + .post("/api/v1/users/1/invites/create") + .set("Authorization", "Bearer fake_api_token"); + + t.equal(res2.statusCode, 403); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/invites/router.ts b/server/src/server/router/api/v1/users/_userID/invites/router.ts new file mode 100644 index 000000000..9a842b377 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/invites/router.ts @@ -0,0 +1,115 @@ +import { RequireSelfRequestFromUser } from "../middleware"; +import { Router } from "express"; +import db from "external/mongo/db"; +import { GetTotalAllowedInvites } from "lib/invites/invites"; +import { RequireKamaitachi } from "server/middleware/type-require"; +import { Random20Hex } from "utils/misc"; +import { GetTachiData } from "utils/req-tachi-data"; +import { GetUsersWithIDs } from "utils/user"; +import type { InviteCodeDocument } from "tachi-common"; + +const router: Router = Router({ mergeParams: true }); + +router.use(RequireKamaitachi); +router.use(RequireSelfRequestFromUser); + +/** + * Retrieve all of this users created invites. + * + * @name GET /api/v1/users/:userID/invites + */ +router.get("/", async (req, res) => { + const user = GetTachiData(req, "requestedUser"); + + const invites = await db.invites.find({ + createdBy: user.id, + }); + + const consumers = await GetUsersWithIDs( + invites.map((e) => e.consumedBy).filter((e) => e !== null) as Array + ); + + return res.status(200).json({ + success: true, + description: `Found ${invites.length} invites.`, + body: { invites, consumers }, + }); +}); + +/** + * Return how many invites this user can create, and how many they + * have already created. + * + * @name GET /api/v1/users/:userID/invites/limit + */ +router.get("/limit", async (req, res) => { + const user = GetTachiData(req, "requestedUser"); + + const invites = await db.invites.count({ createdBy: user.id }); + const limit = GetTotalAllowedInvites(user); + + return res.status(200).json({ + success: true, + description: `Calculated invite limit.`, + body: { + invites, + limit, + }, + }); +}); + +const InviteLocks = new Set(); + +/** + * Create a new invite. + * + * @name POST /api/v1/users/:userID/invites/create + */ +router.post("/create", async (req, res) => { + const user = GetTachiData(req, "requestedUser"); + + try { + // race condition protection + // to avoid users double-creating invites. + if (InviteLocks.has(user.id)) { + return res.status(409).json({ + success: false, + description: `You already have an outgoing invite creation request.`, + }); + } + + InviteLocks.add(user.id); + + const existingInvites = await db.invites.count({ createdBy: user.id }); + + if (existingInvites >= GetTotalAllowedInvites(user)) { + InviteLocks.delete(user.id); + + return res.status(400).json({ + success: false, + description: `You already have your maximum amount of outgoing invites.`, + }); + } + + const inviteDoc: InviteCodeDocument = { + code: Random20Hex(), + consumed: false, + consumedAt: null, + consumedBy: null, + createdAt: Date.now(), + createdBy: user.id, + }; + + await db.invites.insert(inviteDoc); + + return res.status(200).json({ + success: true, + description: `Created Invite.`, + body: inviteDoc, + }); + } finally { + InviteLocks.delete(user.id); + } +}); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/middleware.ts b/server/src/server/router/api/v1/users/_userID/middleware.ts new file mode 100644 index 000000000..02466e1a9 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/middleware.ts @@ -0,0 +1,97 @@ +import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi"; +import { IsNullish } from "utils/misc"; +import { AssignToReqTachiData, GetTachiData } from "utils/req-tachi-data"; +import { ResolveUser } from "utils/user"; +import type { RequestHandler } from "express"; + +export const GetUserFromParam: RequestHandler = async (req, res, next) => { + if (!req.params.userID) { + return res.status(400).json({ + success: false, + description: "No userID given.", + }); + } + + let userID = req.params.userID; + + if (req.params.userID === "me") { + const authUserID = req[SYMBOL_TACHI_API_AUTH].userID; + + if (authUserID === null) { + return res.status(401).json({ + success: false, + description: "Cannot use 'me' userID with no authentication.", + }); + } + + // fast assign using JWT + if (req.session.tachi?.user) { + AssignToReqTachiData(req, { requestedUser: req.session.tachi.user }); + next(); + return; + } + + userID = authUserID.toString(); + } + + const user = await ResolveUser(userID); + + if (!user) { + return res.status(404).json({ + success: false, + description: `The user ${userID} does not exist.`, + }); + } + + AssignToReqTachiData(req, { requestedUser: user }); + + next(); +}; + +/** + * Require the user making this request to also be the user in the :userID param. + */ +export const RequireAuthedAsUser: RequestHandler = (req, res, next) => { + const user = GetTachiData(req, "requestedUser"); + + if (req[SYMBOL_TACHI_API_AUTH].userID === null) { + return res.status(401).json({ + success: false, + description: `Authentication is required for this endpoint.`, + }); + } + + if (req[SYMBOL_TACHI_API_AUTH].userID !== user.id) { + return res.status(403).json({ + success: false, + description: "You are not authorised as this user.", + }); + } + + next(); +}; + +/** + * Require that this request is made with a Cookie, instead of any + * API key. This is for things that services should not be allowed to + * alter/access, like integration information. + */ +export const RequireSelfRequestFromUser: RequestHandler = (req, res, next) => { + const user = GetTachiData(req, "requestedUser"); + + if (req[SYMBOL_TACHI_API_AUTH].userID === null) { + return res.status(401).json({ + success: false, + description: `This endpoint requires session-level authentication.`, + }); + } + + if (IsNullish(req.session.tachi?.user.id) || req[SYMBOL_TACHI_API_AUTH].userID !== user.id) { + return res.status(403).json({ + success: false, + description: `This request cannot be performed by an API key, and requires authentication.`, + }); + } + + next(); +}; diff --git a/server/src/server/router/api/v1/users/_userID/notifications/router.test.ts b/server/src/server/router/api/v1/users/_userID/notifications/router.test.ts new file mode 100644 index 000000000..6f5fb41f1 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/notifications/router.test.ts @@ -0,0 +1,196 @@ +import db from "external/mongo/db"; +import t from "tap"; +import { CreateFakeAuthCookie } from "test-utils/fake-auth"; +import { mkFakeNotification, mkFakeUser } from "test-utils/misc"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import type { NotificationDocument } from "tachi-common"; + +t.test("GET /api/v1/users/:userID/notifications", async (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(() => + Promise.all([ + db.notifications.insert([ + mkFakeNotification({ notifID: "read", read: true, sentAt: 2 }), + mkFakeNotification({ notifID: "unread", read: false, sentAt: 3 }), + mkFakeNotification({ notifID: "not_ours", sentTo: 2, sentAt: 4 }), + ]), + db.users.insert(mkFakeUser(2)), + ]) + ); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should return all of this user's notifications, read or unread.", async (t) => { + const res = await mockApi.get("/api/v1/users/1/notifications").set("Cookie", cookie); + + t.equal(res.statusCode, 200, "Should return 200"); + + t.strictSame( + res.body.body.map((e: NotificationDocument) => e.notifID), + ["unread", "read"], + "Should return the exact notifications we expected (in most-recent order), and no more." + ); + + t.end(); + }); + + t.test("Should return 401 if not authenticated.", async (t) => { + const res = await mockApi.get("/api/v1/users/1/notifications"); + + t.equal(res.statusCode, 401); + + t.end(); + }); + + t.test("Should return 403 if authed as someone else.", async (t) => { + const res = await mockApi.get("/api/v1/users/2/notifications").set("Cookie", cookie); + + t.equal(res.statusCode, 403); + + t.end(); + }); + + t.test("Should return 403 if authed as right user without self-key", async (t) => { + const res = await mockApi + .get("/api/v1/users/1/notifications") + .set("Authorization", "Bearer fake_api_token"); + + t.equal(res.statusCode, 403); + + t.end(); + }); + + t.end(); +}); + +t.test("POST /api/v1/users/:userID/notifications/delete-all", async (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(() => + Promise.all([ + db.notifications.insert([ + mkFakeNotification({ notifID: "read", read: true, sentAt: 2 }), + mkFakeNotification({ notifID: "unread", read: false, sentAt: 3 }), + mkFakeNotification({ notifID: "unread_2", read: false, sentAt: 4 }), + mkFakeNotification({ notifID: "not_ours", sentTo: 2, sentAt: 5 }), + ]), + db.users.insert(mkFakeUser(2)), + ]) + ); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should mark all of a user's notifications as read.", async (t) => { + const res = await mockApi + .post("/api/v1/users/1/notifications/mark-all-read") + .set("Cookie", cookie); + + t.equal(res.statusCode, 200, "Should return 200."); + + t.strictSame(res.body.body, {}, "Should have no response body."); + + const dbRes = await db.notifications.findOne({ + sentTo: 1, + read: false, + }); + + t.equal(dbRes, null, "Should not find any unread messages in the users inbox."); + + t.end(); + }); + + t.test("Should return 401 if not authenticated.", async (t) => { + const res = await mockApi.post("/api/v1/users/1/notifications/mark-all-read"); + + t.equal(res.statusCode, 401); + + t.end(); + }); + + t.test("Should return 403 if authed as someone else.", async (t) => { + const res = await mockApi + .post("/api/v1/users/2/notifications/mark-all-read") + .set("Cookie", cookie); + + t.equal(res.statusCode, 403); + + t.end(); + }); + + t.test("Should return 403 if authed as right user without self-key", async (t) => { + const res = await mockApi + .post("/api/v1/users/1/notifications/mark-all-read") + .set("Authorization", "Bearer fake_api_token"); + + t.equal(res.statusCode, 403); + + t.end(); + }); + + t.end(); +}); + +t.test("POST /api/v1/users/:userID/notifications/delete-all", async (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(() => + Promise.all([ + db.notifications.insert([ + mkFakeNotification({ notifID: "read", read: true, sentAt: 2 }), + mkFakeNotification({ notifID: "unread", read: false, sentAt: 3 }), + mkFakeNotification({ notifID: "unread_2", read: false, sentAt: 4 }), + mkFakeNotification({ notifID: "not_ours", sentTo: 2, sentAt: 5 }), + ]), + db.users.insert(mkFakeUser(2)), + ]) + ); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should empty a user's notification inbox.", async (t) => { + const res = await mockApi + .post("/api/v1/users/1/notifications/delete-all") + .set("Cookie", cookie); + + t.equal(res.statusCode, 200, "Should return 200."); + + t.strictSame(res.body.body, {}, "Should have no response body."); + + const dbRes = await db.notifications.findOne({ + sentTo: 1, + }); + + t.equal(dbRes, null, "Should not find any messages in the users inbox."); + + t.end(); + }); + + t.test("Should return 401 if not authenticated.", async (t) => { + const res = await mockApi.post("/api/v1/users/1/notifications/delete-all"); + + t.equal(res.statusCode, 401); + + t.end(); + }); + + t.test("Should return 403 if authed as someone else.", async (t) => { + const res = await mockApi + .post("/api/v1/users/2/notifications/delete-all") + .set("Cookie", cookie); + + t.equal(res.statusCode, 403); + + t.end(); + }); + + t.test("Should return 403 if authed as right user without self-key", async (t) => { + const res = await mockApi + .post("/api/v1/users/1/notifications/delete-all") + .set("Authorization", "Bearer fake_api_token"); + + t.equal(res.statusCode, 403); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/notifications/router.ts b/server/src/server/router/api/v1/users/_userID/notifications/router.ts new file mode 100644 index 000000000..0cd4947f0 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/notifications/router.ts @@ -0,0 +1,98 @@ +import { RequireSelfRequestFromUser } from "../middleware"; +import { Router } from "express"; +import db from "external/mongo/db"; +import { ONE_SECOND } from "lib/constants/time"; +import { GetTachiData } from "utils/req-tachi-data"; + +const router: Router = Router({ mergeParams: true }); + +// Notifications aren't really for anyone else to interact with. Only the requesting user +// should be able to see their notifications. +router.use(RequireSelfRequestFromUser); + +/** + * Return all of this user's notifications, this is sorted on most recently sent first. + * + * @name GET /api/v1/users/:userID/notifications + */ +router.get("/", async (req, res) => { + const user = GetTachiData(req, "requestedUser"); + + const notifs = await db.notifications.find( + { + sentTo: user.id, + }, + { + sort: { + sentAt: -1, + }, + } + ); + + return res.status(200).json({ + success: true, + description: `Found ${notifs.length} notifications.`, + body: notifs, + }); +}); + +/** + * Mark all notifications in this user's inbox as read. + * + * @name POST /api/v1/users/:userID/notifications/mark-all-read + */ +router.post("/mark-all-read", async (req, res) => { + const user = GetTachiData(req, "requestedUser"); + + const updateRes = await db.notifications.update( + { + sentTo: user.id, + + // insanely rare edge case, but if someone submits an empty-my-inbox + // request, and then gets a notif at the same time, they run the risk of + // emptying something so immediately they don't actually ever see it. + // This hack mitigates that, slightly. + sentAt: { + $lt: Date.now() - ONE_SECOND * 2, + }, + }, + { + $set: { read: true }, + }, + { + multi: true, + } + ); + + return res.status(200).json({ + success: true, + description: `Marked ${updateRes.n} notifications as read.`, + body: {}, + }); +}); + +/** + * Clear all notifications from your inbox. + * + * @name POST /api/v1/users/:userID/notifications/delete-all + */ +router.post("/delete-all", async (req, res) => { + const user = GetTachiData(req, "requestedUser"); + + const deleted = await db.notifications.remove({ + sentTo: user.id, + + // See mark-all-read for an explanation of this behaviour. + sentAt: { + $lt: Date.now() - ONE_SECOND * 2, + }, + }); + + return res.status(200).json({ + success: true, + description: `Deleted ${deleted.deletedCount ?? 0} notification(s).`, + body: {}, + }); +}); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/pfp/router.test.ts b/server/src/server/router/api/v1/users/_userID/pfp/router.test.ts new file mode 100644 index 000000000..d3a317f4f --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/pfp/router.test.ts @@ -0,0 +1,76 @@ +import db from "external/mongo/db"; +import { CDNStoreOrOverwrite } from "lib/cdn/cdn"; +import { GetProfilePictureURL } from "lib/cdn/url-format"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { GetKTDataBuffer } from "test-utils/test-data"; + +t.test("GET /api/v1/users/:userID/pfp", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return the default profile picture if user has no custom pfp", async (t) => { + await CDNStoreOrOverwrite("/users/default/pfp", "test"); + + // we have to follow redirs here lol + const res = await mockApi.get("/api/v1/users/1/pfp").redirects(1); + + t.equal(res.body.toString(), "test"); + + t.end(); + }); + + t.test("Should return a custom profile picture if one is set", async (t) => { + await CDNStoreOrOverwrite(GetProfilePictureURL(1, "checksum"), "foo"); + await db.users.update({ id: 1 }, { $set: { customPfpLocation: "checksum" } }); + const res = await mockApi.get("/api/v1/users/1/pfp").redirects(1); + + t.equal(res.body.toString(), "foo"); + + t.end(); + }); + + t.end(); +}); + +t.test("PUT /api/v1/users/:userID/pfp", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should set a profile picture if user has no custom pfp", async (t) => { + const img = GetKTDataBuffer("/images/acorn.png"); + + const res = await mockApi + .put("/api/v1/users/1/pfp") + .set("Authorization", "Bearer fake_api_token") + .attach("pfp", img, "file.jpg"); + + t.equal(res.statusCode, 200); + + const get = await mockApi.get(res.body.body.get).redirects(1); + + t.strictSame(img, get.body, "Profile picture should be stored."); + + t.end(); + }); + + t.test("Should set a profile picture if user has custom pfp", async (t) => { + await db.users.update({ id: 1 }, { $set: { customPfpLocation: "checksum" } }); + + const img = GetKTDataBuffer("/images/acorn.png"); + + const res = await mockApi + .put("/api/v1/users/1/pfp") + .set("Authorization", "Bearer fake_api_token") + .attach("pfp", img, "file.png"); + + t.equal(res.statusCode, 200); + + const get = await mockApi.get(res.body.body.get).redirects(1); + + t.strictSame(img, get.body, "Profile picture should be stored."); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/pfp/router.ts b/server/src/server/router/api/v1/users/_userID/pfp/router.ts new file mode 100644 index 000000000..e3981a522 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/pfp/router.ts @@ -0,0 +1,133 @@ +import { RequireAuthedAsUser } from "../middleware"; +import { Router } from "express"; +import db from "external/mongo/db"; +import { CDNDelete, CDNRedirect, CDNStoreOrOverwrite } from "lib/cdn/cdn"; +import { GetProfilePictureURL } from "lib/cdn/url-format"; +import { ONE_MEGABYTE } from "lib/constants/filesize"; +import CreateLogCtx from "lib/logger/logger"; +import { RequirePermissions } from "server/middleware/auth"; +import { CreateMulterSingleUploadMiddleware } from "server/middleware/multer-upload"; +import { HashSHA256 } from "utils/crypto"; +import { GetTachiData } from "utils/req-tachi-data"; +import { FormatUserDoc } from "utils/user"; + +const logger = CreateLogCtx(__filename); + +const router: Router = Router({ mergeParams: true }); + +/** + * Sets a profile picture. + * + * @param pfp - A JPG or PNG file less than 1mb. + * + * @name PUT /api/v1/users/:userID/pfp + */ +router.put( + "/", + RequireAuthedAsUser, + RequirePermissions("customise_profile"), + CreateMulterSingleUploadMiddleware("pfp", ONE_MEGABYTE, logger), + async (req, res) => { + const user = GetTachiData(req, "requestedUser"); + + if (!user.customPfpLocation) { + logger.verbose(`User ${FormatUserDoc(user)} set a custom profile picture.`); + } else { + logger.verbose(`User ${FormatUserDoc(user)} updated their profile picture.`); + } + + if (!req.file) { + logger.error( + `Conflicting state - no req.file has been populated but passed middleware? (${FormatUserDoc( + user + )})` + ); + return res.status(500).json({ + success: false, + description: `An internal error has occured.`, + }); + } + + const contentHash = HashSHA256(req.file.buffer); + + if ( + req.file.mimetype === "image/jpeg" || + req.file.mimetype === "image/png" || + req.file.mimetype === "image/gif" + ) { + await CDNStoreOrOverwrite(GetProfilePictureURL(user.id, contentHash), req.file.buffer); + } else { + return res.status(400).json({ + success: false, + description: `Invalid file - only JPG and PNG files are supported.`, + }); + } + + if (req.session.tachi?.user) { + req.session.tachi.user.customPfpLocation = contentHash; + } + + await db.users.update({ id: user.id }, { $set: { customPfpLocation: contentHash } }); + + return res.status(200).json({ + success: true, + description: `Stored profile picture.`, + body: { + get: req.originalUrl, + }, + }); + } +); + +/** + * Returns this user's profile picture. If the user does not have a custom profile picture, + * return the default profile picture. + * + * @name GET /api/v1/users/:userID/pfp + */ +router.get("/", (req, res) => { + const user = GetTachiData(req, "requestedUser"); + + logger.debug("User Info for /:userID/pfp request is ", user); + + if (!user.customPfpLocation) { + res.setHeader("Content-Type", "image/png"); + CDNRedirect(res, "/users/default/pfp"); + return; + } + + CDNRedirect(res, GetProfilePictureURL(user.id, user.customPfpLocation)); +}); + +/** + * Deletes this user's profile picture, and go back to the default profile picture. + * + * @name DELETE /api/v1/users/:userID/pfp + */ +router.delete( + "/", + RequireAuthedAsUser, + RequirePermissions("customise_profile"), + async (req, res) => { + const user = GetTachiData(req, "requestedUser"); + + if (!user.customPfpLocation) { + return res.status(404).json({ + success: false, + description: `You do not have a custom profile picture to delete.`, + }); + } + + await CDNDelete(GetProfilePictureURL(user.id, user.customPfpLocation)); + + await db.users.update({ id: user.id }, { $set: { customPfpLocation: null } }); + + return res.status(200).json({ + success: true, + description: `Removed custom profile picture.`, + body: {}, + }); + } +); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/router.test.ts b/server/src/server/router/api/v1/users/_userID/router.test.ts new file mode 100644 index 000000000..cd2a96bec --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/router.test.ts @@ -0,0 +1,459 @@ +import { PasswordCompare } from "../../auth/auth"; +import db from "external/mongo/db"; +import { ONE_DAY, ONE_YEAR } from "lib/constants/time"; +import t from "tap"; +import { CreateFakeAuthCookie } from "test-utils/fake-auth"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { Random20Hex } from "utils/misc"; +import type { Game, ImportDocument, ImportTypes, UserGameStats } from "tachi-common"; + +t.test("GET /api/v1/users/:userID", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should retrieve a user on their ID.", async (t) => { + const res = await mockApi.get("/api/v1/users/1"); + + t.hasStrict(res.body, { + success: true, + description: "Found user test_zkldi.", + body: { + id: 1, + username: "test_zkldi", + }, + }); + + t.end(); + }); + + t.test("Should retrieve a user on their name.", async (t) => { + const res = await mockApi.get("/api/v1/users/test_zkldi"); + + t.hasStrict(res.body, { + success: true, + description: "Found user test_zkldi.", + body: { + id: 1, + username: "test_zkldi", + }, + }); + + t.end(); + }); + + t.test("Should retrieve a user on their name case insensitively.", async (t) => { + const res = await mockApi.get("/api/v1/users/TeSt_ZklDI"); + + t.hasStrict(res.body, { + success: true, + description: "Found user test_zkldi.", + body: { + id: 1, + username: "test_zkldi", + }, + }); + + t.end(); + }); + + t.test("Should return 404 on users that don't exist.", async (t) => { + const res = await mockApi.get("/api/v1/users/someguy"); + + t.hasStrict(res.body, { + success: false, + description: "The user someguy does not exist.", + }); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.end(); +}); + +t.test("PATCH /api/v1/users/:userID", async (t) => { + t.beforeEach(ResetDBState); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should require authentication", async (t) => { + const res = await mockApi.patch("/api/v1/users/1"); + + t.equal(res.statusCode, 401); + + // needs self key auth + await db["api-tokens"].insert({ + token: "noperm", + permissions: {}, + identifier: "No permissions token", + userID: 1, + fromAPIClient: null, + }); + + const res2 = await mockApi.patch("/api/v1/users/1").set("Authorization", "Bearer noperm"); + + t.equal(res2.statusCode, 403); + + t.end(); + }); + + t.test("Should reject empty updates.", async (t) => { + const res = await mockApi.patch("/api/v1/users/1").set("Cookie", cookie); + + t.equal(res.statusCode, 400); + + t.end(); + }); + + t.test("Should update the user doc.", async (t) => { + const res = await mockApi.patch("/api/v1/users/1").set("Cookie", cookie).send({ + status: "Hello World!", + }); + + t.equal(res.body.body.status, "Hello World!"); + + const dbUser = await db.users.findOne({ id: 1 }); + + t.equal(dbUser?.status, "Hello World!"); + + t.end(); + }); + + t.test("Shouldn't allow about me to be set to null.", async (t) => { + const res = await mockApi.patch("/api/v1/users/1").set("Cookie", cookie).send({ + about: null, + }); + + t.equal(res.statusCode, 400); + + const dbUser = await db.users.findOne({ id: 1 }); + + t.equal(dbUser?.about, "test_user_not_real"); + + t.end(); + }); + + t.test("Shouldn't alter other properties.", async (t) => { + await db.users.update({ id: 1 }, { $set: { "socialMedia.discord": "foo#123" } }); + + const res = await mockApi.patch("/api/v1/users/1").set("Cookie", cookie).send({ + status: "Hello World!", + }); + + t.equal(res.body.body.status, "Hello World!"); + + const dbUser = await db.users.findOne({ id: 1 }); + + t.equal(dbUser?.status, "Hello World!"); + t.equal(dbUser?.about, "test_user_not_real"); + t.equal(dbUser?.socialMedia.discord, "foo#123"); + + t.end(); + }); + + t.test("Should correctly strip twitter urls.", async (t) => { + const res = await mockApi.patch("/api/v1/users/1").set("Cookie", cookie).send({ + twitter: "https://twitter.com/zkldi", + }); + + t.equal(res.body.body.socialMedia.twitter, "zkldi"); + + const dbUser = await db.users.findOne({ id: 1 }); + + t.equal(dbUser?.socialMedia.twitter, "zkldi"); + + t.end(); + }); + + t.test("Should correctly strip youtube urls.", async (t) => { + const res = await mockApi.patch("/api/v1/users/1").set("Cookie", cookie).send({ + youtube: "https://youtube.com/user/zkldi", + }); + + t.equal(res.body.body.socialMedia.youtube, "zkldi"); + + const dbUser = await db.users.findOne({ id: 1 }); + + t.equal(dbUser?.socialMedia.youtube, "zkldi"); + + const res2 = await mockApi.patch("/api/v1/users/1").set("Cookie", cookie).send({ + youtube: "https://youtube.com/channel/zkldi", + }); + + t.equal(res2.body.body.socialMedia.youtube, "zkldi"); + + const dbUser2 = await db.users.findOne({ id: 1 }); + + t.equal(dbUser2?.socialMedia.youtube, "zkldi"); + + t.end(); + }); + + t.test("Should correctly strip github urls.", async (t) => { + const res = await mockApi.patch("/api/v1/users/1").set("Cookie", cookie).send({ + github: "https://github.com/zkldi", + }); + + t.equal(res.body.body.socialMedia.github, "zkldi"); + + const dbUser = await db.users.findOne({ id: 1 }); + + t.equal(dbUser?.socialMedia.github, "zkldi"); + + t.end(); + }); + + t.test("Should correctly strip twitch urls.", async (t) => { + const res = await mockApi.patch("/api/v1/users/1").set("Cookie", cookie).send({ + twitch: "https://twitch.tv/zkldi", + }); + + t.equal(res.body.body.socialMedia.twitch, "zkldi"); + + const dbUser = await db.users.findOne({ id: 1 }); + + t.equal(dbUser?.socialMedia.twitch, "zkldi"); + + t.end(); + }); + + t.test("Should correctly strip steam urls.", async (t) => { + const res = await mockApi.patch("/api/v1/users/1").set("Cookie", cookie).send({ + steam: "https://steamcommunity.com/id/zkldi", + }); + + t.equal(res.body.body.socialMedia.steam, "zkldi"); + + const dbUser = await db.users.findOne({ id: 1 }); + + t.equal(dbUser?.socialMedia.steam, "zkldi"); + + t.end(); + }); + + t.end(); +}); + +t.test("POST /api/v1/users/:userID/change-password", async (t) => { + t.beforeEach(ResetDBState); + const cookie = await CreateFakeAuthCookie(mockApi); + + function send(content: Record) { + return mockApi.post("/api/v1/users/1/change-password").set("Cookie", cookie).send(content); + } + + t.test("Must require !password and !oldPassword to be a valid password.", async (t) => { + const res = await send({ + "!password": null, + "!oldPassword": "heres_my_old_password", + }); + + t.equal(res.statusCode, 400); + t.match( + res.body.description, + /!password/gu, + "Should be related to the invalid password field." + ); + + const res2 = await send({ + "!password": "heres_my_new_password", + "!oldPassword": "short", + }); + + t.equal(res2.statusCode, 400); + t.match( + res2.body.description, + /!oldPassword/gu, + "Should be related to the invalid !oldPassword field." + ); + + t.end(); + }); + + t.test("Must require !oldPassword to match.", async (t) => { + const res = await send({ + "!password": "new_password", + "!oldPassword": "NOT_MY_PASSWORD", + }); + + t.equal(res.statusCode, 401); + t.match(res.body.description, /old password doesn't match/iu); + + t.end(); + }); + + t.test("Should update password if everything checks out.", async (t) => { + const res = await send({ + "!password": "NEW_PASSWORD", + "!oldPassword": "password", + }); + + t.equal(res.statusCode, 200); + + const newPrivateInfo = await db["user-private-information"].findOne({ + userID: 1, + }); + + t.not(newPrivateInfo, null, "newPrivateInfo should not be null."); + + t.ok( + PasswordCompare("NEW_PASSWORD", newPrivateInfo!.password), + "Should update the users password to the hash of NEW_PASSWORD." + ); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/users/:userID/game-stats", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return all of a user's game stats.", async (t) => { + await db["game-stats"].remove({}); + + const stats: Array = [ + { + userID: 1, + game: "iidx", + playtype: "SP", + classes: {}, + ratings: { + ktLampRating: 12, + }, + }, + { + userID: 1, + game: "iidx", + playtype: "DP", + classes: {}, + ratings: { + ktLampRating: 11, + }, + }, + { + userID: 1, + game: "gitadora", + playtype: "Dora", + classes: {}, + ratings: { + skill: 4843, + }, + }, + ]; + + await db["game-stats"].insert(stats); + + for (const s of stats) { + delete s._id; + } + + const res = await mockApi.get("/api/v1/users/test_zkldi/game-stats"); + + t.hasStrict(res.body, { + success: true, + description: "Returned 3 stats objects.", + }); + + const returns = res.body.body.map((e: UserGameStats) => `${e.game}-${e.playtype}`); + + // amusing small hacks + t.equal(returns.length, 3); + t.ok(returns.includes("iidx-SP")); + t.ok(returns.includes("iidx-DP")); + t.ok(returns.includes("gitadora-Dora")); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /api/v1/users/:userID/recent-imports", (t) => { + t.beforeEach(ResetDBState); + + function mkImport( + game: Game, + importType: ImportTypes, + timeFinished: number, + userIntent: boolean + ): ImportDocument { + return { + classDeltas: [], + createdSessions: [], + errors: [], + game, + importType, + importID: Random20Hex(), + goalInfo: [], + idStrings: [], + milestoneInfo: [], + playtypes: [], + scoreIDs: [], + timeFinished, + timeStarted: 0, + userID: 1, + userIntent, + }; + } + + t.test("Should work cross game and ignore imports without userIntent.", async (t) => { + await db.imports.insert([ + mkImport("iidx", "api/arc-iidx", Date.now() - ONE_DAY, true), + mkImport("iidx", "api/arc-iidx", Date.now() - ONE_DAY, true), + mkImport("sdvx", "api/arc-sdvx", Date.now() - ONE_DAY, false), + mkImport("iidx", "api/arc-iidx", Date.now() - ONE_DAY, false), + mkImport("sdvx", "api/arc-sdvx", Date.now() - ONE_DAY, true), + ]); + + const res = await mockApi.get("/api/v1/users/1/recent-imports"); + + t.equal(res.statusCode, 200); + + t.strictSame(res.body.body, [ + { + importType: "api/arc-iidx", + count: 2, + }, + { + importType: "api/arc-sdvx", + count: 1, + }, + ]); + + t.end(); + }); + + t.test("Should ignore imports that were too long ago.", async (t) => { + await db.imports.insert([ + mkImport("iidx", "api/arc-iidx", Date.now() - ONE_DAY, true), + mkImport("iidx", "ir/fervidex", Date.now() - ONE_YEAR, true), + mkImport("iidx", "ir/fervidex", Date.now() - ONE_YEAR, true), + mkImport("iidx", "ir/fervidex", Date.now() - ONE_YEAR, true), + mkImport("iidx", "ir/fervidex", Date.now() - ONE_YEAR, true), + mkImport("sdvx", "api/arc-sdvx", Date.now() - ONE_DAY, true), + mkImport("sdvx", "api/arc-sdvx", Date.now() - ONE_DAY, true), + ]); + + const res = await mockApi.get("/api/v1/users/1/recent-imports"); + + t.equal(res.statusCode, 200); + + t.strictSame(res.body.body, [ + { + importType: "api/arc-sdvx", + count: 2, + }, + { + importType: "api/arc-iidx", + count: 1, + }, + ]); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/router.ts b/server/src/server/router/api/v1/users/_userID/router.ts new file mode 100644 index 000000000..53042bab3 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/router.ts @@ -0,0 +1,422 @@ +import apiTokensRouter from "./api-tokens/router"; +import bannerRouter from "./banner/router"; +import gamePTRouter from "./games/_game/_playtype/router"; +import importsRouter from "./imports/router"; +import integrationsRouter from "./integrations/router"; +import invitesRouter from "./invites/router"; +import { GetUserFromParam, RequireSelfRequestFromUser } from "./middleware"; +import notifsRouter from "./notifications/router"; +import pfpRouter from "./pfp/router"; +import settingsRouter from "./settings/router"; +import { HashPassword, PasswordCompare, ValidatePassword } from "../../auth/auth"; +import { Router } from "express"; +import db from "external/mongo/db"; +import { SYMBOL_TACHI_DATA } from "lib/constants/tachi"; +import { ONE_MONTH } from "lib/constants/time"; +import CreateLogCtx from "lib/logger/logger"; +import p from "prudence"; +import prValidate from "server/middleware/prudence-validate"; +import { DeleteUndefinedProps, IsNonEmptyString, NotNullish, StripUrl } from "utils/misc"; +import { optNullFluffStrField } from "utils/prudence"; +import { + GetGoalSummary, + GetRecentlyViewedFoldersAnyGPT, + GetRecentPlaycount, + GetRecentSessions, +} from "utils/queries/summary"; +import { FormatUserDoc, GetAllRankings, GetUserWithID } from "utils/user"; +import type { ImportTypes, integer, UserGameStats } from "tachi-common"; +import type { ProfileRatingAlgs } from "utils/string-checks"; + +const logger = CreateLogCtx(__filename); + +const router: Router = Router({ mergeParams: true }); + +router.use(GetUserFromParam); + +/** + * Get the user at this ID or name. + * @name GET /api/v1/users/:userID + */ +router.get("/", (req, res) => { + const user = NotNullish(req[SYMBOL_TACHI_DATA]?.requestedUser); + + return res.status(200).json({ + success: true, + description: `Found user ${user.username}.`, + body: user, + }); +}); + +interface UserPatchBody { + about?: string | null; + status?: string | null; + discord?: string | null; + twitter?: string | null; + twitch?: string | null; + youtube?: string | null; + github?: string | null; + steam?: string | null; +} + +/** + * Modify this user document. All parameters are optional. + * + * @param about - An about me, this is rendered as markdown. + * @param status - A user status. This is not rendered as markdown, and is short. + * @param discord - The user's discord tag. + * @param twitter - The user's twitter tag. + * @param github - The user's github. + * @param steam - The user's steamID. + * @param youtube - The user's youtube. + * @param twitch - The user's twitch. + * + * @name PATCH /api/v1/users/:userID + */ +router.patch( + "/", + RequireSelfRequestFromUser, + prValidate({ + about: p.optional(p.isBoundedString(3, 2000)), + status: optNullFluffStrField, + discord: optNullFluffStrField, + twitter: optNullFluffStrField, + github: optNullFluffStrField, + steam: optNullFluffStrField, + youtube: optNullFluffStrField, + twitch: optNullFluffStrField, + }), + async (req, res) => { + const user = NotNullish(req[SYMBOL_TACHI_DATA]?.requestedUser); + + const body = req.safeBody as UserPatchBody; + + if (Object.keys(body).length === 0) { + return res.status(400).json({ + success: false, + description: `Nothing was provided to modify.`, + }); + } + + // Hack stuff for user experience. + // In kt1, users would repeatedly mess up these fields. + if (IsNonEmptyString(body.twitter)) { + body.twitter = StripUrl("twitter.com/", body.twitter); + } + + if (IsNonEmptyString(body.github)) { + body.github = StripUrl("github.com/", body.github); + } + + if (IsNonEmptyString(body.youtube)) { + // youtube has two user urls lol + body.youtube = StripUrl("youtube.com/user/", body.youtube); + body.youtube = StripUrl("youtube.com/channel/", body.youtube); + } + + if (IsNonEmptyString(body.twitch)) { + body.twitch = StripUrl("twitch.tv/", body.twitch); + } + + if (IsNonEmptyString(body.steam)) { + body.steam = StripUrl("steamcommunity.com/id/", body.steam); + } + + if (body.about === null) { + return res.status(400).json({ + success: false, + description: `Cannot set about me to null.`, + }); + } + + // :( + const modifyObject: Partial< + Record< + | "status" + | `socialMedia.${ + | "discord" + | "github" + | "steam" + | "twitch" + | "twitter" + | "youtube"}`, + string | null + > & { about: string } + > = { + about: body.about, + status: body.status, + }; + + for (const socMed of [ + "twitch", + "github", + "youtube", + "steam", + "twitter", + "discord", + ] as const) { + modifyObject[`socialMedia.${socMed}` as const] = body[socMed]; + } + + DeleteUndefinedProps(modifyObject); + + await db.users.update( + { + id: user.id, + }, + { + $set: modifyObject, + } + ); + + const newUser = await GetUserWithID(user.id); + + if (!newUser) { + logger.severe( + `User ${FormatUserDoc(user)} updated profile but user doc no longer exists?`, + { user } + ); + + return res.status(500).json({ + success: false, + description: `An internal error has occured.`, + }); + } + + if (req.session.tachi?.user) { + req.session.tachi.user = newUser; + } + + return res.status(200).json({ + success: true, + description: `Successfully updated user.`, + body: newUser, + }); + } +); + +/** + * Returns all of the game-stats this user has. + * Additionally, adds a __rankingData property, which contains this users + * ranking information. + * This endpoint doubles up as a way of checking what games a user has played. + * + * @name GET /api/v1/users/:userID/game-stats + */ +router.get("/game-stats", async (req, res) => { + const user = NotNullish(req[SYMBOL_TACHI_DATA]?.requestedUser); + + // a user has played a game if and only if they have stats for it. + const stats: Array< + UserGameStats & { + __rankingData?: Record; + } + > = await db["game-stats"].find({ userID: user.id }); + + await Promise.all( + stats.map(async (s) => { + const data = await GetAllRankings(s); + + // eslint-disable-next-line require-atomic-updates + s.__rankingData = data; + }) + ); + + return res.status(200).json({ + success: true, + description: `Returned ${stats.length} stats objects.`, + body: stats, + }); +}); + +/** + * Returns a summary of what the user has achieved in the past 16 hours. + * Used on the main dashboard page to give users quick links to sessions, + * alongside other information. + * + * @name GET /api/v1/users/:userID/recent-summary + */ +router.get("/recent-summary", async (req, res) => { + const user = NotNullish(req[SYMBOL_TACHI_DATA]?.requestedUser); + + const [ + recentPlaycount, + recentSessions, + { folders: recentFolders, stats: recentFolderStats }, + { achievedGoals, goals, improvedGoals }, + ] = await Promise.all([ + GetRecentPlaycount(user.id), + GetRecentSessions(user.id), + GetRecentlyViewedFoldersAnyGPT(user.id), + GetGoalSummary(user.id), + ]); + + return res.status(200).json({ + success: true, + description: `Retrieved information about ${FormatUserDoc(user)}.`, + body: { + recentPlaycount, + recentSessions, + recentFolders, + recentFolderStats, + recentAchievedGoals: achievedGoals, + recentGoals: goals, + recentImprovedGoals: improvedGoals, + }, + }); +}); + +/** + * Returns whether the user has verified their email or not. + * Requires self-key level permissions. + * + * @name GET /api/v1/users/:userID/is-email-verified + */ +router.get("/is-email-verified", RequireSelfRequestFromUser, async (req, res) => { + const user = NotNullish(req[SYMBOL_TACHI_DATA]?.requestedUser); + + const verifyInfo = await db["verify-email-codes"].findOne({ + userID: user.id, + }); + + if (verifyInfo) { + return res.status(200).json({ + success: true, + description: `User has not verified email.`, + body: false, + }); + } + + return res.status(200).json({ + success: true, + description: `User has verified email.`, + body: true, + }); +}); + +/** + * Changes the users password. + * Requires self-key level permissions. + * + * @param !password - The new password. Must pass password validation rules. + * @param !oldPassword - The old password. + * + * @name POST /api/v1/users/:userID/change-password + */ +router.post( + "/change-password", + RequireSelfRequestFromUser, + prValidate({ + "!password": ValidatePassword, + "!oldPassword": ValidatePassword, + }), + async (req, res) => { + const body = req.safeBody as { + "!password": string; + "!oldPassword": string; + }; + + const user = req.session.tachi?.user; + + /* istanbul ignore next */ + if (!user) { + logger.severe( + `IP ${req.ip} got to /change-password without a user, but passed RequireSelfRequest?` + ); + + // this should be a 500, but lie to them. + return res.status(403).json({ + success: false, + description: `You are not authorised to perform this action.`, + }); + } + + const privateInfo = await db["user-private-information"].findOne({ + userID: user.id, + }); + + /* istanbul ignore next */ + if (!privateInfo) { + logger.severe(`User ${FormatUserDoc(user)} has no private information?`, { user }); + return res.status(500).json({ + success: false, + description: `An internal server error has occured.`, + }); + } + + const isLastPasswordValid = await PasswordCompare( + body["!oldPassword"], + privateInfo.password + ); + + if (!isLastPasswordValid) { + return res.status(401).json({ + success: false, + description: `Old Password doesn't match what we have in our records.`, + }); + } + + const newPasswordHash = await HashPassword(body["!password"]); + + await db["user-private-information"].update( + { + userID: user.id, + }, + { + $set: { + password: newPasswordHash, + }, + } + ); + + return res.status(200).json({ + success: true, + description: `Updated Password.`, + body: {}, + }); + } +); + +/** + * Get the recent import types this user has used. + */ +router.get("/recent-imports", async (req, res) => { + const user = NotNullish(req[SYMBOL_TACHI_DATA]?.requestedUser); + + const recentImports: Array<{ _id: ImportTypes; count: integer }> = await db.imports.aggregate([ + { + $match: { + userID: user.id, + timeFinished: { $gt: Date.now() - ONE_MONTH }, + userIntent: true, + }, + }, + { + $group: { + _id: "$importType", + count: { $sum: 1 }, + }, + }, + ]); + + // rename _id to importType. + const imports = recentImports.map((e) => ({ importType: e._id, count: e.count })); + + return res.status(200).json({ + success: true, + description: `Found ${recentImports.length} imports.`, + body: imports.sort((a, b) => b.count - a.count), + }); +}); + +router.use("/games/:game/:playtype", gamePTRouter); +router.use("/pfp", pfpRouter); +router.use("/banner", bannerRouter); +router.use("/integrations", integrationsRouter); +router.use("/settings", settingsRouter); +router.use("/api-tokens", apiTokensRouter); +router.use("/invites", invitesRouter); +router.use("/imports", importsRouter); +router.use("/notifications", notifsRouter); + +export default router; diff --git a/server/src/server/router/api/v1/users/_userID/settings/router.test.ts b/server/src/server/router/api/v1/users/_userID/settings/router.test.ts new file mode 100644 index 000000000..35ff16371 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/settings/router.test.ts @@ -0,0 +1,204 @@ +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import t from "tap"; +import { CreateFakeAuthCookie } from "test-utils/fake-auth"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import type { PublicUserDocument } from "tachi-common"; + +t.test("GET /api/v1/users/:userID/settings", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return the users settings.", async (t) => { + const res = await mockApi.get("/api/v1/users/1/settings"); + + t.strictSame(res.body.body, { + userID: 1, + preferences: { + invisible: false, + developerMode: true, + advancedMode: false, + contentiousContent: false, + deletableScores: false, + }, + }); + + t.end(); + }); + + t.end(); +}); + +t.test("PATCH /api/v1/users/:userID/settings", async (t) => { + t.beforeEach(ResetDBState); + + const cookie = await CreateFakeAuthCookie(mockApi); + + t.test("Should mutate the users settings.", async (t) => { + const res = await mockApi.patch("/api/v1/users/1/settings").set("Cookie", cookie).send({ + developerMode: false, + invisible: true, + }); + + t.strictSame(res.body.body, { + userID: 1, + preferences: { + invisible: true, + developerMode: false, + advancedMode: false, + contentiousContent: false, + deletableScores: false, + }, + }); + + const dbRes = await db["user-settings"].findOne({ userID: 1 }); + + t.strictSame(dbRes, { + userID: 1, + preferences: { + invisible: true, + developerMode: false, + advancedMode: false, + contentiousContent: false, + deletableScores: false, + }, + }); + + t.end(); + }); + + t.test("Should 400 if body is empty.", async (t) => { + const res = await mockApi.patch("/api/v1/users/1/settings").set("Cookie", cookie).send({}); + + t.equal(res.statusCode, 400); + + const dbRes = await db["user-settings"].findOne({ userID: 1 }); + + t.strictSame( + dbRes, + { + userID: 1, + preferences: { + invisible: false, + developerMode: true, + advancedMode: false, + contentiousContent: false, + deletableScores: false, + }, + }, + "User Settings should be unmodified." + ); + + t.end(); + }); + + t.test("Should validate input.", async (t) => { + const res = await mockApi.patch("/api/v1/users/1/settings").set("Cookie", cookie).send({ + developerMode: "true", + }); + + t.equal(res.statusCode, 400); + + const res2 = await mockApi.patch("/api/v1/users/1/settings").set("Cookie", cookie).send({ + invalid_prop: true, + }); + + t.equal(res2.statusCode, 400); + + const res3 = await mockApi + .patch("/api/v1/users/1/settings") + .set("Cookie", cookie) + .send({ + invisible: { $where: "alert(1)" }, + }); + + t.equal(res3.statusCode, 400); + + t.end(); + }); + + t.test("Must be authenticated as that user.", async (t) => { + const user = await db.users.findOne({}); + + await db.users.insert( + deepmerge(user!, { + id: 2, + username: "something_else", + usernameLowercase: "something_else", + }) as PublicUserDocument + ); + + const res = await mockApi + .patch("/api/v1/users/2/settings") + + // this token is for user 1, not 2 + .set("Cookie", cookie) + .send({ + developerMode: false, + }); + + t.equal(res.statusCode, 403); + + const dbRes = await db["user-settings"].findOne({ userID: 1 }); + + t.equal( + dbRes?.preferences.developerMode, + true, + "Settings should not be modified in the database." + ); + + t.end(); + }); + + t.test("Must not work with an API key.", async (t) => { + await db["api-tokens"].insert({ + identifier: "no perm", + permissions: { + // has relevant permissions + customise_profile: true, + }, + token: "no_perm", + userID: 1, + fromAPIClient: null, + }); + + const res = await mockApi + .patch("/api/v1/users/1/settings") + .set("Authorization", "Bearer no_perm") + .send({ + developerMode: false, + }); + + t.equal(res.statusCode, 403); + + const dbRes = await db["user-settings"].findOne({ userID: 1 }); + + t.equal( + dbRes?.preferences.developerMode, + true, + "Settings should not be modified in the database." + ); + + t.end(); + }); + + t.test("Must be authenticated.", async (t) => { + const res = await mockApi.patch("/api/v1/users/1/settings").send({ + developerMode: false, + }); + + t.equal(res.statusCode, 401); + + const dbRes = await db["user-settings"].findOne({ userID: 1 }); + + t.equal( + dbRes?.preferences.developerMode, + true, + "Settings should not be modified in the database." + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/_userID/settings/router.ts b/server/src/server/router/api/v1/users/_userID/settings/router.ts new file mode 100644 index 000000000..1f3560204 --- /dev/null +++ b/server/src/server/router/api/v1/users/_userID/settings/router.ts @@ -0,0 +1,115 @@ +import { RequireSelfRequestFromUser } from "../middleware"; +import { Router } from "express"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import prValidate from "server/middleware/prudence-validate"; +import { GetTachiData } from "utils/req-tachi-data"; +import { FormatUserDoc, GetSettingsForUser } from "utils/user"; + +const logger = CreateLogCtx(__filename); +const router: Router = Router({ mergeParams: true }); + +/** + * Retrieve this users settings. Note that these settings are NOT private. + * + * @name GET /api/v1/users/:userID/settings + */ +router.get("/", async (req, res) => { + const user = GetTachiData(req, "requestedUser"); + + const settings = await db["user-settings"].findOne({ + userID: user.id, + }); + + if (!settings) { + logger.severe(`User ${FormatUserDoc(user)} has no settings?`); + return res.status(500).json({ + success: false, + description: `An internal server error has occured.`, + }); + } + + return res.status(200).json({ + success: true, + description: `Retrieved settings.`, + body: settings, + }); +}); + +/** + * Update a user's settings. + * + * @param invisible - Whether to set the user to invisible or not. + * @param developerMode - Whether to display developer specific information in the WebUI. + * @param advancedMode - Whether to display more advanced options in the WebUI. + * @param contentiousContent - Whether to display slightly inappropriate splash messages. + * + * @name PATCH /api/v1/users/:userID/settings + */ +router.patch( + "/", + RequireSelfRequestFromUser, + prValidate({ + invisible: "*boolean", + developerMode: "*boolean", + contentiousContent: "*boolean", + advancedMode: "*boolean", + deletableScores: "*boolean", + }), + async (req, res) => { + const user = GetTachiData(req, "requestedUser"); + + const preferences = req.safeBody as { + invisible?: boolean; + developerMode?: boolean; + contentiousContent?: boolean; + advancedMode?: boolean; + deletableScores?: boolean; + }; + + if (Object.keys(preferences).length === 0) { + return res.status(400).json({ + success: false, + description: `Nothing was provided to change!`, + }); + } + + const modifyObject: Record = {}; + + for (const [k, v] of Object.entries(preferences)) { + modifyObject[`preferences.${k}`] = v; + } + + await db["user-settings"].update( + { + userID: user.id, + }, + { $set: modifyObject } + ); + + const settings = await GetSettingsForUser(user.id); + + if (!settings) { + logger.severe( + `User ${FormatUserDoc(user)} has no settings, yet just successfully updated them?`, + { user } + ); + return res.status(500).json({ + success: false, + description: `An internal server error has occured.`, + }); + } + + if (req.session.tachi?.settings) { + req.session.tachi.settings = settings; + } + + return res.status(200).json({ + success: true, + description: `Updated settings.`, + body: settings, + }); + } +); + +export default router; diff --git a/server/src/server/router/api/v1/users/router.test.ts b/server/src/server/router/api/v1/users/router.test.ts new file mode 100644 index 000000000..add146e58 --- /dev/null +++ b/server/src/server/router/api/v1/users/router.test.ts @@ -0,0 +1,76 @@ +import db from "external/mongo/db"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import type { PublicUserDocument } from "tachi-common"; + +t.test("GET /api/v1/users", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should search users if search param is set.", async (t) => { + const res = await mockApi.get("/api/v1/users?search=zkldi"); + + t.equal(res.body.body.length, 1); + t.equal(res.body.body[0].username, "test_zkldi"); + + const res2 = await mockApi.get("/api/v1/users?search=nothing"); + + t.equal(res2.body.body.length, 0); + + const res3 = await mockApi.get("/api/v1/users?search=ZklDI"); + + t.equal(res3.body.body.length, 1); + t.equal(res3.body.body[0].username, "test_zkldi"); + + t.end(); + }); + + t.test("Should sanitise input for regex stuff.", async (t) => { + const res = await mockApi.get("/api/v1/users?search=.*"); + + t.equal(res.body.body.length, 0); + + t.end(); + }); + + t.test("Should restrict returns to only online users if online is set.", async (t) => { + const res = await mockApi.get("/api/v1/users?online=true"); + + t.equal(res.body.body.length, 0); + + await db.users.insert({ + username: "online_dude", + usernameLowercase: "online_dude", + lastSeen: Date.now(), + id: 2, + } as PublicUserDocument); + + const res2 = await mockApi.get("/api/v1/users?online=true"); + + t.equal(res2.body.body.length, 1); + t.equal(res2.body.body[0].usernameLowercase, "online_dude"); + + t.end(); + }); + + t.test("Should return users sorted by lastSeen if no arguments are passed.", async (t) => { + await db.users.insert({ + username: "online_dude", + usernameLowercase: "online_dude", + lastSeen: Date.now(), + id: 2, + } as PublicUserDocument); + + const res = await mockApi.get("/api/v1/users"); + + t.equal(res.body.body.length, 2); + t.strictSame( + res.body.body.map((e: PublicUserDocument) => e.usernameLowercase), + ["online_dude", "test_zkldi"] + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/api/v1/users/router.ts b/server/src/server/router/api/v1/users/router.ts new file mode 100644 index 000000000..2d768a92f --- /dev/null +++ b/server/src/server/router/api/v1/users/router.ts @@ -0,0 +1,53 @@ +import userIDRouter from "./_userID/router"; +import { Router } from "express"; +import db from "external/mongo/db"; +import { SearchUsersRegExp } from "lib/search/search"; +import { IsString } from "utils/misc"; +import { GetOnlineCutoff } from "utils/user"; + +const router: Router = Router({ mergeParams: true }); + +/** + * Search users. + * + * @param online - Restrict returned users to those who are online. + * @param search - Search for users where their name contains this string. If not present, returns + * users sorted by last appearance. + * + * @name GET /api/v1/users + */ +router.get("/", async (req, res) => { + const onlyOnline = req.query.online !== undefined; + + let users; + + const search = req.query.search; + + if (search !== undefined) { + if (!IsString(search)) { + return res.status(400).json({ + success: false, + description: `Search parameter was invalid.`, + }); + } + + users = await SearchUsersRegExp(search, onlyOnline); + } else { + const query = onlyOnline ? { lastSeen: { $gt: GetOnlineCutoff() } } : {}; + + users = await db.users.find(query, { + sort: { lastSeen: -1 }, + limit: 100, + }); + } + + return res.status(200).json({ + success: true, + description: `Returned ${users.length} users.`, + body: users, + }); +}); + +router.use("/:userID", userIDRouter); + +export default router; diff --git a/server/src/server/router/ir/barbatos/router.test.ts b/server/src/server/router/ir/barbatos/router.test.ts new file mode 100644 index 000000000..489e2d126 --- /dev/null +++ b/server/src/server/router/ir/barbatos/router.test.ts @@ -0,0 +1,63 @@ +import db from "external/mongo/db"; +import t from "tap"; +import { InsertFakeTokenWithAllPerms } from "test-utils/fake-auth"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { TestingBarbatosScore } from "test-utils/test-data"; + +t.test("POST /ir/barbatos/score/submit", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(InsertFakeTokenWithAllPerms("mock_token")); + + t.test("Should import a valid score", async (t) => { + const res = await mockApi + .post("/ir/barbatos/score/submit") + .set("Authorization", "Bearer mock_token") + .send(TestingBarbatosScore); + + t.equal(res.body.success, true, "Should be successful"); + + t.equal(res.body.body.errors.length, 0, "Should have 0 failed scores."); + + const scores = await db.scores.count({ + service: "Barbatos", + }); + + t.equal(scores, 1, "Should import 1 score."); + + t.end(); + }); + + t.test("Should reject an invalid body", async (t) => { + const res = await mockApi + .post("/ir/barbatos/score/submit") + .set("Authorization", "Bearer mock_token") + .send({}); + + t.equal(res.body.success, false, "Should not be successful."); + t.equal(res.status, 400, "Should return 400."); + + t.end(); + }); + + t.test("Should require authorisation.", async (t) => { + const res = await mockApi.post("/ir/barbatos/score/submit").send(TestingBarbatosScore); + + t.equal(res.statusCode, 401, "Should return 401 for no authorization header."); + + t.end(); + }); + + t.test("Should require valid authorisation.", async (t) => { + const res = await mockApi + .post("/ir/barbatos/score/submit") + .set("Authorization", "Bearer invalid_token") + .send(TestingBarbatosScore); + + t.equal(res.statusCode, 401, "Should return 401 for invalid authorization header."); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/ir/barbatos/router.ts b/server/src/server/router/ir/barbatos/router.ts new file mode 100644 index 000000000..c6c82d65f --- /dev/null +++ b/server/src/server/router/ir/barbatos/router.ts @@ -0,0 +1,25 @@ +import { Router } from "express"; +import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi"; +import { ExpressWrappedScoreImportMain } from "lib/score-import/framework/express-wrapper"; +import { RequirePermissions } from "server/middleware/auth"; + +const router: Router = Router({ mergeParams: true }); + +router.use(RequirePermissions("submit_score")); + +/** + * Submits a single score document from Barbatos clients. + * @name POST /ir/barbatos/score/submit + */ +router.post("/score/submit", async (req, res) => { + const responseData = await ExpressWrappedScoreImportMain( + req[SYMBOL_TACHI_API_AUTH].userID!, + false, + "ir/barbatos", + [req.safeBody] + ); + + return res.status(responseData.statusCode).json(responseData.body); +}); + +export default router; diff --git a/server/src/server/router/ir/beatoraja/auth.test.ts b/server/src/server/router/ir/beatoraja/auth.test.ts new file mode 100644 index 000000000..cd1f47df9 --- /dev/null +++ b/server/src/server/router/ir/beatoraja/auth.test.ts @@ -0,0 +1,47 @@ +import { ValidateIRClientVersion } from "./auth"; +import expMiddlewareMock from "express-request-mock"; +import t from "tap"; + +t.test("#ValidateIRClientVersion", (t) => { + t.test("Should reject clients that are not supported", async (t) => { + const { res } = await expMiddlewareMock(ValidateIRClientVersion, { + headers: { + "X-TachiIR-Version": "1.2.0", + }, + }); + + const json = res._getJSONData(); + + t.equal(res.statusCode, 400); + t.equal(json.success, false); + t.match(json.description, /Invalid X-TachiIR-Version/u); + + t.end(); + }); + + t.test("Should reject no client header", async (t) => { + const { res } = await expMiddlewareMock(ValidateIRClientVersion, {}); + + const json = res._getJSONData(); + + t.equal(res.statusCode, 400); + t.equal(json.success, false); + t.match(json.description, /Invalid X-TachiIR-Version/u); + + t.end(); + }); + + t.test("Should accept 2.0.0", async (t) => { + const { res } = await expMiddlewareMock(ValidateIRClientVersion, { + headers: { + "X-TachiIR-Version": "v2.0.0", + }, + }); + + t.equal(res.statusCode, 200); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/ir/beatoraja/auth.ts b/server/src/server/router/ir/beatoraja/auth.ts new file mode 100644 index 000000000..7907e6111 --- /dev/null +++ b/server/src/server/router/ir/beatoraja/auth.ts @@ -0,0 +1,14 @@ +import type { RequestHandler } from "express"; + +export const ValidateIRClientVersion: RequestHandler = (req, res, next) => { + const header = req.header("X-TachiIR-Version"); + + if (!header || !header.startsWith("v2")) { + return res.status(400).json({ + success: false, + description: `Invalid X-TachiIR-Version.`, + }); + } + + next(); +}; diff --git a/server/src/server/router/ir/beatoraja/charts/_chartSHA256/convert-scores.test.ts b/server/src/server/router/ir/beatoraja/charts/_chartSHA256/convert-scores.test.ts new file mode 100644 index 000000000..c4a673f88 --- /dev/null +++ b/server/src/server/router/ir/beatoraja/charts/_chartSHA256/convert-scores.test.ts @@ -0,0 +1,156 @@ +import { TachiScoreDataToBeatorajaFormat } from "./convert-scores"; +import deepmerge from "deepmerge"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { BMSGazerChart, GetKTDataJSON } from "test-utils/test-data"; +import type { PBScoreDocument } from "tachi-common"; + +const pbScore = { + composedFrom: { + lampPB: "mock_lampPB", + }, + scoreData: { + lampIndex: 4, + score: 1234, + hitMeta: {}, + }, + playtype: "7K", + scoreMeta: {}, + chartID: BMSGazerChart.chartID, + userID: 1, +} as unknown as PBScoreDocument<"bms:7K" | "bms:14K">; + +t.test("#TachiScoreDataToBeatorajaFormat", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should convert score.", (t) => { + const res = TachiScoreDataToBeatorajaFormat( + pbScore, + BMSGazerChart.data.hashSHA256, + "", + BMSGazerChart.data.notecount, + 0 + ); + + t.strictSame( + res, + { + sha256: "195fe1be5c3e74fccd04dc426e05f8a9cfa8a1059c339d0a23e99f63661f0b7d", + player: "", + playcount: 0, + clear: 5, + date: 0, + maxcombo: 0, + deviceType: null, + gauge: 0, + random: null, + passnotes: 0, + minbp: 0, + notes: 2256, + epg: 617, + lpg: 0, + egr: 0, + lgr: 0, + egd: 0, + lgd: 0, + ebd: 0, + lbd: 0, + epr: 0, + lpr: 0, + ems: 0, + lms: 0, + }, + "Should return the beatoraja score format." + ); + + t.end(); + }); + + t.test("Should fake epg/egr data if the score doesn't have it..", (t) => { + const res = TachiScoreDataToBeatorajaFormat( + deepmerge(pbScore, { scoreData: { score: 999 } }), + BMSGazerChart.data.hashSHA256, + "", + BMSGazerChart.data.notecount, + 0 + ); + + t.strictSame( + res, + { + sha256: "195fe1be5c3e74fccd04dc426e05f8a9cfa8a1059c339d0a23e99f63661f0b7d", + player: "", + playcount: 0, + clear: 5, + date: 0, + maxcombo: 0, + deviceType: null, + gauge: 0, + random: null, + passnotes: 0, + minbp: 0, + notes: 2256, + epg: Math.floor(999 / 2), + lpg: 0, + egr: 1, + lgr: 0, + egd: 0, + lgd: 0, + ebd: 0, + lbd: 0, + epr: 0, + lpr: 0, + ems: 0, + lms: 0, + }, + "Should return the beatoraja score format." + ); + + t.end(); + }); + + t.test("Should emplace username if requestingUserID is not the pbscore owner", (t) => { + const res = TachiScoreDataToBeatorajaFormat( + pbScore, + BMSGazerChart.data.hashSHA256, + "test_zkldi", + BMSGazerChart.data.notecount, + 0 + ); + + t.strictSame( + res, + { + sha256: "195fe1be5c3e74fccd04dc426e05f8a9cfa8a1059c339d0a23e99f63661f0b7d", + player: "test_zkldi", + playcount: 0, + clear: 5, + date: 0, + maxcombo: 0, + deviceType: null, + gauge: 0, + random: null, + passnotes: 0, + minbp: 0, + notes: 2256, + epg: 617, + lpg: 0, + egr: 0, + lgr: 0, + egd: 0, + lgd: 0, + ebd: 0, + lbd: 0, + epr: 0, + lpr: 0, + ems: 0, + lms: 0, + }, + "Should return the beatoraja score format." + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/ir/beatoraja/charts/_chartSHA256/convert-scores.ts b/server/src/server/router/ir/beatoraja/charts/_chartSHA256/convert-scores.ts new file mode 100644 index 000000000..be9764f77 --- /dev/null +++ b/server/src/server/router/ir/beatoraja/charts/_chartSHA256/convert-scores.ts @@ -0,0 +1,107 @@ +import type { integer, PBScoreDocument } from "tachi-common"; + +const LAMP_TO_BEATORAJA = [0, 1, 3, 4, 5, 6, 7, 8] as const; + +// const RAN_INDEXES = { +// NONRAN: 0, +// MIRROR: 1, +// RANDOM: 2, +// "R-RANDOM": 3, +// "S-RANDOM": 4, +// } as const; + +type BeatorajaJudgements = `${"e" | "l"}${"bd" | "gd" | "gr" | "pg" | "pr"}`; + +type BeatorajaScoreJudgements = { + [K in BeatorajaJudgements]: integer; +}; + +interface BeatorajaPartialScoreFormat { + sha256: string; + player: string; + playcount: integer; + clear: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9; + date: number; + deviceType: string | null; + gauge: number; + random: 0 | 1 | 2 | 3 | 4 | null; + passnotes: integer; + minbp: integer; + notes: integer; + maxcombo: integer | null; +} + +export type BeatorajaIRScoreFormat = BeatorajaPartialScoreFormat & BeatorajaScoreJudgements; + +/** + * Converts various data from Tachi to the beatoraja format. + * @param pbScore - The users PB Score document for this chart. + * @param sha256 - The SHA256 for this chart. + * @param username - The users name. Beatoraja uses the special value "" to indicate the user is the current player. + * @param notecount - The notecount for this chart. + * @param playcount - The total times this player has played this chart. + * @param inputDevice - The input device this user used. + * @param random - What random modifier was used. + * @returns A Beatoraja Score Document. + */ +export function TachiScoreDataToBeatorajaFormat( + pbScore: PBScoreDocument<"bms:7K" | "bms:14K" | "pms:Controller" | "pms:Keyboard">, + sha256: string, + username: string, + notecount: integer, + playcount: integer +) { + const scoreData = pbScore.scoreData; + + const beatorajaScore: BeatorajaPartialScoreFormat = { + sha256, + player: username, + playcount, + clear: LAMP_TO_BEATORAJA[scoreData.lampIndex] ?? 0, + date: pbScore.timeAchieved ?? 0, + maxcombo: scoreData.hitMeta.maxCombo ?? 0, + gauge: scoreData.hitMeta.gauge ?? 0, + + // These two are now unsupported due to performance concerns. + deviceType: null, + random: null, + + minbp: scoreData.hitMeta.bp ?? 0, + passnotes: 0, + notes: notecount, + }; + + const judgements: Partial = {}; + + // // Not everything exports these properties. If they're not there, they should default to 0. + // // For cases like LR2/manual - this will just result in a set of 0s. + for (const key of [ + "egd", + "lgd", + "ebd", + "lbd", + "epr", + "lpr", + "ems", + "lms", + ] as Array) { + judgements[key] = scoreData.hitMeta[key] ?? 0; + } + + // // If we have no epg/egr data, we can't calculate EX score on the beatoraja client. + // // We have to fake some data for LR2 scores/other scores. + // if (!judgements.epg && !judgements.lpg && !judgements.egr && !judgements.lgr) { + + // As a temporary measure, we are going to always enable this hack. + // It seems like there are a lot of old CN scores that have completely + // invalid values for these judgement fields. + // truly fun. + judgements.epg = Math.floor(pbScore.scoreData.score / 2); + judgements.egr = pbScore.scoreData.score % 2; + judgements.lpg = 0; + judgements.lgr = 0; + + // } + + return { ...beatorajaScore, ...judgements }; +} diff --git a/server/src/server/router/ir/beatoraja/charts/_chartSHA256/router.test.ts b/server/src/server/router/ir/beatoraja/charts/_chartSHA256/router.test.ts new file mode 100644 index 000000000..f65f61088 --- /dev/null +++ b/server/src/server/router/ir/beatoraja/charts/_chartSHA256/router.test.ts @@ -0,0 +1,79 @@ +import db from "external/mongo/db"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import type { PBScoreDocument, ScoreDocument } from "tachi-common"; + +t.test("GET /ir/beatoraja/charts/:chartSHA256/scores", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(() => + db["api-tokens"].insert({ + userID: 1, + identifier: "Mock API Beatoraja Token", + permissions: { + submit_score: true, + }, + token: "mock_token", + fromAPIClient: null, + }) + ); + + const GAZER_SHA256 = "195fe1be5c3e74fccd04dc426e05f8a9cfa8a1059c339d0a23e99f63661f0b7d"; + const GAZER_CHARTID = "88eb6cc5683e2740cbd07f588a5f3db1db8d467b"; + + t.test("Should return PB scores on a chart", async (t) => { + // very lazy fake scores + await db["personal-bests"].insert({ + composedFrom: { + lampPB: "mock_lampPB", + }, + scoreData: { + lampIndex: 4, + score: 1234, + hitMeta: {}, + }, + scoreMeta: {}, + chartID: GAZER_CHARTID, + userID: 1, + } as unknown as PBScoreDocument); + + await db.scores.insert({ + scoreID: "mock_lampPB", + scoreMeta: { + inputDevice: "BM_CONTROLLER", + random: "MIRROR", + }, + } as ScoreDocument); + + const res = await mockApi + .get(`/ir/beatoraja/charts/${GAZER_SHA256}/scores`) + .set("Authorization", "Bearer mock_token") + .set("X-TachiIR-Version", "v2.0.0"); + + t.equal(res.status, 200); + + t.hasStrict(res.body.body, [ + { + player: "", + clear: 5, + epg: 617, + lpg: 0, + }, + ]); + + t.end(); + }); + + t.test("Should return 404 if chart doesnt exist", async (t) => { + const res = await mockApi + .get(`/ir/beatoraja/charts/INVALID/scores`) + .set("Authorization", "Bearer mock_token") + .set("X-TachiIR-Version", "v2.0.0"); + + t.equal(res.status, 404); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/ir/beatoraja/charts/_chartSHA256/router.ts b/server/src/server/router/ir/beatoraja/charts/_chartSHA256/router.ts new file mode 100644 index 000000000..7b06d29e4 --- /dev/null +++ b/server/src/server/router/ir/beatoraja/charts/_chartSHA256/router.ts @@ -0,0 +1,105 @@ +import { TachiScoreDataToBeatorajaFormat } from "./convert-scores"; +import { Router } from "express"; +import db from "external/mongo/db"; +import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi"; +import CreateLogCtx from "lib/logger/logger"; +import { AssignToReqTachiData, GetTachiData } from "utils/req-tachi-data"; +import type { RequestHandler } from "express"; +import type { ChartDocument, integer, PBScoreDocument, PublicUserDocument } from "tachi-common"; + +const router: Router = Router({ mergeParams: true }); + +const logger = CreateLogCtx(__filename); + +const GetChartDocument: RequestHandler = async (req, res, next) => { + let chart: ChartDocument<"bms:7K" | "bms:14K" | "pms:Controller" | "pms:Keyboard"> | null = + (await db.charts.bms.findOne({ + "data.hashSHA256": req.params.chartSHA256, + })) as ChartDocument<"bms:7K" | "bms:14K"> | null; + + // if we dont find the chart in bms, + // it's probably a pms chart. + if (!chart) { + chart = (await db.charts.pms.findOne({ + "data.hashSHA256": req.params.chartSHA256, + })) as ChartDocument<"pms:Controller" | "pms:Keyboard"> | null; + } + + // if we still haven't found it, we've got nothin. + if (!chart) { + return res.status(404).json({ + success: false, + description: `Chart does not exist on IR yet.`, + }); + } + + AssignToReqTachiData(req, { beatorajaChartDoc: chart }); + + next(); +}; + +router.use(GetChartDocument); + +/** + * Retrieves scores for the given chart. + * + * @name GET /ir/beatoraja/charts/:chartSHA256/scores + */ +router.get("/scores", async (req, res) => { + const chart = GetTachiData(req, "beatorajaChartDoc"); + const requestingUserID = req[SYMBOL_TACHI_API_AUTH].userID; + + const scores = (await db["personal-bests"].find({ + chartID: chart.chartID, + })) as Array>; + + const userDocs = await db.users.find( + { + id: { $in: scores.map((e) => e.userID) }, + }, + { + projection: { + id: 1, + username: 1, + }, + } + ); + const userMap = new Map(); + + for (const user of userDocs) { + userMap.set(user.id, user); + } + + const beatorajaScores = []; + + for (const score of scores) { + const username = userMap.get(score.userID)?.username; + + if (!username) { + logger.warn( + `A PB on ${score.chartID} refers to user ${score.userID}, who apparantly doesn't exist? Skipping for beatoraja score returns, but this might be severe!` + ); + continue; + } + + beatorajaScores.push( + TachiScoreDataToBeatorajaFormat( + score, + chart.data.hashSHA256, + score.userID === requestingUserID ? "" : username, + chart.data.notecount, + + // Playcount is always 0 at the moment due to performance concerns. + 0 + ) + ); + } + + return res.status(200).json({ + success: true, + description: `Successfully returned ${beatorajaScores.length}`, + body: beatorajaScores, + }); +}); + +export default router; diff --git a/server/src/server/router/ir/beatoraja/router.test.ts b/server/src/server/router/ir/beatoraja/router.test.ts new file mode 100644 index 000000000..eb40e12a2 --- /dev/null +++ b/server/src/server/router/ir/beatoraja/router.test.ts @@ -0,0 +1,679 @@ +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { MockBeatorajaBMSScore, MockBeatorajaPMSScore } from "test-utils/test-data"; +import type { PublicUserDocument } from "tachi-common"; + +t.test("POST /ir/beatoraja/submit-score", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(() => + db["api-tokens"].insert({ + userID: 1, + identifier: "Mock API Beatoraja Token", + permissions: { + submit_score: true, + }, + token: "mock_token", + fromAPIClient: null, + }) + ); + + t.test("Should import a valid BMS score.", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-score") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer mock_token") + .send(MockBeatorajaBMSScore); + + t.equal(res.status, 200); + + t.equal(res.body.success, true); + t.hasStrict(res.body.body, { + score: { + game: "bms", + scoreData: { + score: 1004, + }, + importType: "ir/beatoraja", + }, + chart: { + chartID: "88eb6cc5683e2740cbd07f588a5f3db1db8d467b", + }, + song: { + id: 27339, + }, + }); + + const score = await db.scores.findOne( + { scoreID: res.body.body.score.scoreID }, + { projection: { _id: 0 } } + ); + + t.not(score, null); + + t.hasStrict(res.body.body.score, score); + t.hasStrict(res.body.body.score, score); + + t.end(); + }); + + t.test("Should import a valid PMS score.", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-score") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer mock_token") + .send(MockBeatorajaPMSScore); + + t.equal(res.status, 200); + + t.equal(res.body.success, true); + t.hasStrict(res.body.body, { + score: { + game: "pms", + playtype: "Controller", + scoreData: { + score: 1004, + }, + importType: "ir/beatoraja", + }, + chart: { + chartID: "0446f1b54e90d631ff9fe98419ebaea9481fab1f", + }, + song: { + id: 1, + }, + }); + + const score = await db.scores.findOne( + { scoreID: res.body.body.score.scoreID }, + { projection: { _id: 0 } } + ); + + t.not(score, null); + + t.hasStrict(res.body.body.score, score); + + t.end(); + }); + + t.test("Should infer playtype from the PMS score.", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-score") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer mock_token") + .send(deepmerge(MockBeatorajaPMSScore, { score: { deviceType: "KEYBOARD" } })); + + t.equal(res.status, 200); + + t.equal(res.body.success, true); + t.hasStrict(res.body.body, { + score: { + game: "pms", + playtype: "Keyboard", + scoreData: { + score: 1004, + }, + importType: "ir/beatoraja", + }, + chart: { + chartID: "ca553d77cbf8b3e9e7709dad6123ffed1695a1dd", + }, + song: { + id: 1, + }, + }); + + const score = await db.scores.findOne( + { scoreID: res.body.body.score.scoreID }, + { projection: { _id: 0 } } + ); + + t.not(score, null); + + t.hasStrict(res.body.body.score, score); + + t.end(); + }); + + t.test("Should return an error if invalid client.", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-score") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer mock_token") + .send(deepmerge(MockBeatorajaBMSScore, { client: "INVALID" })); + + t.equal(res.status, 400); + + t.equal(res.body.success, false); + t.match(res.body.description, /Unsupported client/u); + + t.end(); + }); + + t.test("Should return an error if BMS scores try to use beatoraja.", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-score") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer mock_token") + .send(deepmerge(MockBeatorajaBMSScore, { client: "beatoraja 0.8.0" })); + + t.equal(res.status, 400); + + t.equal(res.body.success, false); + t.match(res.body.description, /Unsupported client/u); + + t.end(); + }); + + t.test("Should return an error if PMS scores try to use lr2oraja.", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-score") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer mock_token") + .send(deepmerge(MockBeatorajaPMSScore, { client: "LR2oraja 0.8.0" })); + + t.equal(res.status, 400); + + t.equal(res.body.success, false); + t.match(res.body.description, /Unsupported client/u); + + t.end(); + }); + + t.test("Should return an error if invalid score.", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-score") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer mock_token") + .send(deepmerge(MockBeatorajaBMSScore, { score: { exscore: -1 } })); + + t.equal(res.status, 400); + + t.equal(res.body.success, false); + t.match(res.body.description, /Invalid Beatoraja Import - Score/u); + + t.end(); + }); + + t.test("Should return an error if invalid chart.", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-score") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer mock_token") + .send(deepmerge(MockBeatorajaBMSScore, { chart: { title: null } })); + + t.equal(res.status, 400); + + t.equal(res.body.success, false); + t.match(res.body.description, /Invalid Beatoraja Import - Chart/u); + + t.end(); + }); + + t.test("Should defer a chart to the orphan queue if not found.", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-score") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer mock_token") + .send( + deepmerge(MockBeatorajaBMSScore, { + chart: { sha256: "new_chart", md5: "new_md5" }, + score: { sha256: "new_chart", md5: "new_md5" }, + }) + ); + + t.equal(res.status, 202); + + t.equal(res.body.success, true); + t.match(res.body.description, /Chart and score have been orphaned/u); + + const orphanChart = await db["orphan-chart-queue"].findOne({ + "chartDoc.data.hashSHA256": "new_chart", + }); + + t.hasStrict(orphanChart?.chartDoc, { + data: { + hashSHA256: "new_chart", + hashMD5: "new_md5", + }, + }); + + t.end(); + }); + + t.test("Should eventually unorphan a chart.", async (t) => { + await db["api-tokens"].insert([ + { + userID: 2, + identifier: "token2", + permissions: { submit_score: true }, + token: "token2", + fromAPIClient: null, + }, + { + userID: 3, + identifier: "token3", + permissions: { submit_score: true }, + token: "token3", + fromAPIClient: null, + }, + ]); + + await db.users.insert([ + { + id: 2, + username: "foo", + usernameLowercase: "foo", + }, + { + id: 3, + username: "bar", + usernameLowercase: "bar", + }, + ] as Array); + + const res = await mockApi + .post("/ir/beatoraja/submit-score") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer mock_token") + .send( + deepmerge(MockBeatorajaBMSScore, { + chart: { sha256: "new_chart", md5: "new_md5" }, + score: { sha256: "new_chart", md5: "new_md5" }, + }) + ); + + t.equal(res.statusCode, 202); + + const res2 = await mockApi + .post("/ir/beatoraja/submit-score") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer token2") + .send( + deepmerge(MockBeatorajaBMSScore, { + chart: { sha256: "new_chart", md5: "new_md5" }, + score: { sha256: "new_chart", md5: "new_md5" }, + }) + ); + + t.equal(res2.statusCode, 202); + + const orphanData = await db["orphan-chart-queue"].findOne({ + "chartDoc.data.hashSHA256": "new_chart", + }); + + t.strictSame(orphanData?.userIDs, [1, 2]); + + const res3 = await mockApi + .post("/ir/beatoraja/submit-score") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer token3") + .send( + deepmerge(MockBeatorajaBMSScore, { + chart: { sha256: "new_chart", md5: "new_md5" }, + score: { sha256: "new_chart", md5: "new_md5" }, + }) + ); + + t.equal(res3.statusCode, 200); + + const orphanData2 = await db["orphan-chart-queue"].findOne({ + "chartDoc.data.hashSHA256": "new_chart", + }); + + t.equal(orphanData2, null, "Orphan data should be removed from the database."); + + const score = await db.scores.findOne({ + game: "bms", + userID: 3, + }); + + t.hasStrict(score, { + scoreData: { + score: 1004, + }, + importType: "ir/beatoraja", + }); + + t.end(); + }); + + t.test("Should require authentication.", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-score") + .set("X-TachiIR-Version", "v2.0.0") + .send(MockBeatorajaBMSScore); + + t.equal(res.status, 401); + + t.end(); + }); + + t.test("Should reject non-corresponding tokens.", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-score") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer invalid_token") + + .send(MockBeatorajaBMSScore); + + t.equal(res.status, 401); + + t.end(); + }); + + t.end(); +}); + +const courseScore = { + course: { + name: "GENOSIDE 2018 段位認定 発狂皆伝", + charts: [ + { + md5: "cfad3baadce9e02c45021963453d7c94", + }, + { + md5: "77d23be22b2370925c573d922276bce0", + }, + { + md5: "188a99f74ab71804f2e360dcf484545c", + }, + { + md5: "c46a81cb184f5a804c119930d6eba748", + }, + ], + constraint: ["MIRROR", "GAUGE_LR2", "LN"], + trophy: [{}, {}], + lntype: 0, + }, + score: { + sha256: "", + lntype: 0, + player: "unknown", + clear: "Clear", + date: 0, + epg: 1334, + lpg: 788, + egr: 1634, + lgr: 382, + egd: 239, + lgd: 142, + ebd: 34, + lbd: 8, + epr: 0, + lpr: 93, + ems: 63, + lms: 74, + maxcombo: 225, + notes: 6005, + passnotes: 4654, + minbp: 1623, + option: 0, + assist: 0, + gauge: 0, + deviceType: "BM_CONTROLLER", + judgeAlgorithm: "Combo", + rule: "Beatoraja_7", + exscore: 6260, + }, +}; + +t.test("POST /ir/beatoraja/submit-course", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(() => + db["api-tokens"].insert({ + userID: 1, + identifier: "Mock API Beatoraja Token", + permissions: { + submit_score: true, + }, + token: "mock_token", + fromAPIClient: null, + }) + ); + + t.test("Should accept a valid clear", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-course") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer mock_token") + .send(courseScore); + + t.equal(res.status, 200); + t.equal(res.body.success, true); + t.equal(res.body.description, "Successfully updated class."); + + const ugs = await db["game-stats"].findOne({ userID: 1, game: "bms", playtype: "7K" }); + + t.equal(ugs?.classes.genocideDan, 22, "Should set their dan to insane kaiden."); + + t.end(); + }); + + t.test("Should silently reject a fail", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-course") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer mock_token") + .send(deepmerge(courseScore, { score: { clear: "Failed" } })); + + t.equal(res.status, 200); + t.equal(res.body.success, true); + t.equal(res.body.description, "Class not updated."); + + t.end(); + }); + + t.test("Should reject scores with no charts", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-course") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer mock_token") + .send(deepmerge(courseScore, { course: { charts: [] } }, { arrayMerge: (d, s) => s })); + + t.equal(res.status, 400); + t.equal(res.body.success, false); + t.equal( + res.body.description, + "[course.charts] Expected an array of 4 objects with MD5 properties." + ); + + t.end(); + }); + + t.test("Should reject scores with invalid chart documents", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-course") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer mock_token") + .send(deepmerge(courseScore, { course: { charts: [1, 2, 3, 4] } })); + + t.equal(res.status, 400); + t.equal(res.body.success, false); + t.equal( + res.body.description, + "[course.charts] Expected an array of 4 objects with MD5 properties." + ); + + t.end(); + }); + + t.test("Should reject scores with too many chart documents", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-course") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer mock_token") + .send( + deepmerge(courseScore, { + course: { + charts: [ + { md5: "a" }, + { md5: "a" }, + { md5: "a" }, + { md5: "a" }, + { md5: "a" }, + ], + }, + }) + ); + + t.equal(res.status, 400); + t.equal(res.body.success, false); + t.equal( + res.body.description, + "[course.charts] Expected an array of 4 objects with MD5 properties." + ); + + t.end(); + }); + + t.test("Should reject scores not on LN mode", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-course") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer mock_token") + .send( + deepmerge(courseScore, { + score: { + lntype: 1, + }, + }) + ); + + t.equal(res.status, 400); + t.equal(res.body.success, false); + t.equal(res.body.description, "LN mode is the only supported mode for dans."); + + t.end(); + }); + + t.test("Should reject too few constraints", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-course") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer mock_token") + .send( + deepmerge( + courseScore, + { + course: { + constraint: ["GAUGE_LR2"], + }, + }, + { arrayMerge: (d, s) => s } + ) + ); + + t.equal(res.status, 400); + t.equal(res.body.success, false); + t.equal(res.body.description, "Invalid Constraints."); + + t.end(); + }); + + t.test("Should reject non-array constraints", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-course") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer mock_token") + .send( + deepmerge( + courseScore, + { + course: { + constraint: "foo", + }, + }, + { arrayMerge: (d, s) => s } + ) + ); + + t.equal(res.status, 400); + t.equal(res.body.success, false); + t.equal(res.body.description, "[course.constraint] Value was not an array. (Received foo)"); + + t.end(); + }); + + t.test("Should reject too many constraints", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-course") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer mock_token") + .send( + deepmerge( + courseScore, + { + course: { + constraint: ["LN", "MIRROR", "GAUGE_LR2", "LN"], + }, + }, + { arrayMerge: (d, s) => s } + ) + ); + + t.equal(res.status, 400); + t.equal(res.body.success, false); + t.equal(res.body.description, "Invalid Constraints."); + + t.end(); + }); + + t.test("Should reject invalid constraints", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-course") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer mock_token") + .send( + deepmerge( + courseScore, + { + course: { + constraint: ["foo", "bar"], + }, + }, + { arrayMerge: (d, s) => s } + ) + ); + + t.equal(res.status, 400); + t.equal(res.body.success, false); + t.equal( + res.body.description, + "[course.constraint[0]] Expected any of LN, MIRROR, GAUGE_LR2. (Received foo)" + ); + + t.end(); + }); + + t.test("Should reject invalid constraints for 3", async (t) => { + const res = await mockApi + .post("/ir/beatoraja/submit-course") + .set("X-TachiIR-Version", "v2.0.0") + .set("Authorization", "Bearer mock_token") + .send( + deepmerge( + courseScore, + { + course: { + constraint: ["GAUGE_LR2", "MIRROR", "CHEAT_MODE"], + }, + }, + { arrayMerge: (d, s) => s } + ) + ); + + t.equal(res.status, 400); + t.equal(res.body.success, false); + t.equal( + res.body.description, + "[course.constraint[2]] Expected any of LN, MIRROR, GAUGE_LR2. (Received CHEAT_MODE)" + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/ir/beatoraja/router.ts b/server/src/server/router/ir/beatoraja/router.ts new file mode 100644 index 000000000..334359705 --- /dev/null +++ b/server/src/server/router/ir/beatoraja/router.ts @@ -0,0 +1,306 @@ +import { ValidateIRClientVersion } from "./auth"; +import chartsRouter from "./charts/_chartSHA256/router"; +import { Router } from "express"; +import db from "external/mongo/db"; +import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi"; +import CreateLogCtx from "lib/logger/logger"; +import { ExpressWrappedScoreImportMain } from "lib/score-import/framework/express-wrapper"; +import { ServerConfig } from "lib/setup/config"; +import p from "prudence"; +import { RequireNotGuest } from "server/middleware/auth"; +import prValidate from "server/middleware/prudence-validate"; +import { UpdateClassIfGreater } from "utils/class"; +import { IsRecord, NotNullish } from "utils/misc"; +import type { BeatorajaChart } from "lib/score-import/import-types/ir/beatoraja/types"; +import type { integer } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +const router: Router = Router({ mergeParams: true }); + +router.use(ValidateIRClientVersion); + +/** + * Submits a beatoraja score to Tachi. + * + * @name POST /ir/beatoraja/submit-score + */ +router.post("/submit-score", RequireNotGuest, async (req, res) => { + const userID = NotNullish(req[SYMBOL_TACHI_API_AUTH].userID); + + const importRes = await ExpressWrappedScoreImportMain(userID, false, "ir/beatoraja", [ + req.safeBody, + userID, + ]); + + if (!importRes.body.success) { + return res.status(400).json(importRes.body); + } else if (importRes.body.body.errors[0]) { + const type = importRes.body.body.errors[0].type; + const errMsg = importRes.body.body.errors[0].message; + + // If the error type is KTDataNotFound, then we **know** that + // the chart and score values were atleast typed correctly + // and can afford to make this assertion. + if (type === "KTDataNotFound") { + const { chart } = req.safeBody as { chart: BeatorajaChart }; + + const orphanInfo: { userIDs: Array } | null = await db[ + "orphan-chart-queue" + ].findOne( + { + "chartDoc.data.hashSHA256": chart.sha256, + }, + { projection: { userIDs: 1 } } + ); + + if (!orphanInfo) { + logger.warn(`Chart '${chart.sha256}' got KTDataNotFound, but was not orphaned?`, { + body: req.safeBody as unknown, + }); + + return res.status(400).json({ + success: false, + description: "This chart is not supported.", + }); + } + + return res.status(202).json({ + success: true, + description: `Chart and score have been orphaned. This chart will be un-orphaned when ${ServerConfig.BEATORAJA_QUEUE_SIZE} players have played the chart (Currently: ${orphanInfo.userIDs.length}).`, + body: {}, + }); + } else if (type === "InternalError") { + return res.status(500).json({ + success: false, + description: `[${type}] - ${errMsg}`, + }); + } + + // since we're only ever importing one score, we can guarantee + // that this means the score we tried to import was skipped. + + return res.status(400).json({ + success: false, + description: `[${type}] - ${errMsg}`, + }); + } else if (importRes.body.body.scoreIDs.length === 0) { + return res.status(400).json({ + success: false, + description: `No scores were imported.`, + }); + } + + const scoreDoc = await db.scores.findOne({ + scoreID: importRes.body.body.scoreIDs[0], + }); + + if (!scoreDoc) { + logger.severe( + `ScoreDocument ${importRes.body.body.scoreIDs[0]} was claimed to be inserted, but wasn't.` + ); + return res.status(500).json({ + success: false, + description: "Internal Service Error.", + }); + } + + let song; + let chart; + + if (importRes.body.body.game === "bms") { + chart = await db.charts.bms.findOne({ + chartID: scoreDoc.chartID, + }); + + if (!chart) { + logger.error( + `Expected to a find a bms chart with chartID ${scoreDoc.chartID}, but found none?` + ); + + return res.status(500).json({ + success: false, + description: `Internal Service Error.`, + }); + } + + song = await db.songs.bms.findOne({ + id: chart.songID, + }); + } else { + chart = await db.charts.pms.findOne({ + chartID: scoreDoc.chartID, + }); + + if (!chart) { + logger.error( + `Expected to a find a pms chart with chartID ${scoreDoc.chartID}, but found none?` + ); + + return res.status(500).json({ + success: false, + description: `Internal Service Error.`, + }); + } + + song = await db.songs.pms.findOne({ + id: chart.songID, + }); + } + + return res.status(importRes.statusCode).json({ + success: true, + description: "Imported score.", + body: { + score: scoreDoc, + song, + chart, + import: importRes.body.body, + }, + }); +}); + +/** + * Submits a course result to Tachi. This only accepts a limited set of + * courses - all of which are dans. + * + * @name POST /ir/beatoraja/submit-course + */ +router.post( + "/submit-course", + prValidate( + { + course: { + charts: (self) => { + return ( + (Array.isArray(self) && + self.length === 4 && + self.every( + (maybeChart: unknown) => + IsRecord(maybeChart) && typeof maybeChart.md5 === "string" + )) || + "Expected an array of 4 objects with MD5 properties." + ); + }, + constraint: [p.isIn("LN", "MIRROR", "GAUGE_LR2")], + }, + score: { + clear: p.isIn("Clear", "Failed"), + lntype: p.isIn(0, 1, 2), + }, + }, + {}, + { allowExcessKeys: true } + ), + RequireNotGuest, + async (req, res) => { + const body = req.safeBody as { + course: { + charts: Array<{ md5: string }>; + constraint: Array<"GAUGE_LR2" | "LN" | "MIRROR">; + }; + score: { + clear: "Clear" | "Failed"; + lntype: 0 | 1 | 2; + }; + }; + + const charts = body.course.charts; + const clear = body.score.clear; + + if (clear !== "Clear") { + return res.status(200).json({ + success: true, + description: "Class not updated.", + }); + } + + if (body.score.lntype !== 0) { + return res.status(400).json({ + success: false, + description: "LN mode is the only supported mode for dans.", + }); + } + + // Constraints are a bit complicated. + // We only want to accept dans with the following + // beatoraja constraints - ["MIRROR","GAUGE_LR2"] or + // ["MIRROR", "GAUGE_LR2", "LN"]. + const constraint = body.course.constraint; + + if (constraint.length !== 2 && constraint.length !== 3) { + return res.status(400).json({ + success: false, + description: `Invalid Constraints.`, + }); + } + + // If there are two constraints, check that they are + // MIRROR and GAUGE_LR2. + if (!constraint.includes("MIRROR") || !constraint.includes("GAUGE_LR2")) { + return res.status(400).json({ + success: false, + description: `Invalid Constraints.`, + }); + } + + // If there are three constraints, check that the third + // is LN + if (constraint.length === 3) { + if (!constraint.includes("LN")) { + return res.status(400).json({ + success: false, + description: `Invalid Constraints.`, + }); + } + } + + // Combine the md5s into one string in their order. + const combinedMD5s = charts.map((e) => e.md5).join(""); + + const course = await db["bms-course-lookup"].findOne({ + md5sums: combinedMD5s, + }); + + if (!course) { + return res.status(404).json({ + success: false, + description: `Unsupported course.`, + }); + } + + const userID = NotNullish(req[SYMBOL_TACHI_API_AUTH].userID); + + const result = await UpdateClassIfGreater( + userID, + "bms", + course.playtype, + course.set, + course.value + ); + + if (result === false) { + return res.status(200).json({ + success: true, + description: "Class not updated.", + body: { + set: course.set, + value: course.value, + }, + }); + } + + return res.status(200).json({ + success: true, + description: "Successfully updated class.", + body: { + set: course.set, + value: course.value, + }, + }); + } +); + +router.use("/charts/:chartSHA256", chartsRouter); + +export default router; diff --git a/server/src/server/router/ir/direct-manual/router.test.ts b/server/src/server/router/ir/direct-manual/router.test.ts new file mode 100644 index 000000000..663404637 --- /dev/null +++ b/server/src/server/router/ir/direct-manual/router.test.ts @@ -0,0 +1,203 @@ +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import t from "tap"; +import { CreateFakeAuthCookie } from "test-utils/fake-auth"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { + FakeChunitachiBatchManual, + FakeSmallBatchManual, + GetKTDataJSON, +} from "test-utils/test-data"; +import type { BatchManual, BatchManualScore } from "tachi-common"; + +t.test("POST /ir/direct-manual/import", async (t) => { + const cookie = await CreateFakeAuthCookie(mockApi); + + t.beforeEach(ResetDBState); + + t.test("Should require submit_score permissions", async (t) => { + await db["api-tokens"].insert({ + token: "foo", + identifier: "bar", + permissions: { + submit_score: false, + }, + userID: 1, + fromAPIClient: null, + }); + + const res = await mockApi + .post("/ir/direct-manual/import") + .set("Authorization", "Bearer foo"); + + t.equal(res.body.success, false); + + t.match(res.body.description, /submit_score/u); + + t.end(); + }); + + t.test("Should upload BATCH-MANUAL data from the request body.", async (t) => { + const res = await mockApi + .post("/ir/direct-manual/import") + .set("Cookie", cookie) + .send(FakeSmallBatchManual); + + t.equal(res.body.success, true, "Should be successful"); + + t.equal(res.body.body.errors.length, 0, "Should have 0 failed scores."); + + const scoreCount = await db.scores.count({ service: "foobar (DIRECT-MANUAL)" }); + + t.equal(scoreCount, 1, "Should import one score."); + + t.end(); + }); + + t.test("Should reject invalid BATCH-MANUAL data from the request body.", async (t) => { + const res = await mockApi.post("/ir/direct-manual/import").set("Cookie", cookie).send({}); + + t.equal(res.body.success, false, "Should not be successful"); + + t.end(); + }); + + t.test("Should require authentication.", async (t) => { + const res = await mockApi.post("/ir/direct-manual/import").send(FakeSmallBatchManual); + + t.equal(res.statusCode, 401); + + t.end(); + }); + + t.test("Should require a valid auth token.", async (t) => { + const res = await mockApi + .post("/ir/direct-manual/import") + .set("Authorization", "Bearer invalid_token") + .send(FakeSmallBatchManual); + + t.equal(res.statusCode, 401); + + t.end(); + }); + + t.beforeEach(() => + db["api-tokens"].insert({ + token: "mock_token", + fromAPIClient: null, + identifier: "Mock CHUNITACHI Token", + permissions: { submit_score: true }, + userID: 1, + }) + ); + + t.test("Should work for CHUNITACHI requests", async (t) => { + const res = await mockApi + .post("/ir/direct-manual/import") + .set("Authorization", `Bearer mock_token`) + .send(FakeChunitachiBatchManual); + + t.equal(res.body.success, true, "Should be successful"); + + t.equal(res.body.body.errors.length, 0, "Should have 0 failed scores."); + + const scoreCount = await db.scores.count({ service: "ChunItachi (DIRECT-MANUAL)" }); + + t.equal(scoreCount, 1, "Should import one score."); + + t.end(); + }); + + t.test("Should reject invalid batch-manual", async (t) => { + const res = await mockApi + .post("/ir/direct-manual/import") + .set("Authorization", `Bearer mock_token`) + .send({}); + + t.equal(res.body.success, false, "Should not be successful"); + + t.end(); + }); + + t.test("Should require authentication.", async (t) => { + const res = await mockApi.post("/ir/direct-manual/import").send(FakeChunitachiBatchManual); + + t.equal(res.statusCode, 401); + + t.end(); + }); + + t.test("Should require a valid auth token.", async (t) => { + const res = await mockApi + .post("/ir/direct-manual/import") + .set("Authorization", "Bearer invalid_token") + .send(FakeChunitachiBatchManual); + + t.equal(res.statusCode, 401); + + t.end(); + }); + + t.test("End To End Tests", (t) => { + const baseBatchManual: BatchManual = { + meta: { + game: "iidx", + playtype: "SP", + service: "Foo", + }, + scores: [], + }; + + t.test("Should reject decimal values for score.", async (t) => { + const bmScore: BatchManualScore = { + identifier: "1", + lamp: "CLEAR", + matchType: "tachiSongID", + difficulty: "ANOTHER", + score: 123.5, + }; + + const res = await mockApi + .post("/ir/direct-manual/import") + .set("Authorization", `Bearer mock_token`) + .send(deepmerge(baseBatchManual, { scores: [bmScore] })); + + t.equal(res.body.success, false, "Should not be successful"); + t.match( + res.body.description, + /Invalid BATCH-MANUAL: scores\[0\].score \| Expected a positive integer. \| Received 123\.5/iu + ); + + t.end(); + }); + + t.test("Should reject unknown games.", async (t) => { + const res = await mockApi + .post("/ir/direct-manual/import") + .set("Authorization", `Bearer mock_token`) + .send(deepmerge(baseBatchManual, { meta: { game: "nonsense" } })); + + t.equal(res.body.success, false, "Should not be successful"); + t.match(res.body.description, /Invalid game 'nonsense'/iu); + + t.end(); + }); + + t.test("Should reject invalid playtypes.", async (t) => { + const res = await mockApi + .post("/ir/direct-manual/import") + .set("Authorization", `Bearer mock_token`) + .send(deepmerge(baseBatchManual, { meta: { playtype: "nonsense" } })); + + t.equal(res.body.success, false, "Should not be successful"); + t.match(res.body.description, /Invalid playtype 'nonsense'/iu); + + t.end(); + }); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/ir/direct-manual/router.ts b/server/src/server/router/ir/direct-manual/router.ts new file mode 100644 index 000000000..80df463cb --- /dev/null +++ b/server/src/server/router/ir/direct-manual/router.ts @@ -0,0 +1,61 @@ +import { Router } from "express"; +import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi"; +import { ExpressWrappedScoreImportMain } from "lib/score-import/framework/express-wrapper"; +import { MakeScoreImport } from "lib/score-import/framework/score-import"; +import { ServerConfig } from "lib/setup/config"; +import { RequirePermissions } from "server/middleware/auth"; +import { ScoreImportRateLimiter } from "server/middleware/rate-limiter"; +import { Random20Hex } from "utils/misc"; +import type { ScoreImportJobData } from "lib/score-import/worker/types"; + +const router: Router = Router({ mergeParams: true }); + +/** + * Imports scores in ir/direct-manual form. + * @name POST /ir/direct-manual/import + */ +router.post( + "/import", + RequirePermissions("submit_score"), + ScoreImportRateLimiter, + async (req, res) => { + const userIntent = !!req.header("X-User-Intent"); + + if (ServerConfig.USE_EXTERNAL_SCORE_IMPORT_WORKER) { + const importID = Random20Hex(); + + const job: ScoreImportJobData<"ir/direct-manual"> = { + importID, + userID: req[SYMBOL_TACHI_API_AUTH].userID!, + userIntent, + importType: "ir/direct-manual", + parserArguments: [req.safeBody], + }; + + // Fire the score import, but make no guarantees about its state. + void MakeScoreImport(job); + + return res.status(202).json({ + success: true, + description: + "Import loaded into queue. You can poll the provided URL for information on when its complete.", + body: { + url: `${ServerConfig.OUR_URL}/api/v1/imports/${importID}/poll-status`, + importID, + }, + }); + } + + // Fire the score import and wait for it to finish! + const importResponse = await ExpressWrappedScoreImportMain<"ir/direct-manual">( + req[SYMBOL_TACHI_API_AUTH].userID!, + userIntent, + "ir/direct-manual", + [req.safeBody] + ); + + return res.status(importResponse.statusCode).json(importResponse.body); + } +); + +export default router; diff --git a/server/src/server/router/ir/fervidex/router.test.ts b/server/src/server/router/ir/fervidex/router.test.ts new file mode 100644 index 000000000..c54ef1e83 --- /dev/null +++ b/server/src/server/router/ir/fervidex/router.test.ts @@ -0,0 +1,509 @@ +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import t from "tap"; +import { InsertFakeTokenWithAllPerms } from "test-utils/fake-auth"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { + FervidexBaseGSMScore, + FervidexBaseScore, + FervidexStaticBase, + GetKTDataJSON, +} from "test-utils/test-data"; +import { Sleep } from "utils/misc"; +import type { ChartDocument, SongDocument } from "tachi-common"; + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function TestHeaders(url: string, data: any) { + t.test("Should validate against card filters", async (t) => { + await db["fer-settings"].remove({}); + await db["fer-settings"].insert({ + userID: 1, + cards: ["foo"], + forceStaticImport: false, + }); + + const res = await mockApi + .post(url) + .set("Authorization", "Bearer mock_token") + + // rootage + .set("X-Software-Model", "LDJ:J:B:A:2020092900") + .set("X-Account-Id", "bar") + .set("User-Agent", "fervidex/1.3.0") + .send(data); + + t.equal(res.body.success, false, "Should reject invalid card."); + + const res2 = await mockApi + .post(url) + .set("Authorization", "Bearer mock_token") + + // rootage + .set("X-Software-Model", "LDJ:J:B:A:2020092900") + .set("User-Agent", "fervidex/1.3.0") + .send(data); + + t.equal(res2.body.success, false, "Should reject no card."); + + t.end(); + }); + + t.test("Should reject invalid X-Software-Models", async (t) => { + let res = await mockApi + .post(url) + .set("Authorization", "Bearer mock_token") + + // rootage + .set("X-Software-Model", "LDJ:J:B:A:2019090200") + .set("User-Agent", "fervidex/1.3.0") + .send(data); + + t.equal(res.body.success, false, "Should reject rootage clients"); + + res = await mockApi + .post(url) + .set("Authorization", "Bearer mock_token") + + // rootage old + .set("X-Software-Model", "LDJ:J:B:A:2019100700") + .set("User-Agent", "fervidex/1.3.0") + .send(data); + + t.equal(res.body.success, false, "Should reject rootage clients"); + + res = await mockApi + .post(url) + .set("Authorization", "Bearer mock_token") + + // cannonballers + .set("User-Agent", "fervidex/1.3.0") + .set("X-Software-Model", "LDJ:J:B:A:2018091900") + .send(data); + + t.equal(res.body.success, false, "Should reject cannonballers clients"); + + res = await mockApi + .post(url) + .set("Authorization", "Bearer mock_token") + .set("User-Agent", "fervidex/1.3.0") + .set("X-Software-Model", "LDJ:J:B:A:NONSENSE") + .send(data); + + t.equal(res.body.success, false, "Should reject nonsense versions"); + + res = await mockApi + .post(url) + .set("Authorization", "Bearer mock_token") + + // BMS-iidx + .set("User-Agent", "fervidex/1.3.0") + .set("X-Software-Model", "LDJ:J:B:Z:2020092900") + .send(data); + + t.equal(res.body.success, false, "Should reject BMS-iidx clients"); + + res = await mockApi + .post(url) + .set("Authorization", "Bearer mock_token") + + // BMS-iidx + .set("User-Agent", "fervidex/1.2.0") + .set("X-Software-Model", "LDJ:J:B:A:2020092900") + .send(data); + + t.equal(res.body.success, false, "Should reject outdated fervidex clients"); + + res = await mockApi + .post(url) + .set("Authorization", "Bearer mock_token") + + // BMS-iidx + .set("User-Agent", "fervidex/.0") + .set("X-Software-Model", "LDJ:J:B:A:2020092900") + .send(data); + + t.equal(res.body.success, false, "Should reject invalid fervidex clients"); + + res = await mockApi + .post(url) + .set("Authorization", "Bearer mock_token") + + // BMS-iidx + .set("User-Agent", "") + .set("X-Software-Model", "LDJ:J:B:A:2020092900") + .send(data); + + t.equal(res.body.success, false, "Should reject invalid fervidex clients"); + + res = await mockApi + .post(url) + .set("Authorization", "Bearer mock_token") + + // BMS-iidx + .set("User-Agent", "invalid") + .set("X-Software-Model", "LDJ:J:B:A:2020092900") + .send(data); + + t.equal(res.body.success, false, "Should reject invalid fervidex clients"); + + t.end(); + }); + + t.test("Should require authorization.", async (t) => { + const res = await mockApi + .post(url) + .set("X-Software-Model", "LDJ:J:B:A:2020092900") + .set("User-Agent", "fervidex/1.3.0") + .send(data); + + t.equal(res.status, 401, "Should return 401."); + t.type(res.body.error, "string", "Should have an error message."); + + const res2 = await mockApi + .post(url) + .set("Authorization", "Bearer invalid_token") + .set("X-Software-Model", "LDJ:J:B:A:2020092900") + .set("User-Agent", "fervidex/1.3.0") + .send(data); + + t.equal(res2.status, 401, "Should return 401."); + t.type(res2.body.error, "string", "Should have an error message."); + + t.end(); + }); +} + +t.test("POST /ir/fervidex/class/submit", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(InsertFakeTokenWithAllPerms("mock_token")); + + TestHeaders("/ir/fervidex/class/submit", {}); + + t.test("Should update a users class.", async (t) => { + const res = await mockApi + .post("/ir/fervidex/class/submit") + .set("Authorization", "Bearer mock_token") + .set("User-Agent", "fervidex/1.3.0") + .set("X-Software-Model", "LDJ:J:B:A:2020092900") + .send({ cleared: true, course_id: 18, play_style: 0 }); + + t.equal(res.status, 200); + t.equal(res.body.success, true); + t.equal(res.body.description, "Dan changed!"); + + const ugs = await db["game-stats"].findOne({ userID: 1, game: "iidx", playtype: "SP" }); + + t.equal(ugs?.classes.dan, 18); + + const recentAchievement = await db["class-achievements"].findOne({ + userID: 1, + game: "iidx", + playtype: "SP", + }); + + t.hasStrict(recentAchievement, { + userID: 1, + game: "iidx", + playtype: "SP", + classValue: 18, + classSet: "dan", + classOldValue: null, + }); + + t.end(); + }); + + t.test("Should update a users class for DP.", async (t) => { + const res = await mockApi + .post("/ir/fervidex/class/submit") + .set("Authorization", "Bearer mock_token") + .set("User-Agent", "fervidex/1.3.0") + .set("X-Software-Model", "LDJ:J:B:A:2020092900") + .send({ cleared: true, course_id: 17, play_style: 1 }); + + t.equal(res.status, 200); + t.equal(res.body.success, true); + t.equal(res.body.description, "Dan changed!"); + + const ugs = await db["game-stats"].findOne({ userID: 1, game: "iidx", playtype: "DP" }); + + t.equal(ugs?.classes.dan, 17); + + t.end(); + }); + + t.test("Should ignore dans that weren't cleared.", async (t) => { + const res = await mockApi + .post("/ir/fervidex/class/submit") + .set("Authorization", "Bearer mock_token") + .set("User-Agent", "fervidex/1.3.0") + .set("X-Software-Model", "LDJ:J:B:A:2020092900") + .send({ cleared: false, course_id: 17, play_style: 1 }); + + t.equal(res.status, 200); + t.equal(res.body.description, "No Update Made."); + + t.end(); + }); + + t.test("Should reject invalid dans.", async (t) => { + const res = await mockApi + .post("/ir/fervidex/class/submit") + .set("Authorization", "Bearer mock_token") + .set("User-Agent", "fervidex/1.3.0") + .set("X-Software-Model", "LDJ:J:B:A:2020092900") + .send({ cleared: true, course_id: null, play_style: 1 }); + + t.equal(res.status, 400); + t.match( + res.body.error, + "[course_id] Expected an integer between 0 and 18. (Received null)" + ); + + t.end(); + }); + + t.test("Should reject invalid numerical dans.", async (t) => { + const res = await mockApi + .post("/ir/fervidex/class/submit") + .set("Authorization", "Bearer mock_token") + .set("User-Agent", "fervidex/1.3.0") + .set("X-Software-Model", "LDJ:J:B:A:2020092900") + .send({ cleared: true, course_id: 20, play_style: 1 }); + + t.equal(res.status, 400); + t.match(res.body.error, "[course_id] Expected an integer between 0 and 18. (Received 20)"); + + t.end(); + }); + + t.test("Should reject invalid negative dans.", async (t) => { + const res = await mockApi + .post("/ir/fervidex/class/submit") + .set("Authorization", "Bearer mock_token") + .set("User-Agent", "fervidex/1.3.0") + .set("X-Software-Model", "LDJ:J:B:A:2020092900") + .send({ cleared: true, course_id: -1, play_style: 1 }); + + t.equal(res.status, 400); + t.match(res.body.error, "[course_id] Expected an integer between 0 and 18. (Received -1)"); + + t.end(); + }); + + t.test("Should reject invalid play_styles.", async (t) => { + const res = await mockApi + .post("/ir/fervidex/class/submit") + .set("Authorization", "Bearer mock_token") + .set("User-Agent", "fervidex/1.3.0") + .set("X-Software-Model", "LDJ:J:B:A:2020092900") + .send({ cleared: true, course_id: 16, play_style: null }); + + t.equal(res.status, 400); + t.match(res.body.error, "[play_style] Expected any of 0, 1. (Received null)"); + + t.end(); + }); + + t.end(); +}); + +t.test("POST /ir/fervidex/score/submit", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(InsertFakeTokenWithAllPerms("mock_token")); + + TestHeaders("/ir/fervidex/score/submit", FervidexBaseScore); + + t.test("Should import a valid score", async (t) => { + const res = await mockApi + .post("/ir/fervidex/score/submit") + .set("Authorization", "Bearer mock_token") + .set("User-Agent", "fervidex/1.3.0") + .set("X-Software-Model", "LDJ:J:B:A:2020092900") + .send(FervidexBaseScore); + + t.equal(res.body.success, true, "Should be successful"); + + t.equal(res.body.body.errors.length, 0, "Should have 0 failed scores."); + + const scores = await db.scores.count({ + service: "Fervidex", + }); + + t.equal(scores, 1, "Should import 1 score."); + + t.end(); + }); + + t.test("Should import a valid score with undefined options", async (t) => { + const res = await mockApi + .post("/ir/fervidex/score/submit") + .set("Authorization", "Bearer mock_token") + .set("User-Agent", "fervidex/1.3.0") + .set("X-Software-Model", "LDJ:J:B:A:2020092900") + .send(deepmerge(FervidexBaseScore, { option: undefined })); + + t.equal(res.body.success, true, "Should be successful"); + + t.equal(res.body.body.errors.length, 0, "Should have 0 failed scores."); + + const scores = await db.scores.count({ + service: "Fervidex", + }); + + t.equal(scores, 1, "Should import 1 score."); + + t.end(); + }); + + t.test("Should import a valid score with 2dx-gsm", async (t) => { + const res = await mockApi + .post("/ir/fervidex/score/submit") + .set("Authorization", "Bearer mock_token") + .set("User-Agent", "fervidex/1.3.0") + .set("X-Software-Model", "LDJ:J:B:A:2020092900") + .send(FervidexBaseGSMScore); + + t.equal(res.body.success, true, "Should be successful"); + + t.equal(res.body.body.errors.length, 0, "Should have 0 failed scores."); + + const scores = await db.scores.count({ + service: "Fervidex", + }); + + t.equal(scores, 1, "Should import 1 score."); + + t.end(); + }); + + t.test("Should reject an invalid body", async (t) => { + const res = await mockApi + .post("/ir/fervidex/score/submit") + .set("User-Agent", "fervidex/1.3.0") + .set("Authorization", "Bearer mock_token") + .send({}); + + t.equal(res.body.success, false, "Should not be successful"); + + t.type(res.body.error, "string", "Should have an error prop that is a string."); + + t.end(); + }); + + t.end(); +}); + +t.test("POST /ir/fervidex/profile/submit", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(InsertFakeTokenWithAllPerms("mock_token")); + + TestHeaders("/ir/fervidex/class/submit", FervidexStaticBase); + + t.test("Should accept a fervidex-static body", async (t) => { + await db.songs.iidx.remove({}); + await db.songs.iidx.insert( + GetKTDataJSON("./tachi/tachi-songs-iidx.json") as Array + ); + await db.charts.iidx.remove({}); + await db.charts.iidx.insert( + GetKTDataJSON("./tachi/tachi-charts-iidx.json") as Array + ); + + const res = await mockApi + .post("/ir/fervidex/profile/submit") + .set("Authorization", "Bearer mock_token") + .set("User-Agent", "fervidex/1.3.0") + .set("X-Software-Model", "P2D:J:B:A:2020092900") + .send(FervidexStaticBase); + + t.equal(res.statusCode, 202, "Should be deferred for later processing."); + + // Not sure how long this import should take, but sleeping for 5 seconds + // seems like a very conservative estimate. + // Then we can check whether the database has properly updated. + await Sleep(5_000); + + const scores = await db.scores.count({ + service: "Fervidex Static", + }); + + t.equal(scores, 3, "Should import 3 scores."); + + const ugs = await db["game-stats"].findOne({ + userID: 1, + game: "iidx", + playtype: "SP", + }); + + t.equal(ugs!.classes.dan, 15, "Should successfully update dan to 9th."); + + t.end(); + }); + + t.test("Should allow requests from non INF2 if forceStaticImport is true.", async (t) => { + await db["fer-settings"].update({ userID: 1 }, { $set: { forceStaticImport: true } }); + await db.songs.iidx.remove({}); + await db.songs.iidx.insert( + GetKTDataJSON("./tachi/tachi-songs-iidx.json") as Array + ); + await db.charts.iidx.remove({}); + await db.charts.iidx.insert( + GetKTDataJSON("./tachi/tachi-charts-iidx.json") as Array + ); + + const res = await mockApi + .post("/ir/fervidex/profile/submit") + .set("Authorization", "Bearer mock_token") + .set("User-Agent", "fervidex/1.3.0") + .set("X-Software-Model", "LDJ:J:B:A:2020092900") + .send(FervidexStaticBase); + + t.equal(res.statusCode, 202, "Should be deferred for later processing."); + + // See above. + await Sleep(5_000); + + const scores = await db.scores.count({ + service: "Fervidex Static", + }); + + t.equal(scores, 3, "Should import 3 scores."); + + const ugs = await db["game-stats"].findOne({ + userID: 1, + game: "iidx", + playtype: "SP", + }); + + t.equal(ugs!.classes.dan, 15, "Should successfully update dan to 9th."); + + const dbRes = await db["fer-settings"].findOne({ userID: 1 }); + + t.equal( + dbRes?.forceStaticImport, + false, + "forceStaticImport should be set to false after the request." + ); + + t.end(); + }); + + t.test("Should disallow requests from non INF2 if forceStaticImport is false.", async (t) => { + await db["fer-settings"].update({ userID: 1 }, { $set: { forceStaticImport: false } }); + + const res = await mockApi + .post("/ir/fervidex/profile/submit") + .set("Authorization", "Bearer mock_token") + .set("User-Agent", "fervidex/1.3.0") + .set("X-Software-Model", "LDJ:J:B:A:2020092900") + .send(FervidexStaticBase); + + t.equal(res.statusCode, 400, "Should be rejected, as FSI is not set."); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/ir/fervidex/router.ts b/server/src/server/router/ir/fervidex/router.ts new file mode 100644 index 000000000..1d74ffded --- /dev/null +++ b/server/src/server/router/ir/fervidex/router.ts @@ -0,0 +1,346 @@ +import { Router } from "express"; +import db from "external/mongo/db"; +import { + EXT_BISTROVER, + EXT_HEROIC_VERSE, + MODEL_INFINITAS_2, + REV_2DXBMS, +} from "lib/constants/ea3id"; +import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi"; +import CreateLogCtx from "lib/logger/logger"; +import { ExpressWrappedScoreImportMain } from "lib/score-import/framework/express-wrapper"; +import p from "prudence"; +import { RequirePermissions } from "server/middleware/auth"; +import { PrudenceErrorFormatter } from "server/middleware/prudence-validate"; +import { UpdateClassIfGreater } from "utils/class"; +import { ParseEA3SoftID } from "utils/ea3id"; +import { IsNullishOrEmptyStr } from "utils/misc"; +import type { RequestHandler } from "express"; +import type { integer, Playtypes } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +const router: Router = Router({ mergeParams: true }); + +const ValidateFervidexHeader: RequestHandler = (req, res, next) => { + const agent = req.header("User-Agent"); + + if (IsNullishOrEmptyStr(agent)) { + logger.debug( + `Rejected fervidex client with no agent from user ${req[SYMBOL_TACHI_API_AUTH].userID}.` + ); + return res.status(400).json({ + success: false, + error: `Invalid User-Agent.`, + }); + } + + if (!agent.startsWith("fervidex/")) { + logger.info( + `Rejected fervidex client with invalid agent ${agent} from user ${req[SYMBOL_TACHI_API_AUTH].userID}.` + ); + return res.status(400).json({ + success: false, + error: `Invalid User-Agent ${agent} - expected fervidex client.`, + }); + } + + const versions = agent.split("fervidex/")[1]!.split(".").map(Number); + + if (!versions.every((e) => !Number.isNaN(e)) || versions.length < 3) { + logger.info( + `Rejected fervidex client with agent ${agent} for NaN-like versions from user ${req[SYMBOL_TACHI_API_AUTH].userID}.` + ); + return res.status(400).json({ + success: false, + error: `Invalid version ${versions.join(".")}.`, + }); + } + + // version.minor + // asserted to exist based on versions.length being greater than 3. + if (versions[1]! < 3) { + logger.debug( + `Rejected outdated fervidex client from user ${req[SYMBOL_TACHI_API_AUTH].userID}.` + ); + return res.status(400).json({ + success: false, + error: `Versions of fervidex < 1.3.0 are not supported.`, + }); + } + + next(); +}; + +const RequireInf2ModelHeaderOrForceStatic: RequestHandler = async (req, res, next) => { + const settings = await db["fer-settings"].findOne({ + userID: req[SYMBOL_TACHI_API_AUTH].userID!, + }); + + if (settings?.forceStaticImport === true) { + logger.debug(`User ${settings.userID} had forceStaticImport set, allowing request.`); + + // Force static import should ideally only ever be used once. If left on, a users profile + // will get innundated with a bunch of pb imports on every game-load. This is not what + // people want. + // FSI should ideally just be used once to get unreachable scores onto Kamaitachi. Otherwise + // they're doing something wrong. + await db["fer-settings"].update( + { + userID: settings.userID, + }, + { + $set: { + forceStaticImport: false, + }, + } + ); + + next(); + return; + } + + const swModel = req.header("X-Software-Model"); + + if (IsNullishOrEmptyStr(swModel)) { + logger.debug( + `Rejected empty X-Software-Model from user ${req[SYMBOL_TACHI_API_AUTH].userID}.` + ); + return res.status(400).json({ + success: false, + error: `Invalid X-Software-Model.`, + }); + } + + try { + const { model } = ParseEA3SoftID(swModel); + + if (model !== MODEL_INFINITAS_2) { + return res.status(400).json({ + success: false, + error: `Refusing to perform static import from non-infinitas client. To do this anyway, enable Force Static Import.`, + }); + } + } catch (err) { + logger.info(`Invalid softID from ${req[SYMBOL_TACHI_API_AUTH].userID}.`, { err }); + return res.status(400).json({ + success: false, + error: `Invalid X-Software-Model.`, + }); + } + + next(); +}; + +const supportedExts = [EXT_HEROIC_VERSE, EXT_BISTROVER]; + +const ValidateModelHeader: RequestHandler = (req, res, next) => { + const swModel = req.header("X-Software-Model"); + + if (IsNullishOrEmptyStr(swModel)) { + logger.debug( + `Rejected empty X-Software Model from user ${req[SYMBOL_TACHI_API_AUTH].userID}.` + ); + return res.status(400).json({ + success: false, + error: `Invalid X-Software-Model.`, + }); + } + + try { + const softID = ParseEA3SoftID(swModel); + + if (softID.rev === REV_2DXBMS) { + return res.status(400).send({ + success: false, + error: "2DX_BMS is not supported.", + }); + } + + if (softID.model === MODEL_INFINITAS_2) { + // allow anything for inf2. + next(); + return; + } + + if (softID.ext === undefined || !supportedExts.includes(softID.ext)) { + logger.info( + `Rejected invalid Software Model ${softID.ext} from user ${req[SYMBOL_TACHI_API_AUTH].userID}.` + ); + return res.status(400).json({ + success: false, + error: `Invalid extension ${softID.ext}`, + }); + } + } catch (err) { + logger.debug(err); + return res.status(400).json({ + success: false, + error: `Invalid X-Software-Model.`, + }); + } + + next(); +}; + +const ValidateCards: RequestHandler = async (req, res, next) => { + const userID = req[SYMBOL_TACHI_API_AUTH].userID!; + + const cardFilters = await db["fer-settings"].findOne({ userID }); + + if (!cardFilters || !cardFilters.cards) { + next(); + return; + } + + const cardID = req.header("X-Account-Id"); + + if (IsNullishOrEmptyStr(cardID)) { + return res.status(400).json({ + success: false, + error: `Fervidex did not provide a card ID.`, + }); + } + + if (!cardFilters.cards.includes(cardID)) { + return res.status(400).json({ + success: false, + error: `The card ID ${cardID} is not in your list of filters. Ignoring.`, + }); + } + + next(); +}; + +router.use( + RequirePermissions("submit_score"), + ValidateFervidexHeader, + ValidateModelHeader, + ValidateCards +); + +/** + * Submits all of a users data to Tachi. This data is extremely minimal, + * as only a users Lamp and Score are sent. As such, this is not the prefered + * way of syncing scores outside of INF2, where there is no other way to + * retrieve scores. + * + * @name POST /ir/fervidex/profile/submit + */ +router.post("/profile/submit", RequireInf2ModelHeaderOrForceStatic, (req, res) => { + const headers = { + // guaranteed to exist because of RequireInf2ModelHeader + model: req.header("X-Software-Model")!, + }; + + // Perform a fast return here to not allow fervidex to resend requests. + res.status(202).json({ + success: true, + description: `Your import has been loaded for further processing.`, + body: {}, + }); + + void ExpressWrappedScoreImportMain( + req[SYMBOL_TACHI_API_AUTH].userID!, + false, + "ir/fervidex-static", + [req.safeBody, headers] + ); +}); + +/** + * Submits a single score to Tachi. In contrast to profile/submit, this + * sends the most data (and most accurate data) of any score hook. + * As such, this is the preferred way of submitting IIDX scores to Tachi. + * + * @name POST /ir/fervidex/score/submit + */ +router.post("/score/submit", ValidateModelHeader, async (req, res) => { + const model = req.header("X-Software-Model"); + + if (IsNullishOrEmptyStr(model)) { + return res.status(400).json({ + success: false, + error: "No X-Software-Model header provided?", + }); + } + + const headers = { + model, + }; + + const responseData = await ExpressWrappedScoreImportMain( + req[SYMBOL_TACHI_API_AUTH].userID!, + true, + "ir/fervidex", + [req.safeBody, headers] + ); + + if (!responseData.body.success) { + // in-air rewrite description to error. + // @ts-expect-error Hack! + responseData.body.error = responseData.body.description; + + // @ts-expect-error Hack! + delete responseData.body.description; + } + + return res.status(responseData.statusCode).json(responseData.body); +}); + +/** + * Submits the result of a class to Tachi. This contains the dan played + * and whether it was achieved. + * + * @name POST /ir/fervidex/class/submit + */ +router.post("/class/submit", ValidateModelHeader, async (req, res) => { + // This is done here, instead of in prValidate, as we need to return using + // a different key. + const err = p( + req.body, + { + cleared: "boolean", + course_id: p.isBoundedInteger(0, 18), + play_style: p.isIn(0, 1), + }, + {}, + { allowExcessKeys: true } + ); + + if (err) { + return res.status(400).json({ + success: false, + error: PrudenceErrorFormatter(err.message, String(err.userVal), err.keychain), + }); + } + + const body = req.safeBody as { + cleared: boolean; + course_id: integer; + play_style: 0 | 1; + }; + + if (!body.cleared) { + return res.status(200).json({ success: true, description: "No Update Made.", body: {} }); + } + + // is 0 or 1. + const playtype: Playtypes["iidx"] = body.play_style === 0 ? "SP" : "DP"; + + const r = await UpdateClassIfGreater( + req[SYMBOL_TACHI_API_AUTH].userID!, + "iidx", + playtype, + "dan", + body.course_id + ); + + return res.status(200).json({ + success: true, + description: + r === false ? "Dan unchanged, was worse than your current dan." : "Dan changed!", + }); +}); + +export default router; diff --git a/server/src/server/router/ir/kshook/router.ts b/server/src/server/router/ir/kshook/router.ts new file mode 100644 index 000000000..6dc98f050 --- /dev/null +++ b/server/src/server/router/ir/kshook/router.ts @@ -0,0 +1,8 @@ +import SV6CRouter from "./sv6c/router"; +import { Router } from "express"; + +const router: Router = Router({ mergeParams: true }); + +router.use("/sv6c", SV6CRouter); + +export default router; diff --git a/server/src/server/router/ir/kshook/sv6c/router.test.ts b/server/src/server/router/ir/kshook/sv6c/router.test.ts new file mode 100644 index 000000000..e5d1c726a --- /dev/null +++ b/server/src/server/router/ir/kshook/sv6c/router.test.ts @@ -0,0 +1,97 @@ +import deepmerge from "deepmerge"; +import t from "tap"; +import { InsertFakeTokenWithAllPerms } from "test-utils/fake-auth"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { TestingKsHookSV6CScore } from "test-utils/test-data"; + +t.test("POST /ir/kshook/sv6c/score/save", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(InsertFakeTokenWithAllPerms("mock_token")); + + // eslint-disable-next-line @typescript-eslint/ban-types + const validSubmit = (data: object) => + mockApi + .post("/ir/kshook/sv6c/score/save") + .set("Authorization", "Bearer mock_token") + .set("User-Agent", "kshook/0.1.0") + .set("X-Software-Model", "QCV:J:C:A:2021100600") + .send(data); + + t.test("Should import a valid score to the database.", async (t) => { + const res = await validSubmit(TestingKsHookSV6CScore); + + t.equal(res.status, 200); + t.equal(res.body.success, true); + t.equal(res.body.body.scoreIDs.length, 1, "Should import one score."); + t.equal(res.body.body.errors.length, 0, "Should have 0 failed scores."); + + t.end(); + }); + + t.test("Should reject invalid scores to the database.", async (t) => { + const res = await validSubmit({}); + + t.equal(res.status, 400, "Should return 400 for an empty object."); + t.type(res.body.error, "string", "Should attach an error message."); + + const res2 = await validSubmit( + deepmerge(TestingKsHookSV6CScore, { + clear: "INVALID_CLEAR_TYPE", + }) + ); + + t.equal(res2.status, 400, "Should return 400 for an invalid clear type."); + t.type(res2.body.error, "string", "Should attach an error message."); + + t.end(); + }); + + t.test("Should reject scores with invalid software models.", async (t) => { + const res = await mockApi + .post("/ir/kshook/sv6c/score/save") + .set("Authorization", "Bearer mock_token") + .set("User-Agent", "kshook/0.1.0") + .set("X-Software-Model", "LDJ:J:C:A:2021100600") + .send(TestingKsHookSV6CScore); + + t.equal(res.status, 400, "Should reject an import with invalid software model."); + t.type(res.body.error, "string", "Should have an error message."); + + const res2 = await mockApi + .post("/ir/kshook/sv6c/score/save") + .set("Authorization", "Bearer mock_token") + .set("User-Agent", "kshook/0.1.0") + .send(TestingKsHookSV6CScore); + + t.equal(res2.status, 400, "Should reject an import with no software model."); + t.type(res2.body.error, "string", "Should have an error message."); + + t.end(); + }); + + t.test("Should reject scores with invalid auth.", async (t) => { + const res = await mockApi + .post("/ir/kshook/sv6c/score/save") + .set("Authorization", "Bearer foo") + .set("User-Agent", "kshook/0.1.0") + .set("X-Software-Model", "QCV:J:C:A:2021100600") + .send(TestingKsHookSV6CScore); + + t.equal(res.status, 401, "Should reject an import with invalid authentication."); + t.type(res.body.error, "string", "Should have an error message."); + + const res2 = await mockApi + .post("/ir/kshook/sv6c/score/save") + .set("User-Agent", "kshook/0.1.0") + .set("X-Software-Model", "QCV:J:C:A:2021100600") + .send(TestingKsHookSV6CScore); + + t.equal(res2.status, 401, "Should reject an import with no authentication."); + t.type(res2.body.error, "string", "Should have an error message."); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/ir/kshook/sv6c/router.ts b/server/src/server/router/ir/kshook/sv6c/router.ts new file mode 100644 index 000000000..4cdb40dc5 --- /dev/null +++ b/server/src/server/router/ir/kshook/sv6c/router.ts @@ -0,0 +1,102 @@ +import { Router } from "express"; +import { MODEL_SDVX3_KONASTE } from "lib/constants/ea3id"; +import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi"; +import CreateLogCtx from "lib/logger/logger"; +import { ExpressWrappedScoreImportMain } from "lib/score-import/framework/express-wrapper"; +import { ParseEA3SoftID } from "utils/ea3id"; +import { IsNullishOrEmptyStr } from "utils/misc"; +import type { RequestHandler } from "express"; + +const router: Router = Router({ mergeParams: true }); + +const logger = CreateLogCtx(__filename); + +const ValidateHeaders: RequestHandler = (req, res, next) => { + const agent = req.header("User-Agent"); + + if (IsNullishOrEmptyStr(agent)) { + logger.debug( + `Rejected KsHook client with no agent from user ${req[SYMBOL_TACHI_API_AUTH].userID}.` + ); + return res.status(400).json({ + success: false, + error: `Invalid User-Agent.`, + }); + } + + if (!agent.startsWith("kshook/")) { + logger.info( + `Rejected KsHook client with invalid agent ${agent} from user ${req[SYMBOL_TACHI_API_AUTH].userID}.` + ); + return res.status(400).json({ + success: false, + error: `Invalid User-Agent ${agent} - expected KsHook client.`, + }); + } + + // We don't currently need to check the version or anything i don't think. + // We should be good. + + const softID = req.header("X-Software-Model"); + + if (IsNullishOrEmptyStr(softID)) { + logger.debug( + `received request without X-Software-Model from ${req[SYMBOL_TACHI_API_AUTH].userID}.` + ); + return res.status(400).json({ + success: false, + error: `Invalid X-Software-Model.`, + }); + } + + try { + const modelInfo = ParseEA3SoftID(softID); + + if (modelInfo.model !== MODEL_SDVX3_KONASTE) { + logger.info( + `received unexpected softID ${softID}. Expected ${MODEL_SDVX3_KONASTE} as model.` + ); + return res.status(400).json({ + success: false, + error: `Invalid softID ${softID}.`, + }); + } + } catch (err) { + logger.info(`Invalid softID from ${req[SYMBOL_TACHI_API_AUTH].userID}.`, { err }); + return res.status(400).json({ + success: false, + error: `Invalid X-Software-Model.`, + }); + } + + next(); +}; + +router.use(ValidateHeaders); + +/** + * Saves a SDVX Konaste score. + * + * @name POST /ir/kshook/sv6c/score/save + */ +router.post("/score/save", async (req, res) => { + const responseData = await ExpressWrappedScoreImportMain( + req[SYMBOL_TACHI_API_AUTH].userID!, + true, + "ir/kshook-sv6c", + [req.safeBody] + ); + + if (!responseData.body.success) { + // in-air rewrite description to error. + // @ts-expect-error Hack! + responseData.body.error = responseData.body.description; + + // @ts-expect-error Hack! + delete responseData.body.description; + } + + return res.status(responseData.statusCode).json(responseData.body); +}); + +export default router; diff --git a/server/src/server/router/ir/lr2hook/router.test.ts b/server/src/server/router/ir/lr2hook/router.test.ts new file mode 100644 index 000000000..1ad596095 --- /dev/null +++ b/server/src/server/router/ir/lr2hook/router.test.ts @@ -0,0 +1,146 @@ +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState from "test-utils/resets"; +import { TestingLR2HookScore } from "test-utils/test-data"; +import { ApplyNTimes, RFA } from "utils/misc"; +import type { LR2HookScore } from "lib/score-import/import-types/ir/lr2hook/types"; + +t.test("POST /ir/lr2hook/import", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(async () => { + await db["api-tokens"].insert({ + token: "foo", + permissions: { submit_score: true }, + fromAPIClient: null, + identifier: "foo", + userID: 1, + }); + }); + + t.test("Should import a score if the API token has the right permissions.", async (t) => { + const res = await mockApi + .post("/ir/lr2hook/import") + .set("Authorization", "Bearer foo") + .send(TestingLR2HookScore); + + t.equal(res.statusCode, 200); + + t.end(); + }); + + t.test("Should import a score if the API token has the right permissions.", async (t) => { + await db["api-tokens"].insert({ + token: "bar", + permissions: { submit_score: false }, + fromAPIClient: null, + identifier: "bar", + userID: 1, + }); + + const res = await mockApi + .post("/ir/lr2hook/import") + .set("Authorization", "Bearer bar") + .send(TestingLR2HookScore); + + t.equal(res.statusCode, 403); + + t.end(); + }); + + t.test("Should import a score if the API token has the right permissions.", async (t) => { + const res = await mockApi + .post("/ir/lr2hook/import") + .set("Authorization", "Bearer unknown token") + .send(TestingLR2HookScore); + + t.equal(res.statusCode, 401); + + t.end(); + }); + + t.end(); +}); + +t.test("POST /ir/lr2hook/import/course", (t) => { + t.beforeEach(ResetDBState); + + const classBody: LR2HookScore = { + md5: "cfad3baadce9e02c45021963453d7c9477d23be22b2370925c573d922276bce0188a99f74ab71804f2e360dcf484545cc46a81cb184f5a804c119930d6eba748", + playerData: { + autoScr: 0, + gameMode: "shrug", + gauge: "EASY", + random: "MIRROR", + }, + scoreData: { + exScore: 10, + bad: 10, + good: 10, + great: 10, + hpGraph: ApplyNTimes(1000, () => RFA([100, 50, 80, 0])), + lamp: "EASY", + maxCombo: 10, + moneyScore: 10, + notesPlayed: 10, + notesTotal: 10, + pgreat: 10, + poor: 10, + }, + }; + + t.test("Should update a user's class if necessary.", async (t) => { + const res = await mockApi + .post("/ir/lr2hook/import/course") + .set("Authorization", "Bearer fake_api_token") + .send(classBody); + + t.equal(res.statusCode, 200); + t.equal(res.body.body.set, "genocideDan"); + t.equal(res.body.body.value, 22); + + const dbRes = await db["game-stats"].findOne({ + userID: 1, + game: "bms", + playtype: "7K", + }); + + t.equal(dbRes?.classes.genocideDan, 22); + + t.end(); + }); + + t.test("Should not update a user's class if they didn't clear the course.", async (t) => { + const res = await mockApi + .post("/ir/lr2hook/import/course") + .set("Authorization", "Bearer fake_api_token") + .send(deepmerge(classBody, { scoreData: { notesPlayed: 1 } })); + + t.equal(res.statusCode, 200); + t.match(res.body.description, "Class not updated. You failed to clear this course."); + + const dbRes = await db["game-stats"].findOne({ + userID: 1, + game: "bms", + playtype: "7K", + }); + + t.not(dbRes?.classes.genocideDan, 22); + + t.end(); + }); + + t.test("Should 404 if the course doesn't exist.", async (t) => { + const res = await mockApi + .post("/ir/lr2hook/import/course") + .set("Authorization", "Bearer fake_api_token") + .send(deepmerge(classBody, { md5: "some nonsense" })); + + t.equal(res.statusCode, 404); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/ir/lr2hook/router.ts b/server/src/server/router/ir/lr2hook/router.ts new file mode 100644 index 000000000..a702e4492 --- /dev/null +++ b/server/src/server/router/ir/lr2hook/router.ts @@ -0,0 +1,97 @@ +import { Router } from "express"; +import db from "external/mongo/db"; +import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi"; +import { ExpressWrappedScoreImportMain } from "lib/score-import/framework/express-wrapper"; +import { PR_LR2HOOK as PR_LR2_HOOK } from "lib/score-import/import-types/ir/lr2hook/parser"; +import { RequirePermissions } from "server/middleware/auth"; +import prValidate from "server/middleware/prudence-validate"; +import { UpdateClassIfGreater } from "utils/class"; +import type { LR2HookScore } from "lib/score-import/import-types/ir/lr2hook/types"; + +const router: Router = Router({ mergeParams: true }); + +router.use(RequirePermissions("submit_score")); + +/** + * Import a score in the LR2Hook Format. + * + * @name POST /ir/lr2hook/import + */ +router.post("/import", async (req, res) => { + const importRes = await ExpressWrappedScoreImportMain( + req[SYMBOL_TACHI_API_AUTH].userID!, + false, + "ir/lr2hook", + [req.safeBody] + ); + + return res.status(importRes.statusCode).json(importRes.body); +}); + +/** + * Import a course in the LR2Hook format. + * + * @name POST /ir/lr2hook/import/course + */ +router.post("/import/course", prValidate(PR_LR2_HOOK), async (req, res) => { + // notably, courses in LR2 are actually identical to scores. They have all + // the same fields in all the same ways. The only significant difference is that + // the md5 field is 4 fields conjoined, rather than just one. + + // This type assertion is safe due to the prValidate call above. + const score = req.safeBody as unknown as LR2HookScore; + + if (score.scoreData.notesPlayed !== score.scoreData.notesTotal) { + return res.status(200).json({ + success: true, + description: `Class not updated. You failed to clear this course.`, + body: { + notesPlayed: score.scoreData.notesPlayed, + notesTotal: score.scoreData.notesTotal, + }, + }); + } + + const course = await db["bms-course-lookup"].findOne({ + md5sums: score.md5, + }); + + if (!course) { + return res.status(404).json({ + success: false, + description: `Couldn't find a course with this MD5 (${score.md5}).`, + }); + } + + const userID = req[SYMBOL_TACHI_API_AUTH].userID!; + + const result = await UpdateClassIfGreater( + userID, + "bms", + course.playtype, + course.set, + course.value + ); + + if (result === false) { + return res.status(200).json({ + success: true, + description: "Class not updated.", + body: { + set: course.set, + value: course.value, + }, + }); + } + + return res.status(200).json({ + success: true, + description: "Successfully updated class.", + body: { + set: course.set, + value: course.value, + }, + }); +}); + +export default router; diff --git a/server/src/server/router/ir/router.ts b/server/src/server/router/ir/router.ts new file mode 100644 index 000000000..ec0e2da2d --- /dev/null +++ b/server/src/server/router/ir/router.ts @@ -0,0 +1,50 @@ +import barbatosIR from "./barbatos/router"; +import beatorajaIR from "./beatoraja/router"; +import directManualIR from "./direct-manual/router"; +import fervidexIR from "./fervidex/router"; +import ksHookIR from "./kshook/router"; +import lr2hookIR from "./lr2hook/router"; +import uscIR from "./usc/router"; +import { + FervidexStyleRequireNotGuest, + RequireNotGuest, + SetFervidexStyleRequestPermissions, + SetRequestPermissions, +} from "../../middleware/auth"; +import { RequireBokutachi, RequireKamaitachi } from "../../middleware/type-require"; +import { Router } from "express"; + +const router: Router = Router({ mergeParams: true }); + +// Common IRs + +router.use("/direct-manual", SetRequestPermissions, RequireNotGuest, directManualIR); + +// Bokutachi IRs + +// note: this is the only IR that cannot use SetRequestPermissions for its +// auth, because the USCIR spec requires a different set of response +// codes for auth. +router.use("/usc", RequireBokutachi, uscIR); +router.use("/beatoraja", SetRequestPermissions, RequireNotGuest, RequireBokutachi, beatorajaIR); +router.use("/lr2hook", SetRequestPermissions, RequireNotGuest, RequireBokutachi, lr2hookIR); + +// Kamaitachi IRs + +router.use( + "/kshook", + RequireKamaitachi, + SetFervidexStyleRequestPermissions, + FervidexStyleRequireNotGuest, + ksHookIR +); +router.use("/barbatos", SetRequestPermissions, RequireNotGuest, RequireKamaitachi, barbatosIR); +router.use( + "/fervidex", + SetFervidexStyleRequestPermissions, + FervidexStyleRequireNotGuest, + RequireKamaitachi, + fervidexIR +); + +export default router; diff --git a/server/src/server/router/ir/usc/_playtype/router.test.ts b/server/src/server/router/ir/usc/_playtype/router.test.ts new file mode 100644 index 000000000..955e22ba4 --- /dev/null +++ b/server/src/server/router/ir/usc/_playtype/router.test.ts @@ -0,0 +1,883 @@ +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import { CDNRetrieve } from "lib/cdn/cdn"; +import t from "tap"; +import mockApi from "test-utils/mock-api"; +import ResetDBState, { ResetCDN } from "test-utils/resets"; +import { GetKTDataBuffer } from "test-utils/test-data"; +import type { PBScoreDocument, PublicUserDocument, ScoreDocument } from "tachi-common"; + +async function InsertFakeUSCAuth() { + await db["api-tokens"].insert({ + userID: 1, + identifier: "USC Token", + permissions: { + submit_score: true, + }, + token: "foo", + fromAPIClient: null, + }); +} + +function TestAuth(url: string) { + t.test(`Authorization Check ${url}`, async (t) => { + const res = await mockApi.get(url).set("Authorization", "Bearer invalid"); + + t.equal(res.body.statusCode, 41, "Should return 41 for nonsense token"); + + const res2 = await mockApi.get(url).set("Authorization", "NOTBEARER invalid"); + + t.equal(res2.body.statusCode, 40, "Should return 40 for nonsense authtype"); + + const res3 = await mockApi.get(url); + + t.equal(res3.body.statusCode, 40, "Should return 40 for no auth header."); + + const res4 = await mockApi.get(url).set("Authorization", "Bearer foo invalid"); + + t.equal(res4.body.statusCode, 40, "Should return 40 for nonsense header"); + }); +} + +// Due to how this works, as long as these tests pass, the two IRs work identically. +t.test("GET /ir/usc/Keyboard", async (t) => { + t.beforeEach(ResetDBState); + + await db["api-tokens"].insert({ + userID: 1, + identifier: "USC Token", + permissions: { + submit_score: true, + }, + token: "bar", + fromAPIClient: null, + }); + + TestAuth("/ir/usc/Controller"); + + const res = await mockApi.get("/ir/usc/Controller").set("Authorization", "Bearer bar"); + + t.equal(res.body.statusCode, 20, "Should return 20"); + t.match( + res.body.body, + { + serverName: /tachi/iu, + irVersion: /^[0-9]\.[0-9]\.[0-9](-a)?$/iu, + }, + "Should return the right body." + ); + + t.end(); +}); + +t.test("GET /ir/usc/Controller", async (t) => { + t.beforeEach(ResetDBState); + + await db["api-tokens"].insert({ + userID: 1, + identifier: "USC Token", + permissions: { + submit_score: true, + }, + token: "fee", + fromAPIClient: null, + }); + + TestAuth("/ir/usc/Controller"); + + const res = await mockApi.get("/ir/usc/Controller").set("Authorization", "Bearer fee"); + + t.equal(res.body.statusCode, 20, "Should return 20"); + t.match( + res.body.body, + { + serverName: /tachi/iu, + irVersion: /^[0-9]\.[0-9]\.[0-9](-a)?$/iu, + }, + "Should return the right body." + ); + + t.end(); +}); + +t.test("GET /ir/usc/Controller/charts/:chartHash", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(InsertFakeUSCAuth); + + t.test("Should return 20 if the chartHash matches a chart.", async (t) => { + const res = await mockApi + .get("/ir/usc/Controller/charts/USC_CHART_HASH") + .set("Authorization", "Bearer foo"); + + t.equal(res.body.statusCode, 20, "Should return 20"); + + t.end(); + }); + + t.test("Should return 44 if the chartHash doesn't match a chart.", async (t) => { + const res = await mockApi + .get("/ir/usc/Controller/charts/INVALID_HASH") + .set("Authorization", "Bearer foo"); + + t.equal(res.body.statusCode, 44, "Should return 44"); + + t.end(); + }); + + t.end(); +}); + +const USC_SCORE_PB: PBScoreDocument = { + chartID: "USC_CHART_ID", + rankingData: { + rank: 1, + outOf: 2, + }, + songID: 1, + userID: 1, + timeAchieved: 0, + playtype: "Controller", + game: "usc", + highlight: false, + composedFrom: { + scorePB: "usc_score_pb", + lampPB: "bar", + }, + calculatedData: { + VF6: null, + }, + isPrimary: true, + scoreData: { + score: 9_000_000, + percent: 90, + grade: "A+", + esd: null, + lamp: "EXCESSIVE CLEAR", + lampIndex: 2, + + // idk, lazy + gradeIndex: 4, + + judgements: { + critical: 50, + near: 30, + miss: 10, + }, + hitMeta: { + gauge: 50, + fast: 50, + slow: 20, + }, + }, +}; + +t.test("GET /ir/usc/Controller/:chartHash/record", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(InsertFakeUSCAuth); + TestAuth("/ir/usc/Controller/:chartHash/record"); + + t.test("Should return 44 if the chartHash doesn't match a chart.", async (t) => { + const res = await mockApi + .get("/ir/usc/Controller/charts/INVALID_HASH/record") + .set("Authorization", "Bearer foo"); + + t.equal(res.body.statusCode, 44, "Should return 44"); + + t.end(); + }); + + t.test("Should return 44 if there are no scores on the chart.", async (t) => { + const res = await mockApi + .get("/ir/usc/Controller/charts/USC_CHART_HASH/record") + .set("Authorization", "Bearer foo"); + + t.equal(res.body.statusCode, 44, "Should return 44"); + + t.end(); + }); + + t.test("Should return 20 and the Server Record.", async (t) => { + await db["personal-bests"].insert([ + // empty deepmerge is because monk monkey-patches _id on, + // which means this crashes if you try to re-insert this document. + deepmerge(USC_SCORE_PB, {}), + deepmerge(USC_SCORE_PB, { userID: 2, rankingData: { rank: 2 } }), + ]); + + // hack for referencing + await db.scores.insert({ + scoreID: "usc_score_pb", + scoreMeta: { noteMod: "NORMAL", gaugeMod: "HARD" }, + } as ScoreDocument); + + const res = await mockApi + .get("/ir/usc/Controller/charts/USC_CHART_HASH/record") + .set("Authorization", "Bearer foo"); + + t.equal(res.body.statusCode, 20, "Should return 20"); + + t.strictSame( + res.body.body.record, + { + score: 9_000_000, + timestamp: 0, + crit: 50, + near: 30, + error: 10, + ranking: 1, + lamp: 3, + username: "test_zkldi", + noteMod: "NORMAL", + gaugeMod: "HARD", + }, + "Should correctly return the right score." + ); + + t.end(); + }); + + t.end(); +}); + +t.test("GET /charts/:chartHash/leaderboard", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(InsertFakeUSCAuth); + TestAuth("/ir/usc/Controller/:chartHash/leaderboard"); + + t.test("Should return 40 if mode is invalid", async (t) => { + const res = await mockApi + .get("/ir/usc/Controller/charts/USC_CHART_HASH/leaderboard") + .set("Authorization", "Bearer foo"); + + t.equal(res.body.statusCode, 40); + + const res2 = await mockApi + .get("/ir/usc/Controller/charts/USC_CHART_HASH/leaderboard?mode=invalid") + .set("Authorization", "Bearer foo"); + + t.equal(res2.body.statusCode, 40); + + t.end(); + }); + + t.test("Should return 40 if N is invalid", async (t) => { + const res = await mockApi + .get("/ir/usc/Controller/charts/USC_CHART_HASH/leaderboard?mode=best") + .set("Authorization", "Bearer foo"); + + t.equal(res.body.statusCode, 40); + + const res2 = await mockApi + .get("/ir/usc/Controller/charts/USC_CHART_HASH/leaderboard?mode=best&n=foo") + .set("Authorization", "Bearer foo"); + + t.equal(res2.body.statusCode, 40); + + t.end(); + }); + + t.test("Should return 44 if chart does not exist.", async (t) => { + const res = await mockApi + .get("/ir/usc/Controller/charts/UNKNOWN_HASH/leaderboard?mode=best") + .set("Authorization", "Bearer foo"); + + t.equal(res.body.statusCode, 44); + + t.end(); + }); + + t.test("Should return empty arr for mode = best if no scores", async (t) => { + const res = await mockApi + .get("/ir/usc/Controller/charts/USC_CHART_HASH/leaderboard?mode=best&n=5") + .set("Authorization", "Bearer foo"); + + t.equal(res.body.statusCode, 20); + + t.end(); + }); + + t.test("Should return scorePBs for mode = best", async (t) => { + await db["personal-bests"].insert([ + deepmerge(USC_SCORE_PB, {}), + deepmerge(USC_SCORE_PB, { + userID: 2, + scoreData: { + score: 8_000_000, + percent: 80, + }, + rankingData: { rank: 2 }, + composedFrom: { scorePB: "other_usc_score_pb" }, + }), + ]); + + await db.users.insert({ + id: 2, + username: "not_zkldi", + usernameLowercase: "not_zkldi", + } as PublicUserDocument); + + await db.scores.insert([ + { + scoreID: "usc_score_pb", + scoreMeta: { noteMod: "NORMAL", gaugeMod: "HARD" }, + }, + { + scoreID: "other_usc_score_pb", + scoreMeta: { noteMod: "NORMAL", gaugeMod: "HARD" }, + }, + ] as Array); + + const res = await mockApi + .get("/ir/usc/Controller/charts/USC_CHART_HASH/leaderboard?mode=best&n=2") + .set("Authorization", "Bearer foo"); + + t.equal(res.body.statusCode, 20); + t.strictSame( + res.body.body, + [ + { + score: 9000000, + timestamp: 0, + crit: 50, + near: 30, + error: 10, + ranking: 1, + lamp: 3, + username: "test_zkldi", + noteMod: "NORMAL", + gaugeMod: "HARD", + }, + { + score: 8000000, + timestamp: 0, + crit: 50, + near: 30, + error: 10, + ranking: 2, + lamp: 3, + username: "not_zkldi", + noteMod: "NORMAL", + gaugeMod: "HARD", + }, + ], + "Should return the scores." + ); + + const res2 = await mockApi + .get("/ir/usc/Controller/charts/USC_CHART_HASH/leaderboard?mode=best&n=1") + .set("Authorization", "Bearer foo"); + + t.equal(res2.body.statusCode, 20); + t.strictSame( + res2.body.body, + [ + { + score: 9000000, + timestamp: 0, + crit: 50, + near: 30, + error: 10, + ranking: 1, + lamp: 3, + username: "test_zkldi", + noteMod: "NORMAL", + gaugeMod: "HARD", + }, + ], + "Should return the scores dependent on N." + ); + + t.end(); + }); + + t.end(); +}); + +t.test("POST /replays", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(ResetCDN); + t.beforeEach(InsertFakeUSCAuth); + + t.test("Should successfully upload a file where an identifier matches", async (t) => { + await db.scores.insert({ + game: "usc", + userID: 1, + scoreID: "MOCK_IDENTIFIER", + } as ScoreDocument); + + const replayFile = GetKTDataBuffer("./usc/replayfile.urf"); + + const res = await mockApi + .post("/ir/usc/Controller/replays") + .field("identifier", "MOCK_IDENTIFIER") + .attach("replay", replayFile, "replay.urf") + .set("Authorization", "Bearer foo"); + + t.equal(res.status, 200); + + t.strictSame(res.body, { + statusCode: 20, + description: "Saved replay.", + body: {}, + }); + + const stored = await CDNRetrieve("/uscir/replays/MOCK_IDENTIFIER"); + + t.strictSame(stored, replayFile, "Should store the same file exactly."); + + t.end(); + }); + + t.test("Should reject a request with no identifier", async (t) => { + await db.scores.insert({ + game: "usc", + userID: 1, + scoreID: "MOCK_IDENTIFIER", + } as ScoreDocument); + + const replayFile = GetKTDataBuffer("./usc/replayfile.urf"); + + const res = await mockApi + .post("/ir/usc/Controller/replays") + .attach("replay", replayFile, "replay.urf") + .set("Authorization", "Bearer foo"); + + t.equal(res.status, 200); + + t.strictSame(res.body, { + statusCode: 40, + description: "No Identifier Provided.", + }); + + t.end(); + }); + + t.test("Should reject a request with no file", async (t) => { + await db.scores.insert({ + game: "usc", + userID: 1, + scoreID: "MOCK_IDENTIFIER", + } as ScoreDocument); + + // const replayFile = GetKTDataBuffer("./usc/replayfile.urf"); + + const res = await mockApi + .post("/ir/usc/Controller/replays") + .field("identifier", "MOCK_IDENTIFIER") + + // .attach("replay", replayFile, "replay.urf") + .set("Authorization", "Bearer foo"); + + t.equal(res.status, 200); + + t.strictSame(res.body, { + statusCode: 40, + description: "No File Provided.", + }); + + t.end(); + }); + + t.test("Should reject a request with an invalid identifier", async (t) => { + await db.scores.insert({ + game: "usc", + userID: 1, + scoreID: "MOCK_IDENTIFIER", + } as ScoreDocument); + + const replayFile = GetKTDataBuffer("./usc/replayfile.urf"); + + const res = await mockApi + .post("/ir/usc/Controller/replays") + .field("identifier", "INVALID_IDENTIFIER") + .attach("replay", replayFile, "replay.urf") + .set("Authorization", "Bearer foo"); + + t.equal(res.status, 200); + + t.strictSame(res.body, { + statusCode: 44, + description: "No score corresponds to this identifier.", + }); + + t.end(); + }); + + t.end(); +}); + +t.test("POST /scores", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(async () => { + await db["api-tokens"].insert({ + userID: 1, + identifier: "token", + permissions: { submit_score: true }, + token: "token", + fromAPIClient: null, + }); + }); + + const validRequest = { + chart: { + chartHash: "USC_CHART_HASH", + artist: "test_artist", + title: "test", + level: 5, + difficulty: 0, + effector: "test", + illustrator: "test", + bpm: "test", + }, + score: { + score: 9_000_000, + gauge: 0.5, + timestamp: 1_000_000, + crit: 5, + near: 4, + error: 3, + early: 2, + late: 1, + options: { + gaugeType: 0, + gaugeOpt: 0, + mirror: true, + random: false, + autoFlags: 0, + }, + windows: { + perfect: 46, + good: 150, + hold: 150, + miss: 300, + slam: 84, + }, + }, + }; + + t.test("Should submit a score from a valid request.", async (t) => { + const res = await mockApi + .post("/ir/usc/Controller/scores") + .set("Authorization", "Bearer token") + .send(validRequest); + + t.equal(res.body.statusCode, 20); + + const dbScore = await db.scores.findOne({ + game: "usc", + }); + + t.hasStrict(dbScore, { + scoreData: { + score: 9_000_000, + percent: 90, + lamp: "FAILED", + }, + scoreMeta: { + noteMod: "MIRROR", + gaugeMod: "NORMAL", + }, + }); + + t.end(); + }); + + t.skip("Should orphan a score and return 22 if chart has never been seen.", async (t) => { + const res = await mockApi + .post("/ir/usc/Controller/scores") + .set("Authorization", "Bearer token") + .send( + deepmerge(validRequest, { + chart: { + chartHash: "NEW_CHART", + }, + }) + ); + + t.equal(res.body.statusCode, 22); + + t.match( + res.body.description, + "(1/3)", + "Should contain (required/outOf) in the response description." + ); + + const dbScore = await db.scores.findOne({ + game: "usc", + }); + + t.equal(dbScore, null, "Should not exist in db."); + + const orphanData = await db["orphan-chart-queue"].findOne({ + "chartDoc.data.hashSHA1": "NEW_CHART", + }); + + t.strictSame(orphanData?.userIDs, [1]); + + t.strictSame(orphanData?.songDoc, { + title: "test", + artist: "test_artist", + id: 0, + altTitles: [], + searchTerms: [], + data: {}, + }); + + t.hasStrict(orphanData?.chartDoc, { + songID: 0, + difficulty: "NOV", + data: { + hashSHA1: "NEW_CHART", + }, + isPrimary: true, + level: "5", + levelNum: 5, + }); + + t.end(); + }); + + t.skip("Should unorphan charts on their Nth unique user.", async (t) => { + await db["api-tokens"].insert([ + { + userID: 2, + identifier: "token2", + permissions: { submit_score: true }, + token: "token2", + fromAPIClient: null, + }, + { + userID: 3, + identifier: "token3", + permissions: { submit_score: true }, + token: "token3", + fromAPIClient: null, + }, + ]); + + await db.users.insert([ + { + id: 2, + username: "foo", + usernameLowercase: "foo", + }, + { + id: 3, + username: "bar", + usernameLowercase: "bar", + }, + ] as Array); + + const res = await mockApi + .post("/ir/usc/Controller/scores") + .set("Authorization", "Bearer token") + .send( + deepmerge(validRequest, { + chart: { + chartHash: "NEW_CHART", + }, + }) + ); + + t.equal(res.body.statusCode, 22); + + const res2 = await mockApi + .post("/ir/usc/Controller/scores") + .set("Authorization", "Bearer token2") + .send( + deepmerge(validRequest, { + chart: { + chartHash: "NEW_CHART", + }, + }) + ); + + t.equal(res2.body.statusCode, 22); + + const orphanData = await db["orphan-chart-queue"].findOne({ + "chartDoc.data.hashSHA1": "NEW_CHART", + }); + + t.strictSame(orphanData?.userIDs, [1, 2]); + + const res3 = await mockApi + .post("/ir/usc/Controller/scores") + .set("Authorization", "Bearer token3") + .send( + deepmerge(validRequest, { + chart: { + chartHash: "NEW_CHART", + }, + }) + ); + + t.equal(res3.body.statusCode, 20); + + const orphanData2 = await db["orphan-chart-queue"].findOne({ + "chartDoc.data.hashSHA1": "NEW_CHART", + }); + + t.equal(orphanData2, null, "Orphan data should be removed from the database."); + + const score = await db.scores.findOne({ + game: "usc", + userID: 3, + }); + + t.hasStrict(score, { + scoreData: { + score: 9_000_000, + percent: 90, + lamp: "FAILED", + }, + scoreMeta: { + noteMod: "MIRROR", + gaugeMod: "NORMAL", + }, + }); + + t.end(); + }); + + t.skip("Should maintain separate orphan queues for the separate playtypes.", async (t) => { + await db["api-tokens"].insert([ + { + userID: 2, + identifier: "token2", + permissions: { submit_score: true }, + token: "token2", + fromAPIClient: null, + }, + { + userID: 3, + identifier: "token3", + permissions: { submit_score: true }, + token: "token3", + fromAPIClient: null, + }, + { + userID: 4, + identifier: "token4", + permissions: { submit_score: true }, + token: "token4", + fromAPIClient: null, + }, + ]); + + await db.users.insert([ + { + id: 2, + username: "foo", + usernameLowercase: "foo", + }, + { + id: 3, + username: "bar", + usernameLowercase: "bar", + }, + { + id: 4, + username: "baz", + usernameLowercase: "baz", + }, + ] as Array); + + const res = await mockApi + .post("/ir/usc/Controller/scores") + .set("Authorization", "Bearer token") + .send( + deepmerge(validRequest, { + chart: { + chartHash: "NEW_CHART", + }, + }) + ); + + t.equal(res.body.statusCode, 22); + + const res2 = await mockApi + .post("/ir/usc/Controller/scores") + .set("Authorization", "Bearer token2") + .send( + deepmerge(validRequest, { + chart: { + chartHash: "NEW_CHART", + }, + }) + ); + + t.equal(res2.body.statusCode, 22); + + const orphanData = await db["orphan-chart-queue"].findOne({ + "chartDoc.data.hashSHA1": "NEW_CHART", + idString: "usc:Controller", + }); + + t.strictSame(orphanData?.userIDs, [1, 2]); + + const res3 = await mockApi + .post("/ir/usc/Keyboard/scores") + .set("Authorization", "Bearer token3") + .send( + deepmerge(validRequest, { + chart: { + chartHash: "NEW_CHART", + }, + }) + ); + + t.equal(res3.body.statusCode, 22); + + const orphanData2 = await db["orphan-chart-queue"].findOne({ + "chartDoc.data.hashSHA1": "NEW_CHART", + idString: "usc:Controller", + }); + + t.strictSame( + orphanData2?.userIDs, + [1, 2], + "Should not have added userID 3 to the list of userIDs." + ); + + const res4 = await mockApi + .post("/ir/usc/Controller/scores") + .set("Authorization", "Bearer token4") + .send( + deepmerge(validRequest, { + chart: { + chartHash: "NEW_CHART", + }, + }) + ); + + t.equal(res4.body.statusCode, 20); + + const orphanData3 = await db["orphan-chart-queue"].findOne({ + "chartDoc.data.hashSHA1": "NEW_CHART", + idString: "usc:Controller", + }); + + t.equal(orphanData3, null, "Should have removed the orphan chart from the database."); + + const score = await db.scores.findOne({ + game: "usc", + userID: 4, + }); + + t.hasStrict(score, { + scoreData: { + score: 9_000_000, + percent: 90, + lamp: "FAILED", + }, + scoreMeta: { + noteMod: "MIRROR", + gaugeMod: "NORMAL", + }, + }); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/ir/usc/_playtype/router.ts b/server/src/server/router/ir/usc/_playtype/router.ts new file mode 100644 index 000000000..1b468da50 --- /dev/null +++ b/server/src/server/router/ir/usc/_playtype/router.ts @@ -0,0 +1,437 @@ +import { CreatePOSTScoresResponseBody, TachiScoreToServerScore } from "./usc"; +import { Router } from "express"; +import db from "external/mongo/db"; +import { CDNStoreOrOverwrite } from "lib/cdn/cdn"; +import { GetUSCIRReplayURL } from "lib/cdn/url-format"; +import { ONE_MEGABYTE } from "lib/constants/filesize"; +import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi"; +import { USCIR_MAX_LEADERBOARD_N } from "lib/constants/usc-ir"; +import CreateLogCtx from "lib/logger/logger"; +import { AssertStrAsPositiveNonZeroInt } from "lib/score-import/framework/common/string-asserts"; +import { ExpressWrappedScoreImportMain } from "lib/score-import/framework/express-wrapper"; +import { ServerConfig, TachiConfig } from "lib/setup/config"; +import p from "prudence"; +import { RequirePermissions } from "server/middleware/auth"; +import { CreateMulterSingleUploadMiddleware } from "server/middleware/multer-upload"; +import { FormatPrError } from "utils/prudence"; +import { AssignToReqTachiData, GetTachiData } from "utils/req-tachi-data"; +import type { USCClientChart } from "./types"; +import type { RequestHandler } from "express"; +import type { + ChartDocument, + ImportDocument, + PBScoreDocument, + Playtypes, + SuccessfulAPIResponse, +} from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +const router: Router = Router({ mergeParams: true }); + +enum STATUS_CODES { + UNAUTH = 41, + CHART_REFUSE = 42, + FORBIDDEN = 43, + NOT_FOUND = 44, + SERVER_ERROR = 50, + SUCCESS = 20, + ACCEPTED = 22, + BAD_REQ = 40, +} + +const ValidateUSCRequest: RequestHandler = async (req, res, next) => { + const token = req.header("Authorization"); + + if (token === undefined) { + return res.status(200).json({ + statusCode: STATUS_CODES.BAD_REQ, + description: "No auth token provided.", + }); + } + + const splitToken = token.split(" "); + + if (splitToken.length !== 2 || splitToken[0] !== "Bearer") { + return res.status(200).json({ + statusCode: STATUS_CODES.BAD_REQ, + description: "Invalid Authorization Header. Expected Bearer ", + }); + } + + const uscAuthDoc = await db["api-tokens"].findOne({ + token: splitToken[1], + }); + + if (!uscAuthDoc) { + return res.status(200).json({ + statusCode: STATUS_CODES.UNAUTH, + description: "Unauthorized.", + }); + } + + req[SYMBOL_TACHI_API_AUTH] = uscAuthDoc; + + next(); +}; + +router.use((req, res, next) => { + if (req.params.playtype !== "Keyboard" && req.params.playtype !== "Controller") { + return res.status(400).json({ + success: false, + description: "Invalid playtype. Expected Keyboard or Controller.", + }); + } + + next(); +}); + +router.use(ValidateUSCRequest); + +// This is an implementation of the USCIR spec as per https://uscir.readthedocs.io. +// This specification always returns 200 OK, regardless of whether the result was okay +// as the HTTP code is used to determine whether the server received the request properly, +// rather than the result of the request. + +/** + * Used to check your connection to the server, and receive some basic information. + * https://uscir.readthedocs.io/en/latest/endpoints/heartbeat.html + * @name GET /ir/usc/:playtype + */ +router.get("/", (req, res) => + res.status(200).json({ + statusCode: STATUS_CODES.SUCCESS, + description: "IR Request Successful.", + body: { + serverTime: Math.floor(Date.now() / 1000), + serverName: TachiConfig.NAME, + irVersion: "0.4.0-a", + }, + }) +); + +const RetrieveChart: RequestHandler = async (req, res, next) => { + const chart = await db.charts.usc.findOne({ + "data.hashSHA1": req.params.chartHash, + playtype: req.params.playtype as Playtypes["usc"], + }); + + if (!chart) { + return res.status(200).json({ + statusCode: STATUS_CODES.NOT_FOUND, + description: `This IR doesn't have any record data yet, or ${ + ServerConfig.USC_QUEUE_SIZE + } ${ + ServerConfig.USC_QUEUE_SIZE === 1 ? "person has" : "people have" + } not played the chart yet.`, + }); + } + + AssignToReqTachiData(req, { + uscChartDoc: chart as ChartDocument<"usc:Controller" | "usc:Keyboard">, + }); + + next(); +}; + +/** + * Used to check if the server will accept a score for a given chart in advance of submitting it. + * https://uscir.readthedocs.io/en/latest/endpoints/chart-charthash.html + * @name GET /ir/usc/:playtype/charts/:chartHash + */ +router.get("/charts/:chartHash", RetrieveChart, (req, res) => { + return res.status(200).json({ + statusCode: STATUS_CODES.SUCCESS, + description: "This chart is tracked by the IR.", + body: {}, + }); +}); + +/** + * Used to retrieve the current server record for the chart with the specified hash. + * https://uscir.readthedocs.io/en/latest/endpoints/record.html + * @name GET /ir/usc/:playtype/charts/:chartHash/record + */ +router.get("/charts/:chartHash/record", RetrieveChart, async (req, res) => { + const chart = GetTachiData(req, "uscChartDoc"); + + const serverRecord = (await db["personal-bests"].findOne({ + chartID: chart.chartID, + "rankingData.rank": 1, + })) as PBScoreDocument<"usc:Controller" | "usc:Keyboard"> | null; + + if (!serverRecord) { + return res.status(200).json({ + statusCode: STATUS_CODES.NOT_FOUND, + description: "No server record found.", + }); + } + + const serverScore = await TachiScoreToServerScore(serverRecord); + + return res.status(200).json({ + statusCode: STATUS_CODES.SUCCESS, + description: "Retrieved score.", + body: { record: serverScore }, + }); +}); + +/** + * Used to retrieve some particular useful subset of the scores from the server. + * https://uscir.readthedocs.io/en/latest/endpoints/leaderboard.html + * @name GET /ir/usc/:playtype/charts/:chartHash/leaderboard + */ +router.get("/charts/:chartHash/leaderboard", RetrieveChart, async (req, res) => { + const chart = GetTachiData(req, "uscChartDoc"); + + if (!(typeof req.query.mode === "string" && ["best", "rivals"].includes(req.query.mode))) { + return res.status(200).json({ + statusCode: STATUS_CODES.BAD_REQ, + description: `Invalid 'mode' param - expected 'best' or 'rivals'.`, + }); + } + + if (typeof req.query.n !== "string") { + return res.status(200).json({ + statusCode: STATUS_CODES.BAD_REQ, + description: `Invalid 'n' param - expected a positive non-zero integer less than or equal to ${USCIR_MAX_LEADERBOARD_N}.`, + }); + } + + let n; + + try { + n = AssertStrAsPositiveNonZeroInt(req.query.n, "Invalid 'N' param."); + } catch (_err) { + return res.status(200).json({ + statusCode: STATUS_CODES.BAD_REQ, + description: `Invalid 'n' param - expected a positive non-zero integer less than or equal to ${USCIR_MAX_LEADERBOARD_N}.`, + }); + } + + if (n >= USCIR_MAX_LEADERBOARD_N) { + n = USCIR_MAX_LEADERBOARD_N; + } + + const mode = req.query.mode as "best" | "rivals"; + + if (mode === "rivals") { + return res.status(200).json({ + statusCode: STATUS_CODES.BAD_REQ, + description: "This is currently unsupported.", + }); + } + + const bestScores = (await db["personal-bests"].find( + { + chartID: chart.chartID, + }, + { + sort: { + "scoreData.percent": -1, + }, + limit: n, + } + )) as Array>; + + const serverScores = await Promise.all(bestScores.map(TachiScoreToServerScore)); + + return res.status(200).json({ + statusCode: STATUS_CODES.SUCCESS, + description: `Returned ${serverScores.length} scores.`, + body: serverScores, + }); +}); + +const PR_USCIR_CHART_DOC = { + chartHash: "string", + artist: "string", + title: "string", + level: p.isBoundedInteger(1, 20), + difficulty: p.isBoundedInteger(0, 3), + effector: "string", + illustrator: "string", + bpm: "string", +}; + +/** + * Sends a score to the server. + * https://uscir.readthedocs.io/en/latest/endpoints/score-submit.html + * @name POST /ir/usc/:playtype/scores + */ +router.post("/scores", RequirePermissions("submit_score"), async (req, res) => { + const playtype = req.params.playtype as Playtypes["usc"]; + + const chartErr = p( + req.safeBody.chart, + PR_USCIR_CHART_DOC, + {}, + { + throwOnNonObject: false, + allowExcessKeys: true, + } + ); + + if (chartErr) { + return res.status(200).json({ + statusCode: STATUS_CODES.BAD_REQ, + description: FormatPrError(chartErr, "Invalid chart."), + }); + } + + const uscChart = req.safeBody.chart as USCClientChart; + + const chartDoc = (await db.charts.usc.findOne({ + "data.hashSHA1": uscChart.chartHash, + playtype, + })) as ChartDocument<"usc:Controller" | "usc:Keyboard"> | null; + + const userID = req[SYMBOL_TACHI_API_AUTH].userID!; + + const importRes = await ExpressWrappedScoreImportMain(userID, false, "ir/usc", [ + req.safeBody, + uscChart.chartHash, + playtype, + ]); + + if (importRes.statusCode === 500) { + return res.status(200).json({ + statusCode: STATUS_CODES.SERVER_ERROR, + description: importRes.body.description, + }); + } else if (importRes.statusCode !== 200) { + return res.status(200).json({ + statusCode: STATUS_CODES.BAD_REQ, + description: importRes.body.description, + }); + } + + const importDoc = (importRes.body as SuccessfulAPIResponse).body as ImportDocument; + + // If the import failed, AND the import failure WAS NOT that the chart didnt exist + // report that error instead. + if (importDoc.errors[0] && importDoc.errors[0].type !== "KTDataNotFound") { + logger.info(`USC Import Failed ${importDoc.errors[0].message}`, { + importDoc, + userID, + }); + + return res.status(200).json({ + statusCode: STATUS_CODES.BAD_REQ, + description: `${importDoc.errors[0].type} ${importDoc.errors[0].message}`, + }); + } + + // If this was an orphan chart request, return ACCEPTED, + // since it may be unorphaned in the future + if (!chartDoc) { + return res.status(200).json({ + statusCode: STATUS_CODES.ACCEPTED, + description: `This score has been saved, but the chart is not currently on the IR.`, + body: {}, + }); + } + + // If the chartDoc exists, any error is a failure here. + if (importDoc.errors[0]) { + logger.info(`USC Import Failed ${importDoc.errors[0].message}`, { + importDoc, + userID, + }); + + return res.status(200).json({ + statusCode: STATUS_CODES.BAD_REQ, + description: `${importDoc.errors[0].type} ${importDoc.errors[0].message}`, + }); + } + + if (importDoc.scoreIDs[0] === undefined) { + return res.status(200).json({ + statusCode: STATUS_CODES.SUCCESS, + description: "Score was identical to another score you already have.", + }); + } + + try { + const body = await CreatePOSTScoresResponseBody(userID, chartDoc, importDoc.scoreIDs[0]); + + return res.status(200).json({ + statusCode: STATUS_CODES.SUCCESS, + description: "Successfully imported score.", + body, + }); + } catch (_err) { + return res.status(200).json({ + statusCode: STATUS_CODES.SERVER_ERROR, + description: "An internal server error has occured.", + }); + } +}); + +/** + * Used to submit the replay for a given score when requested by the server. + * https://uscir.readthedocs.io/en/latest/endpoints/replay-submit.html + * @name POST /ir/usc/:playtype/replays + */ +router.post( + "/replays", + RequirePermissions("submit_score"), + CreateMulterSingleUploadMiddleware("replay", ONE_MEGABYTE, logger, false), + async (req, res) => { + if (typeof req.safeBody.identifier !== "string") { + return res.status(200).json({ + statusCode: STATUS_CODES.BAD_REQ, + description: "No Identifier Provided.", + }); + } + + if (!req.file) { + return res.status(200).json({ + statusCode: STATUS_CODES.BAD_REQ, + description: "No File Provided.", + }); + } + + // The userID and game thing here are VALIDATION! + // The score MUST belong to the requesting user and + // MUST also be for USC. + // Otherwise, anyone could overwrite anyone elses + // score replays! + const correspondingScore = await db.scores.findOne({ + userID: req[SYMBOL_TACHI_API_AUTH].userID!, + scoreID: req.safeBody.identifier, + game: "usc", + }); + + if (!correspondingScore) { + return res.status(200).json({ + statusCode: STATUS_CODES.NOT_FOUND, + description: "No score corresponds to this identifier.", + }); + } + + try { + await CDNStoreOrOverwrite( + GetUSCIRReplayURL(correspondingScore.scoreID), + req.file.buffer + ); + + return res.status(200).json({ + statusCode: STATUS_CODES.SUCCESS, + description: "Saved replay.", + body: {}, + }); + } catch (err) { + // impossible to test pretty much. + /* istanbul ignore next */ + logger.error(`USCIR Replay Store error.`, { err }); + /* istanbul ignore next */ + return res.status(200).json({ + statusCode: STATUS_CODES.SERVER_ERROR, + description: "An error has occured in storing the replay.", + }); + } + } +); + +export default router; diff --git a/server/src/server/router/ir/usc/_playtype/types.ts b/server/src/server/router/ir/usc/_playtype/types.ts new file mode 100644 index 000000000..7ccab5052 --- /dev/null +++ b/server/src/server/router/ir/usc/_playtype/types.ts @@ -0,0 +1,53 @@ +import type { integer } from "tachi-common"; + +export interface USCServerScore { + score: integer; + lamp: 0 | 1 | 2 | 3 | 4 | 5; + timestamp: integer; + crit: integer; + near: integer; + error: integer; + ranking: integer; + gaugeMod: "HARD" | "NORMAL" | "PERMISSIVE"; + noteMod: "MIR-RAN" | "MIRROR" | "NORMAL" | "RANDOM"; + username: string; +} + +export interface USCClientScore { + score: integer; + gauge: number; + timestamp: integer; + crit: integer; + near: integer; + error: integer; + early: integer | null; + late: integer | null; + combo: integer | null; + options: { + gaugeType: 0 | 1 | 2; + gaugeOpt: integer; + mirror: boolean; + random: boolean; + + // ??? - Not sure what these are. + autoFlags: integer; + }; + windows: { + perfect: number; + good: number; + hold: number; + miss: number; + slam: number; + }; +} + +export interface USCClientChart { + chartHash: string; + artist: string; + title: string; + level: integer; + difficulty: 0 | 1 | 2 | 3; + effector: string; + illustrator: string; + bpm: string; +} diff --git a/server/src/server/router/ir/usc/_playtype/usc.test.ts b/server/src/server/router/ir/usc/_playtype/usc.test.ts new file mode 100644 index 000000000..6a716cdd6 --- /dev/null +++ b/server/src/server/router/ir/usc/_playtype/usc.test.ts @@ -0,0 +1,415 @@ +import { CreatePOSTScoresResponseBody, TachiScoreToServerScore } from "./usc"; +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import type { + ChartDocument, + PBScoreDocument, + PublicUserDocument, + ScoreDocument, +} from "tachi-common"; + +const mockScorePB: PBScoreDocument<"usc:Controller" | "usc:Keyboard"> = { + chartID: "USC_CHART_ID", + calculatedData: { + VF6: 0, + }, + composedFrom: { + scorePB: "USC_EXAMPLE_SCORE_PB_ID", + lampPB: "USC_EXAMPLE_LAMP_PB_ID", + }, + game: "usc", + highlight: false, + isPrimary: true, + playtype: "Controller", + rankingData: { + outOf: 2, + rank: 1, + }, + scoreData: { + esd: null, + grade: "AAA+", + gradeIndex: 7, + judgements: { + critical: 100, + miss: 15, + }, + hitMeta: {}, + lamp: "EXCESSIVE CLEAR", + lampIndex: 3, + percent: 95, + score: 9_500_000, + }, + songID: 1, + timeAchieved: null, + userID: 1, +}; + +const mockScoreDocument = { + scoreID: "USC_EXAMPLE_SCORE_PB_ID", + scoreMeta: { + noteMod: "MIRROR", + gaugeMod: "HARD", + }, +} as ScoreDocument; + +t.test("#TachiScoreToServerScore", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should correctly convert a tachiScore to a serverScore", async (t) => { + await db.scores.insert(mockScoreDocument); + + const res = await TachiScoreToServerScore(mockScorePB); + + t.strictSame( + res, + { + score: 9_500_000, + timestamp: 0, + crit: 100, + near: 0, + error: 15, + ranking: 1, + lamp: 3, + username: "test_zkldi", + noteMod: "MIRROR", + gaugeMod: "HARD", + }, + "Should return the right ServerScore." + ); + + t.end(); + }); + + t.test("Should work for timestamped scores", async (t) => { + await db.scores.insert(mockScoreDocument); + + const res = await TachiScoreToServerScore( + deepmerge(mockScorePB, { timeAchieved: 1_621_844_762_995 }) + ); + + t.strictSame( + res, + { + score: 9_500_000, + timestamp: 1_621_844_762, + crit: 100, + near: 0, + error: 15, + ranking: 1, + lamp: 3, + username: "test_zkldi", + noteMod: "MIRROR", + gaugeMod: "HARD", + }, + "Should return the right ServerScore." + ); + + t.end(); + }); + + t.test("Should throw if user document does not exist.", (t) => { + t.rejects( + () => TachiScoreToServerScore(deepmerge(mockScorePB, { userID: 2 } as ScoreDocument)), + { + message: /User 2 from PB on chart.*has no user document\?/u, + } + ); + + t.end(); + }); + + t.test("Should throw if scorePB document does not exist.", (t) => { + t.rejects(() => TachiScoreToServerScore(mockScorePB), { + message: + /Score USC_EXAMPLE_SCORE_PB_ID does not exist, but is referenced in 1's PBDoc on/u, + }); + + t.end(); + }); + + t.end(); +}); + +// yeah +const uscScorePBsSet = [ + { + userID: 1, + scoreData: { + score: 9_000_000, + }, + rankingData: { + rank: 5, + outOf: 10, + }, + }, + { + userID: 2, + scoreData: { + score: 9_100_000, + }, + rankingData: { + rank: 4, + outOf: 10, + }, + }, + { + userID: 3, + scoreData: { + score: 9_200_000, + }, + rankingData: { + rank: 3, + outOf: 10, + }, + }, + { + userID: 4, + scoreData: { + score: 9_300_000, + }, + rankingData: { + rank: 2, + outOf: 10, + }, + }, + { + userID: 5, + scoreData: { + score: 9_400_000, + }, + rankingData: { + rank: 1, + outOf: 10, + }, + }, + { + userID: 6, + scoreData: { + score: 8_900_000, + }, + rankingData: { + rank: 6, + outOf: 10, + }, + }, + { + userID: 7, + scoreData: { + score: 8_800_000, + }, + rankingData: { + rank: 7, + outOf: 10, + }, + }, + { + userID: 8, + scoreData: { + score: 8_700_000, + }, + rankingData: { + rank: 8, + outOf: 10, + }, + }, + { + userID: 9, + scoreData: { + score: 8_600_000, + }, + rankingData: { + rank: 9, + outOf: 10, + }, + }, + { + userID: 10, + scoreData: { + score: 8_500_000, + }, + rankingData: { + rank: 10, + outOf: 10, + }, + }, +].map((e) => deepmerge(mockScorePB, e) as unknown as PBScoreDocument); + +const mockUserDocs = [2, 3, 4, 5, 6, 7, 8, 9, 10].map((e) => ({ + id: e, + username: e.toString(), + usernameLowercase: e.toString(), +})) as Array; + +t.test("#CreatePOSTScoresResponseBody", async (t) => { + t.beforeEach(ResetDBState); + + const chartDoc = (await db.charts.usc.findOne()) as ChartDocument< + "usc:Controller" | "usc:Keyboard" + >; + + t.test("Should correctly return POSTScoresResponseBody", async (t) => { + await db.scores.insert(mockScoreDocument); + + await db["personal-bests"].insert(uscScorePBsSet); + await db.users.insert(mockUserDocs); + + await db.scores.insert({ + scoreID: "USER_1_SCORE_PB", + scoreMeta: { + replayID: "foo_bar", + }, + } as unknown as ScoreDocument); + + const res = await CreatePOSTScoresResponseBody(1, chartDoc, "USER_1_SCORE_PB"); + + t.hasStrict(res, { + score: { + score: 9_000_000, + username: "test_zkldi", + ranking: 5, + }, + serverRecord: { + score: 9_400_000, + username: "5", + ranking: 1, + }, + isServerRecord: false, + isPB: false, + sendReplay: "USER_1_SCORE_PB", + adjacentAbove: [ + { score: 9_300_000, username: "4", ranking: 2 }, + { score: 9_200_000, username: "3", ranking: 3 }, + { score: 9_100_000, username: "2", ranking: 4 }, + ], + adjacentBelow: [ + { score: 8_900_000, username: "6", ranking: 6 }, + { score: 8_800_000, username: "7", ranking: 7 }, + { score: 8_700_000, username: "8", ranking: 8 }, + ], + }); + + t.end(); + }); + + t.test("Should not return serverRecord in adjacentAbove", async (t) => { + await db.scores.insert(mockScoreDocument); + + await db["personal-bests"].insert(uscScorePBsSet); + await db.users.insert(mockUserDocs); + + await db.scores.insert({ + scoreID: "USER_4_SCORE_PB", + } as ScoreDocument); + + const res = await CreatePOSTScoresResponseBody(4, chartDoc, "USER_4_SCORE_PB"); + + t.hasStrict(res, { + score: { + score: 9_300_000, + username: "4", + ranking: 2, + }, + serverRecord: { + ranking: 1, + }, + isServerRecord: false, + isPB: false, + sendReplay: "USER_4_SCORE_PB", + }); + + t.strictSame( + res.adjacentAbove.map((e) => e.ranking), + [] + ); + + t.strictSame( + res.adjacentBelow.map((e) => e.ranking), + [3, 4, 5] + ); + + t.end(); + }); + + t.test("Should trim serverRecord in adjacentAbove", async (t) => { + await db.scores.insert(mockScoreDocument); + + await db["personal-bests"].insert(uscScorePBsSet); + await db.users.insert(mockUserDocs); + + await db.scores.insert({ + scoreID: "USER_3_SCORE_PB", + } as ScoreDocument); + + const res = await CreatePOSTScoresResponseBody(3, chartDoc, "USER_3_SCORE_PB"); + + t.hasStrict(res, { + score: { + score: 9_200_000, + username: "3", + ranking: 3, + }, + serverRecord: { + ranking: 1, + }, + isServerRecord: false, + isPB: false, + sendReplay: "USER_3_SCORE_PB", + }); + + t.strictSame( + res.adjacentAbove.map((e) => e.ranking), + [2] + ); + + t.strictSame( + res.adjacentBelow.map((e) => e.ranking), + [4, 5, 6] + ); + + t.end(); + }); + + t.test("Should throw on no ScorePB", async (t) => { + await db.scores.insert(mockScoreDocument); + + // await db["personal-bests"].insert(uscScorePBsSet); + await db.users.insert(mockUserDocs); + + await db.scores.insert({ + scoreID: "USER_1_SCORE_PB", + scoreMeta: { + replayID: "foo_bar", + }, + } as unknown as ScoreDocument); + + t.rejects(() => CreatePOSTScoresResponseBody(1, chartDoc, "USER_1_SCORE_PB"), { + message: /Score was imported for chart, but no ScorePB was available on this chart/u, + }); + + t.end(); + }); + + t.test("Should throw on no original score", async (t) => { + await db.scores.insert(mockScoreDocument); + + await db["personal-bests"].insert(uscScorePBsSet); + await db.users.insert(mockUserDocs); + + // await db.scores.insert({ + // scoreID: "USER_1_SCORE_PB", + // scoreMeta: { + // replayID: "foo_bar", + // }, + // } as any); + + t.rejects(() => CreatePOSTScoresResponseBody(1, chartDoc, "USER_1_SCORE_PB"), { + message: /Score with ID USER_1_SCORE_PB is not in the database/u, + }); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/server/router/ir/usc/_playtype/usc.ts b/server/src/server/router/ir/usc/_playtype/usc.ts new file mode 100644 index 000000000..0e8ef536b --- /dev/null +++ b/server/src/server/router/ir/usc/_playtype/usc.ts @@ -0,0 +1,202 @@ +import db from "external/mongo/db"; +import { USCIR_ADJACENT_SCORE_N } from "lib/constants/usc-ir"; +import CreateLogCtx from "lib/logger/logger"; +import { MStoS } from "utils/misc"; +import { GetPBOnChart, GetServerRecordOnChart } from "utils/scores"; +import type { USCServerScore } from "./types"; +import type { ChartDocument, integer, PBScoreDocument, ScoreDocument } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +export const TACHI_LAMP_TO_USC: Record< + PBScoreDocument<"usc:Controller" | "usc:Keyboard">["scoreData"]["lamp"], + USCServerScore["lamp"] +> = { + // we don't do NO PLAY, so its not handled. + FAILED: 1, + CLEAR: 2, + "EXCESSIVE CLEAR": 3, + "ULTIMATE CHAIN": 4, + "PERFECT ULTIMATE CHAIN": 5, +}; + +/** + * Converts a Tachi Score to the ServerScoreDocument + * as specified in the USCIR spec. This function silently + * returns sentinel values in the case that certain + * fields are null. + */ +export async function TachiScoreToServerScore( + tachiScore: PBScoreDocument<"usc:Controller" | "usc:Keyboard"> +): Promise { + // @optimisable + // Repeated calls to this may pre-emptively provide usernames + // and score PBs. + const userDoc = await db.users.findOne( + { + id: tachiScore.userID, + }, + { + projection: { + username: 1, + }, + } + ); + + if (!userDoc) { + logger.severe( + `User ${tachiScore.userID} from PB on chart ${tachiScore.chartID} has no user document?` + ); + throw new Error( + `User ${tachiScore.userID} from PB on chart ${tachiScore.chartID} has no user document?` + ); + } + + const scorePB = (await db.scores.findOne({ + scoreID: tachiScore.composedFrom.scorePB, + })) as ScoreDocument<"usc:Controller" | "usc:Keyboard"> | null; + + if (!scorePB) { + logger.severe( + `Score ${tachiScore.composedFrom.scorePB} does not exist, but is referenced in ${tachiScore.userID}'s PBDoc on ${tachiScore.chartID}?` + ); + + throw new Error( + `Score ${tachiScore.composedFrom.scorePB} does not exist, but is referenced in ${tachiScore.userID}'s PBDoc on ${tachiScore.chartID}?` + ); + } + + return { + score: tachiScore.scoreData.score, + timestamp: MStoS(tachiScore.timeAchieved ?? 0), + crit: tachiScore.scoreData.judgements.critical ?? 0, + near: tachiScore.scoreData.judgements.near ?? 0, + error: tachiScore.scoreData.judgements.miss ?? 0, + ranking: tachiScore.rankingData.rank, + lamp: TACHI_LAMP_TO_USC[tachiScore.scoreData.lamp], + username: userDoc.username, + noteMod: scorePB.scoreMeta.noteMod ?? "NORMAL", + gaugeMod: scorePB.scoreMeta.gaugeMod ?? "NORMAL", + }; +} + +export async function CreatePOSTScoresResponseBody( + userID: integer, + chartDoc: ChartDocument<"usc:Controller" | "usc:Keyboard">, + scoreID: string +): Promise { + const scorePB = (await GetPBOnChart(userID, chartDoc.chartID)) as PBScoreDocument< + "usc:Controller" | "usc:Keyboard" + > | null; + + if (!scorePB) { + logger.severe(`Score was imported for chart, but no ScorePB was available on this chart?`, { + chartDoc, + scoreID, + }); + throw new Error( + `Score was imported for chart, but no ScorePB was available on this chart?` + ); + } + + const ktServerRecord = (await GetServerRecordOnChart(chartDoc.chartID)) as PBScoreDocument< + "usc:Controller" | "usc:Keyboard" + > | null; + + // this is impossible to trigger without making a race-condition. + /* istanbul ignore next */ + if (!ktServerRecord) { + logger.severe( + `Score was imported for chart, but no Server Record was available on this chart?`, + { + chartDoc, + scoreID, + } + ); + throw new Error( + `Score was imported for chart, but no Server Record was available on this chart?` + ); + } + + const usersRanking = scorePB.rankingData.rank; + + // This returns immediately ranked higher + // than the current user. + + const adjAbove = (await db["personal-bests"].find( + { + chartID: chartDoc.chartID, + "rankingData.rank": { $lt: usersRanking }, + }, + { + limit: USCIR_ADJACENT_SCORE_N, + sort: { "rankingData.rank": -1 }, + } + )) as Array>; + + // The specification enforces that we return them in + // ascending order, though, so we reverse this after + // the query. + adjAbove.reverse(); + + // if the users ranking implies that the above query + // returned the server record (i.e. they are ranked + // between #1 and #1 + N) + // delete the server record from adjAbove. + if (usersRanking - USCIR_ADJACENT_SCORE_N <= 1) { + adjAbove.shift(); + } + + // Similar to above, this returns the N most immediate + // scores below the given user. + const adjBelow = (await db["personal-bests"].find( + { + chartID: chartDoc.chartID, + "rankingData.rank": { $gt: usersRanking }, + }, + { + limit: USCIR_ADJACENT_SCORE_N, + sort: { "rankingData.rank": 1 }, + } + )) as Array>; + + const [score, serverRecord, adjacentAbove, adjacentBelow] = await Promise.all([ + TachiScoreToServerScore(scorePB), + TachiScoreToServerScore(ktServerRecord), + Promise.all(adjAbove.map(TachiScoreToServerScore)), + Promise.all(adjBelow.map(TachiScoreToServerScore)), + ]); + + const originalScore = (await db.scores.findOne({ + scoreID, + })) as ScoreDocument<"usc:Controller" | "usc:Keyboard"> | null; + + if (!originalScore) { + logger.severe( + `Score with ID ${scoreID} is not in the database, but was claimed to be inserted?` + ); + throw new Error( + `Score with ID ${scoreID} is not in the database, but was claimed to be inserted?` + ); + } + + return { + score, + serverRecord, + isServerRecord: scorePB.userID === ktServerRecord.userID, + isPB: scorePB.composedFrom.scorePB === scoreID, + sendReplay: originalScore.scoreID, + adjacentAbove, + adjacentBelow, + }; +} + +export interface POSTScoresResponseBody { + score: USCServerScore; + serverRecord: USCServerScore; + adjacentAbove: Array; + adjacentBelow: Array; + isPB: boolean; + isServerRecord: boolean; + sendReplay: string; +} diff --git a/server/src/server/router/ir/usc/router.ts b/server/src/server/router/ir/usc/router.ts new file mode 100644 index 000000000..d3d99d11e --- /dev/null +++ b/server/src/server/router/ir/usc/router.ts @@ -0,0 +1,8 @@ +import uscirRouter from "./_playtype/router"; +import { Router } from "express"; + +const router: Router = Router({ mergeParams: true }); + +router.use("/:playtype", uscirRouter); + +export default router; diff --git a/server/src/server/router/router.ts b/server/src/server/router/router.ts new file mode 100644 index 000000000..5c2843b6c --- /dev/null +++ b/server/src/server/router/router.ts @@ -0,0 +1,20 @@ +import apiRouterV1 from "./api/v1/router"; +import irRouter from "./ir/router"; +import { RejectIfBanned, SetRequestPermissions } from "../middleware/auth"; +import { NormalRateLimitMiddleware } from "../middleware/rate-limiter"; +import { Router } from "express"; +import { UpdateLastSeen } from "server/middleware/update-last-seen"; + +const router: Router = Router({ mergeParams: true }); + +router.use("/ir", NormalRateLimitMiddleware, irRouter); + +// request perms only apply to the api, IR may reuse this +// but also may require custom authentication. +router.use(SetRequestPermissions); +router.use(UpdateLastSeen); +router.use(RejectIfBanned); + +router.use("/api/v1", apiRouterV1); + +export default router; diff --git a/server/src/server/server.ts b/server/src/server/server.ts new file mode 100644 index 000000000..fbe6f4616 --- /dev/null +++ b/server/src/server/server.ts @@ -0,0 +1,201 @@ +// THIS IMPORT **MUST** GO HERE. DO NOT MOVE IT. IT MUST OCCUR BEFORE ANYTHING HAPPENS WITH EXPRESS +// BUT AFTER EXPRESS IS IMPORTED. +// eslint-disable-next-line import/order +import express from "express"; +import "express-async-errors"; + +import { RequestLoggerMiddleware } from "./middleware/request-logger"; +import mainRouter from "./router/router"; +import connectRedis from "connect-redis"; +import expressSession from "express-session"; +import { RedisClient } from "external/redis/redis"; +import helmet from "helmet"; +import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi"; +import CreateLogCtx from "lib/logger/logger"; +import { Environment, ServerConfig, TachiConfig } from "lib/setup/config"; +import { IsNonEmptyString, IsRecord } from "utils/misc"; +import type { Express } from "express"; +import type { integer } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +let store; + +if (Environment.nodeEnv !== "test") { + logger.info("Connecting ExpressSession to Redis.", { bootInfo: true }); + const RedisStore = connectRedis(expressSession); + + store = new RedisStore({ + host: "localhost", + port: 6379, + client: RedisClient, + prefix: TachiConfig.NAME, + }); +} + +const userSessionMiddleware = expressSession({ + // append node_env onto the end of the session name + // so we can separate tokens under the same URL. + // say for staging.kamaitachi.xyz + name: `${TachiConfig.NAME.replace(/ /gu, "_")}_SESSION`, + secret: ServerConfig.SESSION_SECRET, + store, + resave: true, + saveUninitialized: false, + cookie: { + secure: Environment.nodeEnv === "production" || ServerConfig.ENABLE_SERVER_HTTPS, + + // Very important. Without this, we're vulnerable to CSRF! + sameSite: "strict", + }, +}); + +const app: Express = express(); + +if (Environment.nodeEnv !== "production" && IsNonEmptyString(ServerConfig.CLIENT_DEV_SERVER)) { + logger.warn(`Enabling CORS requests from ${ServerConfig.CLIENT_DEV_SERVER}.`, { + bootInfo: true, + }); + + // Note: we have to assign it here to make sure it doesn't get modified! + // If we try and use ServerConfig.CLIENT_DEV_SERVER inside the callback, TS rightly + // complains that this value might end up being mutated to null/undefined. + // + // Even though we don't do that, + // we may aswell be correct about the whole thing. + const clientDevServerLocation = ServerConfig.CLIENT_DEV_SERVER; + + // Allow CORS requests from another server (since we have our dev server hosted separately). + app.use((req, res, next) => { + res.header("Access-Control-Allow-Origin", clientDevServerLocation); + res.header( + "Access-Control-Allow-Headers", + "Origin, X-Requested-With, Content-Type, Accept, X-User-Intent" + ); + res.header("Access-Control-Allow-Credentials", "true"); + res.header("Access-Control-Allow-Methods", "GET,POST,PATCH,PUT,DELETE,OPTIONS"); + next(); + }); + + // hack to allow all OPTIONS requests. Remember that this setting should not be on in production! + if (ServerConfig.OPTIONS_ALWAYS_SUCCEEDS === true) { + app.options("*", (req, res) => res.send()); + } +} else { + if (Environment.nodeEnv !== "test") { + logger.info("Enabling Helmet, as no CLIENT_DEV_SERVER was set, or we are in production.", { + bootInfo: true, + }); + } + + app.use(helmet()); +} + +app.use(userSessionMiddleware); + +// Most of these options are leveraged from KTAPI + +// Pass the IP of the user up our increasingly insane chain of nginx/docker nonsense +app.set("trust proxy", ["loopback", "linklocal", "uniquelocal"]); + +// we don't allow nesting in query strings. +app.set("query parser", "simple"); + +// taken from https://nodejs.org/api/process.html#process_event_unhandledrejection +// to avoid future deprecation. +process.on("unhandledRejection", (reason, promise) => { + // @ts-expect-error reason is an error, and the logger can handle errors + // it just refuses. + logger.error(reason, { promise }); +}); + +// enable reading json bodies +// limit them so as not to choke the api +app.use(express.json({ limit: "4mb" })); + +app.use((req, res, next) => { + // Always mount an empty req body. We operate under the assumption that req.body is + // always defined as atleast an object. + if (req.method !== "GET" && (typeof req.body !== "object" || req.body === null)) { + req.body = {}; + } + + // req.safeBody *is* just a type-safe req.body! + req.safeBody = req.body as Record; + + next(); +}); + +app.use(RequestLoggerMiddleware); + +app.use("/", mainRouter); + +// The SERVE_OWN_CDN option means that our /cdn path has to be hosted by us. In production, +// this is not the case (we have a dedicated nginx box for it running in a separate process). +// In dev, this is a pain to setup, so we can just run it locally. +if ( + ServerConfig.CDN_CONFIG.SAVE_LOCATION.TYPE === "LOCAL_FILESYSTEM" && + ServerConfig.CDN_CONFIG.SAVE_LOCATION.SERVE_OWN_CDN === true +) { + if (Environment.nodeEnv === "production") { + logger.warn( + `Running LOCAL_FILESYSTEM OWN_CDN in production. Consider making a separate process handle your CDN for performance.`, + { bootInfo: true } + ); + } + + logger.info(`Running own CDN at ${ServerConfig.CDN_CONFIG.SAVE_LOCATION.LOCATION}.`, { + bootInfo: true, + }); + + app.use("/cdn", express.static(ServerConfig.CDN_CONFIG.SAVE_LOCATION.LOCATION)); + app.get("/cdn/*", (req, res) => res.status(404).send("No content here.")); +} + +// completely stolen from ktapi error handler +interface ExpressJSONErr extends SyntaxError { + status: integer; + message: string; +} + +const MAIN_ERR_HANDLER: express.ErrorRequestHandler = (err, req, res, _next) => { + logger.info(`MAIN_ERR_HANDLER hit by request.`, { url: req.originalUrl }); + + if (err instanceof SyntaxError) { + const expErr: ExpressJSONErr = err as ExpressJSONErr; + + if (expErr.status === 400 && "body" in expErr) { + logger.info(`JSON Parsing Error?`, { + url: req.originalUrl, + userID: req[SYMBOL_TACHI_API_AUTH].userID, + }); + return res.status(400).send({ success: false, description: err.message }); + } + + // else, this isn't a JSON parsing error + } + + const unknownErr = err as unknown; + + if (IsRecord(unknownErr) && unknownErr.type === "entity.too.large") { + return res.status(413).json({ + success: false, + description: "Your request body was too large. The limit is 4MB.", + }); + } + + logger.error("Fatal error propagated to server root? ", { + err: unknownErr, + url: req.originalUrl, + authInfo: req[SYMBOL_TACHI_API_AUTH], + }); + + return res.status(500).json({ + success: false, + description: "A fatal internal server error has occured.", + }); +}; + +app.use(MAIN_ERR_HANDLER); + +export default app; diff --git a/server/src/test-utils/api-common.ts b/server/src/test-utils/api-common.ts new file mode 100644 index 000000000..535900e12 --- /dev/null +++ b/server/src/test-utils/api-common.ts @@ -0,0 +1,56 @@ +import mockApi from "./mock-api"; +import ResetDBState from "./resets"; +import db from "external/mongo/db"; +import t from "tap"; +import type { APIPermissions } from "tachi-common"; + +export function RequireAuthPerms( + url: string, + perms: APIPermissions | Array, + method: "DELETE" | "GET" | "PATCH" | "POST" | "PUT" = "GET" +) { + return t.test( + `Testing permissions for ${method} ${url} [${ + Array.isArray(perms) ? perms.join(", ") : perms + }]`, + async (t) => { + const m = method.toLowerCase() as Lowercase; + + const res = await mockApi[m](url); + + // 401 if no auth given + t.equal(res.statusCode, 401); + + await db["api-tokens"].insert({ + identifier: "temp_auth_perms", + permissions: {}, + token: "temp_auth", + userID: 1, + fromAPIClient: null, + }); + + const resAuth = await mockApi[m](url).set("Authorization", "Bearer temp_auth"); + + t.equal(resAuth.statusCode, 403); + + const prm = Array.isArray(perms) ? perms : [perms]; + + await db["api-tokens"].insert({ + identifier: "temp_auth_perms2", + permissions: Object.fromEntries(prm.map((e) => [e, true])), + token: "temp_auth2", + userID: 1, + fromAPIClient: null, + }); + + const resAuthed = await mockApi[m](url).set("Authorization", "Bearer temp_auth2"); + + t.not(resAuthed.statusCode, 401); + t.not(resAuthed.statusCode, 403); + + await ResetDBState(); + + t.end(); + } + ); +} diff --git a/server/src/test-utils/asserts.ts b/server/src/test-utils/asserts.ts new file mode 100644 index 000000000..2f36f6ed1 --- /dev/null +++ b/server/src/test-utils/asserts.ts @@ -0,0 +1,37 @@ +import Prudence from "prudence"; +import type { PrudenceSchema } from "prudence"; + +export function isApproximately( + t: Tap.Test, + number: number, + target: number, + message?: string, + lenience = 0.01 +) { + const result = Math.abs(number - target) < lenience; + + if (!result) { + return t.fail(`${number} was not close enough to ${target}`, { + errmsg: `${number} was not close enough to ${target}`, + }); + } + + t.pass(message); + + // return true; +} + +export function prAssert( + t: Tap.Test, + obj: unknown, + schema: PrudenceSchema, + message = "Unnamed Prudence Assertion" +) { + const err = Prudence(obj, schema); + + if (err) { + return t.fail(message, err); + } + + return t.pass(message); +} diff --git a/server/src/test-utils/cleanup.ts b/server/src/test-utils/cleanup.ts new file mode 100644 index 000000000..4fed67c1e --- /dev/null +++ b/server/src/test-utils/cleanup.ts @@ -0,0 +1,18 @@ +import { CloseServerConnection } from "./mock-api"; +import { WriteSnapshotData } from "./single-process-snapshot"; +import { CloseMongoConnection } from "external/mongo/db"; +import { CloseRedisConnection } from "external/redis/redis"; +import { CloseRedisPubSub } from "external/redis/redis-IPC"; +import { CloseScoreImportQueue } from "lib/score-import/worker/queue"; + +export async function CleanUpAfterTests() { + if (process.env.TAP_SNAPSHOT !== "" && process.env.TAP_SNAPSHOT !== undefined) { + WriteSnapshotData(); + } + + await CloseMongoConnection(); + await CloseServerConnection(); + await CloseRedisConnection(); + await CloseRedisPubSub(); + await CloseScoreImportQueue(); +} diff --git a/server/src/test-utils/fake-auth.ts b/server/src/test-utils/fake-auth.ts new file mode 100644 index 000000000..8400c9114 --- /dev/null +++ b/server/src/test-utils/fake-auth.ts @@ -0,0 +1,49 @@ +import ResetDBState from "./resets"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { ClearTestingRateLimitCache } from "server/middleware/rate-limiter"; +import { ALL_PERMISSIONS } from "tachi-common"; +import type supertest from "supertest"; + +const logger = CreateLogCtx(__filename); + +export async function CreateFakeAuthCookie(mockApi: supertest.SuperTest) { + await ResetDBState(); + ClearTestingRateLimitCache(); + + // possible security issue, ask hazel + const res = await mockApi.post("/api/v1/auth/login").send({ + username: "test_zkldi", + "!password": "password", + captcha: "asdf", + }); + + if (res.status !== 200) { + logger.crit("Failed to login. Cannot generate auth cookie."); + throw res.body; + } + + const headers = res.headers as Record>; + + const setCookieHeader: Array | undefined = headers["set-cookie"]; + + if (setCookieHeader === undefined) { + throw new Error(`Failed to login, no Set-Cookie returned in response?`); + } + + return setCookieHeader; +} + +// my local dev env hates this part because of pnpm +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export function InsertFakeTokenWithAllPerms(token: string): () => any { + return async () => { + await db["api-tokens"].insert({ + userID: 1, + identifier: "Mock API Token", + permissions: ALL_PERMISSIONS, + token, + fromAPIClient: null, + }); + }; +} diff --git a/server/src/test-utils/hack-setup.js b/server/src/test-utils/hack-setup.js new file mode 100644 index 000000000..97c5169cc --- /dev/null +++ b/server/src/test-utils/hack-setup.js @@ -0,0 +1,10 @@ +// This runs as JS because of https://github.com/tapjs/node-tap/issues/761 + +/* eslint-disable @typescript-eslint/no-var-requires */ +const { execSync } = require("child_process"); +const path = require("path"); + +const assert = require("assert"); + +assert(process.env.NODE_ENV === "test", "NODE_ENV WAS NOT TEST, BAILING"); +execSync(`ts-node ${path.join(__dirname, "./setup.ts")}`, { stdio: "inherit" }); diff --git a/server/src/test-utils/misc.ts b/server/src/test-utils/misc.ts new file mode 100644 index 000000000..08f3e27f8 --- /dev/null +++ b/server/src/test-utils/misc.ts @@ -0,0 +1,119 @@ +import { + FakeGameSettings, + FakeImport, + FakeNotification, + FakeOtherUser, + HC511Goal, + HC511UserGoal, + TestingIIDXSPScore, + TestingIIDXSPScorePB, + TestingSDVXScore, +} from "./test-data"; +import deepmerge from "deepmerge"; +import type { + Game, + GoalDocument, + GoalSubscriptionDocument, + ImportDocument, + integer, + NotificationDocument, + PBScoreDocument, + Playtype, + PublicUserDocument, + ScoreDocument, + UGPTSettings, + UserGameStats, +} from "tachi-common"; + +/** + * Async Generator To Array + */ +export async function agta(ag: AsyncIterable | Iterable) { + const a = []; + + for await (const el of ag) { + a.push(el); + } + + return a; +} + +/** + * Deep-modify an object. This is a wrapper around deepmerge that returns proper types. + */ +export function dmf(base: T, modifant: Partial): T { + return deepmerge(base, modifant, { + // The new array should replace the former one, instead of joining them together. + arrayMerge: (originalArray, newArray) => newArray as Array, + }); +} + +/** + * Make a fake user for testing. This automatically sets the username to something + * unique (to avoid index collisions) + * + * @param userID - The userID this fake user should have. + */ +export function mkFakeUser(userID: integer, modifant: Partial = {}) { + return dmf(FakeOtherUser, { + id: userID, + username: `user${userID}`, + usernameLowercase: `user${userID}`, + ...modifant, + }); +} + +export function mkFakeGameSettings( + userID: integer, + game: Game, + playtype: Playtype, + modifant: Partial = {} +) { + return dmf(FakeGameSettings, { + userID, + game, + playtype, + ...modifant, + }); +} + +export function mkFakeImport(modifant: Partial = {}) { + return dmf(FakeImport, modifant); +} + +export function mkFakeScoreIIDXSP(modifant: Partial> = {}) { + return dmf(TestingIIDXSPScore, modifant); +} + +export function mkFakeScoreSDVX(modifant: Partial> = {}) { + return dmf(TestingSDVXScore, modifant); +} + +export function mkFakePBIIDXSP(modifant: Partial> = {}) { + return dmf(TestingIIDXSPScorePB, modifant); +} + +export function mkFakeNotification(modifant: Partial = {}) { + return dmf(FakeNotification, modifant); +} + +export function mkFakeGoal(modifant: Partial = {}) { + return dmf(HC511Goal, modifant); +} + +export function mkFakeGoalSub(modifant: Partial = {}) { + return dmf(HC511UserGoal, modifant); +} + +export function mkFakeGameStats(userID: integer, modifant: Partial = {}) { + return dmf( + { + userID, + game: "iidx", + playtype: "SP", + classes: {}, + ratings: {}, + }, + modifant + ); +} diff --git a/server/src/test-utils/mock-api.ts b/server/src/test-utils/mock-api.ts new file mode 100644 index 000000000..3067b15df --- /dev/null +++ b/server/src/test-utils/mock-api.ts @@ -0,0 +1,26 @@ +import server from "../server/server"; +import CreateLogCtx from "lib/logger/logger"; +import supertest from "supertest"; + +const logger = CreateLogCtx(__filename); + +logger.verbose("Creating Mock Server Connection..."); +const connection = server.listen(); + +logger.verbose("Connecting to Supertest..."); +const mockApi = supertest(connection); + +export function CloseServerConnection() { + return new Promise((resolve, reject) => { + connection.close((err) => { + if (err) { + reject(err); + return; + } + + resolve(); + }); + }); +} + +export default mockApi; diff --git a/server/src/test-utils/mock-db/api-clients.json b/server/src/test-utils/mock-db/api-clients.json new file mode 100644 index 000000000..a0dc28bd5 --- /dev/null +++ b/server/src/test-utils/mock-db/api-clients.json @@ -0,0 +1,15 @@ +[ + { + "clientID": "OAUTH2_CLIENT_ID", + "clientSecret": "OAUTH2_CLIENT_SECRET", + "name": "Test_Service", + "author": 1, + "requestedPermissions": [ + "customise_profile" + ], + "redirectUri": "https://example.com/callback", + "webhookUri": null, + "apiKeyTemplate": null, + "apiKeyFilename": null + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/api-tokens.json b/server/src/test-utils/mock-db/api-tokens.json new file mode 100644 index 000000000..a9b345107 --- /dev/null +++ b/server/src/test-utils/mock-db/api-tokens.json @@ -0,0 +1,13 @@ +[ + { + "userID": 1, + "token": "fake_api_token", + "permissions": { + "submit_score": true, + "customise_profile": true, + "customise_score": true, + "customise_session": true + }, + "identifier": "Mock Token For Testing" + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/arc-saved-profiles.json b/server/src/test-utils/mock-db/arc-saved-profiles.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/server/src/test-utils/mock-db/arc-saved-profiles.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/bms-course-lookup.json b/server/src/test-utils/mock-db/bms-course-lookup.json new file mode 100644 index 000000000..0dda61ad7 --- /dev/null +++ b/server/src/test-utils/mock-db/bms-course-lookup.json @@ -0,0 +1,9 @@ +[ + { + "title": "GENOSIDE 2018 段位認定 Overjoy", + "md5sums": "cfad3baadce9e02c45021963453d7c9477d23be22b2370925c573d922276bce0188a99f74ab71804f2e360dcf484545cc46a81cb184f5a804c119930d6eba748", + "set": "genocideDan", + "playtype": "7K", + "value": 22 + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/charts-bms.json b/server/src/test-utils/mock-db/charts-bms.json new file mode 100644 index 000000000..0536b8fa0 --- /dev/null +++ b/server/src/test-utils/mock-db/charts-bms.json @@ -0,0 +1,26 @@ +[ + { + "songID": 27339, + "chartID": "88eb6cc5683e2740cbd07f588a5f3db1db8d467b", + "rgcID": null, + "data": { + "aiRating": "0", + "notecount": 2256, + "hashMD5": "38616b85332037cc12924f2ae2840262", + "hashSHA256": "195fe1be5c3e74fccd04dc426e05f8a9cfa8a1059c339d0a23e99f63661f0b7d", + "tableFolders": [ + { + "level": "17", + "table": "★" + } + ] + }, + "tierlistInfo": {}, + "level": "?", + "levelNum": 0, + "difficulty": "CHART", + "playtype": "7K", + "isPrimary": true, + "versions": [] + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/charts-chunithm.json b/server/src/test-utils/mock-db/charts-chunithm.json new file mode 100644 index 000000000..d0ed429df --- /dev/null +++ b/server/src/test-utils/mock-db/charts-chunithm.json @@ -0,0 +1,19 @@ +[ + { + "rgcID": null, + "chartID": "192b96bdb6150f80ba6412ce02df1249e16c0cb0", + "difficulty": "BASIC", + "songID": 3, + "playtype": "Single", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3 + }, + "tierlistInfo": {}, + "isPrimary": true, + "versions": [ + "paradiselost" + ] + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/charts-ddr.json b/server/src/test-utils/mock-db/charts-ddr.json new file mode 100644 index 000000000..04a6e6df0 --- /dev/null +++ b/server/src/test-utils/mock-db/charts-ddr.json @@ -0,0 +1,39 @@ +[ + { + "rgcID": null, + "chartID": "48024d36bbe76c9fed09c3ffdc19412925d1efd3", + "difficulty": "DIFFICULT", + "songID": 10, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "flags": { + "IN BASE GAME": true, + "N-1": true + }, + "data": { + "inGameID": "puty", + "songHash": "DQlQ1DlPbq900oqdOo8l0d6I1lIOl99l", + "arcChartID": "BD_uIVl5USj" + }, + "isPrimary": true, + "versions": [ + "2", + "3", + "4", + "5", + "max", + "max2", + "extreme", + "snova", + "snova2", + "x", + "x2", + "x3", + "2013", + "2014", + "a", + "a20" + ] + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/charts-iidx.json b/server/src/test-utils/mock-db/charts-iidx.json new file mode 100644 index 000000000..813e8e803 --- /dev/null +++ b/server/src/test-utils/mock-db/charts-iidx.json @@ -0,0 +1,36 @@ +[ + { + "rgcID": null, + "chartID": "c2311194e3897ddb5745b1760d2c0141f933e683", + "difficulty": "ANOTHER", + "songID": 1, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "tierlistInfo": {}, + "data": { + "inGameID": 1000, + "notecount": 786, + "arcChartID": "CYjwAuz7Yq9", + "2dxtraSet": null, + "hashSHA256": null, + "bpiCoefficient": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "16-cs", + "12-cs", + "10-cs", + "8-cs", + "7-cs", + "bmus" + ] + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/charts-jubeat.json b/server/src/test-utils/mock-db/charts-jubeat.json new file mode 100644 index 000000000..5ecf71cea --- /dev/null +++ b/server/src/test-utils/mock-db/charts-jubeat.json @@ -0,0 +1,20 @@ +[ + { + "chartID": "b90a319f18d1a746b330b8f4cd6f74874f664421", + "rgcID": null, + "songID": 1, + "level": "6", + "levelNum": 6, + "difficulty": "ADV", + "isPrimary": true, + "playtype": "Single", + "data": { + "inGameID": 10000001, + "isHardMode": false + }, + "tierlistInfo": {}, + "versions": [ + "festo" + ] + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/charts-pms.json b/server/src/test-utils/mock-db/charts-pms.json new file mode 100644 index 000000000..712a24150 --- /dev/null +++ b/server/src/test-utils/mock-db/charts-pms.json @@ -0,0 +1,58 @@ +[ + { + "chartID": "0446f1b54e90d631ff9fe98419ebaea9481fab1f", + "data": { + "hashMD5": "d1253dd56bb2087d0b0d474f0d562aae", + "hashSHA256": "a10193f7ae05ce839292dc716f182fda0b1cc6ac5382c2056f37e22ffba87b7d", + "notecount": 1065, + "tableFolders": [ + { + "table": "P●", + "level": "1" + } + ] + }, + "level": "?", + "levelNum": 0, + "playtype": "Controller", + "rgcID": null, + "songID": 1, + "tierlistInfo": { + "sgl-EC": { + "value": 46 + }, + "sgl-HC": { + "value": 46 + } + }, + "versions": [] + }, + { + "chartID": "ca553d77cbf8b3e9e7709dad6123ffed1695a1dd", + "data": { + "hashMD5": "d1253dd56bb2087d0b0d474f0d562aae", + "hashSHA256": "a10193f7ae05ce839292dc716f182fda0b1cc6ac5382c2056f37e22ffba87b7d", + "notecount": 1065, + "tableFolders": [ + { + "table": "P●", + "level": "1" + } + ] + }, + "level": "?", + "levelNum": 0, + "playtype": "Keyboard", + "rgcID": null, + "songID": 1, + "tierlistInfo": { + "sgl-EC": { + "value": 46 + }, + "sgl-HC": { + "value": 46 + } + }, + "versions": [] + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/charts-popn.json b/server/src/test-utils/mock-db/charts-popn.json new file mode 100644 index 000000000..30b8d3307 --- /dev/null +++ b/server/src/test-utils/mock-db/charts-popn.json @@ -0,0 +1,19 @@ +[ + { + "songID": 1, + "chartID": "de5344935963bf24a38a5d5693dd4dd3ddacf8d6", + "difficulty": "Easy", + "playtype": "9B", + "level": "1", + "levelNum": 1, + "rgcID": null, + "isPrimary": true, + "data": { + "hashSHA256": "2c26d666fa7c907e85115dbb279c267c14a263d47b2d46a93f99eae49d779119" + }, + "tierlistInfo": {}, + "versions": [ + "peace" + ] + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/charts-sdvx.json b/server/src/test-utils/mock-db/charts-sdvx.json new file mode 100644 index 000000000..ce70ac9a2 --- /dev/null +++ b/server/src/test-utils/mock-db/charts-sdvx.json @@ -0,0 +1,26 @@ +[ + { + "rgcID": null, + "chartID": "5088a4d0e1ee9d0cc2f625934306e45b1a60699b", + "difficulty": "ADV", + "songID": 1, + "playtype": "Single", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 1, + "arcChartID": "EOZ7FixCDpv" + }, + "isPrimary": true, + "versions": [ + "booth", + "inf", + "gw", + "heaven", + "vivid", + "exceed", + "konaste" + ], + "tierlistInfo": {} + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/charts-usc.json b/server/src/test-utils/mock-db/charts-usc.json new file mode 100644 index 000000000..45cf3bedc --- /dev/null +++ b/server/src/test-utils/mock-db/charts-usc.json @@ -0,0 +1,18 @@ +[ + { + "rgcID": null, + "chartID": "USC_CHART_ID", + "difficulty": "NOV", + "songID": 1, + "playtype": "Controller", + "levelNum": 1, + "level": "1", + "data": { + "isOfficial": true, + "hashSHA1": "USC_CHART_HASH" + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/charts-wacca.json b/server/src/test-utils/mock-db/charts-wacca.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/server/src/test-utils/mock-db/charts-wacca.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/counters.json b/server/src/test-utils/mock-db/counters.json new file mode 100644 index 000000000..7e0099572 --- /dev/null +++ b/server/src/test-utils/mock-db/counters.json @@ -0,0 +1,18 @@ +[ + { + "counterName": "real-counter", + "value": 2 + }, + { + "counterName": "users", + "value": 2 + }, + { + "counterName": "bms-song-id", + "value": 2 + }, + { + "counterName": "pms-song-id", + "value": 2 + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/fer-settings.json b/server/src/test-utils/mock-db/fer-settings.json new file mode 100644 index 000000000..6afc986a5 --- /dev/null +++ b/server/src/test-utils/mock-db/fer-settings.json @@ -0,0 +1,7 @@ +[ + { + "userID": 1, + "cards": null, + "forceStaticImport": false + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/folder-chart-lookup.json b/server/src/test-utils/mock-db/folder-chart-lookup.json new file mode 100644 index 000000000..85f1a6ea3 --- /dev/null +++ b/server/src/test-utils/mock-db/folder-chart-lookup.json @@ -0,0 +1,6 @@ +[ + { + "chartID": "c2311194e3897ddb5745b1760d2c0141f933e683", + "folderID": "ed9d8c734447ce67d7135c0067441a98cc81aeaf" + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/folders.json b/server/src/test-utils/mock-db/folders.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/server/src/test-utils/mock-db/folders.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/game-settings.json b/server/src/test-utils/mock-db/game-settings.json new file mode 100644 index 000000000..7af25afa6 --- /dev/null +++ b/server/src/test-utils/mock-db/game-settings.json @@ -0,0 +1,20 @@ +[ + { + "userID": 1, + "game": "iidx", + "playtype": "SP", + "preferences": { + "preferredScoreAlg": null, + "preferredSessionAlg": null, + "preferredProfileAlg": null, + "scoreBucket": null, + "defaultTable": null, + "stats": [], + "gameSpecific": { + "display2DXTra": false, + "bpiTarget": 0 + } + }, + "rivals": [] + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/game-stats-snapshots.json b/server/src/test-utils/mock-db/game-stats-snapshots.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/server/src/test-utils/mock-db/game-stats-snapshots.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/game-stats.json b/server/src/test-utils/mock-db/game-stats.json new file mode 100644 index 000000000..e76fafcdb --- /dev/null +++ b/server/src/test-utils/mock-db/game-stats.json @@ -0,0 +1,9 @@ +[ + { + "userID": 1, + "game": "iidx", + "playtype": "SP", + "classes": {}, + "ratings": {} + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/goal-subs.json b/server/src/test-utils/mock-db/goal-subs.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/server/src/test-utils/mock-db/goal-subs.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/goals.json b/server/src/test-utils/mock-db/goals.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/server/src/test-utils/mock-db/goals.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/import-locks.json b/server/src/test-utils/mock-db/import-locks.json new file mode 100644 index 000000000..9304cbdca --- /dev/null +++ b/server/src/test-utils/mock-db/import-locks.json @@ -0,0 +1,6 @@ +[ + { + "userID": 1, + "locked": false + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/imports.json b/server/src/test-utils/mock-db/imports.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/server/src/test-utils/mock-db/imports.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/invites.json b/server/src/test-utils/mock-db/invites.json new file mode 100644 index 000000000..cff760cf0 --- /dev/null +++ b/server/src/test-utils/mock-db/invites.json @@ -0,0 +1,18 @@ +[ + { + "code": "example_invite", + "createdBy": 1, + "createdAt": 0, + "consumed": false, + "consumedBy": null, + "consumedAt": null + }, + { + "code": "example_consumed_invite", + "createdBy": 1, + "createdAt": 1, + "consumed": true, + "consumedBy": 2, + "consumedAt": 123 + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/kai-auth-tokens.json b/server/src/test-utils/mock-db/kai-auth-tokens.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/server/src/test-utils/mock-db/kai-auth-tokens.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/migrations.json b/server/src/test-utils/mock-db/migrations.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/server/src/test-utils/mock-db/migrations.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/milestone-sets.json b/server/src/test-utils/mock-db/milestone-sets.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/server/src/test-utils/mock-db/milestone-sets.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/milestone-subs.json b/server/src/test-utils/mock-db/milestone-subs.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/server/src/test-utils/mock-db/milestone-subs.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/milestones.json b/server/src/test-utils/mock-db/milestones.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/server/src/test-utils/mock-db/milestones.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/notifications.json b/server/src/test-utils/mock-db/notifications.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/server/src/test-utils/mock-db/notifications.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/oauth2-auth-codes.json b/server/src/test-utils/mock-db/oauth2-auth-codes.json new file mode 100644 index 000000000..bf72e17b4 --- /dev/null +++ b/server/src/test-utils/mock-db/oauth2-auth-codes.json @@ -0,0 +1,5 @@ +[{ + "code": "AUTH_CODE", + "userID": 1, + "createdOn": 0 +}] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/orphan-chart-queue.json b/server/src/test-utils/mock-db/orphan-chart-queue.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/server/src/test-utils/mock-db/orphan-chart-queue.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/orphan-scores.json b/server/src/test-utils/mock-db/orphan-scores.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/server/src/test-utils/mock-db/orphan-scores.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/password-reset-codes.json b/server/src/test-utils/mock-db/password-reset-codes.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/server/src/test-utils/mock-db/password-reset-codes.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/personal-bests.json b/server/src/test-utils/mock-db/personal-bests.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/server/src/test-utils/mock-db/personal-bests.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/scores.json b/server/src/test-utils/mock-db/scores.json new file mode 100644 index 000000000..b614a4ddb --- /dev/null +++ b/server/src/test-utils/mock-db/scores.json @@ -0,0 +1,35 @@ +[ + { + "service": "e-amusement", + "game": "iidx", + "playtype": "SP", + "difficulty": "ANOTHER", + "userID": 1, + "scoreData": { + "score": 786, + "lamp": "HARD CLEAR", + "percent": 50, + "grade": "C", + "esd": 30, + "gradeIndex": 3, + "lampIndex": 4, + "judgements": { + "pgreat": 50, + "great": 10 + }, + "hitMeta": {} + }, + "scoreMeta": {}, + "calculatedData": { + "ktLampRating": 5 + }, + "timeAchieved": null, + "songID": 1, + "chartID": "c2311194e3897ddb5745b1760d2c0141f933e683", + "highlight": false, + "comment": null, + "timeAdded": 1, + "scoreID": "TESTING_SCORE_ID", + "importType": "file/eamusement-iidx-csv" + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/sessions.json b/server/src/test-utils/mock-db/sessions.json new file mode 100644 index 000000000..88860141c --- /dev/null +++ b/server/src/test-utils/mock-db/sessions.json @@ -0,0 +1,26 @@ +[ + { + "userID": 1, + "importType": "file/eamusement-iidx-csv", + "name": "adjective1 adjective2 noun1", + "sessionID": "Qe7b00261b1d3ba8e5c9ee4e76e77ea9f07d9493b", + "desc": null, + "game": "iidx", + "playtype": "SP", + "highlight": false, + "scoreInfo": [ + { + "scoreID": "TESTING_SCORE_ID", + "isNewScore": true + } + ], + "timeInserted": 1619454485988, + "timeStarted": 1608346320000, + "timeEnded": 1608369300000, + "calculatedData": { + "scorePerf": 0, + "lampPerf": 0, + "perf": 0 + } + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/songs-bms.json b/server/src/test-utils/mock-db/songs-bms.json new file mode 100644 index 000000000..a396b8512 --- /dev/null +++ b/server/src/test-utils/mock-db/songs-bms.json @@ -0,0 +1,15 @@ +[ + { + "id": 27339, + "title": "gazer [MANIAQ]", + "artist": "scytheleg / obj.siokaze", + "data": { + "subtitle": null, + "subartist": null, + "genre": "ELECTRANCE", + "tableString": null + }, + "searchTerms": [], + "altTitles": [] + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/songs-chunithm.json b/server/src/test-utils/mock-db/songs-chunithm.json new file mode 100644 index 000000000..50348d39b --- /dev/null +++ b/server/src/test-utils/mock-db/songs-chunithm.json @@ -0,0 +1,13 @@ +[ + { + "title": "B.B.K.K.B.K.K.", + "artist": "nora2r", + "id": 3, + "altTitles": [], + "searchTerms": [], + "data": { + "genre": "VARIETY", + "displayVersion": "chuni" + } + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/songs-ddr.json b/server/src/test-utils/mock-db/songs-ddr.json new file mode 100644 index 000000000..dbb9249a9 --- /dev/null +++ b/server/src/test-utils/mock-db/songs-ddr.json @@ -0,0 +1,14 @@ +[ + { + "title": "PUT YOUR FAITH IN ME", + "artist": "UZI-LAY", + "id": 10, + "altTitles": [], + "searchTerms": [ + "putyourfaithinme" + ], + "data": { + "displayVersion": "2" + } + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/songs-iidx.json b/server/src/test-utils/mock-db/songs-iidx.json new file mode 100644 index 000000000..0667b7b40 --- /dev/null +++ b/server/src/test-utils/mock-db/songs-iidx.json @@ -0,0 +1,13 @@ +[ + { + "title": "5.1.1.", + "artist": "dj nagureo", + "id": 1, + "altTitles": [], + "searchTerms": [], + "data": { + "genre": "PIANO AMBIENT", + "displayVersion": "1" + } + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/songs-jubeat.json b/server/src/test-utils/mock-db/songs-jubeat.json new file mode 100644 index 000000000..37c975a7d --- /dev/null +++ b/server/src/test-utils/mock-db/songs-jubeat.json @@ -0,0 +1,12 @@ +[ + { + "id": 1, + "title": "bass 2 bass", + "artist": "Ryu☆", + "searchTerms": [], + "altTitles": [], + "data": { + "displayVersion": "jubeat" + } + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/songs-pms.json b/server/src/test-utils/mock-db/songs-pms.json new file mode 100644 index 000000000..ae5bdd017 --- /dev/null +++ b/server/src/test-utils/mock-db/songs-pms.json @@ -0,0 +1,14 @@ +[ + { + "altTitles": [], + "artist": "Rocky", + "data": { + "genre": null, + "subartist": null, + "subtitle": null + }, + "id": 1, + "searchTerms": [], + "title": "Annihilate the living" + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/songs-popn.json b/server/src/test-utils/mock-db/songs-popn.json new file mode 100644 index 000000000..a3d07ae0b --- /dev/null +++ b/server/src/test-utils/mock-db/songs-popn.json @@ -0,0 +1,13 @@ +[ + { + "id": 1, + "title": "I REALLY WANT TO HURT YOU", + "artist": "SUGI & REO", + "searchTerms": [], + "altTitles": [], + "data": { + "displayVersion": null, + "genre": "ポップス" + } + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/songs-sdvx.json b/server/src/test-utils/mock-db/songs-sdvx.json new file mode 100644 index 000000000..f9ac1075e --- /dev/null +++ b/server/src/test-utils/mock-db/songs-sdvx.json @@ -0,0 +1,16 @@ +[ + { + "title": "ALBIDA Powerless Mix", + "artist": "無力P", + "id": 1, + "altTitles": [], + "searchTerms": [ + "albida_muryoku", + "アルビダパワーレスミックス" + ], + "data": { + "uscEquiv": null, + "displayVersion": "booth" + } + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/songs-usc.json b/server/src/test-utils/mock-db/songs-usc.json new file mode 100644 index 000000000..6f9dcd885 --- /dev/null +++ b/server/src/test-utils/mock-db/songs-usc.json @@ -0,0 +1,10 @@ +[ + { + "title": "ALBIDA Powerless Mix", + "artist": "無力P", + "id": 1, + "altTitles": [], + "searchTerms": [], + "data": {} + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/songs-wacca.json b/server/src/test-utils/mock-db/songs-wacca.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/server/src/test-utils/mock-db/songs-wacca.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/tables.json b/server/src/test-utils/mock-db/tables.json new file mode 100644 index 000000000..f3f5a060a --- /dev/null +++ b/server/src/test-utils/mock-db/tables.json @@ -0,0 +1,9 @@ +[{ + "tableID": "mock_table", + "game": "iidx", + "playtype": "SP", + "title": "testing table", + "description": "something", + "folders": ["testing_folder"], + "inactive": false +}] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/user-private-information.json b/server/src/test-utils/mock-db/user-private-information.json new file mode 100644 index 000000000..43dbd115f --- /dev/null +++ b/server/src/test-utils/mock-db/user-private-information.json @@ -0,0 +1,5 @@ +[{ + "userID": 1, + "password": "$2b$12$QRFCAxvFoNI2spszFPgt/e.qLy55GvYWlSHioa0AujRbFpChLwHmu", + "email": "thepasswordis@password.com" +}] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/user-settings.json b/server/src/test-utils/mock-db/user-settings.json new file mode 100644 index 000000000..ba919f0eb --- /dev/null +++ b/server/src/test-utils/mock-db/user-settings.json @@ -0,0 +1,12 @@ +[ + { + "userID": 1, + "preferences": { + "developerMode": true, + "invisible": false, + "advancedMode": false, + "contentiousContent": false, + "deletableScores": false + } + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-db/users.json b/server/src/test-utils/mock-db/users.json new file mode 100644 index 000000000..83225b47a --- /dev/null +++ b/server/src/test-utils/mock-db/users.json @@ -0,0 +1,17 @@ +[ + { + "username": "test_zkldi", + "usernameLowercase": "test_zkldi", + "id": 1, + "socialMedia": {}, + "joinDate": 123, + "lastSeen": 123, + "about": "test_user_not_real", + "status": "default status", + "customPfpLocation": null, + "customBannerLocation": null, + "clan": null, + "badges": [], + "authLevel": 3 + } +] \ No newline at end of file diff --git a/server/src/test-utils/mock-fetch.ts b/server/src/test-utils/mock-fetch.ts new file mode 100644 index 000000000..076e29fac --- /dev/null +++ b/server/src/test-utils/mock-fetch.ts @@ -0,0 +1,39 @@ +// We know! these are mock functions. +/* eslint-disable require-await */ +import type { Response } from "node-fetch"; +import type { NodeFetch } from "utils/fetch"; + +/** + * Creates a basic Fetch function used for statusCode checks. + */ +export function MockBasicFetch(data: Partial) { + return (() => data) as unknown as NodeFetch; +} + +/** + * Creates a fake "fetch" function which takes a url and returns + * a fake JSON -> data function at that key. + */ +export function MockJSONFetch(urlDataMap: Record) { + return ((url: string) => + new Promise((resolve, reject) => { + if (url in urlDataMap) { + const fakeResponse = { + status: 200, + text: () => Promise.resolve(JSON.stringify(urlDataMap[url])), + json: () => Promise.resolve(urlDataMap[url]), + } as unknown as Response; + + resolve(fakeResponse); + return; + } + + reject( + new Error( + `Unexpected url ${url} - No Data Present? Valid urls are ${Object.keys( + urlDataMap + ).join(", ")}` + ) + ); + })) as NodeFetch; +} diff --git a/server/src/test-utils/mock-index.html b/server/src/test-utils/mock-index.html new file mode 100644 index 000000000..1e698aa35 --- /dev/null +++ b/server/src/test-utils/mock-index.html @@ -0,0 +1 @@ +
Hello World.
\ No newline at end of file diff --git a/server/src/test-utils/mock-multer.ts b/server/src/test-utils/mock-multer.ts new file mode 100644 index 000000000..a476f6575 --- /dev/null +++ b/server/src/test-utils/mock-multer.ts @@ -0,0 +1,8 @@ +export function MockMulterFile(buffer: Buffer, originalname: string) { + const mockFile = { + originalname, + buffer, + } as unknown as Express.Multer.File; + + return mockFile; +} diff --git a/server/src/test-utils/resets.ts b/server/src/test-utils/resets.ts new file mode 100644 index 000000000..b7bb67967 --- /dev/null +++ b/server/src/test-utils/resets.ts @@ -0,0 +1,126 @@ +/** + * Resets the state of the database. + */ +import db from "external/mongo/db"; +import { SetIndexes } from "external/mongo/indexes"; +import CreateLogCtx from "lib/logger/logger"; +import { Environment, ServerConfig } from "lib/setup/config"; +import rimraf from "rimraf"; +import fs from "fs"; +import path from "path"; +import type { StaticDatabases } from "external/mongo/db"; +import type { ICollection } from "monk"; +import type { Game } from "tachi-common"; + +// im installing an entire library for rm rf... + +if (ServerConfig.CDN_CONFIG.SAVE_LOCATION.TYPE !== "LOCAL_FILESYSTEM") { + throw new Error( + `Cannot run tests when CDN_CONFIG.SAVE_LOCATION.TYPE is not LOCAL_FILESYSTEM! (Got ${ServerConfig.CDN_CONFIG.SAVE_LOCATION.TYPE}.)` + ); +} + +const logger = CreateLogCtx(__filename); + +const DATA_DIR = path.join(__dirname, "./mock-db"); + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +const CACHE: Record> = {}; + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +async function ResetState(data: Array, collection: ICollection) { + await collection.remove({}); + + await collection.insert(data); +} + +function GetAndCache( + filename: string, + fileLoc: string +): { data: Array; collection: ICollection } { + let collection: ICollection; + + if (filename.startsWith("songs-")) { + collection = db.songs[filename.split("-")[1] as Game]; + } else if (filename.startsWith("charts-")) { + collection = db.charts[filename.split("-")[1] as Game]; + } else if (filename in db) { + collection = db[filename as StaticDatabases]; + } else { + throw new Error( + `Panicked when trying to get collection for ${filename}. Does this collection exist?` + ); + } + + const cacheExists = CACHE[filename]; + + if (cacheExists) { + return { data: cacheExists, collection }; + } + + const data: unknown = JSON.parse(fs.readFileSync(fileLoc, "utf-8")); + + if (!Array.isArray(data)) { + throw new Error(`Panic, ${filename} not JSONArray?`); + } + + CACHE[filename] = data; + + return { data, collection }; +} + +let CACHE_FILENAMES: Array | undefined; + +export default async function ResetDBState() { + let files; + + if (CACHE_FILENAMES) { + files = CACHE_FILENAMES; + } else { + files = fs.readdirSync(DATA_DIR); + CACHE_FILENAMES = files; + } + + const promises = []; + + for (const file of files) { + const filename = path.basename(file, ".json"); + const fileLoc = path.join(DATA_DIR, file); + + const { data, collection } = GetAndCache(filename, fileLoc); + + promises.push(ResetState(data, collection)); + } + + await Promise.all(promises); +} + +export function ResetCDN() { + return new Promise((resolve, reject) => { + if (ServerConfig.CDN_CONFIG.SAVE_LOCATION.TYPE !== "LOCAL_FILESYSTEM") { + throw new Error( + `Cannot run tests when CDN_CONFIG.SAVE_LOCATION.TYPE is not LOCAL_FILESYSTEM! (Got ${ServerConfig.CDN_CONFIG.SAVE_LOCATION.TYPE}.)` + ); + } + + rimraf(ServerConfig.CDN_CONFIG.SAVE_LOCATION.LOCATION, (err) => { + if (err) { + reject(err); + } + + resolve(); + }); + }); +} + +export async function SetIndexesForDB() { + await ResetDBState(); + const url = `${Environment.mongoUrl}/testingdb`; + + logger.info(`Setting indexes for ${url}`); + + await SetIndexes(url, true); + + logger.info(`Done.`); + return true; +} diff --git a/server/src/test-utils/server.ts b/server/src/test-utils/server.ts new file mode 100644 index 000000000..f8806cf6f --- /dev/null +++ b/server/src/test-utils/server.ts @@ -0,0 +1,7 @@ +import server from "../server/server"; +import supertest from "supertest"; + +const mockServer = supertest(server); + +// mock the server for requests +export default mockServer; diff --git a/server/src/test-utils/setup.ts b/server/src/test-utils/setup.ts new file mode 100644 index 000000000..75ec9495d --- /dev/null +++ b/server/src/test-utils/setup.ts @@ -0,0 +1,7 @@ +import { SetIndexesForDB } from "./resets"; +import { monkDB } from "external/mongo/db"; + +SetIndexesForDB() + .then(monkDB.close) + .then(() => process.exit(0)) + .catch(() => process.exit(1)); diff --git a/server/src/test-utils/single-process-snapshot.ts b/server/src/test-utils/single-process-snapshot.ts new file mode 100644 index 000000000..d7fb2b029 --- /dev/null +++ b/server/src/test-utils/single-process-snapshot.ts @@ -0,0 +1,36 @@ +import { IsNonEmptyString } from "utils/misc"; +import fs from "fs"; +import path from "path"; + +const SNAP_PATH = path.join(__dirname, "./snapshots/snapshot-data.json"); + +type Snapshots = Record; + +function ReadSnapshotData() { + let snapshots: Snapshots = {}; + + if (fs.existsSync(SNAP_PATH)) { + snapshots = JSON.parse(fs.readFileSync(SNAP_PATH, "utf-8")) as Snapshots; + } + + return snapshots; +} + +export function WriteSnapshotData() { + fs.writeFileSync(SNAP_PATH, JSON.stringify(snapshotData, null, "\t")); +} + +const snapshotData = ReadSnapshotData(); + +export function TestSnapshot(t: Tap.Test, value: string, testName: string) { + if (IsNonEmptyString(process.env.TAP_SNAPSHOT)) { + snapshotData[testName] = value; + WriteSnapshotData(); + } else { + if (snapshotData[testName] === undefined) { + return t.fail(`No snapshot exists for ${testName}. Have you ran pnpm snap?`); + } + + t.equal(value, snapshotData[testName], `Snapshot: ${testName}`); + } +} diff --git a/server/src/test-utils/single-process-tap.ts b/server/src/test-utils/single-process-tap.ts new file mode 100644 index 000000000..6adbd8d11 --- /dev/null +++ b/server/src/test-utils/single-process-tap.ts @@ -0,0 +1,17 @@ +import "external/mongo/db"; +import { CleanUpAfterTests } from "./cleanup"; +import glob from "glob"; +import t from "tap"; +import path from "path"; + +const files = glob.sync(path.join(__dirname, "../../", "**/*.test.ts")); + +process.env.NODE_PATH = path.join(__dirname, "../../"); + +for (const file of files) { + // Deliberate -- we're doing hackery here. + // eslint-disable-next-line @typescript-eslint/no-require-imports + require(file); +} + +t.teardown(CleanUpAfterTests); diff --git a/server/src/test-utils/snapshots/snapshot-data.json b/server/src/test-utils/snapshots/snapshot-data.json new file mode 100644 index 000000000..7c33f52ed --- /dev/null +++ b/server/src/test-utils/snapshots/snapshot-data.json @@ -0,0 +1,31 @@ +{ + "Invalid Goal: negative percent": "[criteria.value] Expected number to be greater than or equal to 0. (Received -1)", + "Invalid Goal: percent of 0 is a non-goal": "Invalid value of 0 for percent goal. Percents must be between 0 and 100.", + "Invalid Goal: percent greater than 100": "Invalid value of 100.1 for percent goal. Percents must be between 0 and 100.", + "Invalid Goal: abs without countNum": "[criteria.countNum] Expected number to be greater than or equal to 0. (Received nothing (undefined))", + "Invalid Goal: proportion without countNum": "[criteria.countNum] Expected number to be greater than or equal to 0. (Received nothing (undefined))", + "Invalid Goal: single with countNum": "[criteria.countNum] Invalid countNum for mode 'single'. Must not have one! (Received 123)", + "Invalid Goal: nonsense mode": "[criteria.mode] Expected any of single, absolute, proportion. (Received nonsense)", + "Invalid Goal: abs with countNum but charts.type == single": "Invalid countNum for goal with criteria.mode of 'absolute'. Expected a whole number less than the total amount of charts available and greater than 1. (Got 1, while total charts was 1.)", + "Invalid Goal: nonsense charts.type": "[charts.type] Expected any of single, multi, folder, any. (Received nonsense)", + "Invalid Goal: charts.data when type == any": "[charts.data] Invalid charts.data for type 'any'. Must not have any data! (Received foo)", + "Invalid Goal: charts.data array when type == single": "[charts.data] Expected a string in charts.data due to charts.type being 'single'.", + "Invalid Goal: charts.data array of identical chartIDs": "Expected charts.data to match 2 charts. Instead, it only matched 1. Are all of these chartIDs valid?", + "Invalid Goal: charts.data array of single chartID": "[charts.data] Expected an array of 2 to 5 strings in charts.data due to charts.type being 'multi'.", + "Invalid Goal: charts.data array of chartIDs that don't exist": "Expected charts.data to match 2 charts. Instead, it only matched 1. Are all of these chartIDs valid?", + "Invalid Goal: charts.data folder refers to folder that doesn't exist": "A folder with id fake-folder does not exist for iidx:SP.", + "Invalid Goal: nonsense charts.data": "A chart with id nonsense does not exist for iidx:SP.", + "Invalid Goal: multi-score for iidx is illegal": "Invalid key for iidx with multiple charts. Creating score goals on multiple charts where score is relative to notecount is a terrible idea, and has been disabled.", + "Invalid Goal: too big grade": "Invalid value of 10 for grade goal. No such grade exists at that index.", + "Invalid Goal: invalid grade": "Invalid value of 0.5 for grade goal. No such grade exists at that index.", + "Invalid Goal: too big lamp": "Invalid value of 8 for lamp goal. No such lamp exists at that index.", + "Invalid Goal: invalid lamp": "Invalid value of 0.5 for lamp goal. No such lamp exists at that index.", + "Invalid Goal: proportion with negative countNum": "[criteria.countNum] Expected number to be greater than or equal to 0. (Received -0.5)", + "Invalid Goal: proportion with greater than 1 countNum": "Invalid countNum for goal with criteria.mode of 'proportion'. Expected a decimal in (0, 1]", + "Invalid Goal: proportion which results in countNum of 0": "countNum (0.05) is too small for a goal with 2 charts. Would result in requiring 0 charts to achieve the goal.", + "Invalid Goal: charts.data array of chartIDs where some don't exist": "Expected charts.data to match 2 charts. Instead, it only matched 1. Are all of these chartIDs valid?", + "Invalid Goal: folder-score for iidx is illegal": "Invalid key for iidx with multiple charts. Creating score goals on multiple charts where score is relative to notecount is a terrible idea, and has been disabled.", + "Invalid Goal: any-score for iidx is illegal": "Invalid key for iidx with multiple charts. Creating score goals on multiple charts where score is relative to notecount is a terrible idea, and has been disabled.", + "Invalid Goal: charts single but criteria not.": "Invalid countNum for goal with criteria.mode of 'absolute'. Expected a whole number less than the total amount of charts available and greater than 1. (Got 2, while total charts was 1.)", + "Invalid Goal: too big score": "Invalid value of 9000 for goal. Maximum score possible on this chart is 1572." +} \ No newline at end of file diff --git a/server/src/test-utils/test-data.ts b/server/src/test-utils/test-data.ts new file mode 100644 index 000000000..b5244d80e --- /dev/null +++ b/server/src/test-utils/test-data.ts @@ -0,0 +1,1005 @@ +import dm from "deepmerge"; +import db from "external/mongo/db"; +import { + USC_DEFAULT_HOLD, + USC_DEFAULT_MISS, + USC_DEFAULT_NEAR, + USC_DEFAULT_PERFECT, + USC_DEFAULT_SLAM, +} from "lib/constants/usc-ir"; +import { ApplyNTimes, RFA } from "utils/misc"; +import fs from "fs"; +import path from "path"; +import type { DryScore } from "lib/score-import/framework/common/types"; +import type { S3Score } from "lib/score-import/import-types/file/solid-state-squad/types"; +import type { BarbatosScore } from "lib/score-import/import-types/ir/barbatos/types"; +import type { FervidexScore } from "lib/score-import/import-types/ir/fervidex/types"; +import type { KsHookSV6CScore } from "lib/score-import/import-types/ir/kshook-sv6c/types"; +import type { LR2HookScore } from "lib/score-import/import-types/ir/lr2hook/types"; +import type { USCClientScore } from "server/router/ir/usc/_playtype/types"; +import type { + ChartDocument, + FolderDocument, + GoalDocument, + GoalSubscriptionDocument, + ImportDocument, + MilestoneDocument, + MilestoneSubscriptionDocument, + NotificationDocument, + PBScoreDocument, + PublicUserDocument, + ScoreDocument, + SongDocument, + UGPTSettings, +} from "tachi-common"; + +const file = (name: string) => path.join(__dirname, "/test-data", name); + +export const GetKTDataJSON = (name: string) => + JSON.parse(fs.readFileSync(file(name), "utf-8")) as unknown; + +export const GetKTDataBuffer = (name: string) => fs.readFileSync(file(name)); + +export const TestingIIDXSPDryScore: DryScore<"iidx:SP"> = { + service: "e-amusement", + game: "iidx", + scoreData: { + score: 786, + lamp: "CLEAR", + percent: 50, + grade: "C", + judgements: { + pgreat: 50, + great: 10, + }, + hitMeta: {}, + }, + scoreMeta: {}, + timeAchieved: null, + comment: null, + importType: "file/eamusement-iidx-csv", +}; + +export const TestingIIDXSPScorePB: PBScoreDocument<"iidx:SP"> = { + chartID: "c2311194e3897ddb5745b1760d2c0141f933e683", + userID: 1, + calculatedData: { + ktLampRating: 0, + BPI: 10.1, + }, + composedFrom: { + scorePB: "TESTING_SCORE_ID", + lampPB: "TESTING_SCORE_ID", + }, + highlight: false, + isPrimary: true, + scoreData: { + score: 1479, + percent: 94.08396946564885, + esd: 10.64453125, + grade: "AAA", + gradeIndex: 7, + lamp: "EX HARD CLEAR", + lampIndex: 6, + judgements: { + pgreat: 697, + great: 85, + }, + hitMeta: { + bp: 2, + }, + }, + rankingData: { + rank: 1, + outOf: 2, + }, + songID: 1, + game: "iidx", + playtype: "SP", + timeAchieved: 10000, +}; + +export const TestingIIDXSPScore: ScoreDocument<"iidx:SP"> = { + service: "foo (DIRECT-MANUAL)", + game: "iidx", + playtype: "SP", + userID: 1, + scoreData: { + score: 786, + lamp: "CLEAR", + percent: 50, + grade: "C", + esd: 30, + gradeIndex: 3, + lampIndex: 4, + judgements: { + pgreat: 50, + great: 10, + }, + hitMeta: {}, + }, + scoreMeta: {}, + calculatedData: { + ktLampRating: 5, + }, + timeAchieved: 1619454485988, + songID: 1, + chartID: "c2311194e3897ddb5745b1760d2c0141f933e683", + highlight: false, + isPrimary: true, + comment: null, + timeAdded: 1, + scoreID: "TESTING_SCORE_ID", + importType: "ir/direct-manual", +}; + +export const TestingSDVXScore: ScoreDocument<"sdvx:Single"> = { + service: "foo (DIRECT-MANUAL)", + game: "sdvx", + playtype: "Single", + userID: 1, + scoreData: { + score: 786, + lamp: "CLEAR", + percent: 50, + grade: "C", + esd: 30, + gradeIndex: 3, + lampIndex: 4, + judgements: {}, + hitMeta: {}, + }, + scoreMeta: {}, + calculatedData: {}, + timeAchieved: 1619454485988, + songID: 1, + + // albida adv + chartID: "5088a4d0e1ee9d0cc2f625934306e45b1a60699b", + highlight: false, + isPrimary: true, + comment: null, + timeAdded: 1, + scoreID: "TESTING_SCORE_SDVX_ID", + importType: "ir/direct-manual", +}; + +export const TestingKsHookSV6CScore: KsHookSV6CScore = { + clear: "CLEAR_EXCESSIVE", + critical: 1184, + difficulty: "DIFFICULTY_ADVANCED", + error: 30, + gauge: 71, + grade: "GRADE_AA_PLUS", + max_chain: 158, + music_id: 1, + near: 46, + rate: "RATE_EXCESSIVE", + score: 9579365, + track_no: 0, + ex_score: 1334, + retry_count: 0, +}; +export const TestingBMS7KScore: ScoreDocument<"bms:7K"> = { + calculatedData: { + sieglinde: 20, + }, + chartID: "88eb6cc5683e2740cbd07f588a5f3db1db8d467b", + songID: 27339, + comment: null, + game: "bms", + highlight: false, + importType: "ir/beatoraja", + isPrimary: true, + playtype: "7K", + scoreData: { + esd: null, + grade: "A", + gradeIndex: 5, + hitMeta: {}, + judgements: {}, + lamp: "HARD CLEAR", + lampIndex: 4, + percent: 40, + score: 1030, + }, + scoreID: "test_bms_score", + scoreMeta: {}, + service: "foo", + timeAchieved: null, + timeAdded: 100, + userID: 1, +}; + +export const TestingLR2HookScore: LR2HookScore = { + md5: "38616b85332037cc12924f2ae2840262", + playerData: { + autoScr: 0, + gameMode: "7K", + random: "RAN", + gauge: "GROOVE", + }, + scoreData: { + pgreat: 1000, + great: 500, + good: 100, + bad: 50, + poor: 25, + exScore: 2500, + maxCombo: 50, + moneyScore: 150_000, + notesTotal: 2256, + notesPlayed: 2256, + lamp: "HARD", + hpGraph: ApplyNTimes(1000, () => RFA([100, 50, 80, 0])), + }, +}; + +export const TestingJubeatChart: ChartDocument<"jubeat:Single"> = { + chartID: "b90a319f18d1a746b330b8f4cd6f74874f664421", + rgcID: null, + songID: 1, + level: "6", + levelNum: 6, + difficulty: "ADV", + isPrimary: true, + playtype: "Single", + data: { + inGameID: 10000001, + isHardMode: false, + }, + tierlistInfo: {}, + versions: ["festo"], +}; + +export const Testing511SPA: ChartDocument<"iidx:SP"> = { + rgcID: null, + chartID: "c2311194e3897ddb5745b1760d2c0141f933e683", + difficulty: "ANOTHER", + songID: 1, + playtype: "SP", + levelNum: 10, + level: "10", + data: { + inGameID: 1000, + notecount: 786, + arcChartID: "CYjwAuz7Yq9", + "2dxtraSet": null, + hashSHA256: null, + bpiCoefficient: null, + kaidenAverage: null, + worldRecord: null, + }, + tierlistInfo: {}, + isPrimary: true, + versions: [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "16-cs", + "12-cs", + "10-cs", + "8-cs", + "7-cs", + "bmus", + ], +}; + +export const Testing511Song: SongDocument<"iidx"> = { + title: "5.1.1.", + artist: "dj nagureo", + id: 1, + altTitles: [], + searchTerms: [], + data: { + genre: "PIANO AMBIENT", + displayVersion: "1", + }, +}; + +export const TestingAlbidaADV: ChartDocument<"sdvx:Single"> = { + rgcID: null, + chartID: "5088a4d0e1ee9d0cc2f625934306e45b1a60699b", + difficulty: "ADV", + songID: 1, + playtype: "Single", + levelNum: 10, + level: "10", + data: { + inGameID: 1, + arcChartID: "EOZ7FixCDpv", + }, + isPrimary: true, + versions: ["booth", "inf", "gw", "heaven", "vivid", "exceed", "konaste"], + tierlistInfo: {}, +}; + +export const BMSGazerChart: ChartDocument<"bms:7K"> = { + songID: 27339, + chartID: "88eb6cc5683e2740cbd07f588a5f3db1db8d467b", + rgcID: null, + data: { + aiRating: "0", + notecount: 2256, + hashMD5: "38616b85332037cc12924f2ae2840262", + hashSHA256: "195fe1be5c3e74fccd04dc426e05f8a9cfa8a1059c339d0a23e99f63661f0b7d", + tableFolders: [ + { + level: "17", + table: "★", + }, + ], + }, + level: "?", + levelNum: 0, + difficulty: "CHART", + playtype: "7K", + isPrimary: true, + versions: [], + tierlistInfo: {}, +}; + +export const BMSGazerSong: SongDocument<"bms"> = { + id: 27339, + title: "gazer [MANIAQ]", + artist: "scytheleg / obj.siokaze", + data: { + subtitle: null, + subartist: null, + genre: "ELECTRANCE", + tableString: null, + }, + searchTerms: [], + altTitles: [], +}; + +export const CHUNITHMBBKKChart: ChartDocument<"chunithm:Single"> = { + rgcID: null, + chartID: "192b96bdb6150f80ba6412ce02df1249e16c0cb0", + difficulty: "BASIC", + songID: 3, + playtype: "Single", + levelNum: 3, + level: "3", + data: { + inGameID: 3, + }, + tierlistInfo: {}, + isPrimary: true, + versions: ["paradiselost"], +}; + +export const TestingSDVXAlbidaSong: SongDocument<"sdvx"> = { + title: "ALBIDA Powerless Mix", + artist: "無力P", + id: 1, + altTitles: [], + searchTerms: ["albida_muryoku", "アルビダパワーレスミックス"], + data: { + displayVersion: "booth", + }, +}; + +export const TestingDoraChart: ChartDocument<"gitadora:Dora"> = { + songID: 0, + chartID: "29f0bfab357ba54e3fd0176fb3cbc578c9ec8df5", + difficulty: "BASIC", + playtype: "Dora", + levelNum: 1.6, + level: "1.60", + data: { + inGameID: 0, + }, + isPrimary: true, + rgcID: null, + tierlistInfo: {}, + versions: ["nextage"], +}; + +export const TestingSDVXSingleDryScore: DryScore<"sdvx:Single"> = { + service: "e-amusement", + game: "sdvx", + scoreData: { + score: 9_500_000, + lamp: "EXCESSIVE CLEAR", + percent: 95, + grade: "AA+", + judgements: {}, + hitMeta: {}, + }, + scoreMeta: {}, + timeAchieved: null, + comment: null, + importType: "file/batch-manual", +}; + +export const TestingGITADORADoraDryScore: DryScore<"gitadora:Dora"> = { + service: "fake-service", + game: "gitadora", + scoreData: { + score: 70.76, + lamp: "CLEAR", + percent: 70.76, + grade: "B", + judgements: {}, + hitMeta: {}, + }, + scoreMeta: {}, + timeAchieved: null, + comment: null, + importType: "file/batch-manual", +}; + +export const TestingIIDXEamusementCSV26 = GetKTDataBuffer( + "./eamusement-iidx-csv/pre-leggendaria.csv" +); +export const TestingIIDXEamusementCSV27 = GetKTDataBuffer( + "./eamusement-iidx-csv/post-leggendaria.csv" +); + +export const TestingSDVXEamusementCSV = GetKTDataBuffer( + "./eamusement-sdvx-csv/exceed-gear-score.csv" +); + +export const TestingBarbatosScore: BarbatosScore = { + difficulty: 1, + level: 10, + song_id: 1, + max_chain: 50, + critical: 50, + near_total: 30, + near_fast: 20, + near_slow: 10, + score: 9500000, + error: 5, + percent: 81, + did_fail: false, + clear_type: 2, + gauge_type: 1, + is_skill_analyzer: false, +}; + +export const HC511Goal: GoalDocument = { + charts: { + type: "single", + data: Testing511SPA.chartID, + }, + game: "iidx", + goalID: "mock_goalID", + playtype: "SP", + timeAdded: 0, + name: "HC 5.1.1. SPA", + criteria: { + mode: "single", + value: 5, + key: "scoreData.lampIndex", + }, +}; + +export const HC511UserGoal: GoalSubscriptionDocument = { + achieved: false, + wasInstantlyAchieved: false, + timeAchieved: null, + game: "iidx", + playtype: "SP", + goalID: "mock_goalID", + lastInteraction: null, + outOf: 5, + outOfHuman: "HARD CLEAR", + progress: null, + progressHuman: "NO DATA", + timeSet: 0, + userID: 1, +}; + +export const TestingIIDXFolderSP10: FolderDocument = { + title: "Level 10", + game: "iidx", + playtype: "SP", + type: "charts", + folderID: "ed9d8c734447ce67d7135c0067441a98cc81aeaf", + data: { + level: "10", + }, + searchTerms: [], + inactive: false, +}; + +export const TestingIIDXSPMilestone: MilestoneDocument = { + criteria: { + type: "all", + }, + desc: "testing milestone", + game: "iidx", + playtype: "SP", + milestoneID: "example_milestone_id", + name: "Example Milestone", + milestoneData: [ + { + title: "Group1", + desc: "Foo", + goals: [ + { + goalID: "eg_goal_1", + }, + { + goalID: "eg_goal_2", + }, + ], + }, + { + title: "Group2", + desc: "Bar", + goals: [ + { + goalID: "eg_goal_3", + }, + { + goalID: "eg_goal_4", + }, + ], + }, + ], +}; + +export const IIDXSPMilestoneGoals: Array = [ + dm(HC511Goal, { goalID: "eg_goal_1" }) as GoalDocument, + dm(HC511Goal, { goalID: "eg_goal_2", criteria: { value: 2 } }), + dm(HC511Goal, { goalID: "eg_goal_3", criteria: { key: "scoreData.score", value: 300 } }), + dm(HC511Goal, { goalID: "eg_goal_4", criteria: { key: "scoreData.score", value: 1100 } }), +]; + +export const IIDXSPMilestoneGoalSubs: Array = [ + dm(HC511UserGoal, { goalID: "eg_goal_1" }) as GoalSubscriptionDocument, + dm(HC511UserGoal, { goalID: "eg_goal_2" }) as GoalSubscriptionDocument, + dm(HC511UserGoal, { goalID: "eg_goal_3" }) as GoalSubscriptionDocument, + dm(HC511UserGoal, { goalID: "eg_goal_4" }) as GoalSubscriptionDocument, +]; + +export const TestingIIDXSPMilestoneSub: MilestoneSubscriptionDocument = { + userID: 1, + achieved: false, + game: "iidx", + playtype: "SP", + lastInteraction: null, + milestoneID: "example_milestone_id", + progress: 4, + timeAchieved: null, + timeSet: 1900, + wasInstantlyAchieved: false, +}; + +let KTDATA_CACHE: + | { songs: Array>; charts: Array> } + | undefined; + +export async function LoadTachiIIDXData() { + let songs; + let charts; + + if (KTDATA_CACHE) { + songs = KTDATA_CACHE.songs; + charts = KTDATA_CACHE.charts; + } else { + songs = GetKTDataJSON("./tachi/tachi-songs-iidx.json") as Array>; + charts = GetKTDataJSON("./tachi/tachi-charts-iidx.json") as Array< + ChartDocument<"iidx:DP" | "iidx:SP"> + >; + + KTDATA_CACHE = { songs, charts }; + } + + await db.songs.iidx.remove({}); + await db.songs.iidx.insert(songs); + await db.charts.iidx.remove({}); + await db.charts.iidx.insert(charts); +} + +export const MockBarbatosScore: BarbatosScore = { + clear_type: 2, + did_fail: false, + difficulty: 1, + critical: 100, + error: 5, + near_total: 50, + near_fast: 40, + near_slow: 10, + gauge_type: 1, + is_skill_analyzer: false, + level: 10, + max_chain: 100, + percent: 90, + score: 9_000_000, + song_id: 1, +}; + +export const uscChart: ChartDocument<"usc:Controller" | "usc:Keyboard"> = { + rgcID: null, + chartID: "USC_CHART_ID", + difficulty: "NOV", + songID: 1, + playtype: "Keyboard", + levelNum: 1, + level: "1", + data: { + hashSHA1: "USC_CHART_HASH", + isOfficial: false, + effector: "foo", + tableFolders: [], + }, + tierlistInfo: {}, + isPrimary: true, + versions: [], +}; + +export const uscScore: USCClientScore = { + crit: 100, + error: 5, + near: 50, + gauge: 0.8, + early: 50, + late: 20, + combo: 5, + options: { + autoFlags: 0, + gaugeOpt: 0, + gaugeType: 1, + mirror: true, + random: false, + }, + score: 9_000_000, + timestamp: 0, + windows: { + good: USC_DEFAULT_NEAR, + perfect: USC_DEFAULT_PERFECT, + hold: USC_DEFAULT_HOLD, + miss: USC_DEFAULT_MISS, + slam: USC_DEFAULT_SLAM, + }, +}; + +export const FakeOtherUser: PublicUserDocument = { + id: 2, + username: "other_user", + about: "", + authLevel: 0, + badges: [], + clan: null, + customBannerLocation: null, + customPfpLocation: null, + joinDate: 0, + lastSeen: 0, + socialMedia: {}, + status: null, + usernameLowercase: "other_user", +}; + +export const FakeGameSettings: UGPTSettings = { + game: "iidx", + playtype: "SP", + preferences: { + defaultTable: null, + gameSpecific: { + bpiTarget: 0, + display2DXTra: false, + }, + preferredProfileAlg: null, + preferredScoreAlg: null, + preferredSessionAlg: null, + scoreBucket: null, + stats: [], + }, + rivals: [], + userID: 1, +}; + +export const FakeImport: ImportDocument = { + classDeltas: [], + createdSessions: [], + errors: [], + game: "iidx", + goalInfo: [], + idStrings: ["iidx:SP"], + importID: "fake_import", + importType: "ir/direct-manual", + milestoneInfo: [], + playtypes: ["SP"], + scoreIDs: [TestingIIDXSPScore.scoreID], + timeFinished: 1000, + timeStarted: 100, + userID: 1, + userIntent: false, +}; + +export const FakeNotification: NotificationDocument = { + title: "fake notif", + notifID: "fake_notif", + read: false, + sentAt: 1000, + sentTo: 1, + body: { + type: "MILESTONE_CHANGED", + content: { + milestoneID: "a", + }, + }, +}; + +export const FervidexStaticBase = { + name: "AIXXE", + qpro: { + body: 189, + face: 138, + hair: 76, + hand: 145, + head: 0, + }, + scores: { + "1000": { + spa: { + clear_type: 4, + ex_score: 1180, + miss_count: 40, + }, + spn: { + clear_type: 7, + ex_score: 158, + miss_count: 0, + }, + }, + "1001": { + dph: { + clear_type: 3, + ex_score: 15, + miss_count: 1, + }, + }, + }, + sp_dan: 15, +}; + +export const FervidexBaseScore: FervidexScore = { + bad: 0, + chart: "spa", + clear_type: 1, + combo_break: 6, + custom: false, + chart_sha256: "asdfasdf", + entry_id: 1000, + ex_score: 68, + fast: 0, + gauge: [100, 50], + ghost: [0, 2], + good: 0, + great: 0, + max_combo: 34, + option: { + gauge: "HARD", + range: "SUDDEN_PLUS", + style: "RANDOM", + }, + pacemaker: { + name: "", + score: 363, + type: "PACEMAKER_A", + }, + pgreat: 34, + poor: 6, + slow: 0, +}; + +export const FervidexBaseGSMScore: FervidexScore = { + bad: 0, + chart: "spa", + clear_type: 1, + combo_break: 6, + dead: { + measure: 18, + note: 40, + }, + entry_id: 1000, + custom: false, + chart_sha256: "asdfasdf", + ex_score: 68, + fast: 0, + gauge: [100, 50], + ghost: [0, 2], + good: 0, + great: 0, + max_combo: 34, + option: { + gauge: "HARD", + range: "SUDDEN_PLUS", + style: "RANDOM", + }, + pacemaker: { + name: "", + score: 363, + type: "PACEMAKER_A", + }, + pgreat: 34, + poor: 6, + slow: 0, + "2dx-gsm": { + EASY: [0, 10], + NORMAL: [0, 20], + HARD: [20, 0], + EX_HARD: [10, 0], + }, +}; + +export const MockBeatorajaBMSScore = { + chart: { + md5: "38616b85332037cc12924f2ae2840262", + sha256: "195fe1be5c3e74fccd04dc426e05f8a9cfa8a1059c339d0a23e99f63661f0b7d", + title: "GAZER [MANIAQ]", + subtitle: "", + genre: "TRANCE", + artist: "the dude who made gazer", + subartist: "", + url: "", + appendurl: "", + level: 8, + total: 220, + mode: "BEAT_7K", + lntype: 0, + judge: 100, + minbpm: 135, + maxbpm: 135, + notes: 568, + hasUndefinedLN: false, + hasLN: false, + hasCN: false, + hasHCN: false, + hasMine: false, + hasRandom: false, + hasStop: false, + values: {}, + }, + score: { + sha256: "195fe1be5c3e74fccd04dc426e05f8a9cfa8a1059c339d0a23e99f63661f0b7d", + lntype: 0, + player: "unknown", + clear: "Easy", + date: 0, + epg: 332, + lpg: 127, + egr: 65, + lgr: 21, + egd: 2, + lgd: 2, + ebd: 1, + lbd: 0, + epr: 7, + lpr: 11, + ems: 1, + lms: 0, + maxcombo: 223, + notes: 568, + passnotes: 568, + minbp: 20, + option: 2, + assist: 0, + gauge: -1, + deviceType: "BM_CONTROLLER", + judgeAlgorithm: "Combo", + rule: "LR2", + exscore: 1004, + }, + client: "LR2oraja 0.8.0", +}; + +export const MockBeatorajaPMSScore = { + chart: { + md5: "d1253dd56bb2087d0b0d474f0d562aae", + sha256: "a10193f7ae05ce839292dc716f182fda0b1cc6ac5382c2056f37e22ffba87b7d", + title: "GPMSAZER [MANIAQ]", + subtitle: "", + genre: "Annihilate the living", + artist: "Rocky", + subartist: "", + url: "", + appendurl: "", + level: 8, + total: 220, + mode: "POPN_9K", + lntype: 0, + judge: 100, + minbpm: 135, + maxbpm: 135, + notes: 568, + hasUndefinedLN: false, + hasLN: false, + hasCN: false, + hasHCN: false, + hasMine: false, + hasRandom: false, + hasStop: false, + values: {}, + }, + score: { + sha256: "a10193f7ae05ce839292dc716f182fda0b1cc6ac5382c2056f37e22ffba87b7d", + lntype: 0, + player: "unknown", + clear: "Easy", + date: 0, + epg: 332, + lpg: 127, + egr: 65, + lgr: 21, + egd: 2, + lgd: 2, + ebd: 1, + lbd: 0, + epr: 7, + lpr: 11, + ems: 1, + lms: 0, + maxcombo: 223, + notes: 568, + passnotes: 568, + minbp: 20, + option: 2, + assist: 0, + gauge: -1, + deviceType: "BM_CONTROLLER", + judgeAlgorithm: "Combo", + rule: "LR2", + exscore: 1004, + }, + client: "beatoraja 0.8.0", +}; + +export const MockParsedS3Score: S3Score = { + id: 187, + diff: "A", + songname: "5.1.1.", + styles: "7th", + exscore: 100, + scorebreakdown: { + justgreats: 25, + greats: 50, + good: 0, + bad: 0, + poor: 4, + }, + mods: {}, + cleartype: "perfect", + date: "2010-10-19 04:54:22", +}; + +export const FakeSmallBatchManual = { + meta: { + game: "iidx", + playtype: "SP", + service: "foobar", + }, + scores: [ + { + score: 500, + lamp: "HARD CLEAR", + matchType: "songTitle", + identifier: "5.1.1.", + difficulty: "ANOTHER", + }, + ], +}; + +export const FakeChunitachiBatchManual = { + meta: { + game: "chunithm", + playtype: "Single", + service: "ChunItachi", + }, + scores: [ + { + score: 900000, + lamp: "CLEAR", + matchType: "songTitle", + identifier: "B.B.K.K.B.K.K.", + difficulty: "BASIC", + }, + ], +}; diff --git a/server/src/test-utils/test-data/api-arc/ddr-score.json b/server/src/test-utils/test-data/api-arc/ddr-score.json new file mode 100644 index 000000000..fe129e771 --- /dev/null +++ b/server/src/test-utils/test-data/api-arc/ddr-score.json @@ -0,0 +1,31 @@ +{ + "_links": { + "_self": "", + "chart": "", + "music": "", + "profile": "" + }, + "_id": "AAYq0gmgjYf", + "_etag": "AAAAAAAAAAC", + "profile_id": "HUt71vN_0aO", + "chart_id": "BD_uIVl5USj", + "music_id": "Htfjs-HBb-T", + "lamp": "PERFECT_FC", + "grade": "AAA", + "score": 999760, + "ex_score": 807, + "max_combo": 260, + "judgments": { + "marvelous": 236, + "perfect": 24, + "great": 0, + "good": 0, + "boo": 0, + "miss": 0, + "ok": 17, + "ng": 0 + }, + "fast": 10, + "slow": 14, + "timestamp": "2020-06-10T20:55:50.346Z" +} \ No newline at end of file diff --git a/server/src/test-utils/test-data/api-arc/iidx-score.json b/server/src/test-utils/test-data/api-arc/iidx-score.json new file mode 100644 index 000000000..a43877d76 --- /dev/null +++ b/server/src/test-utils/test-data/api-arc/iidx-score.json @@ -0,0 +1,18 @@ +{ + "_links": { + "_self": "", + "chart": "", + "music": "", + "profile": "" + }, + "_id": "AAOVE3UFHOx", + "_etag": "AAAAAAAAAAD", + "chart_id": "CYjwAuz7Yq9", + "music_id": "CsO-Ud3D-e8", + "profile_id": "D5EQKa-j1fI", + "lamp": "HARD_CLEAR", + "ex_score": 1200, + "miss_count": 43, + "timestamp": "2020-11-07T21:31:21.894Z", + "status": "HARD_CLEAR" +} \ No newline at end of file diff --git a/server/src/test-utils/test-data/api-arc/jubeat-score.json b/server/src/test-utils/test-data/api-arc/jubeat-score.json new file mode 100644 index 000000000..ddd5403ce --- /dev/null +++ b/server/src/test-utils/test-data/api-arc/jubeat-score.json @@ -0,0 +1,16 @@ +{ + "_links": { + "_self": "", + "chart": "", + "music": "", + "profile": "" + }, + "_id": "ABkvem-sylW", + "_etag": "AAAAAAAAAAA", + "chart_id": "GEG5lQMwaRo", + "music_id": "G6_mu8aBK51", + "profile_id": "HQaIJA9rwoO", + "clear_type": "FULL_COMBO", + "score": 975798, + "timestamp": "2021-05-16T01:10:07.418909Z" +} \ No newline at end of file diff --git a/server/src/test-utils/test-data/api-arc/sdvx-score.json b/server/src/test-utils/test-data/api-arc/sdvx-score.json new file mode 100644 index 000000000..4dcd1a869 --- /dev/null +++ b/server/src/test-utils/test-data/api-arc/sdvx-score.json @@ -0,0 +1,25 @@ +{ + "_links": { + "_self": "", + "chart": "", + "music": "", + "profile": "" + }, + "_id": "AAWuBrMR7oE", + "_etag": "AAAAAAAAAAA", + "chart_id": "EOZ7FixCDpv", + "music_id": "Fa7KhwvN098", + "profile_id": "B5HJRdYZPCq", + "score": 9312500, + "lamp": "CLEAR", + "grade": "AA", + "btn_rate": 89.5, + "long_rate": 92.5, + "vol_rate": 96.5, + "critical": 946, + "near": 45, + "error": 49, + "max_chain": 184, + "timestamp": "2019-09-05T12:18:05.077Z", + "status": "CLEAR" +} \ No newline at end of file diff --git a/server/src/test-utils/test-data/batch-manual/chunitachi.json b/server/src/test-utils/test-data/batch-manual/chunitachi.json new file mode 100644 index 000000000..b62e903b4 --- /dev/null +++ b/server/src/test-utils/test-data/batch-manual/chunitachi.json @@ -0,0 +1,16 @@ +{ + "meta": { + "game": "chunithm", + "playtype": "Single", + "service": "ChunItachi" + }, + "scores": [ + { + "score": 900000, + "lamp": "CLEAR", + "matchType": "songTitle", + "identifier": "B.B.K.K.B.K.K.", + "difficulty": "BASIC" + } + ] +} \ No newline at end of file diff --git a/server/src/test-utils/test-data/batch-manual/empty-file.json b/server/src/test-utils/test-data/batch-manual/empty-file.json new file mode 100644 index 000000000..ab0a56caa --- /dev/null +++ b/server/src/test-utils/test-data/batch-manual/empty-file.json @@ -0,0 +1,8 @@ +{ + "meta": { + "game": "iidx", + "playtype": "SP", + "service": "foobar" + }, + "scores": [] +} \ No newline at end of file diff --git a/server/src/test-utils/test-data/batch-manual/small-file.json b/server/src/test-utils/test-data/batch-manual/small-file.json new file mode 100644 index 000000000..de04828e5 --- /dev/null +++ b/server/src/test-utils/test-data/batch-manual/small-file.json @@ -0,0 +1,16 @@ +{ + "meta": { + "game": "iidx", + "playtype": "SP", + "service": "foobar" + }, + "scores": [ + { + "score": 500, + "lamp": "HARD CLEAR", + "matchType": "songTitle", + "identifier": "5.1.1.", + "difficulty": "ANOTHER" + } + ] +} \ No newline at end of file diff --git a/server/src/test-utils/test-data/eamusement-iidx-csv/invalid/large-duplicates.csv b/server/src/test-utils/test-data/eamusement-iidx-csv/invalid/large-duplicates.csv new file mode 100644 index 000000000..21d913fad --- /dev/null +++ b/server/src/test-utils/test-data/eamusement-iidx-csv/invalid/large-duplicates.csv @@ -0,0 +1,112 @@ +バージョン,タイトル,ジャンル,アーティスト,プレー回数,BEGINNER 難易度,BEGINNER スコア,BEGINNER PGreat,BEGINNER Great,BEGINNER ミスカウント,BEGINNER クリアタイプ,BEGINNER DJ LEVEL,NORMAL 難易度,NORMAL スコア,NORMAL PGreat,NORMAL Great,NORMAL ミスカウント,NORMAL クリアタイプ,NORMAL DJ LEVEL,HYPER 難易度,HYPER スコア,HYPER PGreat,HYPER Great,HYPER ミスカウント,HYPER クリアタイプ,HYPER DJ LEVEL,ANOTHER 難易度,ANOTHER スコア,ANOTHER PGreat,ANOTHER Great,ANOTHER ミスカウント,ANOTHER クリアタイプ,ANOTHER DJ LEVEL,LEGGENDARIA 難易度,LEGGENDARIA スコア,LEGGENDARIA PGreat,LEGGENDARIA Great,LEGGENDARIA ミスカウント,LEGGENDARIA クリアタイプ,LEGGENDARIA DJ LEVEL,最終プレー日時 +4th style,ABSOLUTE,EPIC TRANCE,dj TAKA,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,2220,1034,152,6,EX HARD CLEAR,AAA,11,0,0,0,---,EX HARD CLEAR,---,2020-12-19 03:28 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 diff --git a/server/src/test-utils/test-data/eamusement-iidx-csv/invalid/small-duplicate.csv b/server/src/test-utils/test-data/eamusement-iidx-csv/invalid/small-duplicate.csv new file mode 100644 index 000000000..0ec9fd753 --- /dev/null +++ b/server/src/test-utils/test-data/eamusement-iidx-csv/invalid/small-duplicate.csv @@ -0,0 +1,4 @@ +バージョン,タイトル,ジャンル,アーティスト,プレー回数,BEGINNER 難易度,BEGINNER スコア,BEGINNER PGreat,BEGINNER Great,BEGINNER ミスカウント,BEGINNER クリアタイプ,BEGINNER DJ LEVEL,NORMAL 難易度,NORMAL スコア,NORMAL PGreat,NORMAL Great,NORMAL ミスカウント,NORMAL クリアタイプ,NORMAL DJ LEVEL,HYPER 難易度,HYPER スコア,HYPER PGreat,HYPER Great,HYPER ミスカウント,HYPER クリアタイプ,HYPER DJ LEVEL,ANOTHER 難易度,ANOTHER スコア,ANOTHER PGreat,ANOTHER Great,ANOTHER ミスカウント,ANOTHER クリアタイプ,ANOTHER DJ LEVEL,LEGGENDARIA 難易度,LEGGENDARIA スコア,LEGGENDARIA PGreat,LEGGENDARIA Great,LEGGENDARIA ミスカウント,LEGGENDARIA クリアタイプ,LEGGENDARIA DJ LEVEL,最終プレー日時 +4th style,ABSOLUTE,EPIC TRANCE,dj TAKA,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,2220,1034,152,6,EX HARD CLEAR,AAA,11,0,0,0,---,EX HARD CLEAR,---,2020-12-19 03:28 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 diff --git a/server/src/test-utils/test-data/eamusement-iidx-csv/post-leggendaria.csv b/server/src/test-utils/test-data/eamusement-iidx-csv/post-leggendaria.csv new file mode 100644 index 000000000..6d46fd106 --- /dev/null +++ b/server/src/test-utils/test-data/eamusement-iidx-csv/post-leggendaria.csv @@ -0,0 +1,1258 @@ +バージョン,タイトル,ジャンル,アーティスト,プレー回数,BEGINNER 難易度,BEGINNER スコア,BEGINNER PGreat,BEGINNER Great,BEGINNER ミスカウント,BEGINNER クリアタイプ,BEGINNER DJ LEVEL,NORMAL 難易度,NORMAL スコア,NORMAL PGreat,NORMAL Great,NORMAL ミスカウント,NORMAL クリアタイプ,NORMAL DJ LEVEL,HYPER 難易度,HYPER スコア,HYPER PGreat,HYPER Great,HYPER ミスカウント,HYPER クリアタイプ,HYPER DJ LEVEL,ANOTHER 難易度,ANOTHER スコア,ANOTHER PGreat,ANOTHER Great,ANOTHER ミスカウント,ANOTHER クリアタイプ,ANOTHER DJ LEVEL,LEGGENDARIA 難易度,LEGGENDARIA スコア,LEGGENDARIA PGreat,LEGGENDARIA Great,LEGGENDARIA ミスカウント,LEGGENDARIA クリアタイプ,LEGGENDARIA DJ LEVEL,最終プレー日時 +1st&substream,22DUNK,TECHNO,SLAKE,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,5,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +1st&substream,5.1.1.,PIANO AMBIENT,dj nagureo,0,0,0,0,0,---,NO PLAY,---,2,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +1st&substream,deep in you,DANCE POP,dj nagureo,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,5,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +1st&substream,Dr.LOVE,DANCE POP,baby weapon feat.Asuka.M,0,0,0,0,0,---,NO PLAY,---,2,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,4,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +1st&substream,GAMBOL,BIG BEAT,SLAKE,0,0,0,0,0,---,NO PLAY,---,2,0,0,0,---,NO PLAY,---,2,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +1st&substream,GENOM SCREAMS,TRANCE,L.E.D. LIGHT,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +1st&substream,gentle stress,DRUM'N'BASS,DJ Swan,0,0,0,0,0,---,NO PLAY,---,2,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +1st&substream,GRADIUSIC CYBER,DIGI-ROCK,TAKA,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,7,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +1st&substream,KEEP ON MOVIN',DANCE POP,N.M.R.,0,0,0,0,0,---,NO PLAY,---,2,0,0,0,---,FULLCOMBO CLEAR,---,3,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +1st&substream,Macho Gang,TRIBAL HOUSE,ANAL SPYDER,0,0,0,0,0,---,NO PLAY,---,2,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +1st&substream,PARANOIA MAX~DIRTY MIX~,JUNGLE,190,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,1020,469,82,0,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-01-10 00:36 +1st&substream,R3,RAVE,tiger YAMATO,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +1st&substream,RUGGED ASH,FUTURE JAZZ,SYMPHONIC DEFOGGERS,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,2020-11-12 00:47 +1st&substream,THE EARTH LIGHT,TRANCE,L.E.D. LIGHT,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +2nd style,.59,CHILL OUT,dj TAKA,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,7,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +2nd style,Digital MinD(A/T Libra mix),MINIMAL,TaQ,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +2nd style,Electro Tuned(the SubS mix),BIG BEAT,TaQ,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +2nd style,I Was The One,ITALO HOUSE,good-cool,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,4,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +2nd style,Indigo Vision(full flavour hide around mix),GOA TRANCE,TaQ,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +2nd style,PUT YOUR FAITH IN ME(for beatmania II),JAZZ FUNK,dj TAKA feat. UZI-LAY,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +2nd style,SP-TRIP MACHINE(for beatmania II),JUNGLE,dj TAKA feat. DE-SIRE,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,4,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +3rd style,CAN'T STOP FALLIN'IN LOVE,HYPER EUROBEAT,NAOKI,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +3rd style,Don't Stop!,HAPPY HANDBAG,dj TAKA feat. JP Miles,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,4,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +3rd style,era (nostalmix),DRUM'N'BASS,TaQ,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +3rd style,Holic,HARD TECHNO,TaQ,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +3rd style,LEADING CYBER,DIGI-ROCK,dj TAKA,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,7,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +3rd style,Presto,PIANO AMBIENT,Osamu Kubota,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +3rd style,R5,RAVE,tigerYAMATO with ultrabeatbox,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +3rd style,REINCARNATION,TRANCE,dj TAKA,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +3rd style,Schlagwerk,BIG BEAT,TaQ,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +3rd style,Skyscraper,EPIC HOUSE,good-cool,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,7,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +3rd style,Tangerine Stream,AMBIENT,dj TAKA,0,0,0,0,0,---,NO PLAY,---,2,0,0,0,---,NO PLAY,---,3,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +3rd style,THE SAFARI,WORLD HOUSE,Lion Musashi,0,2,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +4th style,ABSOLUTE,EPIC TRANCE,dj TAKA,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,2220,1034,152,6,EX HARD CLEAR,AAA,11,0,0,0,---,EX HARD CLEAR,---,2020-12-19 03:28 +4th style,B4U,SPEED RAVE,NAOKI,2,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,FAILED,---,9,0,0,0,---,NO PLAY,---,10,1703,747,209,29,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-03-14 04:46 +4th style,CHECKING YOU OUT,HIP HOP,good-cool feat. JP Miles,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +4th style,Clione,DUTCH TRANCE,kors k,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,2020-11-12 00:47 +4th style,DXY!,TECHNO,TaQ,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,FAILED,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +4th style,FLOWERS for ALBION,AMBIENT,dj TAKA,0,0,0,0,0,---,NO PLAY,---,2,0,0,0,---,NO PLAY,---,5,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +4th style,Jam&Marmalade,WARP HOUSE,FinalOffset,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,8,926,424,78,5,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-12-19 03:25 +4th style,starmine,HAPPY HARDCORE,Ryu☆,0,2,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +4th style,Voltage (feat. Hidemaru),BIG BEAT,TaQ,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,8,0,0,0,---,FAILED,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +5th style,in my eyes,TRANCE,ric,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,7,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +5th style,LOVE AGAIN TONIGHT~for Mellisa mix~,HYPER EUROBEAT,NAOKI feat.PAULA TERRY,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +5th style,QQQ,TECHNO,TaQ,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +5th style,Radical Faith,BIG BEAT,TaQ,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,7,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +5th style,Regulus,INSTRUMENTAL,DJ.W,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,1553,695,163,5,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-03-14 07:18 +5th style,RIDE ON THE LIGHT (HI GREAT MIX),POWER FUSION,Mr.T,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,2020-11-12 00:47 +5th style,Spin the disc,HOUSE,good-cool,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +5th style,STILL IN MY HEART,HYPER EUROBEAT,NAOKI,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +5th style,sync,TRANCE,OutPhase (TaQ/dj TAKA),0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +5th style,THE SHINING POLARIS,EPIC TRANCE,L.E.D. feat. Sana,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +5th style,V,PROGRESSIVE,TAKA,1,2,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,2401,1147,107,6,EX HARD CLEAR,AAA,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2021-01-10 01:16 +6th style,19,November,HOUSE,good-cool,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,1729,821,87,0,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-12-19 03:52 +6th style,Buffalo,ROCK,good-cool feat. Hideo Suwa,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,1687,758,171,2,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-01-10 01:07 +6th style,Colors (radio edit),TRANCE,dj TAKA,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +6th style,DIVE ~INTO YOUR HEART~,HYPER TRANCE EURO BEAT,NAOKI feat.PAULA TERRY,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +6th style,G2,DRUM'N'BASS,Aya,1,0,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,1963,852,259,24,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 06:29 +6th style,Linus,LOUNGE POP,LEGO STUDIO,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2042,958,126,11,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-02-22 07:00 +6th style,NEMESIS,TECHNO,D.J.SETUP,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,1738,786,166,3,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-02-22 06:20 +6th style,route 80s,NOISY,sampling masters MEGA,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +6th style,SOMETHING WONDERFUL,EPIC TRANCE,L.E.D.,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,1892,892,108,0,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 07:54 +6th style,Take It Easy,INSTRUMENTAL,Aya,1,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,2389,1132,125,5,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-11-12 08:08 +7th style,A,RENAISSANCE,D.J.Amuro,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +7th style,AVE DE RAPINA,ALTERNATIVE HOUSE,Shawn The Horny Master,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,1667,738,191,2,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-12-19 02:52 +7th style,Bad Routine,FILTER HOUSE,D.J. Spugna,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +7th style,Burning Heat! (Full Option Mix),12 BEAT,Mr.T with Motoaki.F,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +7th style,Cheer Train,BIG BEAT,Fuzita Blender,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +7th style,D2R,HYPER ROCK BEAT,NAOKI,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +7th style,DESTINY,HYPER EUROBEAT,NAOKI feat.Paula Terry,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +7th style,foreplay,PROGRESSIVE JAZZ,Osamu Kubota,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +7th style,Glorious Days,HIP HOP&SOUL,Noria,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +7th style,Happy Wedding,HOUSE,ASKA,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +7th style,Last Message,EUROBEAT,good-cool feat. Meg,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +7th style,Let the Snow Paint Me,AMBIENT POP,Sana,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,7,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +7th style,Love Me Do,NEW WAVE,AKIRA YAMAOKA,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +7th style,Spica,HOUSE,D.JW,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +7th style,stoic,TECHNO,TaQ,1,0,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,2293,1006,281,8,EX HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-11-12 08:21 +7th style,Tomorrow Perfume,TRANCE,dj TAKA,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +7th style,traces,TRANCE,TaQ,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +7th style,ZERO-ONE,ELECTROSHOCK,Mr.T,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +7th style,革命,ORCHESTRAL,dj TAKA with NAOKI,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,abstract,BIG BEAT,TaQ,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,airflow,INSTRUMENTAL,Mr.T,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,ALL RIGHT,DRUM'N'BASS,RAM,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,Attitude,TRANCE,Y&Co.,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,bit mania,テクノ歌謡,AKIRA YAMAOKA,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,Blame,EUROBEAT,good-cool feat. Jeff Coote,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,CELEBRATE NITE,EURO GROOVE,N.M.R,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,Colors -Y&Co. Eurobeat Remix-,EUROBEAT,dj TAKA (remixed by 横田商会),0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,dual control,GARAGE HOUSE,Mr.T,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,Giudecca,PSYCHEDELIC TECHNO,D.J.SETUP,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,Halfway of promise,GIRL ROCK,Yu Takami feat. Shihori Nakane,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,HYPER BOUNDARY GATE,GOA TRANCE,L.E.D.LIGHT,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,LAB,RAVE,RAM,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,LOVE IS ORANGE,HARD CHANSON,Orange Lounge,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,0,NO PLAY,---,2020-12-04 02:16 +8th style,Luv 2 Feel Your Body,2 STEP,Shoichiro Hirata,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,memories,BEAT ROCK,TAKA,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,9,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,Monkey Dance,EUROBEAT,Y&Co.,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,murmur twins,CUDDLECORE,yu_tokiwa.djw,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,MUSIC TO YOUR HEAD,TECHNO,SLAKE,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,PLEASE DON'T GO,DISCO,ASLETICS,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,FULLCOMBO CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,rainbow flyer,TRANCE,dj TAKA,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,symbolic,TECHNO,TaQ,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,thunder,HOUSE,Lion MUSASHI,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,WAR GAME,HIP HOP,ASLETICS,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,World Wide Love,POPS,MTO,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,5,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,xenon,ELECTROSHOCK,Mr.T,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,桜,SPIRITUAL,Reven-G,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +8th style,蒼い衝動,J-TRANCE,NAOKI feat.YUKI,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,8,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,Abyss -The Heavens Remix-,TRANCE CORE,dj TAKA Remixed by Ryu☆,0,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,ACT,RAVE,RAM,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,ATOMIC AGE,ENSEMBLE,SHUNZZY,0,0,0,0,0,---,NO PLAY,---,2,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,BAD BOY BASS!! (dj Remo-con MIX),NRG,Y&Co.,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,bag,SPIRITUAL,Reven-G,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,BRIGHTNESS DARKNESS,ROCOCO TEK,SPARKER,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,Cradle,HEALIN' HARDCORE,positive MA feat.akino,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,Distress,MIXTURE,dj TAKA Remixed by TaQ,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,e-motion 2003 -romantic extra-,TRANCE,e.o.s. Remixed by dj TAKA,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,Golden Horn,TURKISH PIANO'N'BASS,Osamu Kubota,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,HYPER EUROBEAT (2DX style),EUROBEAT,NAOKI feat.PAULA TERRY,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,I Was The One (80's EUROBEAT STYLE),EUROBEAT,good-cool Remixed by NAOKI,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,7,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,Karma,DRUM'N'BASS,TaQ,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,lights,SOUL,flare,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,LOVE SHINE,J-HAPPY HARDCORE,小坂りゆ,0,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,lower world,TECHNO,D.J.SETUP,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,Make A Difference,GOSPEL,Lala Moore with CoCoRo*Co,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,MARIA (I believe... ),EUROBEAT,NAOKI feat.PAULA TERRY,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,moon_child,POST ROCK,少年ラジオ,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,2284,1022,240,23,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-01-10 07:10 +9th style,one or eight,HARDCORE RAVE,sampling masters AYA,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,quasar,TRANCE,OutPhase,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,11,2198,1037,124,0,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 02:06 +9th style,Quickening,PSYCHEDELIC,dj TAKA,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,Really Love,R&B,大部真由美,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,FULLCOMBO CLEAR,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,RISLIM -Remix-,ELECTRO 2 STEP,ric Remixed by Hisashi Nawata,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,rottel-the-Mercury,GABBA,sampling masters MEGA,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,Silvia Drive,HAPPY HANDBAG,dj TAKA feat.Noria,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,SNOW,DRUM'N'BASS,RAM,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,STAR FIELD,TRANCE,SADA,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,Sweet Sweet Magic,HAPPY HARDCORE,jun,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,SWEETEST SAVAGE,HIP HOP,ASLETICS,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,ライオン好き,ボデー,AKIRA YAMAOKA,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +9th style,真夏の花・真夏の夢,HOUSE,Sana,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,1st Samurai,お江戸テクノ,sampling masters MEGA,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,ALIEN TEMPLE,PSYCHEDELIC TRANCE,PINK PONG,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,ASTRAL VOYAGE,DREAM TECHNO,EeL,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,BABY LOVE,ITALO POP,Noria,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,Back Into The Light,2STEP POP TRANCE,Sota Fujimori,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,Boundary,ROCOCO TEK,SPARKER,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,CARRY ON NIGHT (English version),EUROBEAT,platoniX (EURO style),0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,Daisuke,EUROBEAT,Y&Co.,0,2,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,Debtty Daddy,ETHNO HARDCORE,sampling masters AYA,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,desolation,PIANO BALLADE,Mr.T,0,0,0,0,0,---,NO PLAY,---,2,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,5,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,DoLL,HYPER J-POP FOUR,TЁЯRA,0,2,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,7,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,EXE,ELECTROSHOCK,Mr.T,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,Feedback,BREAK BEATS,Audio Highs,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,FEEL IT,DRUM'N'BASS,RAM,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,Freezing atmosphere,NATURAL SOUND,Twin AmadeuS,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,GHOST REVIVAL,GOA TRANCE,L.E.D.,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,GRADIUS -FULL SPEED-,GAME MUSIC,Mr.T,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,HIGH,RAVE,RAM,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,Innocent Walls,TECHNO,TaQ,1,0,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,12,2262,1001,260,17,HARD CLEAR,AA,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2021-03-14 02:19 +10th style,Love Is Eternity,TRANCE,kors k,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,Lucy,DANCE POP,ELE BLOCK,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,CLEAR,---,11,2185,1038,109,14,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-04-03 01:04 +10th style,Narcissus At Oasis,ARTCORE,Ryu☆,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,No.13,PROGRESSIVE BAROQUE,TAKA respect for J.S.B.,1,0,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,2923,1346,231,14,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-04-03 01:24 +10th style,One More Lovely,HAPPY,Risk Junk,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,12,2241,977,287,41,HARD CLEAR,A,0,0,0,0,---,NO PLAY,---,2020-12-19 08:07 +10th style,pandora,TRANCE,dj TAKA feat.Tomomi,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,rainbow rainbow,HAPPY HARDCORE,Ryu☆,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,Rise'n Beauty,TRANCE,Sota feat. Cyborg Akemi,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,SHOOTING STAR,J-POP,小坂りゆ,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,SPACE FIGHT,戦艦テクノ,AKIRA YAMAOKA,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,システムロマンス,ムートラ(ムードトランス),ヒロシ&チー子,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +10th style,雪月花,HARD HOUSE,Ryu☆,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,2277,1057,163,19,EX HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-04-06 10:04 +IIDX RED,AA,RENAISSANCE,D.J.Amuro,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +IIDX RED,ANDROMEDA,PSYCHEDELIC GOA TRANCE,Sota Fujimori,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +IIDX RED,awakening,TRANCE,AKIRA YAMAOKA,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,1597,754,89,3,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 07:16 +IIDX RED,Be quiet,HARD DANCE,Ryu☆,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +IIDX RED,BLOCKS,TRANCE,SPARKER,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +IIDX RED,Click Again,CLICK HOUSE,dj REMO-CON,2,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,11,1871,834,203,15,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 05:48 +IIDX RED,D.A.N.C.E.!,J-POP,DJ Yoshitaka feat.星野奏子,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +IIDX RED,Don't be afraid myself,J-POP,platoniX with ray.D,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +IIDX RED,FAKE TIME,HARD ROCK,dj REMO-CON,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,11,1644,763,118,19,HARD CLEAR,AAA,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2021-02-22 07:18 +IIDX RED,Fly Away To India,DANCE POP,Baby Weapon feat.KAJIL,1,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,7,1331,624,83,0,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-02-22 03:37 +IIDX RED,GENOCIDE,DRUM'N'BASS,dj Killer,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,2033,893,247,20,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 06:10 +IIDX RED,gigadelic,NUSTYLE GABBA,teranoid feat.MC Natsack,0,3,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,FULLCOMBO CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +IIDX RED,KEY,BEAT ROCK,colors,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,2751,1319,113,1,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-11-12 08:11 +IIDX RED,NEBULA GRASPER,PSYCHEDELIC TRANCE,L.E.D.,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,2218,992,234,2,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-12-04 09:28 +IIDX RED,RED ZONE,SPEED RAVE,Tatsh&NAOKI,0,1,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,2020-11-12 00:47 +IIDX RED,RESONATE 1794,HARD SONATA,KOHTA,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,1719,783,153,4,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-02-22 05:50 +IIDX RED,Secret of Love,DRUM'N'BASS,D.J.SWAN,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,1880,876,128,5,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-02-22 07:21 +IIDX RED,SPEEDY CAT,EUROBEAT,Y&Co.,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +IIDX RED,Sphere,MEDIEVAL CHOIR,Tatsh feat. K.Nayuki,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +IIDX RED,spiral galaxy,PSYCHEDELIC TECHNO,D.J.SETUP,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,2020-11-12 00:47 +IIDX RED,The Hope of Tomorrow,CYBORG TRANCE,Sota Fujimori,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +IIDX RED,Wonder Bullfighter,NATURAL SOUND,Twin AmadeuS,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +IIDX RED,ピアノ協奏曲第1番”蠍火”,DIRGE,virkato,3,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,11,1936,836,264,10,EX HARD CLEAR,AA,12,2337,999,339,38,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-04-03 00:53 +IIDX RED,太陽~T・A・I・Y・O~,CYBER J-EURO,NAOKI feat.星野奏子,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HAPPY SKY,100% minimoo-G,SYNTHETIC PROGRESSIVE ROCK,Sota Fujimori,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,1517,657,203,16,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 07:23 +HAPPY SKY,alla turca con passione,NATURAL SOUND,Twin AmadeuS,2,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,1942,899,144,16,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-01-10 08:41 +HAPPY SKY,Aurora,TRANCE CORE,Ryu☆,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HAPPY SKY,CaptivAte~浄化~,NOSTALISH REQUIEM,A/I,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2288,1055,178,1,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 02:09 +HAPPY SKY,double thrash,BATTLE2005,414,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,10,2080,940,200,32,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-03-14 07:06 +HAPPY SKY,EDEN,HYPER J-POP SIX,TЁЯRA,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HAPPY SKY,EMPTY OF THE SKY,E-ROCK,AKIRA YAMAOKA,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HAPPY SKY,Get'em up to R.A.V.E,RAVE,Disconation,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HAPPY SKY,HAPPY☆ANGEL,HAPPY HARDCORE,jun with TAHIRIH,1,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,1966,918,130,3,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 06:28 +HAPPY SKY,in motion,CLICK HOUSE,Ryu☆,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,7,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HAPPY SKY,INAZUMA,TRANCE,dj TAKA,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HAPPY SKY,LESSON 5,HAPPY EXTREME,Risk Junk feat.Erika Mochizuki,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HAPPY SKY,Little Little Princess,PUNK OPERA,SHRINE 418,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,12,3524,1625,274,35,HARD CLEAR,AAA,2020-12-04 04:59 +HAPPY SKY,Pollinosis,HARD DANCE,dj REMO-CON,2,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,11,2220,999,222,32,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 07:25 +HAPPY SKY,POODLE,EUROBEAT,Y&Co.,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,11,3123,1455,213,20,EX HARD CLEAR,AAA,2020-12-04 04:56 +HAPPY SKY,rage against usual,DIGI-ROCK,dj TAKA feat.Gt.Shintaro,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HAPPY SKY,SCREAM SQUAD,BREAKCORE,CALF,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HAPPY SKY,Scripted Connection⇒ A mix,TECHNO,DJ MURASAME,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HAPPY SKY,Scripted Connection⇒ H mix,TECHNO,DJ MURASAME,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HAPPY SKY,SigSig,MAKINA,kors k,0,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HAPPY SKY,Twelfth Style,HAPPY EURO PARADISE,Tatsh&DAYBREAKERS NEXT,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,12,2844,1285,274,54,HARD CLEAR,AA,2020-12-04 06:32 +HAPPY SKY,Under the Sky,J-EUROTRANCE,南さやか(BeForU) with platoniX,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HAPPY SKY,Votum stellarum,ANTHEM TRANCE,iconoclasm,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,HARD CLEAR,---,10,1728,761,206,8,EX HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-01-10 06:49 +HAPPY SKY,We are Disっ娘よっつ打ち命,DISCO,DANCE☆MAN feat. Disっ娘,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HAPPY SKY,Xepher,MEDIEVAL CHOIR,Tatsh,0,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HAPPY SKY,オレはビートマニア!お前は何マニア?,FUNK,DANCE☆MAN,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HAPPY SKY,ヒマワリ,J-HAPPY HARDCORE,小坂りゆ,1,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,1961,925,111,1,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-12-19 03:55 +HAPPY SKY,ラクエン,REGGAE,Chonan Chiharu,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,11,1784,785,214,15,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 06:04 +HAPPY SKY,冥,HUMAN SEQUENCER,Amuro vs Killer,6,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,2796,1177,442,101,CLEAR,A,0,0,0,0,---,NO PLAY,---,2021-01-10 05:42 +HAPPY SKY,合体せよ!ストロングイェーガー!! (Ryu☆ remix),HARD DANCE,L.E.D./Remixed by Ryu☆,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DistorteD,ALFARSHEAR 双神威に廻る夢,HYPER J-POP SEVEN,TЁЯRA,0,2,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DistorteD,Apocalypse ~dirge of swans~,ORATORIO,Zektbach,0,1,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DistorteD,Bloody Tears(IIDX EDITION),HARD RENAISSANCE,DJ YOSHITAKA,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,2016,930,156,5,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 06:54 +DistorteD,BOOM BOOM DISCO NIGHT,EUROBEAT,Y&Co.,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DistorteD,Broadbanded,TRANCE,SADA,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,1815,813,189,1,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-02-22 07:44 +DistorteD,Concertino in Blue,PROGRESSIVE,佐々木博史,1,2,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,2207,936,335,22,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-04-03 01:32 +DistorteD,CONTRACT,SUBLIME TECHNO,朱雀,1,0,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,1864,836,192,6,HARD CLEAR,AA,12,0,0,0,---,HARD CLEAR,---,2021-02-22 08:41 +DistorteD,D.C.fish,TECHNO,DJ MURASAME,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DistorteD,Double Loving Heart,J-POP,Tatsh feat. Junko Hirata & Sayaka Minami,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DistorteD,DUE TOMORROW,TECHNO,Mr.T,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DistorteD,Ganymede,ESOTERIC SLOWCORE,玄武,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DistorteD,Harmony and Lovely,PROGRESSIVE HOUSE,Ryu☆,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,1991,906,179,11,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 07:14 +DistorteD,Heavenly Sun (IIDX VERSION),TRANCE,AKIRA YAMAOKA,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DistorteD,Leaving...,SYMPHONIC EURO,SEIYA MURAI meets “eimy”,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,2107,996,115,3,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 08:28 +DistorteD,MINT,ELECTRONICA,SLAKE,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,2064,947,170,17,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-02-22 06:22 +DistorteD,MOON,哀愁ユーロ,dj TAKA feat.Erika Mochizuki,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,2085,967,151,0,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 07:51 +DistorteD,So Fabulous !!,BUCHIAGE TRANCE,HHH (Ryu☆ & Dai),0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DistorteD,Sun Field,HAPPY POP,mh sequence,1,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,2239,1024,191,3,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-02-22 07:29 +DistorteD,The Dirty of Loudness,SADISTIC HARDCORE,Tatsh Assault X,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DistorteD,This is Love,CORE POP,D-crew feat.MAKOTO,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DistorteD,tripping contact(teranoid&MC Natsack Remix),GABBA,kors k vs teranoid,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,2228,1027,174,21,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-01-10 01:21 +DistorteD,TYPE MARS(G-Style Mix),PSYCHEDELIC TRANCE,L.E.D.,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DistorteD,waxing and wanding,DANCE SPEED,青龍,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,2020-11-12 00:47 +DistorteD,Why did you go away,LOVERS EUROBEAT,jun with TAHIRIH,0,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DistorteD,Zenius -I- vanisher,CYBER OPUS,Tatsh,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DistorteD,カゴノトリ~弐式~,和式電子音楽,橙色特別室,2,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,2429,1135,159,10,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-02-22 02:33 +DistorteD,タシカナモノ,POPROCK,星野奏子 with the BAND,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,HARD CLEAR,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DistorteD,嘆きの樹,CONTEMPORARY,金獅子,6,0,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,2271,1031,209,8,HARD CLEAR,AA,12,3328,1466,396,35,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-04-03 07:43 +DistorteD,罠,DRUM'N'ROCK,good-cool,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DistorteD,華蝶風雪,ASIAN MIXTURE,白虎,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,Air Bell,FLOW POP,D-crew,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,ANDROMEDA II,PSYCHEDELIC SYNTH TRANCE,Sota Fujimori,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,Blind Justice ~Torn souls, Hurt Faiths ~,EPIC POETRY,Zektbach,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,Candy Galy,HAPPY,Risk Junk-G,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,CaptivAte~裁き~,NOSTALISH REQUIEM,DJ YOSHITAKA feat.A/I,0,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,CaptivAte~誓い~,NOSTALISH REQUIEM,A/I,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,CROSSROAD ~Left Story~,DRAMATIC EURO TRANCE,jun with TAHIRIH,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,Cyber Force,CYBORG TRANCE,Sota Fujimori feat.cyborg AKEMI,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,Fascination MAXX,SuperNOVA BEAT,100-200-400,2,0,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,1206,483,240,35,HARD CLEAR,A,12,1750,694,362,35,HARD CLEAR,B,0,0,0,0,---,NO PLAY,---,2021-02-22 07:35 +GOLD,FIRE FIRE,BUCHIAGE TRANCE,StripE,0,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,four-leaf,ROCK,Sis Bond Chit,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,GOLD RUSH,RECKLESS RAVE,DJ YOSHITAKA-G feat.Michael a la mode,0,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,GRID KNIGHT,ELECTRONICA,SAW WAVE SQUAD,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,2020-11-12 00:47 +GOLD,heaven above,FILTER HOUSE,kors k,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,High School Love,HIGH SPEED LOVE SONG,DJ YOSHITAKA feat.DWP,0,2,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,INORI,MILLENNIUM TRANCE,dj TAKA feat.HAL,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,KAMAITACHI,FREEFORM HARDCORE,DJ TECHNORCH fw. GUHROOVY,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,12,2929,1251,427,110,FAILED,A,2021-01-10 07:31 +GOLD,LASER CRUSTER,NU-SKOOL BREAKS,L.E.D.,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,Love Again...,POPS,Tatsh feat. Junko Hirata,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,5,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,Make Me Your Own,HOUSE,good-cool ft. Raj Ramayya,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,METALLIC MIND,OLDSKOOL HARDCORE RAVE,DJ TECHNORCH fw. GUHROOVY,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,never…,DANCE POP,Kanako Hoshino with dj TAKA,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,op.31 叙情,PIANO CONCERTO,akiko,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,1147,462,223,28,HARD CLEAR,A,0,0,0,0,---,NO PLAY,---,2021-03-14 06:11 +GOLD,PHOTONGENIC,DRUM & BASS,L.E.D. fw.堀澤麻衣子,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,Roulette,EUROBEAT,Y&Co.,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,Second Heaven,HANDZ UP,Ryu☆,0,1,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,Sense 2007,RAVE,good-cool,1,0,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,12,2442,1043,356,41,EX HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-04 02:39 +GOLD,smile,ELE POP,miru_maki.gjw,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,CLEAR,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,snow storm,TRANCE,dj TAKA,0,1,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,2020-11-12 00:47 +GOLD,the shadow,SCHRANZ,kors k,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,The Smile of You,POP,猫叉Master feat.JESSY,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,TRANOID,PSG WORKS,T&S seq. factory,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,VANESSA,DECEPTIVE GABBA,朱雀,0,0,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,CLEAR,---,2020-11-12 00:47 +GOLD,Watch out!!,HIP HOP,MAD Sequence*,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,With your Smile,J-HOUSE,Shoichiro Hirata plus Junko Hirata,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,クルクル☆ラブ~Opioid Peptide MIX~,FUTURE POP,イオンチャンネル,0,2,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,ヨシダさん,TECHNO,AKIRA YAMAOKA,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,リグレット,EURO TRANCE,星野奏子,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,星をこの手に,J-POP,DJ YOSHITAKA feat.星野奏子,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,花吹雪 ~ IIDX LIMITED ~,JAPANESE ALTERATION,S.S.D.FANTASICA feat.ユッコ,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,零 - ZERO -,HYPER J-POP ZERO,TЁЯRA,0,1,0,0,0,---,NO PLAY,---,6,0,0,0,---,HARD CLEAR,---,8,0,0,0,---,CLEAR,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +GOLD,電人、暁に斃れる。,NU-NRG,L.E.D.-G,0,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,2 tribe 4 K,TRIBAL,Remo-con,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,Anisakis -somatic mutation type"Forza"-,HARD RENAISSANCE,朱雀,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,avant-guerre,CLASSICAL PIANO SOLO,Osamu Kubota,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,Be OK,EUROBEAT,good-cool ft. Florence,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,HARD CLEAR,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,2020-11-12 00:47 +DJ TROOPERS,beatonic nation,TECH-TRONIKA,Sota Fujimori,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,Blue Rain,TRANCE,dj TAKA VS Ryu☆,1,2,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,12,2738,1189,360,38,HARD CLEAR,AA,2020-12-04 05:10 +DJ TROOPERS,Darling my LUV,J-R&B,DJ Yoshitaka feat.B-Agents,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,Dazzlin' Darlin,HANDZ UP,HHH,0,2,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,Digitank System,TECH-BREAKBEATS,DJ Mass MAD Izm*,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,Do it!! Do it!!,N-BEATS,Kraken,0,0,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,end of world,FRENZY HOUSE,猫叉Master+,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,four pieces of heaven,JUNGLE,Lion,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,Freeway Shuffle,TRANCE,dj TAKA,0,2,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,ICARUS,NU-SKOOL BREAKBEATS HARDCORE,Eagle,1,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,12,2732,1135,462,148,FAILED,A,2020-12-04 06:48 +DJ TROOPERS,in the Sky,HAPPY HARDCORE,Ryu☆,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,Kick Out 仮面,E-DANCE POP,上野圭市(aka. Babyweapon,DJ SWAMI)feat.星野奏子,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,LOVELY STORM,HAPPY HARDCORE,L.E.D.-G,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,madrugada,PROGRESSIVE HOUSE,PINK PONG,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,MAX LOVE,LOVELY BUCHIAGE POP,DJ YOSHITAKA feat.星野奏子,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,MENDES,IRREGULAR HI-BREAK,Humanoid,2,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,12,2812,1184,444,34,HARD CLEAR,A,0,0,0,0,---,NO PLAY,---,2021-01-10 04:50 +DJ TROOPERS,MENTAL MELTDOWN,HARD HOP,GUHROOVY fw.TECHNORCH,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,NEW GENERATION -もう、お前しか見えない-,ONLY ONE EURO BEAT,SUPER STAR 満-MITSURU-,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,oratio,HYMNUS,蓑舞衆,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,PARANOiA ~HADES~,SUPERNOVA2 BEAT #1,αTYPE-300,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,PROMISE FOR LIFE,BALLAD,TЁЯRA WORKS,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,REMINISCENCE,TRI EURO FANTASIA,jun with Alison,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,Ristaccia,OUVERTURE,Zektbach,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,satellite020712 from "CODED ARMS",HARD HOUSE,猫叉Master,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,satfinal,RAVE,RAM,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,scar in the earth,WORLD/ELECTRONICA,猫叉Master,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,soldier's waltz,WALTZ BEAT,DAJI,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,SOUND OF GIALLARHORN,FREEFORM HARDCORE,L.E.D.-G,1,2,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,3032,1409,214,13,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-12-04 03:02 +DJ TROOPERS,State Of The Art,TECHNOTRONICA,Sota Fujimori feat. cyborg AKEMI,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,STEEL NEEDLE,BREAK CORE,Scorpion,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,839,364,111,---,HARD CLEAR,E,0,0,0,0,---,NO PLAY,---,2020-11-12 08:19 +DJ TROOPERS,switch,ULTIMATE J-POP,DAISUKE ASAKURA ex.TЁЯRA,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,THE DEEP STRIKER,NU STYLE GABBA,L.E.D.-G,0,2,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,2020-11-12 00:47 +DJ TROOPERS,the trigger of innocence,ETHNOTRONICA,Seiya Murai,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,Time to Air,DANCE SPEED,青龍,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,TRIP MACHINE PhoeniX,SUPERNOVA2 BEAT #2,DE-SIRE改,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,TROOPERS,ULTIMATE CORE,Des-TRACT,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,Ubertreffen,PROGRESSIVE BAROQUE,TAKA respect for J.S.B.,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,2020-11-12 00:47 +DJ TROOPERS,Wanna Party?,PIANO HOUSE,RAM,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,11,2417,1137,143,12,EX HARD CLEAR,AAA,2020-12-04 05:08 +DJ TROOPERS,エコ爺,80's EURO,Y&Co.,0,2,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,マチ子の唄,EDUCATION,AKIRA YAMAOKA,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,ミラージュ・レジデンス,FUSION,Jimmy Weckl,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,少年A,POST RENAISSANCE,Remixed by 少年ラジオ,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,華爛漫 -Flowers-,HYPER JAPANESQUE 2,TЁЯRA,0,2,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +DJ TROOPERS,走馬灯 -The Last Song-,SOLDIER'S BALLAD,TAKA,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,3y3s,DANCE SPEED,青龍,1,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,12,2833,1207,419,92,CLEAR,A,0,0,0,0,---,NO PLAY,---,2021-03-14 02:25 +EMPRESS,ALL I NEED YOUR LOVE,HARD CORE,GUHROOVY fw. M-Project,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,FULLCOMBO CLEAR,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,ALL MY TURN -このターンに、オレの全てを賭ける-,ONLY ONE EURO BEAT,SUPER STAR 満-MITSURU-,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,CLEAR,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,Arabian Rave Night,ARABIC HARDCORE,dj MAX STEROID,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,0,0,---,2020-12-04 05:58 +EMPRESS,B4U(BEMANI FOR YOU MIX),RECKLESS RAVE,Remixed by DJ YOSHITAKA with Michael a la mode,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,12,3737,1591,555,59,HARD CLEAR,AA,2020-12-04 09:33 +EMPRESS,Bahram Attack-猫叉Master Remix-,HOUSE,猫叉Master feat.JUNE,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,BITTER CHOCOLATE STRIKER,JUMPSTYLE,L.E.D.-G,2,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,1980,873,234,9,EX HARD CLEAR,AA,12,3585,1653,279,37,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-04-03 08:58 +EMPRESS,BRIDAL FESTIVAL !!!,HAPPY ☆ JIG,S.S.D. with ななっち,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,2048,979,90,1,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-12-19 04:21 +EMPRESS,CaptivAte2~覚醒~,NOSTALISH REQUIEM,e-lma,0,1,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,Colorful Cookie,HAPPY HARDCORE,Lucky Vacuum,1,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,12,2960,1300,360,21,EX HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-04 02:41 +EMPRESS,Cyber Force -DJ Yoshitaka Remix- ,BUCHIAGE TRANCE,Remixed by DJ YOSHITAKA,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,Flash Back 90's,MEGA MIX,kors k as disconation,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,Fly Above,DREAM TRANCE,Sota Fujimori,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,Go Beyond!!,TRANCE CORE,Ryu☆ Vs. Sota,2,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,1614,741,132,5,HARD CLEAR,AAA,12,1728,734,260,54,CLEAR,A,0,0,0,0,---,NO PLAY,---,2021-02-22 02:31 +EMPRESS,HYPERION,MORNING FULL ON,L.E.D.,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2472,1113,246,0,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-01-10 00:31 +EMPRESS,I'm Screaming LOVE,TECHNO POP,Creative Life,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,7,1609,760,89,0,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-12-19 04:19 +EMPRESS,Jack,MIXTURE,DesQ,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,Just a Little Smile,NU SKOOL BREAKS,Sota Fujimori,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,Kung-fu Empire,ASIAN JANGLE,飛燕流舞,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,2020-11-12 00:47 +EMPRESS,Mind Mapping,ELECTRO-TECH,Ryu☆,0,3,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,Monkey Dance '09,EUROBEAT,Y&Co. Feat. DOMINO,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,2025,925,175,9,EX HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-19 05:50 +EMPRESS,naughty girl@Queen's Palace,TECH-BREAKBEATS,DJ Mass MAD Izm*,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,2020-11-12 00:47 +EMPRESS,neogenesis,ENERGETIC TRANCE,DM Ashura,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,NΦ CRIME,DANCE MUSIC OF SORROW,C×F,0,2,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,Programmed World,PSY TRANCE(FULL ON),kors k as StripE,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,Punch Love 仮面,E-DANCE POP,上野圭市(aka. Babyweapon,DJ SWAMI)feat.星野奏子,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,Queen's Tragedy,BIGBEAT,猫叉Master+,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,Secrets,TECH-PARA,good-cool ft. CHiCO,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,smooooch・∀・,CANDY RAVE,kors k,0,2,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,SOLITON BEAM,TECHNO,L.E.D.,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,THANK YOU FOR PLAYING,ONLY ONE EPILOGUE,SUPER STAR 満-MITSURU-,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,1976,905,166,3,EX HARD CLEAR,AAA,12,0,0,0,---,HARD CLEAR,---,2021-01-10 00:50 +EMPRESS,Turii ~Panta rhei~,ELEMENTAL CHANT,Zektbach,0,2,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,V2,PROGRESSIVE,TAKA,1,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,2601,1122,357,38,NO PLAY,AA,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:55 +EMPRESS,Y&Co. is dead or alive,90's RAVE,Y&Co.,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,You'll say "Now!",ONLY ONE TECHNO,BLACK STAR 幸広-YUKIHIRO-,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,まほろば,J-DANCE POP,HHH+H,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,HARD CLEAR,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,ハリツヤランデヴー,HOU-ROCK,Des-MASTERS,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,2353,1112,129,5,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-01-10 00:42 +EMPRESS,ミッドナイト堕天使,TRENDY TECHNO,Dr.Honda,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,不沈艦CANDY,HARDCORE,Risk Junk,1,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,1819,834,151,10,HARD CLEAR,AAA,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2021-03-14 06:06 +EMPRESS,凛として咲く花の如く,撫子ロック,紅色リトマス,0,2,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,2020-11-12 00:47 +EMPRESS,卑弥呼,ESOTERIC SPEEDCORE,朱雀 VS 玄武,24,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,11,2384,1048,288,41,HARD CLEAR,AA,12,3282,1434,414,87,FAILED,A,0,0,0,0,---,NO PLAY,---,2021-04-03 05:14 +EMPRESS,天空脳番長危機十六連打,RAGE AGAINST EMPRESS,D.J.SETUP,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,山岡晃の「クイズ!家事都合!」,ポップス,AKIRA YAMAOKA feat.喜屋武ちあき,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,翼,J-TRANCE,小林ゆう,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +EMPRESS,鉄甲乙女-under the steel-,IRON CONCERTO,Seiya Murai,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,AIR RAID FROM THA UNDAGROUND,SPEEDCORE,GUHROOVY,0,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,2020-11-12 00:47 +SIRIUS,Almagest,AKASHIC RECORDS,Galdeira,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,Bad Maniacs,INDUSTRIAL,kors k as teranoid,1,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,2142,848,446,83,HARD CLEAR,B,0,0,0,0,---,NO PLAY,---,2021-01-10 00:17 +SIRIUS,bass 2 bass,BUBBLEGUM DANCE,Ryu☆,0,1,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,beatchic☆仮面~好き、でいさせて~,E-DANCE POP,上野圭市(transforming into Masao Lovely)feat.星野奏子,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,BEAUTIFUL ANGEL,DRUM'N'BASS,DJ SWAN,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,being torn the sky,ELECTRO POP,猫叉Master+ feat.JUNE,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,HARD CLEAR,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,bloomin' feeling,HAPPY HARDCORE,Ryu☆,0,2,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,CaptivAte~裁き~(SUBLIME TECHNO MIX),SUBLIME TECHNO,Remixed by DJ YOSHITAKA,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,D,NEXT SKOOL BREAKBEATS HARDCORE,Eagle,0,0,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,DAWN -THE NEXT ENDEAVOUR-,DRUM & BASS,L.E.D. fw.堀澤麻衣子,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,Dazzlin' Darlin-秋葉工房mix-,EUROBEAT,Remixed by DJ Command,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,DESIRE,UK HARDCORE,M-Project fw. GUHROOVY,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,DOMINION,HARDCORE,L.E.D.-G,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,DROP,WHITE SEQUENCE,dj TAKA feat.Kanako Hoshino,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,Elisha,TRANCE CORE,DJ YOSHITAKA,0,2,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,Empire State Glory,CYBERPUNK,Dirty Androids,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,eRAseRmOToRpHAntOM,HARDCORE,L.E.D.-G VS GUHROOVY,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,Evans,HARD RENAISSANCE,DJ YOSHITAKA,1,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,12,2469,1094,281,26,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-19 06:45 +SIRIUS,EXUSIA,HARDCORE,L.E.D.-G,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,G59,EXPERIMENTAL MUSIC,怒れる金の獅子,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,GALGALIM,HARDCORE TECHNO,L.E.D.,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,GOLDEN CROSS,TECHNO,dj REMO-CON VS dj TAKA,2,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,12,3206,1479,248,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-04-03 01:54 +SIRIUS,Hydrogen Blueback,TECH DANCE,MAD CHILD,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,IN THE NAME OF LOVE,EUROBEAT,Y&Co.feat.Erica,0,3,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,Keep it-秋葉工房mix-,EUROBEAT,DJ Command feat. NAGISA,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,Last Burning,ELECTRO,Dirty Androids,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,Light Shine,BUBBLEGUM DANCE,Ryu☆,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,MIRACLE MEETS,BUCHIAGE TRANCE,Lucky Vacuum,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,mosaic,TECHNO POP SPEED,Auridy,3,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,12,2887,1384,119,8,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:49 +SIRIUS,NEW SENSATION -もう、あなたしか見えない-,ONLY ONE IDOL SONG,SUPER HEROINE 彩香-AYAKA-,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,NoN-Fiction Story!,TECHNO POP,Creative Life,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,Programmed Sun,PSY TRANCE(MORNING),kors k,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,quell~the seventh slave~,TRANCE,dj TAKA Vs. DJ YOSHITAKA,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2579,1119,341,60,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-19 04:39 +SIRIUS,Raison d'etre~交差する宿命~,ASTRAL CHOIR,Zektbach,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,Red. by Full Metal Jacket,TECH-BREAKBEATS,DJ Mass MAD Izm*,4,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,2881,1272,337,5,EX HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-04-03 08:55 +SIRIUS,Roots of my way!,ACTRESS,ナイア,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,Session 1 -Genesis-,ELECTRIC FUSION,PRASTIK DANCEFLOOR,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,She is my wife,ONLY ONE BALLAD,SUPER STAR 満-MITSURU-,0,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,SOLID STATE SQUAD,HARDSTYLE,kors k Vs. L.E.D.,3,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,3226,1456,314,13,EX HARD CLEAR,AA,12,3165,1402,361,42,HARD CLEAR,AA,2021-03-14 08:13 +SIRIUS,Sorrows,EMO,Asako Yoshihiro,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,Special One,J-HOUSE,kors k feat. Suzuyo Miyamoto,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,THE LAST STRIKER,DRUM & BASS,L.E.D.,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,The Story Begins,EPIC TRANCE,SADA & Sota,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,かずあそび,INSANIO,CULTVOICE by S.S.D.PRODUCTS,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,たからもの,POPS,セリカ&エリカ,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,コスモス,J-POP,TSU-NA,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,サヨナラ・ヘヴン,WORLD/ELECTRONICA,猫叉Master,0,2,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,バビロニア,DISTORTED NEW AGE,劇団レコード,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,ワルツ第17番 ト短調”大犬のワルツ”,VALSE,virkato,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,2739,1175,389,35,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-19 06:28 +SIRIUS,未来のプリズム,STARPOP,星野奏子,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SIRIUS,水上の提督(Short mix from "幻想水滸伝V"),WORLD/ELECTRONICA,猫叉Master,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Aegis,TECHNO,IT medalion,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,ALBIDA,HARD RENAISSANCE,DJ YOSHITAKA,0,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Answer,STARPOP,星野奏子,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,ANTHEM LANDING,LATIN TEK,DJムラサメ,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Believe In Me,HARDCORE,Uraken feat. Calyn Tsukishima,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,BLUST OF WIND,CROSSOVER HOUSE,Anemo=Aspel by MLREC.,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Bounce Bounce Bounce,DANCEHALL,kors k feat.Kanata Okajima&楽天斎,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Breaking the ground,HARDCORE,Art of Fighters,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Broken,TRANCE,dj TAKA feat.AiMEE,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,BROKEN EDEN,SYMPHONIC-TEK,MYTHOLOGIA by MLREC.,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Dances with Snow Fairies,トレンディートランス,Dr.Honda,2,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,2133,981,171,2,HARD CLEAR,AAA,12,2627,1137,353,37,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-03-14 08:31 +Resort Anthem,DAYDREAMER,GIRLY ROCK,ピンクターボ,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Destiny Sword,ELECTRIC STEP,CAPACITY GATE,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,DM STAR~関西 energy style~,SPEED RAVE,NAOKI,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Energy Drive,HARDCORE,kevin energy,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Eternal Tears,WINTER BALLADE,ツガル,0,0,0,0,0,---,NO PLAY,---,2,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Everlasting Resort,ONLY ONE ANTHEM,SUPER STAR 満-MITSURU-,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Fantasia,HYPER FANTASIA,TЁЯRA,1,1,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,2114,1007,100,9,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-01-10 00:25 +Resort Anthem,Golden Palms,NU DISCO,Dirty Androids,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,1892,874,144,16,HARD CLEAR,AAA,11,0,0,0,---,HARD CLEAR,---,2021-03-14 02:31 +Resort Anthem,I FIGHT ME,DRUM & BASS,kobo feat. Marsha,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Kailua,ENERGETIC HAWAIIAN TRANCE,kors k,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Let The Track Flow,UK HARDCORE,Brisk & Ham,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Mermaid girl,BUBBLEGUM DANCE,Cream puff,0,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Never Fade Away,IIDX HANDZ UP!!,Sota Fujimori feat. dj MAX STEROID,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,New Castle Legions,DYSTOPIA,Dirty Androids,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,PARADISE LOST,TRANCE CORE,Ryu☆ Vs. L.E.D.-G,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,passionate fate,HANDZ UP,Ryu☆,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,1865,818,229,10,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-03-14 06:57 +Resort Anthem,perditus†paradisus,ANTHEM CORE,iconoclasm,3,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,12,2987,1241,505,113,FAILED,A,0,0,0,0,---,NO PLAY,---,2021-04-03 07:41 +Resort Anthem,Programmed Life,PSY TRANCE(FULL ON),kors k,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,reunion,CYBER WALTZ,Tatsh,0,3,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Rock Da House,UK HARDCORE,M-Project fw. GUHROOVY,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,SABER WING,SHOOTING WALTZ,TAG,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Sakura Reflection,HAPPY HARDCORE,Ryu☆,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,sakura storm,HAPPY HARDCORE,Ryu☆,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Session 9 -Chronicles-,ROCKIN' DRUM'N'BASS,PRASTIK DANCEFLOOR,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Space Time,ENERGETIC TRANCE,NISH,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,2010,926,158,4,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 07:42 +Resort Anthem,SPECIAL SUMMER CAMPAIGN!,BUCHIAGE TRANCE,Lucky Vacuum,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,12,2751,1266,219,2,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 05:54 +Resort Anthem,STELLAR WIND,HARD DANCE,L.E.D.,0,2,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,THE BLACK KNIGHT,GOA TRANCE,L.E.D.,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,THE DOOR INTO RAINBOW,TRANCE,L.E.D.,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,THE FALLEN,GOTH NU-STYLE GABBA,L.E.D.-G,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Tropical April,VACATION DANCE,Risk Junk,0,0,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Vermillion,PSYCHE FUSION,Mystic Moon,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Watch Out Pt.2,TECH-BREAKBEATS,DJ Mass MAD Izm* VS.DJ Yoshitaka,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,WISE UP!,RESORT HOUSE,木之下慶行 feat.星野奏子,0,2,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,Wuv U,CANDY RAVE,kors k,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,XANADU OF TWO,DANCE POP,T.Kakuta With Starving Trancer + 森永真由美,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,ZETA~素数の世界と超越者~,IDM,Zektbach,0,2,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,おおきなこえで,WORLD/POPS,猫叉Master feat.Sana,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,EX HARD CLEAR,---,10,0,0,0,---,EX HARD CLEAR,---,2020-11-12 00:47 +Resort Anthem,かげぬい ~ Ver.BENIBOTAN ~,NATSU MATSURI,CULTVOICE by S.S.D.PRODUCTS,0,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,中華急行,HAPPY HARDCORE,Ryu☆,0,0,0,0,0,---,NO PLAY,---,2,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,夕焼け ~Fading Day~,AURAL ADRENALINE,JAKAZiD,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,旅人リラン,ELECLORE,XOGO BRYKK,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Resort Anthem,灼熱Beach Side Bunny,BROKEN SAMBA BREAK,DJ Mass MAD Izm*,6,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,2445,948,549,71,HARD CLEAR,A,0,0,0,0,---,NO PLAY,---,2021-04-03 02:05 +Resort Anthem,黒髪乱れし修羅となりて,撫子メタル,村正クオリア,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,24th Century BOY,EURO RAVE,Tatsh,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2445,1073,299,26,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-01-10 04:28 +Lincle,532nm,HARDCORE,Ryu☆,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,Almace,TECHNO,Qrispy Joybox,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,ANAGRAMS I to Y,DANCE POP,Mayumi Morinaga,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,BLACK.by X-Cross Fade,TECH-BREAKBEATS,DJ Mass MAD Izm*,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,2949,1267,415,28,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-11-12 09:11 +Lincle,CALL,WORLD/ELECTRONICA,猫叉Master,0,0,0,0,0,---,NO PLAY,---,2,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,Castle on the Moon,DANCE SPEED,青龍,1,1,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,CLEAR,---,11,2006,878,250,23,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-01-10 08:43 +Lincle,Change the World,SPEED POP,Tatsh feat.小田ユウ,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,DIAVOLO,TRANSCENDENTAL ETUDES,度胸兄弟,2,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,2711,1160,391,39,HARD CLEAR,A,0,0,0,0,---,NO PLAY,---,2021-04-06 10:40 +Lincle,Drive Me Crazy,AKIBA RAVE,kors k feat.古川未鈴,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,Express Emotion,J-CORE,REDALiCE feat. Shihori,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,F,RENAISSANCE,D.J.Amuro,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,Far east nightbird,DRUM'N'BASS,猫叉Master,0,2,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,fffff,HARD Pf,Five Hammer,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,10,1927,871,185,5,EX HARD CLEAR,AA,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-12-19 02:57 +Lincle,Flip Flap,CANDY HANDZ UP,kors k,0,1,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,CLEAR,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,Follow Tomorrow,J-DANCE POP,HHH×MM×ST,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,CLEAR,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,HAERETICUS,ECCENTRIC,D.J.Amuro Vs MAX MAXIMIZER,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,I'm so Happy,HAPPY HARDCORE,Ryu☆,1,2,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,11,2091,942,207,12,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 08:19 +Lincle,In the Blackest Den,PROGRESSIVE ROCK,Bulluvegola,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,2244,967,310,23,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 06:54 +Lincle,Infinite cave,DRUM'N'BASS,猫叉Master+,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,LAX5 feat.Ryota Yoshinari,LOUD TECH,Katana Sounds,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,LETHEBOLG ~双神威に斬り咲けり~,PLATINUM J-POP ONE,TЁЯRA,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,Liquid Crystal Girl feat. echo,ELECTRO,kmp,0,0,0,0,0,---,NO PLAY,---,2,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,LOVE B.B.B,DRUM'N'BASS,SWAN K feat. Asuka M,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,Lucky Days,DREAM TRANCE,Sota Fujimori feat. Kanako Hoshino,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,Mermaid girl-秋葉工房 MIX-,EURO BEAT,Remixed by DJ Command,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,CLEAR,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,Miami Sunset Drive,80's ELECTRO HOUSE,Dirty Androids,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,NNRT,ELECTRO GOTHIC,Levaslater,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,prompt,NU PROGRESSIVE,wxs ft.*spiLa*,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,QUANTUM TELEPORTATION,TECHNO,L.E.D.,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,11,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,2020-11-12 00:47 +Lincle,quaver♪,HAPPY,Risk Junk,1,1,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,3073,1387,299,28,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-19 06:36 +Lincle,Quick Silver,RAVE FUSION,Mystic Moon,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,Round and Round,HYPER ELECTRO,Masayoshi Minoshima feat. 綾倉盟,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,Scharfrichter,HARD ROCK,Ashemu,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2614,1200,214,34,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-19 02:55 +Lincle,SHADE,TECHNO,DJ MURASAME vs dj Killer,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,Snake Stick,TECH-BREAKBEATS,DJ Yoshitaka VS. DJ Mass MAD Izm*,4,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,12,2270,947,376,39,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-01-10 00:15 +Lincle,Snow Goose,ELECTRIC POMP,Mutsuhiko Izumi,0,2,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,The Limbo,CYBER PUNK,STN,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,The Sampling Paradise,HARD TRANCE,Mamonis,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,Thunderbolt,RAVERS DANCE SPEED,雷龍,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,TITANS RETURN,DRUMSTEP,L.E.D.,0,2,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,2020-11-12 00:47 +Lincle,Todestrieb,SACRED TRANCE,Rche,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,Voxane,TECH DANCE,Remo-con,1,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,1669,792,85,0,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-11-12 08:03 +Lincle,WONDER WALKER,HARD TRANCE,L.E.D.,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,YAKSHA,TERROR CORE,Neulakyussra,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,3147,1340,467,48,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-01-10 01:49 +Lincle,yellow head joe,TEK-TRANCE,S-C-U,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,Yellow Sunrise,DRUM'N'BASS,xac,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,ビューティフルレシート,HAPPY HARDCORE,Lucky Vacuum,0,1,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,ユミル,SYMPHONIC-TEK,MYTHOLOGIA by MLREC.,1,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,2574,1171,232,4,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-02-22 08:33 +Lincle,君のハートにロックオン,トレンディーフュージョン,Dr.Honda,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,天空の夜明け,ANTHEM,Cuvelia,2,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,3224,1372,480,53,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-01-10 05:37 +Lincle,子供の落書き帳,PROGRESSIVE,佐々木博史,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,恋する☆宇宙戦争っ!!,Hi-BLEEP,Prim,0,2,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,突撃!ガラスのニーソ姫!,電波,山本椛 (monotone),0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,CLEAR,---,10,0,0,0,---,NO PLAY,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,聖人の塔,BATTLE TRACK,Beridzebeth,2,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,2522,1128,266,45,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-19 09:06 +Lincle,蛇神,ORIENTAL MYTHOLOGY,Zektbach,0,2,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Lincle,陽炎,POP,星野奏子,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,405nm (Ryu☆mix),HARDCORE,Another Infinity,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,8bit Princess,CHIPTUNE,seiya-murai feat. ALT,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,Ascalon,ELECTRO POP,Qrispy Joybox,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,Beastie Starter,SPEEDCORE,GUHROOVY,2,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,1960,881,198,13,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 08:16 +tricoro,BLUE STRAGGLER,HARD DANCE,L.E.D.,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,2399,1102,195,0,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 06:09 +tricoro,BRAVE GLOW,SPACY TRANCE,SOUND HOLIC feat. Nana Takahashi,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,CONCEPTUAL,HARD REVOLUTION,Sota Fujimori 2nd Season,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,2466,1110,246,10,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 07:05 +tricoro,Confiserie,HARD ELECTRIC POP,L.E.D. vs S-C-U,6,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,2930,1284,362,60,FAILED,AA,0,0,0,0,---,NO PLAY,---,2021-04-06 10:34 +tricoro,connective,LOUNGE POP,猫叉Master feat.*spiLa*,0,0,0,0,0,---,NO PLAY,---,2,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,Cookie Bouquets,BREAK CORE,L.E.D. vs TOMOSUKE fw.crimm,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,DAY DREAM,DARK PROGRESSIVE,Mutsuhiko Izumi,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,12,0,0,0,---,NO PLAY,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,Devilz Staircase,SYMPHONIC BREAK BEATS,OSTER project,1,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,2827,1246,335,36,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-19 09:15 +tricoro,Elemental Creation,HARD RENAISSANCE,dj TAKA meets DJ YOSHITAKA,6,1,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,3340,1436,468,86,FAILED,AA,0,0,0,0,---,NO PLAY,---,2020-12-19 08:33 +tricoro,examination leave,VACATION DANCE,dj razzle dazzle,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,3069,1402,265,11,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-01-10 01:02 +tricoro,FLOWER,TRANCE CORE,DJ YOSHITAKA,0,2,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,Fly you to the star,HANDZ UP,Another Infinity feat. Mayumi Morinaga,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,GAIA,SPEED DANCE,猫叉L.E.D.Master+,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,Hollywood Galaxy,DRUM'N'BASS,dj TAKA,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,1849,832,185,3,HARD CLEAR,AAA,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2021-03-31 02:15 +tricoro,Howling,NU RAVE,PON,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,10,0,0,0,---,EX HARD CLEAR,---,2020-11-12 00:47 +tricoro,I know You know,NEW 80's,Suke+Suke feat.Ribbon,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,ILIAS,HYPER ELECTRO,Masayoshi Minoshima feat. 坂上なち,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,Illegal Function Call,ORBITALIC CORE,U1-ASAMi,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2318,1012,294,26,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-04-03 00:50 +tricoro,In Heaven,HEAVENLY TRANCE,Sota Fujimori,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,JOMANDA,HARD RENAISSANCE,DJ YOSHITAKA,0,1,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,Liberation,TRANCE,dj TAKA,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,Light and Cyber…,HAPPY HARDCORE,Tatsh,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,Little Star,J-CORE,REDALiCE feat. Ayumi Nomiya,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,LUV CAN SAVE U,NEO 80's EURO ELECTRO,HIDEKI NAGANUMA,1,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,10,2638,1240,158,6,EX HARD CLEAR,AAA,2020-12-04 05:39 +tricoro,mnemoniq,JAZZ HOUSE,youhei shimizu,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,Neonlights,TECH DANCE,DJ Noriken,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,neu,NIENTE,少年ラジオ,0,1,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,New Decade IIDX Edition,SPEED DANCE CORE,Sota F.,0,1,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,Plan 8,HAPPY GABBA,Ryu☆,5,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,2829,1232,365,35,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-04-03 02:22 +tricoro,planarian,ELECTRIC POP,S-C-U,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,POINT ZERO,DRUM'N'BASS,猫叉Master+,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,1898,871,156,3,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-03-14 07:04 +tricoro,Proof of the existence,HARD ELECTRONICA,猫叉Master+,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,Re:GENERATION,EMOTIONAL SENTENCE,TAG feat. ERi,0,1,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,rumrum triplets,LOUNGECORE,yu_tokiwa.djw,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,S!ck,DRUMSTEP,Eagle,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,2253,992,269,29,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-11-12 00:57 +tricoro,Saturn,PROGRESSIVE TRIBAL,Mr.Saturn,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,SHION,HI-SPEED FANTASY TUNE,DJ YOSHITAKA,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,Sol Cosine Job 2,FREEFORM HARDCORE,DJ TECHNORCH,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,STULTI,GRAVIOL,MAX MAXIMIZER VS DJ TOTTO,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,SYNC-ANTHEM,LATIN EURO,Tatsh feat. 星野奏子,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,Synergy For Angels,ORBITALIC REVOLUTION,TAG×U1-ASAMi,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,Take My Life,EUROBEAT,Y&Co.,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,Thor's Hammer,TRANSCENDENTAL ETUDES,ユニバーサル度胸兄弟,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,Time To Empress,TRANCE,dj TAKA feat.wac & secret K,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,2408,1114,180,1,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-12-19 06:22 +tricoro,Timepiece phase II,PROGRESSIVE ROCK,佐々木博史,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,Timepiece phase II (CN Ver.),PROGRESSIVE ROCK,佐々木博史,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,True Blue,ESSENTIALLY,dj TAKA feat.AiMEE,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,3315,1493,329,18,EX HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-19 06:25 +tricoro,Valanga,ART CORE,DJ TOTTO,2,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,2934,1342,250,23,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-11-12 09:08 +tricoro,VALLIS-NERIA,TRANCE CORE,DJ YOSHITAKA ,0,1,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,VEGA,UNIVERSAL J-CORE,REDALiCE,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,ZED,DUB STEP,USAO,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,Zirkfied,SPACE REQUIEM,iconoclasm,3,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,3161,1354,453,36,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-19 08:23 +tricoro,ΕΛΠΙΣ,ROMANTIC SCHOOL VARIATIONS,dj TAKA,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,†渚の小悪魔ラヴリィ~レイディオ†(IIDX EDIT),Hi-CORE,夏色ビキニのPrim,1,1,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,2875,1224,427,63,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-19 03:44 +tricoro,たまゆら,PROGRESSIVE,佐々木博史,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,アストライアの双皿,ZODIAC ORACLE 7,ZODIACSYNDICATE,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,カジノファイヤーことみちゃん,電波,ARM feat. 山本椛 + Brasscapsule,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,キャトられ恋はモ~モク,Hi-ν BLEEP,ギュ~っとしたいPrim,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,シュレーディンガーの猫,TOY CONTEMPORARY,Cait Sith,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,トリカゴノ鳳凰,歌謡 DRUM & BASS,L.E.D. Vs. 幽閉サテライト,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,メイメツ、フラグメンツ,CYBER SYMPHONIC POP,中山真斗(Elements Garden)feat.桜川めぐ,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,ラキラキ,LUCKY TECHNO,Mutsuhiko Izumi & S-C-U,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,下弦の月,NEO CLASSICAL DANCE,iNO,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,仮想空間の旅人たち,TECHNO,DJ MURASAME,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,12,3422,1575,272,23,EX HARD CLEAR,AA,2020-12-04 05:22 +tricoro,創世ノート,CREATOR,PON+wac,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,即席!脳直★ミュージックシステム,AKIBA-POP,MOSAIC.WAV,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,朧,FASCINATION,HHH×MM×ST,1,1,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,11,2350,1091,168,1,FULLCOMBO CLEAR,AAA,2020-12-04 06:42 +tricoro,梅雪夜,想歌 梅,Qrispy Joybox feat.mao,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,狂イ咲ケ焔ノ華,Hi-GOTH,覚醒ノPrim,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +tricoro,音楽,SILENT,弁士カンタビレオ,3,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,FAILED,---,12,2280,969,342,43,HARD CLEAR,A,0,0,0,0,---,NO PLAY,---,2021-01-10 01:42 +tricoro,龍と少女とデコヒーレンス,EPIC TECHNO,黒猫ダンジョン,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,2020-11-12 00:47 +SPADA,Adularia,ARTCORE,DJ TOTTO,0,1,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,ALBA -黎明-,HYPER GOTHIC BEAT,SOUND HOLIC feat. Nana Takahashi,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,3033,1423,187,12,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-04-03 09:03 +SPADA,Ancient Scapes,DYNASTIC FREEFORM,Durandal,2,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,12,3289,1397,495,---,CLEAR,A,2020-12-04 07:00 +SPADA,ATHER,ASTRAL HARDCORE,TAG underground,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,BLUE DRAGON(雷龍RemixIIDX),RAVERS DANCE SPEED,青龍,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,BRAINSTORM,TRANCECORE MEETS GABBA,Hardcore United Tokyo(teranoid & DJ TECHNORCH),1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,2571,1166,239,18,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 02:58 +SPADA,BRAVE OUT,ELECTRANCE,nomico / DOWNFORCE,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,Claiomh Solais,ILUZIO,DJ Yoshitaka VS S.S.D.,0,0,0,0,0,---,NO PLAY,---,2,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,Cleopatrysm,PHARAO BEAM STEP,ピラミッ℃,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,2233,979,275,18,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 05:57 +SPADA,Close the World feat.a☆ru,J-CORE,天叢雲剣,2,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,2905,1271,363,33,HARD CLEAR,AA,12,3243,1403,437,42,HARD CLEAR,AA,2021-03-14 08:47 +SPADA,Critical Crystal,DANCE SPEED,青龍,1,1,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,2528,1132,264,40,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 07:47 +SPADA,Dark Fall,MASSIVE DANCE SPEED,黒龍,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,2388,1043,302,14,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 08:27 +SPADA,DARK LEGACY,DARK ELEMENT,BaSTeT,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,3207,1464,279,28,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-03-14 08:34 +SPADA,Devilz Sacrifice -贖罪の羊-,SYMPHONIC BREAK BEATS,OSTER project,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2276,1042,192,15,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-02-22 07:31 +SPADA,diagram,GLITCH HOP,Expander,1,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,2518,1117,284,19,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 06:48 +SPADA,Elektrick U-Phoria,UK HARDCORE,DJ Noriken,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,Element of SPADA,HEALING POP,猫叉Master feat.霜月はるか,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,Engraved Mark,HAPPY SAD CORE,Ryu☆ ∞ Des-ROW,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,EXTREME MACH COLLIDER,TECHNO,L.E.D.,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,Feel The Beat,HARDCORE RAVE,Falsion,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,CLEAR,---,2020-11-12 00:47 +SPADA,Funny shuffle,JAG GLITCH,猫叉Master+,1,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,11,2037,901,235,21,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 05:59 +SPADA,HYENA,BIG BEAT,Hommarju,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,CLEAR,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,Hypersonik,DRUM&BASS,Eagle,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,I will be back -オレは帰ってきた-,ONLY ONE MOMENT,SUPER STAR 満-MITSURU-,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,Idola ,REPLICANT CORE,iconoclasm feat.GUMI ,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,Insane Techniques,Hi-TECH FULL ON,kors k,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,INSOMNIA,FUNKOT,ジャカルタファンクブラザーズ,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,into the battlefield,SYMPHONIC BREAKS,the wandering bard,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,2280,1095,90,3,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-04-06 08:15 +SPADA,invoker,TRIBE CORE,Caladborg,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,2020-11-12 00:47 +SPADA,IX,BLOOD METAL,dj TAKA VS DJ TOTTO feat.藍,2,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,12,3037,1314,409,103,EASY CLEAR,A,0,0,0,0,---,NO PLAY,---,2021-04-03 07:25 +SPADA,KAISER PHOENIX,HEAVY METAL,96,3,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,12,2870,1166,538,99,FAILED,A,2020-12-04 08:05 +SPADA,KHAMEN BREAK,PROGRESSIVE GOSPEL,くふおー,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,Last Dance,HARD STACC,dj TAKA,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,Lighting Shower,TRANCE POP,TAG,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,2207,1003,201,3,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-02-22 06:31 +SPADA,M.D.Injection,PIECED DOWNBEAT,Project B-,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,m1dy Deluxe,TOKYO STYLE SPEEDCORE,m1dy,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2152,895,362,20,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 08:14 +SPADA,MAD ATTACK,UPBEAT,HALFBY,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,MAGIC & LOVE,HAPPY CORE,DJ Genki feat. Yukacco,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,Miracle 5ympho X,FRENCHCORE,USAO,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,NPC World,ELECTRO POP,PON,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,Odin,GABBER,Noizenecio,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,1877,859,159,9,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-04-06 08:13 +SPADA,Overload Frontier,HARDCORE RAVE,DJ Shimamura,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,Pharaoh,ANCIENT CIVILIZATION,劇団レコード,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,PUNISHER,VARIANT RAVE,TAG×PON,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,ra'am,RAVERS DANCE SPEED,雷龍,1,0,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,2416,1062,292,42,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-04-03 02:27 +SPADA,rainbow guitar weeps,BRIGHTNESS,dj TAKA,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,Recollection,POPS,Noria,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,refractive index,PSYCHEDELIC TRANCE,Sota Fujimori,1,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,2533,1182,169,3,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-02-22 05:30 +SPADA,RISE,DRUMSTEP,Dirty Androids,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,1742,817,108,10,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-04-06 08:02 +SPADA,RIZING YOU UP,HAPPY HARDCORE,Ryu☆,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,SCHWARZSCHILD FIELD,FULL ON,L.E.D.,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2095,927,241,10,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 07:33 +SPADA,Sigmund,REQUIEM PSY,Gram,1,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,12,2522,985,552,143,HARD CLEAR,B,12,0,0,0,---,NO PLAY,---,2021-01-10 00:19 +SPADA,Squeeze,WITHOUT YOU TONIGHT-VI-,VENUS feat. Mutsuhiko Izumi,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,THE DETONATOR,NU STYLE GABBA,teranoid VS L.E.D.-G,1,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,2889,1313,263,21,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 07:39 +SPADA,Unicorn tail,BREAKBEATS TRANCE ,DJ YOSHITAKA,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2955,1395,165,11,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-02-22 03:04 +SPADA,Valgus,MAINSTREAM HARDCORE,DJ Myosuke feat.Yukacco,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,2190,1001,188,5,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-02-22 05:27 +SPADA,Verflucht,HARD NRG,Tyrfing,10,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,2955,1298,359,45,HARD CLEAR,AA,12,3623,1550,523,134,EASY CLEAR,A,2021-03-14 08:50 +SPADA,VOX UP,ROTTERDAM TECHNO,sampling masters MEGA vs 青龍,2,0,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,2534,1122,290,18,HARD CLEAR,AA,12,3052,1337,378,52,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-04-06 09:22 +SPADA,Wonder Girl feat. Kanae Asaba,EUROBEAT,Y&Co.,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,11,2435,1087,261,27,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-01-10 08:52 +SPADA,お願いアインシュタイン,CYBER SYMPHONIC POP,中山真斗 feat.桜川めぐ,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,アルストロメリア,BLOOM FUSION,TAG,0,1,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,デッドボヲルdeホームラン,ELECTRIC MANOUSH SWING,猫叉Masterβ2,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,バンブーソード・ガール,J-SPEEDMETAL,cosMo@暴走P,1,1,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2044,857,330,14,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 08:09 +SPADA,幻想系世界修復少女,J-POP,Last Note.,0,1,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,廿,新世紀進歩的羽扇子音楽,DJ TECHNORCH,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,2052,919,214,32,HARD CLEAR,AA,12,0,0,0,---,HARD CLEAR,---,2021-04-06 08:05 +SPADA,旋律のドグマ~Miserables~,JUVENILE DRUM & BASS,楓璃夢=ジークフリード=ファイエルローゼン,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,海神,HYDRO CORE,兎々,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,煉獄のエルフェリア,HARD SYMPHONIC,猫叉Master+,3,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,3148,1361,426,79,CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-04-06 10:25 +SPADA,牧神笛吹きて,ZODIAC ORACLE X,楽士ゾディアック,2,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,1943,913,117,1,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 08:10 +SPADA,疾風迅雷,ORIENTAL CORE,KUMOKIRI,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,罪と罰,HYPER J-POP,Xceon feat. Mayumi Morinaga,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,2028,944,140,8,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:56 +SPADA,超!!遠距離らぶメ~ル,乙女EDM,ななひら,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SPADA,轟け!恋のビーンボール!!,ベースボールヒロイン,ダイナミック野球兄弟 v.s. クロスファイヤーPrim,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,HARD CLEAR,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,#The_Relentless,DUBCORE,DJ Noriken,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,HARD CLEAR,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,AFRO KNUCKLE,AFRO-SAMBA,猫叉Master+,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,Beat Radiance,NEO CLASSICAL DANCE ,iNO,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,2020-11-12 00:47 +PENDUAL,Beyond The Earth,WORLD/ELECTRONICA,猫叉Master,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,2829,1245,339,22,EX HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-19 04:04 +PENDUAL,Blaze it UP!,HARDCORE RAVE,DJ Shimamura,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,BLUE MIRAGE,NU STYLE GABBA,DJ CHUCKY,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,Broken Sword,DUAL ANTIQUE,金獅子 VS 麒麟,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,Chain of pain,FULL ON,kors k VS 猫叉Master+,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,chrono diver -fragment-,HEALING DRUM'N'BASS,猫叉Master feat.三澤 秋,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,10,0,0,0,---,FULLCOMBO CLEAR,---,2020-11-12 00:47 +PENDUAL,CHRONO DIVER -NORNIR-,CYBER DRUM & BASS,L.E.D.,2,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2902,1361,180,9,EX HARD CLEAR,AAA,12,0,0,0,---,HARD CLEAR,---,2021-03-14 08:07 +PENDUAL,Chrono Diver -PENDULUMs-,CHRONO BREAKS,猫叉L.E.D.Master+,15,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,2475,1107,261,16,HARD CLEAR,AA,12,3509,1528,453,88,FAILED,AA,0,0,0,0,---,NO PLAY,---,2021-04-06 10:50 +PENDUAL,Chronos,PROGRESSIVE,TAG,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,cinder,MAELSTROM,PHQUASE,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,COLOSSEUM ,LOST GROUND,劇団レコード,2,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,2189,1031,127,1,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 07:28 +PENDUAL,Cosmic Cat,FUTURE BASS,8bit Moonside,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,2020-11-12 00:47 +PENDUAL,Despair of ELFERIA,HARD IRISH SYMPHONIC,猫叉Master,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,Discloze,Hi-TECH PSYTRANCE,lapix,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2272,975,322,12,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 07:42 +PENDUAL,EBONY & IVORY,RAGTIME CHIPTUNE,OSTER project,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,12,2960,1277,406,81,CLEAR,AA,2021-03-14 08:42 +PENDUAL,entelecheia,SACRED TRANCE,Rche,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,Erosion Mark ,FALLIN APART CORE,kors k REASM Des-ROW,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,fallen leaves -IIDX edition-,WORLD/ELECTRONICA,猫叉Master,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,FANTASTIC THREE,DUB COMEDY,ジャカルタファンクブラザーズ,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,Flashes,DRUM'N'BASS,Dollscythe,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,Gravigazer,PROGRESSIVE SCHRANZ,DJ TOTTO,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,1775,822,131,4,EX HARD CLEAR,AAA,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 08:05 +PENDUAL,HELL SCAPER -Last Escape Remix-,GABBAH,Remixed by DJ TECHNORCH fw.GUHROOVY,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,2595,1165,265,7,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-12-19 03:35 +PENDUAL,Hello Happiness,HAPPY HARDCORE,P*Light feat. mow*2,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,illuminate,SYNTHETIC EDM,Sota Fujimori,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,IMPLANTATION,GOA TRANCE,TOMOSUKE,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,In The Breeze,HYBRID,96 & Sota ft. Mayumi Morinaga,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,Invitation from Mr.C,HOLIC,C-Show,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,HARD CLEAR,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2298,998,302,29,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-19 06:12 +PENDUAL,IXION,PSYCHEDELIC TRANCE,L.E.D.,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,Line 4 Ruin,ELECTRO TECH,Ryu☆,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,Monopole.,ARTCORE ROCK,cosMo@暴走P,2,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,12,2935,1328,279,48,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-04-03 01:19 +PENDUAL,NEO GENERATOR SEVEN,MAINSTREAM HARDCORE,L.E.D.-G,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,Night sky,PUMPCORE,USAO,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,No Tears,HARD EDM,RoughSketch feat.Aikapin,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,On My Wings(Hardstyle IIDX),HARDSTYLE,kors k,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,PENDUAL TALISMAN,SYSTEM BGM,猫叉L.E.D.Master,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,Rave*it!! Rave*it!! ,EDM SPEED,機龍,2,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,1172,536,100,---,CLEAR,D,0,0,0,0,---,NO PLAY,---,2020-12-19 04:08 +PENDUAL,Realize Maze,SOLITUDE,movies (moimoi×Xceon×Dai.),0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,Reflux,TRANCESTEP,Eagle,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,CLEAR,---,12,2653,1164,325,40,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-19 08:14 +PENDUAL,Sakura Mirage,CHIPCORE,Ryu☆,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,SAMSARA,DIMENSION WAVE,SOUND HOLIC feat. Nana Takahashi,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,1895,879,137,6,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-12-19 03:31 +PENDUAL,Say YEEEAHH,EDM,kors k,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,Scarlet Moon,J-CORE,REDALiCE feat. Ayumi Nomiya,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,Scars of FAUNA,WORLD/ELECTRONICA,猫叉Master,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,Shooting Fireball,MUSIC GAME TRADITIONAL,dj TAKA,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,3338,1480,378,21,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-19 06:10 +PENDUAL,Sounds Of Summer ,UK HARDCORE ,Hommarju ,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,SpaceLand☆TOYBOX,RAGTIME FUTURE POP,OSTER project,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,Sweet Radar,ELECTRO POP,DJ Genki feat. Yukacco,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,Symmetry,EPIC ELECTRONICA,猫叉Master,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,TA・DA ☆ YO・SHI,EUROBEAT,Y&Co.,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,The Least 100sec,PROGRESSIVE,Sasaki Hirofumi,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,TIEFSEE,DEEP SPECTRUM,SOUND HOLIC Vs. dj TAKA feat. YURiCa,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,TOXIC VIBRATION,MELODIC SPEED METAL,SOUND HOLIC Vs. T.Kakuta feat. YURiCa,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,Vulkan,GYPSYCORE,Hommarju,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2775,1293,189,8,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-02-22 06:01 +PENDUAL,We're so Happy (P*Light Remix) IIDX ver.,HAPPY HARDCORE,Remixed by P*Light,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,ZZ,INTELLIGENCE,D.J.Amuro,0,1,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,それは花火のような恋,Hi-歌謡コア,夏色バーニングラブ☆Prim,1,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,FULLCOMBO CLEAR,---,10,0,0,0,---,HARD CLEAR,---,12,3521,1614,293,18,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-04-03 02:29 +PENDUAL,とろぴかる倶楽部,TROPICAL,HALFBY,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,ぷろぐれっしぶ時空少女!うらしまたろ子ちゃん!,ぷろぐれっしぶ電波,ARM(IOSYS) feat. 山本椛,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,2341,1071,199,5,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-01-10 00:48 +PENDUAL,もっと!モット!ときめき feat. 松下,きらめきコア,シャイニング度胸兄弟,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2339,1022,295,41,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-19 04:07 +PENDUAL,ドッキン☆サマーあばんちゅーる,ドタバタ☆夏休み,L.E.D.-G + Qrispy Joybox + ARM feat. ななひら,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,パ→ピ→プ→Yeah!,電波ソング,ヒゲドライバー join. shully & Nimo,0,2,0,0,0,---,NO PLAY,---,6,0,0,0,---,HARD CLEAR,---,9,0,0,0,---,CLEAR,---,11,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,ベィスドロップ・フリークス,A-STYLE DRUMSTEP,かめりあ feat. ななひら,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,リリーゼと炎龍レーヴァテイン,OLDSTYLE GAMEMUSIC,黒猫ダンジョン,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,共鳴遊戯の華,ASTRAL DRUM & BASS,アイテール魔導士隊,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,十六夜セツナ,HYPER J-POP,Xceon feat.Mayumi Morinaga,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,千年ノ理,WORLD/ELECTRONICA,猫叉Master,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,2020-11-12 00:47 +PENDUAL,取り残された美術(Arranged:HiZuMi),HYPER J-POP,幽閉サテライト feat. senya,0,1,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,夏色DIARY - L.E.D.-G STYLE MIX -,HAPPY SUMMER CORE,猫叉王子 feat.L.E.D.-G,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,妖隠し -あやかしかくし-,DRUM'N'WALTZ,DJ TOTTO feat.3L,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,少年は空を辿る,ムラクモ,Power Of Nature,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,12,2700,1149,402,52,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-04 09:19 +PENDUAL,恋は白帯、サンシロー,KANA-POP,星野奏子,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,2020-11-12 00:47 +PENDUAL,打打打打打打打打打打,JAPANESE TRADITIONAL,ヒゲドライバー join. SELEN,0,1,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,CLEAR,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,時空トラベローグ,TIME TRIP JAZZ,SWING HOLIC feat. A~YA,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,白露の風,想歌 風,Qrispy Joybox feat. 常盤ゆう,0,0,0,0,0,---,NO PLAY,---,2,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,紅牡丹,J-CORE,DJ NAGAI feat. a☆ru,0,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,表裏一体!?怪盗いいんちょの悩み,Hi-FUNK BREAKS,◇◆噂の怪盗少女 ぷらずま★彡Prim◇◆,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,超青少年ノ為ノ超多幸ナ超古典的超舞曲,PIECED EUPHORIA,Project B-,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,HARD CLEAR,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,2020-11-12 00:47 +PENDUAL,鬼天,ASURA TEK CORE,兎々,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +PENDUAL,X↑X↓,新世紀進歩的羽扇子音楽,DJ TECHNORCH,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,2562,1147,268,20,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 02:55 +copula,199024club -Re:BounceKiller-,TECH BREAKBEATS,DJ Mass MAD Izm*,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,1951,815,321,26,HARD CLEAR,A,0,0,0,0,---,NO PLAY,---,2020-12-19 08:43 +copula,Acid Pumper,HARD DANCE,ni-21,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Angelic Jelly,HAPPY で HARDCORE,t+pazolite,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,AO-1,DANCE EXPRESS,電龍,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Arcana,UPLIFTING TRANCE,Maozon,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Aublia,POST J-TRADITIONAL,onoken feat. ALIAKE,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Battle Train -IIDX Edition-,HARD DANCE,Sota Fujimori,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Blue Spring Express,DREAM CORE,DJ Scratch & Bend,2,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,1925,864,197,7,EX HARD CLEAR,AA,12,2230,984,262,---,CLEAR,B,0,0,0,0,---,NO PLAY,---,2021-02-22 02:46 +copula,Central Station,FUTURE BASS,Recycle,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,chaos eater -IIDX edition-,HARD STEP,猫叉Master+,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,CODE:1 [revision1.0.1],TECHNO,HEXA,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Daily Lunch Special,ラッキーハードコア,Lucky Vacuum,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Damage Per Second,CYBER DRUMSTEP,Maozon,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,10,0,0,0,---,EX HARD CLEAR,---,2020-11-12 00:47 +copula,Derelict Star feat. Ryu*,HARD DANCE,Remo-con,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Devil's Gear,MAINSTREAM HARDCORE,DJ Myosuke,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,DIAMOND CROSSING,HARD ELECTRIC POP,S-C-U vs L.E.D.,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,do the thing feat. Kanae Asaba,EDM,MK,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Donkey Donk,DONK,Ryu☆,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Dynamite,HYBRID TWERK,USAO,0,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Everlasting Last,J-DANCE POP,HHH×MM×ST,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Exchange Place,FUTURE JERSEY,Dirty Androids,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,GENERATE feat.綾倉盟,ELECTRONIC DANCE,Masayoshi Minoshima,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Glitch Nerds,GAMER'S ELECTRO/COMPLEXTRO,かめりあ,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,2084,951,182,2,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-11-12 02:46 +copula,Go Faraway,TRAPSTYLE,DJ Noriken feat. Yukacco,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,GOBBLE,CANTERBURY&BEAT,Kimitaka Matsumae,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Godspeed,JOINT WORK,dj TAKA xxx 猫叉Master xxx L.E.D.,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Grand Chariot,HARD ART CORE,xi,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Highcharge Divolt,BEMANIZED DIGITAL ROCK,HuΣeR,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Inner Spirit,HiTECH FULLON,lapix,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Konzert V,JUNGLE CLASSIC,Remo-con vs. dj TAKA,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,La dolce primavera,PRIMAVERA JAZZ WALTZ,OSTER project,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,M4K3 1T B0UNC3,HDM,kors k,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Musik LoverZ,HARDSTYLE,RoughSketch,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,NANAIRO,METAL POPS,LIQU@。,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Nightmare before oversleep,SORROW STEP,猫叉Master,1,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,1781,813,155,9,HARD CLEAR,AAA,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2021-03-14 06:25 +copula,NINJA IS DEAD IIDX ver.,SHINOBI SPEED,P*Light,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,2734,1248,238,10,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-11-12 08:59 +copula,NO LIMIT -オレ達に限界は無い-,ONLY ONE DANCE MUSIC,SUPER STAR 満-MITSURU- vs. 伝説のダンサー マイク,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Nowhere,ELECTRO TRANCE,Nhato,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,NZM,END ROLL,The 4th,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,On the FM,RADIO SHOWCASE,C-Show,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,11,2416,1074,268,27,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-04-03 02:08 +copula,Outbreak,FRENCHCORE,USAO,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,POSSESSION,PSYCHIC FLASH,TAG underground,1,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,2698,1247,204,16,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-03-14 05:13 +copula,quick master (reform version),J-TEKNO,youhei shimizu,0,0,0,0,0,---,NO PLAY,---,1,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,refrain,TRANCE,dj TAKA feat.AiMEE,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Rock It,HARDCORE,Hommarju,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Routing,JAZZY-ELECTRO,かめりあ,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,SEITEN NO TERIYAKI,CHAOTIC SPEEDCORE,Kobaryo,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Sephirot,TRANCE,SHIKI,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Set U Free feat. Kanae Asaba,HARD TRANCE,Y&Co.,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,SHELTER OF THE MIND,ROCKIN' DRUM&BASS,YURiCa/花たん,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,STARLiGHT,DANCE SPEED GOLD,星龍,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,STARLIGHT DANCEHALL,HAPPY EMOTION,P*Light,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,12,2916,1288,340,24,HARD CLEAR,AA,2020-12-04 05:45 +copula,StrayedCatz,FANTASY,削除,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,1828,809,210,6,EX HARD CLEAR,AA,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 02:44 +copula,Super Duper Racers,HARDCORE,kors k & Numb'n'dub,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,SURVIVOR,GRAVITY POP,SOUND HOLIC Vs. ZYTOKINE feat. Nana Takahashi,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Tori-no-kimochi,WORLD/ELECTRONICA,猫叉Master+,0,0,0,0,0,---,NO PLAY,---,1,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Triple Counter,RISK + VACUUM,DJ YOSHITAKA meets dj TAKA,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Uh-Oh,CANDY RAVE,kors k,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Violet Pulse,GLITCH ELECTRO,G.K,0,0,0,0,0,---,NO PLAY,---,2,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Violet Rose,LATIN JAZZ TRIO,OSTER project,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,Welcome,HARDCORE,Uraken,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,2020-11-12 00:47 +copula,X,RENAISSANCE,D.J.Amuro,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,ZEPHYRANTHES,BLOOM CORE,TAG,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,HARD CLEAR,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,か・し・ま・し☆PUMP UP!,SUMMER WORKOUT,miko,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,めいさいアイドル☆あいむちゃん♪,電波デステクノ,DJ SHARPNEL feat. みらい,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,オルタネイトβ,HYPER J-POP,Xceon feat. Mayumi Morinaga,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,ギョギョっと人魚 爆婚ブライダル,Hi-RESORT電波,海の底からマーメイド Prim by ARM×狐夢想,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,シュッパツシンコウ・シサカンコ,KANA-POP,星野奏子,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,セロトニン,ORBITALICTRO,U1 overground,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,少女アリスと箱庭幻想コンチェルト,空想ファンタジーシリーズ,DJ TOTTO,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,明鏡止水,禅ジャズ,TOMOSUKE feat. あさき,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,星屑ディスタンシア,GLITCH JAZZ,ARM feat. 普透明度 + Brasscapsule,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,朝焼けから始まるボクらの小さな旅,ARTCORE ROCK,cosMo@暴走P,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,CLEAR,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,灼熱 Pt.2 Long Train Running,BROKEN SAMBA BREAK,DJ Mass MAD Izm*,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,真 地獄超特急 -HELL or HELL-,新世紀進歩的羽扇子音楽,DJ TECHNORCH Vs. L.E.D.Light-G,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,紫陽花 -AZISAI-,ORIENTAL TECHDANCE,Camellia Vs. Expander,0,2,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,追想快晴テーマパーク,FUTURE E-POP,PHQUASE,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,量子の海のリントヴルム,エピックプログレ,黒猫ダンジョン,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +copula,駅猫のワルツ,にゃんコア,ミニョンヌ鉄道兄弟,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,1589,677,235,---,CLEAR,C,0,0,0,0,---,NO PLAY,---,2021-04-03 03:50 +copula,麗 ~うらら~,WINTER GLOW,SOUND HOLIC feat. Nana Takahashi,0,1,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,!Viva!,TRIBAL HOUSE,Ryu*,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,CLEAR,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,#MAGiCVLGiRL_TRVP_B3VTZ,NEON/TWERKCORE,DJ Noriken,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,CLEAR,---,12,3140,1425,290,18,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 07:47 +SINOBUZ,(This Is Not) The Angels,BIG BEAT/BREAKBEATS,Hommarju,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Amazing Mirage,HiTECH FULLON,lapix,0,2,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,CLEAR,---,11,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,2020-11-12 00:47 +SINOBUZ,AO-∞,DANCE SPEED,青龍,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Apocalypse,EPIC D'N'B,Morrigan feat. リリィ,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Around The Galaxy,UPLIFTING TRANCE,NISH,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,AsiaN distractive,WORLD,猫叉劇団,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,FAILED,---,11,2365,1064,237,7,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-01-10 00:57 +SINOBUZ,BabeL ~Grand Story~,SPIRAL STAIRS,Ako Atak,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Be A Star,ALTERNATIVE TECHNO POP,PHQUASE feat.ぁゅ,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Beat Juggling Mix,DJ BATTLE,Hommarju,2,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2011,912,187,16,EX HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-04-03 01:49 +SINOBUZ,Believe in you,HARDCORE RAVE,DJ Shimamura feat. Renna,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,CLEAR,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Beyond The Seven,TRANCE,Nhato,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,CLEAR,---,11,2511,1168,175,15,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-04-03 02:24 +SINOBUZ,BREAK OVER,FESTIVAL SOUND,MASAYOSHI IIMORI,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,CLEAR,---,11,1747,716,315,25,HARD CLEAR,A,0,0,0,0,---,NO PLAY,---,2021-02-22 05:45 +SINOBUZ,Breakin' Chain,MOOMBAHCORE,REDALiCE feat. MONICO,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,CLEAR,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,BroGamer,SUPER ULTIMATE HYPER CORE,USAO,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,HARD CLEAR,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Caterpillar,HARD TRAP,Eagle,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,crew,ANTHEM,beatnation Records,1,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,8,0,0,0,---,CLEAR,---,11,2661,1229,203,6,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-12-19 03:13 +SINOBUZ,Cyber True Color,DREAM COLLABORATION,kors k vs Sota Fujimori,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,DORNWALD ~Junge~,ARCHAIC TALE EP1,DJ TOTTO,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,ECHIDNA,HYBRID BUCHIAGE TRANCE,HuΣeR,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Egret and Willow,FUTURE BEATS,Dirty Androids,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,2553,1186,181,1,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-02-22 06:51 +SINOBUZ,elemental bender feat. Kanae Asaba,EDM,MK,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,FUZIN RIZIN,HYPER DIGIMETAL,SOUND HOLIC feat. Nana Takahashi & 709sec.,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,CLEAR,---,12,3338,1492,354,23,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-11-12 08:23 +SINOBUZ,Go Ahead!!,TRANCE CORE,Ryu☆ Vs. Sota,3,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,2188,978,232,52,FAILED,A,0,0,0,0,---,NO PLAY,---,2021-04-03 07:27 +SINOBUZ,GuNGNiR,REQUIEM PSY,Gram,2,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,2368,1036,296,10,HARD CLEAR,AA,12,3054,1265,524,83,CLEAR,A,0,0,0,0,---,NO PLAY,---,2021-02-22 03:29 +SINOBUZ,HADES,HARDSTYLE,Massive New Krew,1,2,0,0,0,---,NO PLAY,---,5,0,0,0,---,FULLCOMBO CLEAR,---,9,0,0,0,---,NO PLAY,---,12,2706,1199,308,31,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-19 08:48 +SINOBUZ,HAPPY★RUSH,HAPPY,P*Light,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,CLEAR,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Honey Trap,HYPER TRAP,Expander,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,INVISIBLE STRIX,NEUROFUNK,L.E.D.,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Lost wing at.0,DRUM'N'BASS,猫叉Master+,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,2196,988,220,23,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 06:08 +SINOBUZ,Macuilxochitl,PIANO CONTEMPORARY,TOMOSUKE,1,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,3019,1395,229,17,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-02-22 07:03 +SINOBUZ,Magical,KAWAII FUTURE BASS,Snail's House,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Mare Nectaris,EXPERIMENTAL,神楽,20,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,12,2972,1234,504,96,FAILED,A,0,0,0,0,---,NO PLAY,---,2021-04-03 08:44 +SINOBUZ,Modular Technology,TECHNO,Sota Fujimori,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Music is The Answer,TURBOFUNK,C-Show,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,nostos,NOSTALGIA,Setaria Virtuoso,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,CLEAR,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,OOO,BUBBLEGUM DANCE,Ryu☆ feat.moimoi,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,CLEAR,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,OTENAMI Hurricane,POP BREAKCORE,t+pazolite,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,PAPAYAPA BASS,MONDO-GROOVE BASSHOUSE,かめりあ feat. ななひら,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,CLEAR,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Piano Samurai,BEAT PIANO MUSIC,maras k(marasy+kors k),0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Quakes,HARD BREAK BEATS,dj Hellix,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,1936,877,182,7,EX HARD CLEAR,AAA,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2021-01-10 00:28 +SINOBUZ,RAIN,TRANCE,dj TAKA,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Rave Cannon,SPEED RAVE,kors k,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Remedy feat. Kanae Asaba,哀愁EUROBEAT,Y&Co.,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,CLEAR,---,10,0,0,0,---,CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,RISING FIRE HAWK,HARDSTYLE,L.E.D.-G,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,CLEAR,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,ROTTERDAM SHOGUN,RDM,ABDI from ジャカルタファンクブラザーズ,1,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,CLEAR,---,11,2261,1017,227,19,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 08:12 +SINOBUZ,SAMURAI-Scramble,TECH BREAKBEATS,DJ Mass MAD Izm*,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Sarutobi Champion is 拙者,PIECED MAKIBISHI,Project B-,3,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FAILED,---,11,1999,906,187,33,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 06:56 +SINOBUZ,SAY BAY,SHINOBI RAVE,P*Light,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,CLEAR,---,8,0,0,0,---,CLEAR,---,12,2517,1122,273,36,EX HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-03-14 07:24 +SINOBUZ,Seaside Labyrinth,80's SYNTH FUNK,Dirty Androids,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Selfish Sweet,R&B,OSTER project feat. かなたん,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,SEQUENCE CAT,TECHNO,SLEDLAKE (SLAKE & L.E.D.),0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,shuriken,CHIPTUNE,ヒゲドライバー,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,CLEAR,---,10,0,0,0,---,CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,SINOBUZ Fantasy,CANDY ROCK,Noria,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FAILED,---,10,0,0,0,---,CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Sky High,ANTHEM,Cuvelia,2,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,3287,1451,385,23,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-04-06 10:16 +SINOBUZ,Snakey Kung-fu,ASIAN CONTEMPORARY,金獅子 vs 麒麟 feat. 獏,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Steel Edge,DRUM&BASS,Maozon,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Summerlights(IIDX Edition),HARDCORE RAVE,DJ Noriken,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Super Rush,HARDTEK,kors k,2,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,CLEAR,---,9,0,0,0,---,CLEAR,---,12,3227,1494,239,33,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 07:36 +SINOBUZ,Surf on the Light,ELECTRO FUSION,Tomoyuki Uchida,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Sweet Clapper,J-POP,livetune+,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,The Commanders,HARDSTYLE,USAO,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,CLEAR,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,TOGAKUSHI,HARD TRANCE,SETUP,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,12,2389,1096,197,25,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-04-06 10:07 +SINOBUZ,Umbral,UPLIFTING TRANCE,Maozon,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Venom,JUMP UP/HARDCORE,kors k vs L.E.D.-G,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,2920,1333,254,8,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-11-12 08:57 +SINOBUZ,Vermilion,HARD HOUSE,Remo-con,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,XINOBIKILL,CYBER JAZZSTEP,SOUND HOLIC feat. Nana Takahashi,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,CLEAR,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,yamabiko (SINOBUZ Edition),夏の夕暮れと、DUBSTEP。,かめりあ,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,Yellow Sketch(RX-Ver.S.P.L.),ALTERNATIVE ELECTRO,高田雅史,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2604,1186,232,19,EX HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-01-10 07:07 +SINOBUZ,〆,HiTECH,lapix,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,12,3345,1516,313,15,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 07:45 +SINOBUZ,ちらちら・はらはら,ACEDIA,NU-KO,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,イザナミノナゲキ,WORLD/ELECTRONICA,猫叉Master,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,ディッシュウォッシャー◎彡おいわちゃん,ネオスカ電波,ARM×狐夢想 feat. 山本椛,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,九尾狐夜行,ORIENTAL FUSION,天狐,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,冬椿 ft. Kanae Asaba,HYPER ENKA POP,Xceon,0,1,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,2020-11-12 00:47 +SINOBUZ,刃図羅,LAST ARTS,猫叉Master vs HuΣeR,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,12,3072,1395,282,16,EX HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-03-14 02:15 +SINOBUZ,忍恋花,忍歌,黒脛,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,CLEAR,---,11,2002,905,192,14,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 08:30 +SINOBUZ,恋はどう?モロ◎波動OK☆方程式!!,理系ポップ,あべにゅうぷろじぇくと feat. 佐倉紗織 produced by ave;new,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,月雪に舞う華のように,FOREST SNOW,猫叉Master,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,1933,887,159,8,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-01-10 00:54 +SINOBUZ,次葉 -turn the page-,POP ROCK,小寺可南子,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,津軽雪,MICHINOKU,罠師 VS 安室,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,火影,HIP HOP,RoughSkreamZ feat.楽天斎,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,焔極OVERKILL,HARDCORE,RoughSketch Vs. L.E.D.-G,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,獅子霞麗ノ舞,DRAMATIC WALTZ,HuΣeR,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,禍根,ORBITALIC FUTURE BASS,U1 overground,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,童話回廊,空想ファンタジーシリーズ,DJ TOTTO,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +SINOBUZ,鴉,CROSSBREED,L.E.D.-G,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,CLEAR,---,10,0,0,0,---,CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,1001 -ESCAPE-,JAZZ ROCK,SOUND HOLIC feat. Nana Takahashi,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,2 Player,BEAT PIANO MUSIC,maras k/marasy×kors k,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,255,HYPER SPEED RAVE,255,2,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,2996,1389,218,29,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-04-03 09:01 +CANNON BALLERS,AA -rebuild-,RENAISSANCE,D.J.Amuro,1,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,12,2777,1170,437,54,HARD CLEAR,A,0,0,0,0,---,NO PLAY,---,2020-12-04 02:43 +CANNON BALLERS,Abraxas,DUBSTEP,SYUNN,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,ACCELERATE,SYNTH-TECH,Sota Fujimori,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Acidiva 303,HARD DANCE,ni-21,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Alpheratz,PIANO TRANCE,Xceon,0,0,0,0,0,---,NO PLAY,---,2,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Amor De Verao,熱帯 THE BASS,かめりあ feat. ななひら,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,ANAGMA,PSY TECH DANCE,C-Show,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,ANCHOR,STYLISH CROSSOVER,BEMANI Sound Team "HuΣeR Vs. SYUNN",1,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,3126,1399,328,46,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-03-14 08:25 +CANNON BALLERS,Antigravity,HARDCORE DANCE SPEED,t+pazolite,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Arca,GENESIS,BEMANI Sound Team "Akhuta Works",0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Around the Future,CYBERCORE,Maozon vs. C-Show,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Back Spin Sweeper,WAGON WHEEL TRANCE,DJ TOTTO,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Battleground,SCHRANZ,kors k,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2429,1102,225,8,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-01-10 07:04 +CANNON BALLERS,Be a Hero!,DIGITAL THRASH PUNK,中島由貴,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Beast mode,SPEED EURO,BEMANI Sound Team "TAG",0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Best of Me,CYBER LIQUID FUNK,Maozon,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Boomy and The Boost,NEO JUNGLE,Eagle,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Break Stasis,DRUMSTEP/HARDCORE,Hommarju & Akira Complex,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,ChaserXX,CYBERNETICS PIANO HOUSE,HuΣeR,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Chemical Cookie,FUTURE BASS,YUC'e,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,City Never Sleeps (IIDX Edition),DRUM&BASS,Dirty Androids,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,COSMIC☆WONDER☆REVOLUTION,COSMIC POP,猫叉Master+,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,DEADHEAT,HARDCORE,DJ Myosuke,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,DEATH†ZIGOQ ~怒りの高速爆走野郎~,世紀末コア,L.E.D.ALiCE(DJ NAGAI Vs. BEMANI Sound Team "L.E.D.-G"),2,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,3224,1371,482,72,CLEAR,A,0,0,0,0,---,NO PLAY,---,2021-04-06 10:11 +CANNON BALLERS,DropZ-Line-,PUMPCORE,Getty vs. DJ DiA,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Eine Haube ~聖地の果てにあるもの~,VELLUM,AIKO OI,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,2259,1006,247,16,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 08:22 +CANNON BALLERS,EMERALDAS,IRREGULAR DJENT STEP,BEMANI Sound Team "HuΣeR vs dj Hellix",3,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,12,2844,1226,392,83,CLEAR,A,0,0,0,0,---,NO PLAY,---,2021-01-10 05:12 +CANNON BALLERS,encounter,DRUM'N'BASS,猫叉Master+,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Exhaust Hype,HARD BASS HOUSE,DJ Noriken,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2522,1127,268,7,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 08:44 +CANNON BALLERS,Expanded !!,MIDDLE EASTERN TWERK,BEMANI Sound Team "Expander",0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Fervidex,ARTCORE,Feryquitous,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,FREEDOM,HYPER DUBSTEP,USAO,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,From Time To Time,TECH HOUSE,sanodg,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,FUTURE is Dead,HOLIC,C-Show,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Get Up! feat. Kanae Asaba,TROPICAL HOUSE,MK,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,HAT TRICK,HANDZ STYLE,P*Light,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Hella Deep,FREESTYLE,MASAYOSHI IIMORI,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,HYPE THE CORE,GABBA,DJ CHUCKY,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,I Love You,EURO TRANCE,O/iviA,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Illusionary Waterlily,EMOTIONAL RAVE EUPHORIA,DJ Noriken,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Initiation,00's TECHNO,BEMANI Sound Team "謎の勢力",1,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,3075,1305,465,118,HARD CLEAR,A,0,0,0,0,---,NO PLAY,---,2020-12-04 09:25 +CANNON BALLERS,Let's Bounce !!,FUTURE HOUSE,BEMANI Sound Team "Sota F.",1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,2040,914,212,1,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-01-10 01:00 +CANNON BALLERS,Life Is A Game ft.DD"ナカタ"Metal,UPTEMPO HARDCORE,RoughSketch,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,2902,1288,326,91,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-19 09:12 +CANNON BALLERS,LIGHTS ft. EVO+,EMO BREAKS,lapix,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,LUV DRIVE,POPCORE,RoughSketch feat.Aikapin,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,MAXIVCORD,ADMIRABLE,BEMANI Sound Team "dj TAKA",0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Midnight Lady,NU 80's DISCO FUNK,Dirty Androids,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,n'pa pa BBQ,FUTURE TERROR,YUC'e,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,NITROUS CANNON,MACHINEGUN PSYSTYLE,かめりあ,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,No Limit 2 dAnce feat. 大山愛未,HYPER TECHNO,Y&Co.,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Nothing but Theory,ULTRA JAZZFUNKTION,lapix,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,O/D*20,TECHNO,Ryu*,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Only for now,PSYCHDELIC TRANCE,RINA SOUND PRODUCE : KAZUYA TAKASE,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Papilio ulysses,DRUMSTEP,BEMANI Sound Team "SYUNN",0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Persephone,HARDSTYLE,Massive New Krew,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,2737,1241,255,19,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 05:52 +CANNON BALLERS,Rampage,HARDCORE,USAO,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Raspberry Railgun,PANIC FUSION,OSTER project,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,REVOLVER,Hi-TECHDANCE,sky_delta,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Rise Circuit,DRUM'N'BASS,COSIO,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Sleepless days,THE WORLD EVOLVE,猫叉Master feat.Mayumi Morinaga,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Slipstream,FUTURE CORE,lapix,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,3010,1312,386,38,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-01-10 01:28 +CANNON BALLERS,SPEED DEMON,HARDTEK,GUHROOVY feat. NO+CHIN,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,STARLIGHT JUNCTION,HEAV'NLY TRANCE,SOUND HOLIC feat. Nana Takahashi,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Static State,ELECTRO TRANCE,Nhato,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,SUNLiGHT (IIDX Mix),TRANCE SPEED,日龍,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Temple of Anubis,PSYSTYLE,Massive New Krew,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,CLEAR,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,THE CANNONBALLER,EUROBEAT,L.E.D. feat. YURiCa/花たん,0,2,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,The Chase,TECH BREAKS,DJ Mass MAD Izm*,3,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,1802,738,326,36,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-04-03 01:11 +CANNON BALLERS,The Revolution (VIP Mix),HDM,Scott Brown & M-Project,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,UMMU,OSHARave,t+pazolite,0,2,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,Usual Days-remix,DANCE POP,ota2,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2353,1046,261,13,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 03:01 +CANNON BALLERS,Xperanza,HYBRID HARDCORE,aran,0,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,うさ☆かめ 大戦争!,プログレッシブ徒競走,ARM×狐夢想 feat. I've : 柚子乃 & RINA,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,エディブルフラワーの独白,HARD FRENCH,OSTER project feat. 常盤ゆう,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,シムルグの目醒め,NATURE,BEMANI Sound Team "DJ TOTTO" feat.rionos,1,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,2604,1083,438,112,HARD CLEAR,A,0,0,0,0,---,NO PLAY,---,2020-12-19 08:05 +CANNON BALLERS,ナイトシティー・アヴァンチュール,歌謡ニューウェーブ,森永真由美,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,ハイ*ビスカス ft. Kanae Asaba,YANKEE CAR J TRANCE,Xceon,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,バ→ビ→ブ→Bomb!,電波ソング,ヒゲドライバー join. 新菜まこ & 松平なな,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,バスルーム ロマンス,CLASSIC MOTIF,BEMANI Sound Team "Saori Watanabe",0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,パラドキシカル・タイムリープトライアル(Short Ver.),AKIBA-POP,MOSAIC.WAV,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,ラストセンチュリーメランコリック,FUTURE J-POP,DJ Taku aka ☆Taku Takahashi (m-flo),0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,共犯へヴンズコード,ELEGANT SWING,D-Evoke(与那嶺雅人/小日向翔),0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,命の標本,STRANGE WORLD MUSIC,志方あきこ,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,東京神話,ORBITALIC GABBER STEP,DJ TECHNORCH feat.宇宙★海月 vs BEMANI Sound Team "U1-ASAMi",0,2,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,神謳 -RESONANCE-,Hi-MYTH,SOUND HOLIC feat. Nana Takahashi Vs.GOD PHOENIX Prim,1,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,12,3332,1459,414,36,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-01-10 01:47 +CANNON BALLERS,純真可憐デザイア,EMOTIONAL ROCK,BEMANI Sound Team "HuΣeR" feat.Fernweh,0,1,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +CANNON BALLERS,草原の王女-軌跡を辿って-,JOURNEY SCENE,劇団レコード,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,& Intelligence,MEGA MIX,lapix,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2919,1331,257,10,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 08:17 +Rootage,50th Memorial Songs -Beginning Story-,ANNIVERSARY,BEMANI Sound Team,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,50th Memorial Songs -Flagship medley-,ANNIVERSARY,BEMANI Sound Team,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,50th Memorial Songs -The BEMANI History-,ANNIVERSARY,BEMANI Sound Team,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,50th Memorial Songs -二人の時 ~under the cherry blossoms~-,ANNIVERSARY,BEMANI Sound Team,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,A Tale Hidden In The Abyss,COMMENT OUT,BEMANI Sound Team "person09",0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,EX HARD CLEAR,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Afterimage d'automne,ASYMMETRY ART,BEMANI Sound Team "猫叉劇団",0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,AGAiN,HARDCORE,DJ NAGAI,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,FAILED,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Angels & Demons,DRUM & BASS,月代 彩,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,BLACK JACKAL,DANCE MUSIC,Akira Complex,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,BLOSSOM,BLOOM TRANCE,BEMANI Sound Team "TAG",0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Carmina,SYMPHONIC TRANCECORE,CANVAS feat. Quimar,2,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,2898,1174,550,96,EASY CLEAR,A,0,0,0,0,---,NO PLAY,---,2021-04-03 07:22 +Rootage,Carry Me Away,FUTURE CORE,lapix,1,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,EX HARD CLEAR,---,9,0,0,0,---,EX HARD CLEAR,---,12,2821,1267,287,19,EX HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 08:47 +Rootage,Catch Our Fire!,MARVELOUS CHEER,中島由貴,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,HARD CLEAR,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,CODE:0,BIG BEAT,BEMANI Sound Team "HEXA",0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,CoMAAAAAAA,UPLIFTING ETHNIC,Ryu☆,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,COSMIC CYBER,BIGCORE,BEMANI Sound Team "Captain Sonic",0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Cranberry City ft. Luschel,GARAGE,lapix,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,EX HARD CLEAR,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,dAuntl3ss,HARDER DANCE MUSIC,DJ Noriken,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,FULLCOMBO CLEAR,---,10,0,0,0,---,FULLCOMBO CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Digital Skipper,HYBRID,BEMANI Sound Team "Expander",0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Dr. Chemical & Killing Machine,INDUSTRIAL TECHNO,Hommarju,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Drastic Dramatic,8BARS,KING & Princess,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,DRUNK MONKY,MINIMAL,DJ ODDBALL,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Ember Lights,FUSION TRANCE,Nhato,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,EVANESCENT,PROGRESSIVE ROCK,SOUND HOLIC feat. Nana Takahashi,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Garuda,JUKE/FOOTWORK,kors k,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Geirskogul,CYBER DRUMSTEP,Maozon,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,GENE,TECHNO GRAFFITI,VINCENT GANATCH,2,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,HARD CLEAR,---,10,0,0,0,---,EX HARD CLEAR,---,12,3893,1791,311,29,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-04-03 01:01 +Rootage,GIGA THRASH,DUBSTEP,Blacklolita,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Glory,EDM,kradness,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,GO OVER WITH GLARE -ROOTAGE 26-,HARDSTYLE,BEMANI Sound Team "L.E.D.-G",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,3316,1481,354,75,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-04 07:59 +Rootage,HARD BRAIN,HARD TECHNO,AJURIKA,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,HEISEI,ELECTRONIC RHAPSODY,BEMANI Sound Team "dj TAKA",0,2,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,HOT LIMIT,IIDX EDITION,Remixed by BEMANI Sound Team "HuΣeR feat.PON",0,2,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Hurry Hurry,RAVE SXXX,Masayoshi Iimori,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,EX HARD CLEAR,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,IDC feat.REVERBEE (Mo'Cuts Ver),TECH-BREAKS,DJ Mass MAD Izm*,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,IDOL syndrome.,PSYCHEDELIC ROCK,RINA,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,KILL EACH OTHER,PSYSTYLE,BEMANI Sound Team "L.E.D. VS. L.E.D.-G",0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,L.F.O,UK HARDCORE,aran,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,EX HARD CLEAR,---,9,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,LADYBIRD,GLITCH HOP,YUC'e,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Let me be your cure,ELECTRIC DANCE ROCK,Pizuya's Cell,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,EX HARD CLEAR,---,7,0,0,0,---,FAILED,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Lethal Weapon,RECKLESS HARDCORE,BEMANI Sound Team "HuΣeR",0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Level One,Drumstep / DnB,Yamato,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Lift Us High,MELODIC TRANCE,BEMANI Sound Team "Sota Fujimori",0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,LOST TECHNOLOGIE,TECHNO,かめりあ,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,EX HARD CLEAR,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Macho Monky,JUNGLE TERROR,kors k,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,2475,1049,377,75,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-12-19 06:34 +Rootage,Necroxis Girl,GLITCH DUBSTEP,BEMANI Sound Team "HuΣeR",0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Next Tales 2 Oath (IIDX 20th Anniv "Ring" Theme),THEME SONG,Hommarju,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Night! Night! Night!,EURO DYNAMITE,MM,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,ONIGOROSHI,TOKYO STYLE SPEEDCORE,m1dy,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,OVER TIME,ELECTRO POP,空中分解feat.アンテナガール,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,EX HARD CLEAR,---,8,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Painful Fate,DRUM'N'BASS,BEMANI Sound Team "猫叉Master",0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Particle Arts,NEOTRANCE,Virtual Self,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Playing With Fire,SPEED RAVE,kors k,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Please Welcome Mr.C,JAZZY HOLIC,C-Show,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Psycho Sheep Riddim,RIDDIM DUBSTEP,BEMANI Sound Team "SYUNN",0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,HARD CLEAR,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Red. by Jack Trance,TECH-BREAKS,DJ Mass MAD Izm*,1,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,1763,723,317,32,HARD CLEAR,AA,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:53 +Rootage,REPLAY,TECHNO,SLAKE,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,ROCK女 feat. 大山愛未, Ken,TRANCE,Y&Co.,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,ROZA DE ANDALUCIA,MELODIC SPEED METAL,SOUND HOLIC Vs. T.Kakuta feat. Nana Takahashi,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,ruin of opals,IRIDESCENCE JAZZ ETUDE,上ノ瀬つかさ,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,R∞tAge,NEO J-TEKNO,BEMANI Sound Team "HuΣeR+",1,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,2700,1220,260,9,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 08:20 +Rootage,Serious?,FESTIVAL TRAP,KSUKE,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,HARD CLEAR,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Sidechained Threats,ELECTRO,sanodg,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,SIGMA,HARDROCK,BEMANI Sound Team "Mutsuhiko Izumi",0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,FULLCOMBO CLEAR,---,8,0,0,0,---,HARD CLEAR,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Six String Proof,HARDROCK,BEMANI Sound Team "Yvya × Mutsuhiko Izumi",0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,SPEED ROCKER,PSYCHEDELIC TRANCE ,AJURIKA,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Starry Night,HARDSTYLE,Massive New Krew feat.松平なな,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Technicolour Dreams,HDM,DUNE & M-Project & GUHROOVY,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,The Best of Both Worlds,EUROTRAPBEAT,☆Taku Takahashi (m-flo, block.fm),0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,THE DAY OF JUBILATIONS,HARD ELECTRIC POP,BEMANI Sound Team "S-C-U vs L.E.D.",0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,The Rebellion of Sequencer,DJENTCORE,DJ Myosuke,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,The Sealer ~ア・ミリアとミリアの民~,ELEMENTAL JIG,Zektbach,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,toy boxer,BOXINGCORE,BEMANI Sound Team "S-C-U & SYUNN",0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,ToyCube Pf.(RX-Ver.S.P.L.),NEW AGE,高田雅史,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Trill auf G,MUSIC GAMES HARDCORE,BEMANI Sound Team "dj TAKA",0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Twilight Warp,CYBER DANCE MUSIC,Maozon feat. Kyte,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,U.S.A.,IIDX EDITION,Remixed by BEMANI Sound Team "PHQUASE feat.TRANDER Jr.",1,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2694,1253,188,11,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-12-04 05:42 +Rootage,Unbelief,METAL,BEMANI Sound Team "Anonymous",1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,2495,1046,403,87,HARD CLEAR,A,0,0,0,0,---,NO PLAY,---,2021-02-22 04:34 +Rootage,UNDERWORLD HOLOGRAPHY,DRUM & BASS,BEMANI Sound Team "L.E.D." feat. KOTOKO,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,EX HARD CLEAR,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Urban Constellations,JAZZY FOOTWORK JUNGLE,Dirty Androids,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Visterhv,REBIRTH OUT,Feryquitous,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,12,3145,1414,317,42,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-02-22 04:59 +Rootage,voltississimo,VVV,BEMANI Sound Team "PHQUASE",0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Wing of Hearts,HYPER HANDS UP,USAO & DJ Nanashi,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,EX HARD CLEAR,---,8,0,0,0,---,NO PLAY,---,10,2775,1310,155,0,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-12-04 06:39 +Rootage,Wolf 1061,PIANO TRANCE,Xceon,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Won(*3*)Chu KissMe!,IIDX EDITION,Remixed by BEMANI Sound Team "L.E.D." & IOSYS,0,1,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Wonderland,CANDY RAVE GABBER,kors k,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,X-DEN,ULTIΣATE COLLABORATION,T.Σ.Generation,3,0,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,12,3225,1384,457,97,CLEAR,A,0,0,0,0,---,NO PLAY,---,2021-04-03 03:52 +Rootage,XENON II ~TOMOYUKIの野望~,ELECTRO SHOCK,Mr.T,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,FAILED,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Xlo,NEUTRONIKA,sasakure.UK,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,Yum Yum Jelly,FUTURE BASS,YUC'e,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,FULLCOMBO CLEAR,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,ZENDEGI DANCE,ORBITALIC ORIENTAL ELECTRO,ARM × BEMANI Sound Team "U1 overground",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,11,2582,1212,158,6,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 05:49 +Rootage,おーまい!らぶりー!すうぃーてぃ!だーりん!,LOVELY YOUTH,BEMANI Sound Team "PON" feat.NU-KO,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,お菓子の王国,SPEED CANDY,Snail's House,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,グラナダの風,SPANISH GUITAR,BEMANI Sound Team "劇団レコード",0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,FULLCOMBO CLEAR,---,8,0,0,0,---,FAILED,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,サクラあっぱれーしょん,IIDX EDITION,Remixed by BEMANI Sound Team "TAG" feat. 柊木りお,0,1,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,セカンドピアス,GIRLS ROCK,OSTER project feat. echo,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,EX HARD CLEAR,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,ハードベース・フェスタ,A-STYLE RUSSIAN HARDBASS,かめりあ feat. ななひら,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,ミストレス・アンに花束を,ELECTRONICA,soejima takuma feat.BEMANI Sound Team "猫叉Master",0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,EX HARD CLEAR,---,8,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,ミッドナイト☆WAR,BEMANIZED ROCKCORE,いちか,2,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,2346,1092,162,1,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 07:33 +Rootage,夏の匂い。キミの残像。 ft. Kanae Asaba,Re 90's J-DANCE POP,Xceon,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,抱きしめてモナムール,Hi-歌謡コア,冬色AMOUR☆Prim,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,EX HARD CLEAR,---,10,0,0,0,---,HARD CLEAR,---,12,3671,1664,343,38,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-03-14 06:33 +Rootage,最小三倍完全数,ピタゴラス的不完全性破壊衝動音律(ハンマーによる),DJ TECHNORCH,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,泰東ノ翠霞,JAPANESE POPS,bermei.inazawa/feat.霜月はるか,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,深愛のリグレット,PIANO J TRANCE POP,Xceon feat.Mayumi Morinaga,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,爆ゼニ☆がってんワーカー,勤労☆電波,ARM×狐夢想 feat. ななひら,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,花冠 feat.Aikapin,SOCA,RoughSkreamZ,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +Rootage,金野火織の金色提言,音ゲー賛美歌,DJ TECHNORCH feat. 宇宙★海月,2,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,EX HARD CLEAR,---,10,0,0,0,---,EX HARD CLEAR,---,12,2540,1080,380,63,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-03-14 04:43 +Rootage,龍王の霊廟(Mausoleum Of The Primal Dragon),RETROSPECTIVE EPIC MUSIC,BEMANI Sound Team "黒猫ダンジョン",0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,11,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,27th style,HIP HOP,三代目 "dj TAKA & DAYBREAKERS",1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2322,1041,240,8,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2020-11-12 08:14 +HEROIC VERSE,Advent Infamous,NEO DIGITAL FUTURE,Blacklolita,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,AKASHIC BREAK,LAPLACE CORE,BEMANI Sound Team "TAG",0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,And-RoiD,J-POP,Fujishiro feat.KNA,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Artist,MYSTICAL HARD DANCE,CANVAS feat. Quimar,1,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,2847,1239,369,88,HARD CLEAR,A,0,0,0,0,---,NO PLAY,---,2021-04-06 10:01 +HEROIC VERSE,Backyard Stars,FUTURE BASS,TAKU INOUE,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,BEAT PRISONER,PRIME BIG BEAT,AJURIKA,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,3028,1343,342,60,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-04-03 03:48 +HEROIC VERSE,beatAffection,BEAT MUSIC,ビートまりお,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Beautiful Harmony (IIDX Mix),PROGRESSIVE TRANCE,Ryu☆,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Bow shock!!,JAZZ PIANO TRANCE,Xceon,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Calvados Queen,JAZZ ROCK,OSTER project feat. かなたん,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Change Yourself,TRANCE,ARM × kradness,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Crank It,BASS HOUSE,Crayvxn,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Dans la nuit de l'eternite,POLONAISE,BEMANI Sound Team "レ・度胸兄弟",3,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,2917,1290,337,73,CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-04-03 05:08 +HEROIC VERSE,Do What You Want,FUTURE BASS,BEMANI Sound Team "SYUNN",1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,1892,882,128,6,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-04-03 01:06 +HEROIC VERSE,Double Dribble,FUNKY GABBER,lapix,2,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,3012,1367,278,20,HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-04-03 05:11 +HEROIC VERSE,Drop It,DUBSTEP/MMETAL/DJENT,Dazsta,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,CLEAR,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Duration,DRUM & BASS,佐野電磁,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,EROICA,VERSE,BEMANI Sound Team "HERO",5,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,3219,1435,349,70,CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-03-31 04:57 +HEROIC VERSE,Everlasting Message,EPIC ORCHESTRA,ぺのれり,2,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,2885,1218,449,100,CLEAR,A,0,0,0,0,---,NO PLAY,---,2021-01-10 02:05 +HEROIC VERSE,EXCITE,IIDX EDITION,Remixed by BEMANI Sound Team "HuΣeR feat.PON",0,2,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,fairy cocktail,エレクトロニック/エレクトロニカ/ポップ,Tomggg,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Fly Above (Vicissitude Remix),DREAM DRUM'N'BASS,Remixed by BEMANI Sound Team "PHQUASE",0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Forgetting Machine,DRUM'N'BASS,TAKU INOUE,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Friction[!]Function,PROGRES BEAT,Feryquitous,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,12,2916,1332,252,23,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-02-22 03:35 +HEROIC VERSE,GHOST,FREEFORM HARDCORE,Hommarju,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,GIGA VIOLATE,EDM-DUBSTYLE,Blacklolita,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Hold My Hand,MELODIC DANCE MUSIC,BEMANI Sound Team "Sota Fujimori",0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Horizons of Promise,ALTANATIVE ROCK,BEMANI Sound Team "SPIRITUAL RIDE",0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Hyper Drive feat. ぷにぷに電機,DANCE POP,パソコン音楽クラブ,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,If,FUTURE BASS,Pa's Lam System,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Inferno of Fomalhaut,DJENT STEP,fallen shepherd ft. ricono,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,2541,1078,385,70,HARD CLEAR,A,0,0,0,0,---,NO PLAY,---,2021-04-03 02:00 +HEROIC VERSE,Infinity Mirror,NEO 90's CINEMATIC TECHNO,Dirty Androids,1,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,2031,905,221,7,EX HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2020-11-12 00:50 +HEROIC VERSE,Into The Madness,SPOOKY,Yuta Imai,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Jetcoaster Windy,GIRLY POP,BEMANI Sound Team "dj TAKA" feat.のの,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,LASER CRUSTER (IGNITE REMIX),DRUM & BASS / HYBRID TRAP,Remixed by BEMANI Sound Team "HuΣeR",0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Level 2,BIGBEAT / DUBSTEP,Yamato,2,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,1552,694,164,6,EX HARD CLEAR,AA,12,2354,991,372,41,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-03-14 07:01 +HEROIC VERSE,LIGHTNING STRIKES,Hi-GAIN ENERGY,BEMANI Sound Team "HuΣeR",0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Like+it!,EUROBEAT,Ryu☆,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Lords Of The Roundtable,PIANO BEAT MUSIC,DJ Mass MAD Izm* feat.REO,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Matt Silver,TECHSTYLE,Remo-con,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Megalara Garuda,DRUMSTEP,SYUNN,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Mel,DRUM'N'BASS,Applekid,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Moving on,PSYCHEDELIC TRANCE,AJURIKA feat.矢吹真央,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Nasty Techniques,Hi-TECH FULL ON,kors k,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,NEWALONE,INDUSTRIAL BASS,Masayoshi Iimori,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,NRG STAR '86 feat. 大山愛未,Hi-NRG,Y&Co.,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Ohayo!,FESTIVAL TRAP,KSUKE,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,FAILED,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,ORCA,CETACEA HDM,かめりあ,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,OUTER PLANETS,EPIC STORY,BEMANI Sound Team "劇団レコード",0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,CLEAR,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Override,EUPHORIC HARDCORE,Nhato,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,PHASE SHIFT MANEUVER,PSYSTYLE,BEMANI Sound Team "L.E.D." ,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,POP TEAM EPIC(kors k Remix),IIDX EDITION,上坂すみれ,0,1,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Primitive Vibes,TRIBAL FRONTIER,lapix,1,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,12,2899,1357,185,9,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-04-03 01:16 +HEROIC VERSE,Punching Down (IIDX Mix),SWITCH UP,Masayoshi Iimori,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Queen Kaguya,ORBITALIC MOON MIXTURE,BEMANI Sound Team "U1 overground",0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Rainstorm,UPLIFTING TRANCE,Maozon feat. Chica,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Rave lithosphere,RAVE,Sampling Masters MEGA,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Rave Patroller,FUTURE SKOOL BREAKBEATS HARDCORE,Eagle,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,rough percussionythm,HARD D&B,BEMANI Sound Team "setup VS 謎の勢力",0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,S!ck (Nhato Remix),HARDCORE,Remixed by Nhato,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,SCREW // owo // SCREW,TWERKCORE // uwu // BEATJUGGLE,かめりあ,6,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,12,2665,1197,271,31,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-04-03 09:14 +HEROIC VERSE,Sellout,DANCE MUSIC,banvox,0,0,0,0,0,---,NO PLAY,---,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Shiva,HARD PSY,Relect,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Silly Love,ELECTRO NU DISCO,DE DE MOUSE,0,1,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Ska-sh All Neurons!!,A-STYLE NEURO+"スカ"+FUNK DRUMSTEP,かめりあ feat. ななひら,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Smashing Wedge,HARDCORE,nora2r,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Sparkle Smilin',TWINKLE POP,BEMANI Sound Team "Qrispy Joybox" feat.いちか,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,STOIC HYPOTHESIS,RIDDIM CORE,BEMANI Sound Team "Expander",0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Sugar Drippin',GARAGE,kors k,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,T-REX vs Velociraptor (In the Far east euphoria),RAVECORE,RoughSketch & TARACHINE,1,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2957,1365,227,15,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 02:22 +HEROIC VERSE,take me higher,FUTURE JERSEY,KOTONOHOUSE,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 +HEROIC VERSE,THE BRAVE MUST DIE,HARDCORE,BEMANI Sound Team "L.E.D.-G",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,12,3498,1548,402,35,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-01-10 01:52 +HEROIC VERSE,THE F∀UST,PIERROT CORE,Masqed Pierrot,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,FAILED,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Theory,TRAP,YUTO,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,TRIUMPH,UK HARDCORE,AJURIKA,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,12,2312,895,522,84,HARD CLEAR,A,0,0,0,0,---,NO PLAY,---,2021-01-10 00:13 +HEROIC VERSE,UNITE THE HEART,DANCE POP DUET,BEMANI Sound Team "T.Kakuta" feat. 709sec. / 花たん,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,VALKYRIAS -英雄誕生-,HEROIC VALHALLA ROCK,BEMANI Sound Team "HuΣeR" feat.Fernweh,0,2,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,VIBRΛ,EMO STEP,Nhato Vs. MK,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Vinculum stellarum,ANTHEM TRANCE,iconoclasm,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,FULLCOMBO CLEAR,---,12,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Virus Funk,PROGRESSIVE DISCO,Nhato,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Volcanic Dragon,HARDCORE RAVE,DJ Shimamura,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Voo Doo Bamboleo,TRIBAL DANCE,SOUND HOLIC Vs. ZYTOKINE feat. CALEN,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,Ypsilon,HARD STACC,BEMANI Sound Team "setup",0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,がっつり陰キャ!? 怪盗いいんちょの億劫^^;,Hi-メランコリックコア,噂の怪盗少女ぷらずま★彡Prim@休業中~( _ _ ).。,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,FAILED,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,ガヴリールドロップキック,IIDX EDITION,Remixed by かめりあ,0,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,シャムシールの舞,バトルダンス,Zektbach,1,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,2392,1118,156,8,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-01-10 01:19 +HEROIC VERSE,セピアの軌跡 ft. 天宮みや(少女フラクタル),MS J TRANCE POP,Xceon,0,2,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,バッドエンド・シンドローム,PIANO CHRONICLE,アリスシャッハと魔法の楽団,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,ピアノ協奏曲第1番”蠍火” (BlackY Remix),PDM,Remixed by BlackY,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,ラブキラ☆スプラッシュ,HYPER POP,BEMANI Sound Team "Sota F." feat.いちか,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,ランカーキラーガール,KILLER PUNK,中島由貴 × いちか,2,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2773,1312,149,3,FULLCOMBO CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 07:31 +HEROIC VERSE,令和(1991RAVE REMIX),RAVE,ゴールデンボンバー,0,2,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,0,0,0,---,FULLCOMBO CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,俺ら東京さ行ぐだ,IIDX EDITION,Remixed by すわひでお & uno(IOSYS),0,1,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,曼荼羅恋々,GOTHIC CORE,BEMANI Sound Team "Akhuta Works" feat. Nana Takahashi,0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,深淵に捧ぐレクイエム,CYBER REQUIEM,OSTER project,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,灼熱Beach Side Bunny (Masayoshi Iimori Remix),NRG,Remixed by Masayoshi Iimori,0,0,0,0,0,---,NO PLAY,---,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,狂水一華,STYLISH CROSSOVER,BEMANI Sound Team "HuΣeR Vs. SYUNN" feat.いちか,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,眠りの国のステラ,空想ファンタジーシリーズ,BEMANI Sound Team "DJ TOTTO",0,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,華麗なる大犬円舞曲,CINEMATIC VALSE,Wiktoria,0,0,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,EX HARD CLEAR,---,12,0,0,0,---,HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,錬成人間トリコロイダー,特撮ハードコア,DJ SHARPNEL feat. ¥Cuスタ平,0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,EX HARD CLEAR,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,開きたまえ!Next stAge!,CHARACTER SONG,librarians of Rootage (Ripnte, Stampa and Cleep),0,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,0,0,0,---,EX HARD CLEAR,---,0,0,0,0,---,NO PLAY,---,2020-11-12 00:47 +HEROIC VERSE,魅惑のYUMMYスイーツ,TWINKLE POP,BEMANI Sound Team "TATSUYA",2,0,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,EX HARD CLEAR,---,12,2569,1111,347,38,HARD CLEAR,AA,0,0,0,0,---,NO PLAY,---,2021-03-14 04:48 \ No newline at end of file diff --git a/server/src/test-utils/test-data/eamusement-iidx-csv/pre-leggendaria.csv b/server/src/test-utils/test-data/eamusement-iidx-csv/pre-leggendaria.csv new file mode 100644 index 000000000..77d671eeb --- /dev/null +++ b/server/src/test-utils/test-data/eamusement-iidx-csv/pre-leggendaria.csv @@ -0,0 +1,153 @@ +バージョン,タイトル,ジャンル,アーティスト,プレー回数,NORMAL 難易度,NORMAL EXスコア,NORMAL PGreat,NORMAL Great,NORMAL ミスカウント,NORMAL クリアタイプ,NORMAL DJ LEVEL,HYPER 難易度,HYPER EXスコア,HYPER PGreat,HYPER Great,HYPER ミスカウント,HYPER クリアタイプ,HYPER DJ LEVEL,ANOTHER 難易度,ANOTHER EXスコア,ANOTHER PGreat,ANOTHER Great,ANOTHER ミスカウント,ANOTHER クリアタイプ,ANOTHER DJ LEVEL,最終プレー日時 +1st&substream,5.1.1.,PIANO AMBIENT,dj nagureo,5,1,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,1362,605,152,5,EX HARD CLEAR,AA,2019-10-28 14:05 +1st&substream,Macho Gang,TRIBAL HOUSE,ANAL SPYDER,2,2,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,338,125,88,---,FAILED,F,2019-11-07 17:07 +3rd style,R5,RAVE,tigerYAMATO with ultrabeatbox,3,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,1603,747,109,26,HARD CLEAR,AAA,2019-11-01 16:58 +3rd style,Schlagwerk,BIG BEAT,TaQ,2,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,1530,685,160,0,FULLCOMBO CLEAR,AAA,2019-11-19 14:34 +3rd style,THE SAFARI,WORLD HOUSE,Lion Musashi,4,7,0,0,0,---,NO PLAY,---,10,1371,586,199,37,HARD CLEAR,A,0,0,0,0,---,NO PLAY,---,2019-10-28 15:30 +4th style,CHECKING YOU OUT,HIP HOP,good-cool feat. JP Miles,4,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,1095,465,165,41,CLEAR,AA,2019-11-01 18:10 +4th style,KAMIKAZE,TECHNO,dj nagureo,1,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,1949,812,325,14,EX HARD CLEAR,AA,2019-11-19 14:41 +5th style,V,PROGRESSIVE,TAKA,1,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,2244,959,326,59,CLEAR,A,2019-11-13 16:49 +6th style,Colors (radio edit),TRANCE,dj TAKA,11,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,1795,750,295,59,FAILED,A,2019-11-21 16:59 +6th style,Take It Easy,INSTRUMENTAL,Aya,2,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,2134,943,248,27,HARD CLEAR,AA,2019-10-28 15:38 +7th style,A,RENAISSANCE,D.J.Amuro,1,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,1831,779,273,66,CLEAR,A,2019-11-13 16:56 +7th style,革命,ORCHESTRAL,dj TAKA with NAOKI,1,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,10,1768,727,314,26,HARD CLEAR,A,2019-11-23 17:59 +8th style,LAB,RAVE,RAM,1,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,1349,540,269,73,NO PLAY,B,2019-11-01 16:26 +8th style,桜,SPIRITUAL,Reven-G,1,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,1392,554,284,111,FAILED,B,2019-11-25 14:31 +9th style,quasar,TRANCE,OutPhase,4,6,0,0,0,---,NO PLAY,---,9,1621,730,161,1,EX HARD CLEAR,AAA,11,1744,675,394,22,HARD CLEAR,A,2019-11-23 17:44 +9th style,LOVE SHINE,J-HAPPY HARDCORE,小坂りゆ,7,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,1890,870,150,17,HARD CLEAR,AAA,2019-11-13 14:30 +9th style,bag,SPIRITUAL,Reven-G,2,5,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,1707,755,197,8,HARD CLEAR,AA,2019-11-13 14:45 +10th style,Innocent Walls,TECHNO,TaQ,1,8,0,0,0,---,NO PLAY,---,12,1934,749,436,51,CLEAR,A,12,0,0,0,---,NO PLAY,---,2019-11-28 22:20 +10th style,Daisuke,EUROBEAT,Y&Co.,2,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,2044,910,224,18,HARD CLEAR,AA,2019-11-23 18:02 +IIDX RED,gigadelic,NUSTYLE GABBA,teranoid feat.MC Natsack,5,9,0,0,0,---,NO PLAY,---,12,1713,710,293,29,CLEAR,A,12,1778,701,376,61,FAILED,A,2019-11-25 14:36 +HAPPY SKY,冥,HUMAN SEQUENCER,Amuro vs Killer,2,5,0,0,0,---,NO PLAY,---,10,1737,731,275,18,HARD CLEAR,AA,12,0,0,0,---,NO PLAY,---,2019-11-17 17:35 +HAPPY SKY,Xepher,MEDIEVAL CHOIR,Tatsh,1,5,0,0,0,---,NO PLAY,---,10,465,162,141,---,FAILED,F,11,0,0,0,---,NO PLAY,---,2019-11-07 17:01 +HAPPY SKY,Scripted Connection⇒ H mix,TECHNO,DJ MURASAME,2,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,1834,755,324,53,CLEAR,A,2019-11-13 16:05 +HAPPY SKY,Scripted Connection⇒ A mix,TECHNO,DJ MURASAME,8,7,0,0,0,---,NO PLAY,---,10,1827,764,299,11,EX HARD CLEAR,AA,12,2174,891,392,56,CLEAR,A,2019-11-19 14:44 +DistorteD,The Dirty of Loudness,SADISTIC HARDCORE,Tatsh Assault X,4,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,1792,710,372,72,CLEAR,A,2019-11-01 18:27 +DistorteD,CONTRACT,SUBLIME TECHNO,朱雀,1,9,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,1418,564,290,50,FAILED,A,2019-11-13 14:25 +DistorteD,DUE TOMORROW,TECHNO,Mr.T,5,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,1376,526,324,55,FAILED,B,2019-11-01 18:06 +DistorteD,waxing and wanding,DANCE SPEED,青龍,3,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,2364,1022,320,74,FAILED,AA,2019-11-13 17:21 +DistorteD,Concertino in Blue,PROGRESSIVE,佐々木博史,2,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,1709,594,521,87,FAILED,B,2019-11-28 22:26 +GOLD,Candy Galy,HAPPY,Risk Junk-G,1,7,0,0,0,---,NO PLAY,---,10,1993,828,337,40,HARD CLEAR,A,12,0,0,0,---,NO PLAY,---,2019-11-01 16:36 +GOLD,CROSSROAD ~Left Story~,DRAMATIC EURO TRANCE,jun with TAHIRIH,4,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,2056,965,126,3,HARD CLEAR,AAA,2019-10-28 15:08 +GOLD,FIRE FIRE,BUCHIAGE TRANCE,StripE,11,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,2048,816,416,68,CLEAR,A,2019-11-07 15:34 +GOLD,Second Heaven,HANDZ UP,Ryu☆,6,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,1811,818,175,16,HARD CLEAR,AA,2019-11-07 15:36 +GOLD,Sense 2007,RAVE,good-cool,5,9,0,0,0,---,NO PLAY,---,11,1742,728,286,52,CLEAR,A,12,0,0,0,---,NO PLAY,---,2019-11-12 21:18 +GOLD,Make Me Your Own,HOUSE,good-cool ft. Raj Ramayya,5,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,1668,701,266,38,HARD CLEAR,A,2019-10-28 15:05 +GOLD,KAMAITACHI,FREEFORM HARDCORE,DJ TECHNORCH fw. GUHROOVY,6,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2095,870,355,46,HARD CLEAR,A,2019-11-01 17:27 +DJ TROOPERS,four pieces of heaven,JUNGLE,Lion,5,5,0,0,0,---,NO PLAY,---,10,1343,516,311,30,HARD CLEAR,A,11,1571,617,337,74,CLEAR,B,2019-11-19 15:21 +DJ TROOPERS,Ristaccia,OUVERTURE,Zektbach,2,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,2155,925,305,51,CLEAR,A,2019-11-21 16:43 +DJ TROOPERS,TROOPERS,ULTIMATE CORE,Des-TRACT,2,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,2285,951,383,46,FAILED,A,2019-11-28 22:35 +DJ TROOPERS,ICARUS,NU-SKOOL BREAKBEATS HARDCORE,Eagle,12,7,0,0,0,---,NO PLAY,---,10,1681,724,233,19,HARD CLEAR,A,12,1791,712,367,59,CLEAR,A,2019-11-21 16:47 +DJ TROOPERS,Dazzlin' Darlin,HANDZ UP,HHH,5,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,2066,968,130,7,HARD CLEAR,AAA,2019-11-01 18:19 +DJ TROOPERS,Time to Air,DANCE SPEED,青龍,2,6,0,0,0,---,NO PLAY,---,10,1683,709,265,33,HARD CLEAR,AA,11,2265,962,341,76,CLEAR,A,2019-11-28 21:22 +DJ TROOPERS,Wanna Party?,PIANO HOUSE,RAM,4,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,8,1396,646,104,0,FULLCOMBO CLEAR,AAA,2019-10-28 14:48 +DJ TROOPERS,PARANOiA ~HADES~,SUPERNOVA2 BEAT #1,αTYPE-300,4,7,0,0,0,---,NO PLAY,---,11,1148,458,232,36,CLEAR,B,12,0,0,0,---,NO PLAY,---,2019-10-28 14:55 +DJ TROOPERS,TRIP MACHINE PhoeniX,SUPERNOVA2 BEAT #2,DE-SIRE改,3,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,1286,550,186,---,FAILED,A,2019-11-13 14:14 +DJ TROOPERS,Wanna Party?†,PIANO HOUSE,RAM,7,0,0,0,0,---,NO PLAY,---,0,0,0,0,---,NO PLAY,---,11,1992,846,300,53,CLEAR,A,2019-11-12 21:48 +EMPRESS,Colorful Cookie,HAPPY HARDCORE,Lucky Vacuum,4,5,0,0,0,---,NO PLAY,---,10,2109,983,143,5,HARD CLEAR,AAA,12,0,0,0,---,NO PLAY,---,2019-11-01 17:38 +EMPRESS,V2,PROGRESSIVE,TAKA,1,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,2379,967,445,127,FAILED,B,2019-11-25 13:59 +EMPRESS,卑弥呼,ESOTERIC SPEEDCORE,朱雀 VS 玄武,6,6,0,0,0,---,NO PLAY,---,11,1854,725,404,80,CLEAR,B,12,0,0,0,---,NO PLAY,---,2019-11-01 17:13 +EMPRESS,3y3s,DANCE SPEED,青龍,4,7,0,0,0,---,NO PLAY,---,10,2033,867,299,35,HARD CLEAR,AA,12,0,0,0,---,NO PLAY,---,2019-10-28 15:17 +EMPRESS,Y&Co. is dead or alive,90's RAVE,Y&Co.,1,5,0,0,0,---,NO PLAY,---,9,1185,446,293,28,HARD CLEAR,B,12,0,0,0,---,NO PLAY,---,2019-11-07 17:03 +EMPRESS,naughty girl@Queen's Palace,TECH-BREAKBEATS,DJ Mass MAD Izm*,5,5,0,0,0,---,NO PLAY,---,9,1460,636,188,---,FAILED,AA,11,1704,718,268,32,HARD CLEAR,AA,2019-11-23 16:11 +EMPRESS,You'll say "Now!",ONLY ONE TECHNO,BLACK STAR 幸広-YUKIHIRO-,1,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,11,1653,659,335,73,CLEAR,B,2019-11-28 21:17 +EMPRESS,THANK YOU FOR PLAYING,ONLY ONE EPILOGUE,SUPER STAR 満-MITSURU-,1,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,1754,767,220,30,CLEAR,AA,2019-11-28 21:15 +SIRIUS,MIRACLE MEETS,BUCHIAGE TRANCE,Lucky Vacuum,1,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,1929,867,195,30,HARD CLEAR,AA,2019-11-12 21:36 +SIRIUS,ワルツ第17番 ト短調”大犬のワルツ”,VALSE,virkato,6,6,0,0,0,---,NO PLAY,---,10,419,158,103,---,FAILED,F,12,2454,1022,410,84,CLEAR,A,2019-11-13 15:46 +SIRIUS,Bad Maniacs,INDUSTRIAL,kors k as teranoid,2,7,0,0,0,---,NO PLAY,---,10,1178,475,228,---,FAILED,B,12,0,0,0,---,NO PLAY,---,2019-10-28 14:01 +SIRIUS,bloomin' feeling,HAPPY HARDCORE,Ryu☆,6,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,1988,842,304,60,FAILED,A,2019-11-12 21:38 +SIRIUS,Red. by Full Metal Jacket,TECH-BREAKBEATS,DJ Mass MAD Izm*,2,6,0,0,0,---,NO PLAY,---,10,1658,683,292,32,HARD CLEAR,AA,12,0,0,0,---,NO PLAY,---,2019-10-28 15:44 +SIRIUS,mosaic,TECHNO POP SPEED,Auridy,2,7,0,0,0,---,NO PLAY,---,10,1848,832,184,9,HARD CLEAR,AAA,12,545,233,79,---,FAILED,F,2019-11-23 14:36 +SIRIUS,bass 2 bass,BUBBLEGUM DANCE,Ryu☆,1,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,1622,690,242,19,HARD CLEAR,AA,2019-11-28 20:49 +Resort Anthem,Watch Out Pt.2,TECH-BREAKBEATS,DJ Mass MAD Izm* VS.DJ Yoshitaka,7,6,0,0,0,---,NO PLAY,---,9,1574,636,302,22,HARD CLEAR,A,12,0,0,0,---,NO PLAY,---,2019-11-23 14:37 +Resort Anthem,THE BLACK KNIGHT,GOA TRANCE,L.E.D.,4,5,0,0,0,---,NO PLAY,---,10,1821,795,231,17,HARD CLEAR,AA,11,0,0,0,---,NO PLAY,---,2019-10-28 15:35 +Resort Anthem,PARADISE LOST,TRANCE CORE,Ryu☆ Vs. L.E.D.-G,2,7,0,0,0,---,NO PLAY,---,11,1687,669,349,71,CLEAR,A,12,1152,439,274,---,FAILED,D,2019-11-25 14:45 +Resort Anthem,Bounce Bounce Bounce,DANCEHALL,kors k feat.Kanata Okajima&楽天斎,3,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,1924,796,332,81,CLEAR,A,2019-11-12 21:27 +Resort Anthem,Mermaid girl,BUBBLEGUM DANCE,Cream puff,2,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,2036,935,166,1,EX HARD CLEAR,AAA,2019-11-23 14:29 +Resort Anthem,Golden Palms,NU DISCO,Dirty Androids,1,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,1684,724,236,20,HARD CLEAR,AA,2019-11-23 16:17 +Resort Anthem,灼熱Beach Side Bunny,BROKEN SAMBA BREAK,DJ Mass MAD Izm*,4,7,851,369,113,---,FAILED,A,10,1622,677,268,29,HARD CLEAR,AA,12,899,334,231,---,FAILED,E,2019-11-30 13:33 +Resort Anthem,Space Time,ENERGETIC TRANCE,NISH,4,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,1582,644,294,32,HARD CLEAR,A,2019-11-12 21:28 +Resort Anthem,夕焼け ~Fading Day~,AURAL ADRENALINE,JAKAZiD,11,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2111,880,351,42,HARD CLEAR,A,2019-11-12 21:22 +Resort Anthem,reunion,CYBER WALTZ,Tatsh,4,8,0,0,0,---,NO PLAY,---,11,2070,928,214,25,HARD CLEAR,AA,12,2122,845,432,153,NO PLAY,B,2019-11-17 18:52 +Resort Anthem,sakura storm,HAPPY HARDCORE,Ryu☆,4,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,12,1805,742,321,43,CLEAR,A,2019-11-21 17:06 +Resort Anthem,Sakura Reflection,HAPPY HARDCORE,Ryu☆,8,3,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2143,981,181,24,HARD CLEAR,AAA,2019-11-01 17:07 +Resort Anthem,SPECIAL SUMMER CAMPAIGN!,BUCHIAGE TRANCE,Lucky Vacuum,1,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,12,2064,832,400,101,CLEAR,A,2019-11-13 15:20 +Resort Anthem,Golden Palms†,NU DISCO,Dirty Androids,3,0,0,0,0,---,NO PLAY,---,0,0,0,0,---,NO PLAY,---,11,1902,804,294,49,HARD CLEAR,A,2019-11-13 15:27 +Lincle,The Sampling Paradise,HARD TRANCE,Mamonis,2,5,0,0,0,---,NO PLAY,---,9,1602,698,206,8,EX HARD CLEAR,AA,12,1976,772,432,123,FAILED,B,2019-11-30 14:04 +Lincle,Follow Tomorrow,J-DANCE POP,HHH×MM×ST,2,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,1901,828,245,13,EX HARD CLEAR,AA,2019-11-19 14:52 +Lincle,BLACK.by X-Cross Fade,TECH-BREAKBEATS,DJ Mass MAD Izm*,1,6,0,0,0,---,NO PLAY,---,10,1740,711,318,30,HARD CLEAR,AA,12,0,0,0,---,NO PLAY,---,2019-11-28 20:52 +Lincle,突撃!ガラスのニーソ姫!,電波,山本椛 (monotone),2,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,1836,825,186,19,HARD CLEAR,AA,2019-11-28 20:40 +Lincle,quaver♪,HAPPY,Risk Junk,3,4,0,0,0,---,NO PLAY,---,9,1960,901,158,7,EX HARD CLEAR,AAA,12,0,0,0,---,NO PLAY,---,2019-11-30 13:57 +Lincle,Flip Flap,CANDY HANDZ UP,kors k,1,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,1048,445,158,---,FAILED,C,2019-11-30 14:10 +tricoro,S!ck,DRUMSTEP,Eagle,3,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,1944,791,362,56,CLEAR,A,2019-11-01 16:29 +tricoro,Fly you to the star,HANDZ UP,Another Infinity feat. Mayumi Morinaga,1,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,1946,844,258,3,EX HARD CLEAR,AA,2019-11-19 14:57 +tricoro,Cookie Bouquets,BREAK CORE,L.E.D. vs TOMOSUKE fw.crimm,3,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2687,1158,371,82,CLEAR,AA,2019-11-01 18:32 +SPADA,Element of SPADA,HEALING POP,猫叉Master feat.霜月はるか,1,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,1891,867,157,3,EX HARD CLEAR,AAA,2019-11-23 14:26 +SPADA,Critical Crystal,DANCE SPEED,青龍,3,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,2154,897,360,93,FAILED,A,2019-11-19 15:42 +SPADA,Insane Techniques,Hi-TECH FULL ON,kors k,1,4,0,0,0,---,NO PLAY,---,7,1157,506,145,9,EX HARD CLEAR,AA,11,0,0,0,---,NO PLAY,---,2019-11-30 13:52 +SPADA,Atropos,NEUTRONIKA,sasakure.UK,1,6,0,0,0,---,NO PLAY,---,8,1476,652,172,8,EX HARD CLEAR,AA,11,0,0,0,---,NO PLAY,---,2019-11-30 13:55 +SPADA,廿,新世紀進歩的羽扇子音楽,DJ TECHNORCH,1,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,1727,692,343,38,NO PLAY,A,2019-11-01 16:24 +SPADA,疾風迅雷,ORIENTAL CORE,KUMOKIRI,1,6,0,0,0,---,NO PLAY,---,10,1391,543,305,45,NO PLAY,B,12,0,0,0,---,NO PLAY,---,2019-11-01 16:22 +SPADA,Verflucht,HARD NRG,Tyrfing,4,6,0,0,0,---,NO PLAY,---,10,1779,778,223,14,HARD CLEAR,AA,12,793,298,197,---,FAILED,F,2019-11-19 15:49 +PENDUAL,Line 4 Ruin,ELECTRO TECH,Ryu☆,5,4,0,0,0,---,NO PLAY,---,9,1676,771,134,1,EX HARD CLEAR,AAA,11,2138,906,326,49,HARD CLEAR,A,2019-11-25 13:15 +PENDUAL,CHRONO DIVER -NORNIR-,CYBER DRUM & BASS,L.E.D.,2,5,0,0,0,---,NO PLAY,---,9,2033,929,175,6,EX HARD CLEAR,AAA,11,0,0,0,---,NO PLAY,---,2019-11-30 13:45 +PENDUAL,chrono diver -fragment-,HEALING DRUM'N'BASS,猫叉Master feat.三澤 秋,1,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,1641,755,131,3,EX HARD CLEAR,AAA,2019-11-25 13:03 +PENDUAL,#The_Relentless,DUBCORE,DJ Noriken,1,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2200,909,382,59,CLEAR,A,2019-11-19 15:31 +PENDUAL,IMPLANTATION,GOA TRANCE,TOMOSUKE,4,5,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,1494,587,320,71,NO PLAY,B,2019-11-13 17:38 +PENDUAL,ベィスドロップ・フリークス,A-STYLE DRUMSTEP,かめりあ feat. ななひら,3,4,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,1557,663,231,---,FAILED,A,2019-11-25 13:07 +PENDUAL,Hello Happiness,HAPPY HARDCORE,P*Light feat. mow*2,2,5,0,0,0,---,NO PLAY,---,9,1449,623,203,11,EX HARD CLEAR,AA,11,0,0,0,---,NO PLAY,---,2019-11-25 13:16 +PENDUAL,打打打打打打打打打打,JAPANESE TRADITIONAL,ヒゲドライバー join. SELEN,1,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,1914,783,348,60,CLEAR,A,2019-11-19 15:37 +PENDUAL,とろぴかる倶楽部,TROPICAL,HALFBY,2,5,0,0,0,---,NO PLAY,---,8,1268,547,174,12,EX HARD CLEAR,AA,11,1662,674,314,---,FAILED,A,2019-11-25 13:12 +PENDUAL,パ→ピ→プ→Yeah!,電波ソング,ヒゲドライバー join. shully & Nimo,1,6,0,0,0,---,NO PLAY,---,9,1485,693,99,2,EX HARD CLEAR,AAA,11,0,0,0,---,NO PLAY,---,2019-11-28 20:35 +PENDUAL,Invitation from Mr.C,HOLIC,C-Show,1,6,0,0,0,---,NO PLAY,---,9,1343,573,197,7,EX HARD CLEAR,AA,12,0,0,0,---,NO PLAY,---,2019-11-28 20:33 +PENDUAL,PENDUAL TALISMAN,SYSTEM BGM,猫叉L.E.D.Master,9,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,2272,1037,198,16,HARD CLEAR,AA,2019-11-01 16:53 +PENDUAL,chrono diver -fragment-†,HEALING DRUM'N'BASS,猫叉Master feat.三澤 秋,1,0,0,0,0,---,NO PLAY,---,0,0,0,0,---,NO PLAY,---,10,2044,933,178,13,HARD CLEAR,AAA,2019-11-28 20:59 +copula,Donkey Donk,DONK,Ryu☆,2,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,10,1134,492,150,---,FAILED,C,2019-11-23 18:15 +copula,Rock It,HARDCORE,Hommarju,1,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,2259,934,391,27,HARD CLEAR,A,2019-11-01 17:04 +copula,めいさいアイドル☆あいむちゃん♪,電波デステクノ,DJ SHARPNEL feat. みらい,5,7,1388,629,130,2,EX HARD CLEAR,AAA,10,1955,836,283,17,HARD CLEAR,AA,12,0,0,0,---,NO PLAY,---,2019-11-23 14:19 +copula,量子の海のリントヴルム,エピックプログレ,黒猫ダンジョン,1,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,1379,560,259,---,FAILED,C,2019-11-13 17:12 +copula,NO LIMIT -オレ達に限界は無い-,ONLY ONE DANCE MUSIC,SUPER STAR 満-MITSURU- vs. 伝説のダンサー マイク,1,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,10,1962,851,260,7,EX HARD CLEAR,AA,2019-11-23 18:13 +copula,On the FM,RADIO SHOWCASE,C-Show,2,6,0,0,0,---,NO PLAY,---,8,1407,617,173,12,EX HARD CLEAR,AA,11,579,236,107,---,FAILED,F,2019-11-30 13:40 +copula,POSSESSION,PSYCHIC FLASH,TAG underground,4,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,2110,850,410,82,EASY CLEAR,A,2019-11-21 16:38 +SINOBUZ,Rave Cannon,SPEED RAVE,kors k,5,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,2118,831,456,136,NO PLAY,B,2019-11-13 17:36 +SINOBUZ,!Viva!,TRIBAL HOUSE,Ryu*,2,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,1780,791,198,7,EX HARD CLEAR,AA,2019-11-17 17:49 +SINOBUZ,Mare Nectaris,EXPERIMENTAL,神楽,3,7,0,0,0,---,NO PLAY,---,11,1756,736,284,25,HARD CLEAR,AA,12,0,0,0,---,NO PLAY,---,2019-11-12 21:43 +SINOBUZ,PAPAYAPA BASS,MONDO-GROOVE BASSHOUSE,かめりあ feat. ななひら,1,5,0,0,0,---,NO PLAY,---,8,1421,648,125,3,EX HARD CLEAR,AAA,11,0,0,0,---,NO PLAY,---,2019-11-30 13:36 +SINOBUZ,SAY BAY,SHINOBI RAVE,P*Light,1,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,12,1739,650,439,144,NO PLAY,B,2019-11-01 18:34 +SINOBUZ,忍恋花,忍歌,黒脛,2,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,1795,760,275,38,CLEAR,AA,2019-11-13 16:37 +SINOBUZ,Music is The Answer,TURBOFUNK,C-Show,1,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,1614,687,240,8,EX HARD CLEAR,AA,2019-11-25 13:44 +SINOBUZ,Amazing Mirage,HiTECH FULLON,lapix,1,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,1919,780,359,57,CLEAR,A,2019-11-19 15:34 +SINOBUZ,Sweet Clapper,J-POP,livetune+,1,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,10,1757,811,135,4,HARD CLEAR,AAA,2019-11-17 17:46 +SINOBUZ,Sky High,ANTHEM,Cuvelia,5,6,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,1929,710,509,---,NO PLAY,C,2019-11-19 16:11 +SINOBUZ,BroGamer,SUPER ULTIMATE HYPER CORE,USAO,2,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,2474,1032,410,39,CLEAR,AA,2019-11-25 13:53 +SINOBUZ,Beat Juggling Mix,DJ BATTLE,Hommarju,2,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,1649,655,339,46,CLEAR,A,2019-11-17 17:51 +SINOBUZ,Apocalypse,EPIC D'N'B,Morrigan feat. リリィ,1,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,2625,1087,451,92,CLEAR,A,2019-11-21 16:53 +CANNON BALLERS,AA -rebuild-,RENAISSANCE,D.J.Amuro,1,7,0,0,0,---,NO PLAY,---,10,1929,824,281,25,HARD CLEAR,A,12,0,0,0,---,NO PLAY,---,2019-11-21 16:31 +CANNON BALLERS,O/D*20,TECHNO,Ryu*,3,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,1914,873,168,8,HARD CLEAR,AAA,2019-11-21 16:35 +CANNON BALLERS,Amor De Verao,熱帯 THE BASS,かめりあ feat. ななひら,1,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,1716,699,318,37,HARD CLEAR,A,2019-11-07 15:29 +CANNON BALLERS,n'pa pa BBQ,FUTURE TERROR,YUC'e,2,4,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,11,1944,807,330,75,CLEAR,A,2019-11-01 16:44 +CANNON BALLERS,I'm Coming (2017 Version),ダンスミュージック,Pa's Lam System,1,3,0,0,0,---,NO PLAY,---,7,0,0,0,---,NO PLAY,---,9,1769,784,201,12,HARD CLEAR,AA,2019-11-07 15:23 +CANNON BALLERS,Arca,GENESIS,BEMANI Sound Team "Akhuta Works",5,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,2312,958,396,69,FAILED,A,2019-11-21 16:56 +CANNON BALLERS,Sleepless days,THE WORLD EVOLVE,猫叉Master feat.Mayumi Morinaga,3,4,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,1445,667,111,4,EX HARD CLEAR,AAA,2019-11-07 15:24 +Rootage,KILL EACH OTHER,PSYSTYLE,BEMANI Sound Team "L.E.D. VS. L.E.D.-G",2,7,1220,533,154,8,EX HARD CLEAR,AA,10,1512,592,328,---,FAILED,B,12,0,0,0,---,NO PLAY,---,2019-11-28 20:10 +Rootage,R∞tAge,NEO J-TEKNO,BEMANI Sound Team "HuΣeR+",1,5,0,0,0,---,NO PLAY,---,8,1477,646,185,2,EX HARD CLEAR,AA,11,0,0,0,---,NO PLAY,---,2019-11-13 13:52 +Rootage,HOT LIMIT,IIDX EDITION,Remixed by BEMANI Sound Team "HuΣeR feat.PON",2,5,0,0,0,---,NO PLAY,---,9,1568,714,140,1,EX HARD CLEAR,AAA,10,2000,827,346,20,HARD CLEAR,AA,2019-11-28 20:22 +Rootage,X-DEN,ULTIΣATE COLLABORATION,T.Σ.Generation,2,8,0,0,0,---,NO PLAY,---,11,1890,738,414,57,CLEAR,B,12,0,0,0,---,NO PLAY,---,2019-11-01 17:19 +Rootage,GENE,TECHNO GRAFFITI,VINCENT GANATCH,4,7,1098,470,158,5,HARD CLEAR,AA,10,1570,658,254,31,HARD CLEAR,AA,12,0,0,0,---,NO PLAY,---,2019-11-17 17:19 +Rootage,CODE:0,BIG BEAT,BEMANI Sound Team "HEXA",5,5,0,0,0,---,NO PLAY,---,9,1850,789,272,6,HARD CLEAR,AA,11,2039,801,437,43,HARD CLEAR,A,2019-11-13 14:52 +Rootage,COSMIC CYBER,BIGCORE,BEMANI Sound Team "Captain Sonic",1,5,0,0,0,---,NO PLAY,---,9,1532,693,146,3,EX HARD CLEAR,AA,11,0,0,0,---,NO PLAY,---,2019-11-28 20:28 +Rootage,Wing of Hearts,HYPER HANDS UP,USAO & DJ Nanashi,2,5,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,2548,1142,264,27,HARD CLEAR,AA,2019-11-25 13:34 +Rootage,泰東ノ翠霞,JAPANESE POPS,bermei.inazawa/feat.霜月はるか,1,3,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,11,1271,467,337,45,CLEAR,A,2019-11-13 16:41 +Rootage,Dr. Chemical & Killing Machine,INDUSTRIAL TECHNO,Hommarju,1,5,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,1835,745,345,---,FAILED,C,2019-11-23 17:41 +Rootage,Red. by Jack Trance,TECH-BREAKS,DJ Mass MAD Izm*,1,7,0,0,0,---,NO PLAY,---,10,1626,619,388,43,HARD CLEAR,A,12,0,0,0,---,NO PLAY,---,2019-11-13 14:07 +Rootage,& Intelligence,MEGA MIX,lapix,9,5,0,0,0,---,NO PLAY,---,9,1858,805,248,9,EX HARD CLEAR,AA,11,2232,888,456,75,CLEAR,A,2019-11-23 16:28 +Rootage,OVER TIME,ELECTRO POP,空中分解feat.アンテナガール,1,3,0,0,0,---,NO PLAY,---,5,0,0,0,---,NO PLAY,---,8,1397,628,141,2,EX HARD CLEAR,AAA,2019-11-25 13:00 +Rootage,金野火織の金色提言,音ゲー賛美歌,DJ TECHNORCH feat. 宇宙★海月,1,6,1156,521,114,3,EX HARD CLEAR,AAA,10,0,0,0,---,NO PLAY,---,12,0,0,0,---,NO PLAY,---,2019-11-28 20:16 +Rootage,XENON II ~TOMOYUKIの野望~,ELECTRO SHOCK,Mr.T,1,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,11,666,250,166,---,FAILED,F,2019-11-13 15:06 +Rootage,DRUNK MONKY,MINIMAL,DJ ODDBALL,1,7,0,0,0,---,NO PLAY,---,10,0,0,0,---,NO PLAY,---,12,1589,661,267,71,FAILED,A,2019-11-25 14:11 +Rootage,お菓子の王国,SPEED CANDY,Snail's House,3,7,1299,591,117,0,FULLCOMBO CLEAR,AAA,10,1796,750,296,40,HARD CLEAR,A,12,0,0,0,---,NO PLAY,---,2019-11-01 16:33 +Rootage,50th Memorial Songs -Beginning Story-,ANNIVERSARY,BEMANI Sound Team,3,4,0,0,0,---,NO PLAY,---,8,1482,659,164,2,EX HARD CLEAR,AA,10,2119,899,321,36,HARD CLEAR,A,2019-11-25 13:28 +Rootage,50th Memorial Songs -The BEMANI History-,ANNIVERSARY,BEMANI Sound Team,7,5,0,0,0,---,NO PLAY,---,9,1388,591,206,4,FULLCOMBO CLEAR,AA,11,1854,759,336,80,FAILED,A,2019-11-13 14:58 +Rootage,Carry Me Away,FUTURE CORE,lapix,1,7,0,0,0,---,NO PLAY,---,9,0,0,0,---,NO PLAY,---,12,1938,706,526,110,FAILED,B,2019-11-25 14:50 +Rootage,ミッドナイト☆WAR,BEMANIZED ROCKCORE,いちか,5,5,0,0,0,---,NO PLAY,---,8,1446,655,136,0,FULLCOMBO CLEAR,AAA,11,2103,924,255,17,EX HARD CLEAR,AA,2019-11-28 20:25 diff --git a/server/src/test-utils/test-data/eamusement-iidx-csv/small-hv-file.csv b/server/src/test-utils/test-data/eamusement-iidx-csv/small-hv-file.csv new file mode 100644 index 000000000..a8336a88f --- /dev/null +++ b/server/src/test-utils/test-data/eamusement-iidx-csv/small-hv-file.csv @@ -0,0 +1,3 @@ +バージョン,タイトル,ジャンル,アーティスト,プレー回数,BEGINNER 難易度,BEGINNER スコア,BEGINNER PGreat,BEGINNER Great,BEGINNER ミスカウント,BEGINNER クリアタイプ,BEGINNER DJ LEVEL,NORMAL 難易度,NORMAL スコア,NORMAL PGreat,NORMAL Great,NORMAL ミスカウント,NORMAL クリアタイプ,NORMAL DJ LEVEL,HYPER 難易度,HYPER スコア,HYPER PGreat,HYPER Great,HYPER ミスカウント,HYPER クリアタイプ,HYPER DJ LEVEL,ANOTHER 難易度,ANOTHER スコア,ANOTHER PGreat,ANOTHER Great,ANOTHER ミスカウント,ANOTHER クリアタイプ,ANOTHER DJ LEVEL,LEGGENDARIA 難易度,LEGGENDARIA スコア,LEGGENDARIA PGreat,LEGGENDARIA Great,LEGGENDARIA ミスカウント,LEGGENDARIA クリアタイプ,LEGGENDARIA DJ LEVEL,最終プレー日時 +4th style,ABSOLUTE,EPIC TRANCE,dj TAKA,1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,8,0,0,0,---,NO PLAY,---,10,2220,1034,152,6,EX HARD CLEAR,AAA,11,0,0,0,---,EX HARD CLEAR,---,2020-12-19 03:28 +HEROIC VERSE,TECHNO Style Essentials,TECHNO,BEMANI Sound Team "SETUP from Berlin",1,0,0,0,0,---,NO PLAY,---,6,0,0,0,---,NO PLAY,---,9,0,0,0,---,FULLCOMBO CLEAR,---,12,2611,1201,209,12,EX HARD CLEAR,AAA,0,0,0,0,---,NO PLAY,---,2021-03-14 01:59 diff --git a/server/src/test-utils/test-data/eamusement-sdvx-csv/exceed-gear-score.csv b/server/src/test-utils/test-data/eamusement-sdvx-csv/exceed-gear-score.csv new file mode 100644 index 000000000..f88d5cfb0 --- /dev/null +++ b/server/src/test-utils/test-data/eamusement-sdvx-csv/exceed-gear-score.csv @@ -0,0 +1,205 @@ + 楽曲名,難易度,楽曲レベル,クリアランク,スコアグレード,ハイスコア,EXスコア,プレー回数,クリア回数,ULTIMATE CHAIN,PERFECT +竹,EXHAUST,17,EXCESSIVE COMPLETE,AAA+,9866844,0,4,4,0,0 +R.I.P.ゴシップの海,EXHAUST,16,COMPLETE,AAA,9791546,0,1,1,0,0 +STEEL NEEDLE,EXHAUST,16,COMPLETE,AA+,9655172,0,1,1,0,0 +The King Of Red,EXHAUST,16,COMPLETE,AAA+,9802013,0,2,2,0,0 +End of Guilty,EXHAUST,16,COMPLETE,AAA+,9844505,0,1,1,0,0 +カジノファイヤーことみちゃん,EXHAUST,16,COMPLETE,AA+,9634223,0,1,1,0,0 +Aqua,Luna-rium,MAXIMUM,16,COMPLETE,AAA,9703543,0,1,1,0,0 +G4ME ØVEЯ,EXHAUST,16,COMPLETE,AA+,9673400,0,1,1,0,0 +Cappuccino Hearts,EXHAUST,16,COMPLETE,AA+,9614747,0,3,3,0,0 +くらべられっ子,MAXIMUM,16,COMPLETE,AAA+,9843146,0,10,10,0,0 +ナミカレ,EXHAUST,16,EXCESSIVE COMPLETE,S,9948216,0,3,3,0,0 +€omet popcorn,EXHAUST,16,COMPLETE,AAA,9778481,0,1,1,0,0 +Devastated Territory,EXHAUST,15,COMPLETE,AA+,9569892,0,1,1,0,0 +ナナホシのうた,MAXIMUM,16,COMPLETE,AAA,9777503,0,1,1,0,0 +ばらんが!!!!,EXHAUST,15,COMPLETE,AA+,9697102,0,1,1,0,0 +FEEL THE FORCE,EXHAUST,16,COMPLETE,AAA,9705532,0,1,1,0,0 +M-O-R-F-I-N-E,MAXIMUM,17,PLAYED,A+,9274873,0,1,0,0,0 +Elemental Creation -xiRemix-,EXHAUST,16,COMPLETE,AAA,9765729,0,1,1,0,0 +Macuilxochitl (Latin Jazz Mix),EXHAUST,16,ULTIMATE CHAIN,S,9958949,0,13,13,3,0 +Vanishing Eidos,EXHAUST,15,COMPLETE,AA+,9669856,0,1,1,0,0 +SuperMiracleEnsemble,EXHAUST,16,COMPLETE,AAA,9718034,0,2,2,0,0 +響く静寂,MAXIMUM,17,COMPLETE,AA,9397964,0,1,1,0,0 +Innocent Azure,EXHAUST,16,EXCESSIVE COMPLETE,S,9911560,0,4,4,0,0 +Innocent Azure,MAXIMUM,18,COMPLETE,AA,9394394,0,2,1,0,0 +Air,EXHAUST,16,COMPLETE,AA+,9674070,0,1,1,0,0 +キラメキ居残り大戦争,EXHAUST,15,COMPLETE,S,9932935,0,1,1,0,0 +キラメキ居残り大戦争,MAXIMUM,17,COMPLETE,AA+,9543297,0,2,1,0,0 +Sakura Fubuki,EXHAUST,15,COMPLETE,AAA,9702623,0,1,1,0,0 +Sakura Fubuki,MAXIMUM,17,PLAYED,A+,9283146,0,3,0,0,0 +SHION -sublimation mix-,MAXIMUM,17,COMPLETE,AA+,9652087,0,8,3,0,0 +Bad Elixir,EXHAUST,16,COMPLETE,AAA,9768993,0,2,2,0,0 +不可測的メトロポリス,MAXIMUM,16,COMPLETE,AA+,9665085,0,1,1,0,0 +eternite,EXHAUST,16,COMPLETE,AAA+,9807041,0,3,3,0,0 +Thank you for your playing music,EXHAUST,16,EXCESSIVE COMPLETE,AAA+,9892957,0,4,4,0,0 +Symphonic Tear,EXHAUST,16,ULTIMATE CHAIN,S,9961119,0,3,3,1,0 +Symphonic Tear,MAXIMUM,18,PLAYED,A,8928207,0,1,0,0,0 +Non RolicK!!大冒険,MAXIMUM,17,COMPLETE,AA+,9553715,0,8,5,0,0 +who I am,MAXIMUM,17,COMPLETE,AA,9347982,0,1,1,0,0 +Innocent,EXHAUST,16,COMPLETE,AA+,9662072,0,1,1,0,0 +星の詩,MAXIMUM,17,COMPLETE,AAA+,9802839,0,4,3,0,0 +METATRON,EXHAUST,16,COMPLETE,AAA+,9872412,0,1,1,0,0 +おはようからおやすみまでかまってポメポメ,EXHAUST,16,COMPLETE,AA,9441408,0,1,1,0,0 +Dooooope,EXHAUST,13,COMPLETE,AAA+,9845183,0,1,1,0,0 +Dooooope,VIVID,16,COMPLETE,AA,9402173,0,3,3,0,0 +逆さま♥シンデレラパレード,MAXIMUM,17,PLAYED,AA,9334257,0,1,0,0,0 +Over The Top,EXHAUST,16,COMPLETE,AA+,9590292,0,2,2,0,0 +World of Iris,EXHAUST,16,COMPLETE,AA+,9644927,0,1,1,0,0 +Our Love,EXHAUST,16,COMPLETE,AAA,9703272,0,1,1,0,0 +Mynarco(Nagomu 2Step Remix),EXHAUST,16,EXCESSIVE COMPLETE,AAA,9737335,0,2,2,0,0 +焦がれ唄,MAXIMUM,16,COMPLETE,AA+,9695585,0,1,1,0,0 +Elemental Creation (kamome sano Remix),EXHAUST,16,COMPLETE,AA+,9669243,0,5,5,0,0 +SHION (ロースピード幻想チューン Remix),MAXIMUM,16,COMPLETE,AA+,9652109,0,3,3,0,0 +ULTRA B+K,MAXIMUM,17,PLAYED,AA,9438967,0,6,0,0,0 +MilK,EXHAUST,15,COMPLETE,AAA,9706211,0,4,4,0,0 +MilK,MAXIMUM,17,PLAYED,A+,9128989,0,2,0,0,0 +SAKURAスキップ(ハピネス mix),MAXIMUM,16,COMPLETE,A+,9206617,0,2,2,0,0 +PARTY TIME!,EXHAUST,16,COMPLETE,AA+,9569491,0,1,1,0,0 +AXION,EXHAUST,15,COMPLETE,AAA,9771929,0,1,1,0,0 +AXION,MAXIMUM,17,COMPLETE,AA,9352635,0,5,4,0,0 +D1g1t1ze b0dy,MAXIMUM,17,PLAYED,AA+,9544392,0,1,0,0,0 +Nhelv,EXHAUST,16,COMPLETE,AAA,9742990,0,3,2,0,0 +太陽曰く燃えよカオス(Sol oscuro ¡Nya! Mix),MAXIMUM,17,PLAYED,A+,9048404,0,2,0,0,0 +Black Lotus,EXHAUST,16,COMPLETE,AAA,9734356,0,4,4,0,0 +eighth-slave,EXHAUST,16,COMPLETE,AAA,9764250,0,1,1,0,0 +偶然? 必然? アンビバレンス!,MAXIMUM,16,PLAYED,AA,9391064,0,1,0,0,0 +Sweetest Paranoia,MAXIMUM,16,COMPLETE,A+,9275895,0,1,1,0,0 +君の知らない物語/アニメ「化物語」ED,MAXIMUM,16,COMPLETE,AAA,9791407,0,1,1,0,0 +Enigma II,EXHAUST,15,COMPLETE,AAA,9760371,0,1,1,0,0 +翠雨の祷,EXHAUST,16,COMPLETE,AAA,9700617,0,1,1,0,0 +スイーツはとまらない♪,MAXIMUM,16,COMPLETE,AA+,9663529,0,2,2,0,0 +熱情のサパデアード,MAXIMUM,17,COMPLETE,AA,9322469,0,1,1,0,0 +び,EXHAUST,16,COMPLETE,AA,9480982,0,3,3,0,0 +Addicted Moon,MAXIMUM,16,COMPLETE,AA+,9690021,0,1,1,0,0 +ARROW RAIN feat. ayame,EXHAUST,16,COMPLETE,AA,9367559,0,1,1,0,0 +Enjoy This Time,MAXIMUM,17,COMPLETE,AA,9341584,0,6,1,0,0 +GaLaXyEggPlanT,EXHAUST,16,EXCESSIVE COMPLETE,S,9906287,0,4,4,0,0 +GALAXY BURST,EXHAUST,16,COMPLETE,AA+,9530973,0,1,1,0,0 +Jack-the-Ripper◆,EXHAUST,16,PLAYED,AA,9329864,0,1,0,0,0 +真夏の海の修道女,MAXIMUM,17,COMPLETE,AA+,9577656,0,2,2,0,0 +Adansonia,MAXIMUM,16,COMPLETE,AA+,9534574,0,1,1,0,0 +Poison AND÷OR Affection,MAXIMUM,17,PLAYED,A+,9084645,0,2,0,0,0 +ファイナルレター,EXHAUST,16,EXCESSIVE COMPLETE,AAA+,9868932,0,19,17,0,0 +ブチ上げ候!現代忍者三姉妹,MAXIMUM,17,COMPLETE,AA,9493243,0,1,1,0,0 +晴天Bon Voyage,MAXIMUM,16,COMPLETE,AAA,9718979,0,2,2,0,0 +風鈴花火,MAXIMUM,16,COMPLETE,AA,9465485,0,1,1,0,0 +Life is beautiful,MAXIMUM,17,PLAYED,A,8754816,0,1,0,0,0 +オニユリ,EXHAUST,16,COMPLETE,AA+,9640161,0,1,1,0,0 +FREEDOM DiVE,EXHAUST,17,COMPLETE,AA,9467749,0,1,1,0,0 +ホワイトパレード,ADVANCED,13,COMPLETE,AAA+,9882271,0,1,1,0,0 +Mysterious Nights,MAXIMUM,16,COMPLETE,AAA,9733118,0,1,1,0,0 +Chrono Diver -PENDULUMs-,EXHAUST,17,EXCESSIVE COMPLETE,AA+,9679829,0,3,3,0,0 +Blue Stream,MAXIMUM,17,EXCESSIVE COMPLETE,AAA,9768518,0,12,11,0,0 +Oriens,MAXIMUM,17,COMPLETE,AA,9356694,0,2,2,0,0 +Decoy,MAXIMUM,17,COMPLETE,AA+,9518750,0,2,1,0,0 +Re:End of a Dream,EXHAUST,16,EXCESSIVE COMPLETE,S,9923220,0,13,13,0,0 +からくりピエロ,MAXIMUM,16,COMPLETE,AAA,9702878,0,2,2,0,0 +Random Box,MAXIMUM,16,COMPLETE,AA+,9647829,0,1,1,0,0 +CARNIVOROUS,MAXIMUM,17,COMPLETE,AA+,9504347,0,1,1,0,0 +トキメキストリーム,MAXIMUM,16,COMPLETE,AA+,9610866,0,1,1,0,0 +Goddess Bless you,EXHAUST,15,PLAYED,AAA+,9803921,0,1,0,0,0 +Xibercannon,EXHAUST,15,PLAYED,AAA+,9805115,0,1,0,0,0 +#SpeedyCats,EXHAUST,16,COMPLETE,AAA,9744058,0,4,4,0,0 +QUAKE,MAXIMUM,17,COMPLETE,AA+,9616634,0,4,4,0,0 +゜*。Chantilly Fille。*°,MAXIMUM,16,COMPLETE,AAA,9741477,0,1,1,0,0 +テレポーテーションでやってきた彼とのその後の顛末,MAXIMUM,16,COMPLETE,AA+,9636591,0,1,1,0,0 +けもののおうじゃ★めうめう,MAXIMUM,16,PLAYED,AA+,9593253,0,1,0,0,0 +couleur automnes de chocolat,MAXIMUM,16,COMPLETE,AA+,9501805,0,1,1,0,0 +Glitter Flatter Scatter,EXHAUST,16,COMPLETE,AA+,9696969,0,1,1,0,0 +Claidheamh Soluis-光の剣- feat.はるの,MAXIMUM,16,COMPLETE,AAA+,9812734,0,1,1,0,0 +Apocrypha,MAXIMUM,17,EXCESSIVE COMPLETE,AAA+,9803235,0,14,12,0,0 +Concertino in Blue,EXHAUST,15,COMPLETE,AAA,9747235,0,1,1,0,0 +dreamin' of u,MAXIMUM,16,COMPLETE,AA+,9598599,0,1,1,0,0 +Gorgetech,EXHAUST,15,PLAYED,AA+,9650000,0,1,0,0,0 +Sweet Requiem,ADVANCED,12,COMPLETE,S,9960784,0,1,1,0,0 +Sweet Requiem,EXHAUST,16,COMPLETE,AAA,9786273,0,2,2,0,0 +Technical Master,MAXIMUM,17,EXCESSIVE COMPLETE,AAA+,9869346,0,11,7,0,0 +We Go Down,EXHAUST,15,COMPLETE,AA+,9699059,0,1,1,0,0 +Inscape,MAXIMUM,17,COMPLETE,A+,9296791,0,2,2,0,0 +VAMPIRE,MAXIMUM,16,COMPLETE,AAA+,9810298,0,2,2,0,0 +パンダヒーロー,MAXIMUM,15,COMPLETE,AA+,9694944,0,1,1,0,0 +マトリョシカ,MAXIMUM,16,COMPLETE,AA+,9510218,0,1,1,0,0 +iLLness LiLin,ADVANCED,15,COMPLETE,AA+,9642023,0,1,1,0,0 +Gamerz FestivaL,EXHAUST,16,COMPLETE,AA+,9542346,0,1,1,0,0 +Fly far bounce,MAXIMUM,17,EXCESSIVE COMPLETE,AAA,9744355,0,11,11,0,0 +Carry Me Away,MAXIMUM,17,COMPLETE,AA,9344587,0,2,1,0,0 +Engraved Mark-Gow's ill! RMX-,MAXIMUM,16,COMPLETE,AA+,9677695,0,1,1,0,0 +キュリオシティ,EXHAUST,15,PLAYED,AA,9356148,0,1,0,0,0 +Chocolate Planet,EXHAUST,15,EXCESSIVE COMPLETE,AAA+,9859193,0,4,4,0,0 +Dreadnought,EXHAUST,16,COMPLETE,AA,9454954,0,1,1,0,0 +Four Leaves,MAXIMUM,17,EXCESSIVE COMPLETE,AAA+,9834894,0,6,6,0,0 +Poppin' Shower,MAXIMUM,16,COMPLETE,AAA,9743028,0,1,1,0,0 +0=Xerostrumental=,EXHAUST,17,COMPLETE,AA,9460390,0,1,1,0,0 +Angelic Jelly,EXHAUST,16,COMPLETE,AAA,9755387,0,1,1,0,0 +eastward -sdvx edit-,EXHAUST,16,COMPLETE,AAA+,9841972,0,3,3,0,0 +Completeness Under Incompleteness,EXHAUST,16,COMPLETE,AA+,9535802,0,1,1,0,0 +Lo-Fi-M,EXHAUST,16,PLAYED,A+,9196374,0,1,0,0,0 +ancient garden,EXHAUST,16,EXCESSIVE COMPLETE,AAA+,9854330,0,2,2,0,0 +Get back here,EXHAUST,16,EXCESSIVE COMPLETE,S,9901084,0,3,3,0,0 +Mermaid girl (Tropical Remix),EXHAUST,15,COMPLETE,AA+,9643102,0,1,1,0,0 +カタルシスの月,EXHAUST,16,COMPLETE,AAA+,9857210,0,2,2,0,0 +archive::zip,GRAVITY,16,COMPLETE,AA+,9688346,0,1,1,0,0 +Inixia,EXHAUST,16,COMPLETE,AA+,9607740,0,1,1,0,0 +XROSS THE XOUL,EXHAUST,16,COMPLETE,AAA+,9811062,0,1,1,0,0 +She is my wife,EXHAUST,16,COMPLETE,AA,9395448,0,1,1,0,0 +フラッター現象の顛末と単一指向性の感情論,EXHAUST,15,COMPLETE,AA+,9636443,0,1,1,0,0 +Oriental Blossom,EXHAUST,16,EXCESSIVE COMPLETE,S,9913506,0,3,3,0,0 +crêpe suzette,EXHAUST,16,COMPLETE,AAA+,9863115,0,2,2,0,0 +Sourire,EXHAUST,16,COMPLETE,AA+,9559659,0,1,1,0,0 +6弦とピアノのためのエチュード op.4,EXHAUST,16,COMPLETE,AA+,9518464,0,1,1,0,0 +eternita,EXHAUST,16,COMPLETE,AA+,9682369,0,1,1,0,0 +Monkey Business(Band Edit.),EXHAUST,16,COMPLETE,AA+,9689885,0,1,1,0,0 +妖隠し -あやかしかくし-,EXHAUST,16,COMPLETE,AA+,9640287,0,1,1,0,0 +ツーマンライブ,EXHAUST,16,PLAYED,AAA+,9837528,0,1,0,0,0 +鬼KYOKAN,EXHAUST,16,COMPLETE,AA,9411590,0,1,1,0,0 +幸せになれる隠しコマンドがあるらしい,EXHAUST,16,COMPLETE,AA+,9549050,0,2,1,0,0 +Scarlet Pinheel,EXHAUST,16,COMPLETE,AA,9474885,0,2,2,0,0 +ポメグラネイト,EXHAUST,16,PLAYED,AA+,9673550,0,1,0,0,0 +SkyDrive!,EXHAUST,15,COMPLETE,AA+,9611260,0,1,1,0,0 +飛花落葉,EXHAUST,14,COMPLETE,AAA+,9873026,0,1,1,0,0 +打打打打打打打打打打,EXHAUST,15,COMPLETE,AA+,9658119,0,1,1,0,0 +打打打打打打打打打打,INFINITE,17,PLAYED,A+,9202702,0,1,0,0,0 +有頂天ビバーチェ,EXHAUST,16,COMPLETE,AAA,9700914,0,2,2,0,0 +僕は空気が嫁ない,EXHAUST,15,COMPLETE,AAA+,9847030,0,1,1,0,0 +Monkey Business (lapix Remix),EXHAUST,16,COMPLETE,AAA+,9855919,0,2,2,0,0 +リズの内心革命,INFINITE,16,PLAYED,AA,9314017,0,1,0,0,0 +Sakura Mirage,EXHAUST,17,PLAYED,A,8923631,0,2,0,0,0 +FLYING OUT TO THE SKY,EXHAUST,17,PLAYED,A,8879862,0,1,0,0,0 +crazy cinema story,EXHAUST,16,EXCESSIVE COMPLETE,AAA,9779061,0,4,3,0,0 +コンベア速度Max!? しゃいにん☆廻転ズシ"Sushi&Peace",EXHAUST,16,COMPLETE,AA,9460199,0,1,1,0,0 +EOS -INFINITE EDIT-,EXHAUST,13,COMPLETE,S,9957236,0,1,1,0,0 +EOS -INFINITE EDIT-,GRAVITY,16,COMPLETE,AAA,9795081,0,2,2,0,0 +LittleGameStar,EXHAUST,15,COMPLETE,AA+,9581346,0,1,1,0,0 +雪女,EXHAUST,16,COMPLETE,AA+,9629305,0,3,2,0,0 +U.N.オーエンは彼女なのか?haru_naba Remix,EXHAUST,17,PLAYED,B,8650922,0,1,0,0,0 +choux à la crème,EXHAUST,16,COMPLETE,AAA+,9812601,0,7,7,0,0 +トラウィスカルパンテクートリ,EXHAUST,16,COMPLETE,AA+,9606017,0,1,1,0,0 +Electric "Sister" Bitch,EXHAUST,16,COMPLETE,AAA,9721289,0,1,1,0,0 +Rings of Rainbow,EXHAUST,15,COMPLETE,AAA,9797979,0,4,4,0,0 +赤より紅い夢-Aya2g Tech Dance Remix-,EXHAUST,16,COMPLETE,AA+,9613855,0,1,1,0,0 +Crack Traxxxx,EXHAUST,16,COMPLETE,AAA,9786856,0,13,12,0,0 +Double Universe,EXHAUST,16,EXCESSIVE COMPLETE,S,9935646,0,3,3,0,0 +Booths of Fighters,EXHAUST,17,COMPLETE,AA,9495327,0,2,1,0,0 +Playing With Fire,EXHAUST,16,COMPLETE,AA+,9637972,0,2,2,0,0 +Voice 2 Voice,EXHAUST,15,COMPLETE,AAA+,9836734,0,4,4,0,0 +#Fairy_dancing_in_lake,EXHAUST,16,COMPLETE,AA+,9607635,0,2,2,0,0 +少年は空を辿る Prog Piano Remix,EXHAUST,16,EXCESSIVE COMPLETE,AA+,9670087,0,2,2,0,0 +C18H27NO3,EXHAUST,16,COMPLETE,AA+,9531544,0,1,1,0,0 +I'm so Happy,EXHAUST,16,COMPLETE,AA+,9578907,0,1,1,0,0 +Qubism,EXHAUST,16,COMPLETE,AA+,9642233,0,5,5,0,0 +Sakura Reflection (P*Light Slayer Remix),EXHAUST,15,COMPLETE,AAA,9763066,0,1,1,0,0 +ナイト・オブ・ナイツ,EXHAUST,15,COMPLETE,AA+,9541176,0,1,1,0,0 +物凄い勢いでけーねが物凄いうた,EXHAUST,15,COMPLETE,AA+,9602601,0,1,1,0,0 +croiX,EXHAUST,16,COMPLETE,A+,9248913,0,1,1,0,0 +éclair au chocolat,EXHAUST,13,COMPLETE,AA+,9693726,0,1,1,0,0 +pandora (Maozon Remix),EXHAUST,13,EXCESSIVE COMPLETE,AAA,9764276,0,1,1,0,0 +Distorted Floor,EXHAUST,15,COMPLETE,AA+,9609882,0,1,1,0,0 +Onigo,EXHAUST,16,COMPLETE,AAA,9723371,0,2,2,0,0 +Space Diver Tama,EXHAUST,15,COMPLETE,AA+,9562868,0,1,1,0,0 +香港功夫大旋風,EXHAUST,16,COMPLETE,AA,9362179,0,1,1,0,0 +neu BSP style,EXHAUST,16,EXCESSIVE COMPLETE,S,9931212,0,7,7,0,0 +FLOWER REDALiCE Remix,EXHAUST,16,COMPLETE,AA,9327691,0,2,2,0,0 +Xepher Light and Darkness Dragon REMIX,EXHAUST,16,ULTIMATE CHAIN,AAA+,9887187,0,15,15,1,0 +冥 Rockin' SWING REMIX,EXHAUST,16,COMPLETE,AA+,9645522,0,3,2,0,0 +Evans VolteX Pf arrange,EXHAUST,15,PERFECT,S,10000000,0,2,2,0,0 \ No newline at end of file diff --git a/server/src/test-utils/test-data/images/acorn.png b/server/src/test-utils/test-data/images/acorn.png new file mode 100644 index 000000000..f2e3bdbe2 Binary files /dev/null and b/server/src/test-utils/test-data/images/acorn.png differ diff --git a/server/src/test-utils/test-data/mer/base.json b/server/src/test-utils/test-data/mer/base.json new file mode 100644 index 000000000..44ce66261 --- /dev/null +++ b/server/src/test-utils/test-data/mer/base.json @@ -0,0 +1,59 @@ +[ + { + "music_id": 3007, + "version_id": 3, + "version_name": "3rd style", + "music_name": "Presto", + "play_type": "SINGLE", + "diff_type": "HYPER", + "score": 566, + "score_percent": 56.8273, + "miss_count": 46, + "grade": "B", + "clear_type": "NO PLAY", + "clear_type_id": 0, + "level": 8, + "note": 498, + "play_count": 6, + "update_time": "2019-06-01 19:56:59", + "score_diff_str": "B+12" + }, + { + "music_id": 3013, + "version_id": 3, + "version_name": "3rd style", + "music_name": "THE SAFARI", + "play_type": "SINGLE", + "diff_type": "NORMAL", + "score": 681, + "score_percent": 55.0971, + "miss_count": 102, + "grade": "C", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 7, + "note": 618, + "play_count": 4, + "update_time": "2019-05-30 03:21:57", + "score_diff_str": "B-6" + }, + { + "music_id": 3213, + "version_id": 3, + "version_name": "3rd style", + "music_name": "TAKE ON ME", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 922, + "score_percent": 62.9781, + "miss_count": 56, + "grade": "B", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 6, + "note": 732, + "play_count": 1, + "update_time": "2019-05-03 02:10:58", + "score_diff_str": "A-54" + } +] \ No newline at end of file diff --git a/server/src/test-utils/test-data/mer/large.json b/server/src/test-utils/test-data/mer/large.json new file mode 100644 index 000000000..db9f1d8dd --- /dev/null +++ b/server/src/test-utils/test-data/mer/large.json @@ -0,0 +1,11914 @@ +[ + { + "music_id": 1000, + "version_id": 0, + "version_name": "1st style", + "music_name": "5.1.1.", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 620, + "score_percent": 39.4402, + "miss_count": -1, + "grade": "D", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 10, + "note": 786, + "play_count": 1, + "update_time": "2021-04-16 12:54:49", + "score_diff_str": "C-79" + }, + { + "music_id": 1004, + "version_id": 1, + "version_name": "substream", + "music_name": "Macho Gang", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1493, + "score_percent": 89.1876, + "miss_count": 15, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 10, + "note": 837, + "play_count": 2, + "update_time": "2021-05-06 11:27:57", + "score_diff_str": "AAA+5" + }, + { + "music_id": 1007, + "version_id": 1, + "version_name": "substream", + "music_name": "gentle stress", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1406, + "score_percent": 96.5659, + "miss_count": 0, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 9, + "note": 728, + "play_count": 5, + "update_time": "2021-05-16 04:04:44", + "score_diff_str": "MAX-50" + }, + { + "music_id": 1017, + "version_id": 1, + "version_name": "substream", + "music_name": "RUGGED ASH", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 1902, + "score_percent": 89.8866, + "miss_count": 12, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1058, + "play_count": 7, + "update_time": "2021-04-26 00:15:13", + "score_diff_str": "AAA+21" + }, + { + "music_id": 1213, + "version_id": 0, + "version_name": "1st style", + "music_name": "patsenner", + "play_type": "SINGLE", + "diff_type": "HYPER", + "score": 759, + "score_percent": 96.5649, + "miss_count": 1, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 5, + "note": 393, + "play_count": 2, + "update_time": "2021-04-16 12:50:49", + "score_diff_str": "MAX-27" + }, + { + "music_id": 3004, + "version_id": 3, + "version_name": "3rd style", + "music_name": "era (nostalmix)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1394, + "score_percent": 88.6768, + "miss_count": 8, + "grade": "AA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 9, + "note": 786, + "play_count": 4, + "update_time": "2021-04-11 11:00:39", + "score_diff_str": "AAA-4" + }, + { + "music_id": 3005, + "version_id": 3, + "version_name": "3rd style", + "music_name": "Holic", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1637, + "score_percent": 93.0114, + "miss_count": 2, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 880, + "play_count": 3, + "update_time": "2021-05-13 10:50:48", + "score_diff_str": "AAA+72" + }, + { + "music_id": 3008, + "version_id": 3, + "version_name": "3rd style", + "music_name": "R5", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1670, + "score_percent": 93.9258, + "miss_count": 9, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 889, + "play_count": 8, + "update_time": "2021-05-13 10:56:38", + "score_diff_str": "AAA+89" + }, + { + "music_id": 3013, + "version_id": 3, + "version_name": "3rd style", + "music_name": "THE SAFARI", + "play_type": "SINGLE", + "diff_type": "HYPER", + "score": 1700, + "score_percent": 94.4444, + "miss_count": 8, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 10, + "note": 900, + "play_count": 6, + "update_time": "2021-04-08 12:26:02", + "score_diff_str": "AAA+100" + }, + { + "music_id": 3014, + "version_id": 3, + "version_name": "3rd style", + "music_name": "Cold Pulse", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 866, + "score_percent": 93.1183, + "miss_count": 3, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 5, + "note": 465, + "play_count": 1, + "update_time": "2021-03-29 15:01:07", + "score_diff_str": "AAA+39" + }, + { + "music_id": 3211, + "version_id": 3, + "version_name": "3rd style", + "music_name": "S.O.S.(THE TIGER TOOK MY FAMILY)", + "play_type": "SINGLE", + "diff_type": "HYPER", + "score": 1757, + "score_percent": 92.086, + "miss_count": 5, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 8, + "note": 954, + "play_count": 1, + "update_time": "2021-04-02 10:55:36", + "score_diff_str": "AAA+61" + }, + { + "music_id": 4004, + "version_id": 4, + "version_name": "4th style", + "music_name": "CHECKING YOU OUT", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1147, + "score_percent": 81.9286, + "miss_count": 44, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 700, + "play_count": 1, + "update_time": "2021-04-10 23:18:38", + "score_diff_str": "AA+58" + }, + { + "music_id": 4006, + "version_id": 4, + "version_name": "4th style", + "music_name": "DXY!", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1943, + "score_percent": 83.8946, + "miss_count": 27, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 10, + "note": 1158, + "play_count": 4, + "update_time": "2021-04-12 12:22:55", + "score_diff_str": "AAA-116" + }, + { + "music_id": 4008, + "version_id": 4, + "version_name": "4th style", + "music_name": "era (step mix)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1568, + "score_percent": 89.6, + "miss_count": 10, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 9, + "note": 875, + "play_count": 2, + "update_time": "2021-04-11 11:05:45", + "score_diff_str": "AAA+12" + }, + { + "music_id": 4009, + "version_id": 4, + "version_name": "4th style", + "music_name": "FANTASY", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2331, + "score_percent": 97.4498, + "miss_count": 2, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 9, + "note": 1196, + "play_count": 5, + "update_time": "2021-04-25 04:41:31", + "score_diff_str": "MAX-61" + }, + { + "music_id": 4011, + "version_id": 4, + "version_name": "4th style", + "music_name": "GET ON BEAT(WILD STYLE)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2000, + "score_percent": 91.4077, + "miss_count": 5, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1094, + "play_count": 12, + "update_time": "2021-05-03 13:47:33", + "score_diff_str": "AAA+55" + }, + { + "music_id": 4013, + "version_id": 4, + "version_name": "4th style", + "music_name": "JIVE INTO THE NIGHT", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2060, + "score_percent": 91.9643, + "miss_count": 14, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1120, + "play_count": 2, + "update_time": "2021-03-29 14:51:18", + "score_diff_str": "AAA+68" + }, + { + "music_id": 4023, + "version_id": 4, + "version_name": "4th style", + "music_name": "Hitch Hiker2", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1280, + "score_percent": 96.2406, + "miss_count": 1, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 7, + "note": 665, + "play_count": 2, + "update_time": "2021-05-13 10:01:36", + "score_diff_str": "MAX-50" + }, + { + "music_id": 4025, + "version_id": 4, + "version_name": "4th style", + "music_name": "SWEET LAB", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1204, + "score_percent": 86.9942, + "miss_count": 33, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 692, + "play_count": 2, + "update_time": "2021-04-24 04:29:13", + "score_diff_str": "AAA-27" + }, + { + "music_id": 4028, + "version_id": 4, + "version_name": "4th style", + "music_name": "LUV TO ME(UCCHIE'S EDITION)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1593, + "score_percent": 91.2371, + "miss_count": 12, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 873, + "play_count": 5, + "update_time": "2021-04-02 10:59:40", + "score_diff_str": "AAA+41" + }, + { + "music_id": 5008, + "version_id": 5, + "version_name": "5th style", + "music_name": "OVER THE CLOUDS", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1443, + "score_percent": 94.3137, + "miss_count": 1, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 7, + "note": 765, + "play_count": 1, + "update_time": "2021-04-26 00:10:29", + "score_diff_str": "AAA+83" + }, + { + "music_id": 5011, + "version_id": 5, + "version_name": "5th style", + "music_name": "Real", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1729, + "score_percent": 93.9674, + "miss_count": 8, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 9, + "note": 920, + "play_count": 3, + "update_time": "2021-05-16 22:38:13", + "score_diff_str": "AAA+93" + }, + { + "music_id": 5012, + "version_id": 5, + "version_name": "5th style", + "music_name": "Regulus", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 515, + "score_percent": 29.2281, + "miss_count": -1, + "grade": "E", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 10, + "note": 881, + "play_count": 1, + "update_time": "2021-03-29 08:29:28", + "score_diff_str": "D-73" + }, + { + "music_id": 5014, + "version_id": 5, + "version_name": "5th style", + "music_name": "RIDE ON THE LIGHT (HI GREAT MIX)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1637, + "score_percent": 94.9536, + "miss_count": 3, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 8, + "note": 862, + "play_count": 22, + "update_time": "2021-05-16 03:47:03", + "score_diff_str": "MAX-87" + }, + { + "music_id": 5014, + "version_id": 5, + "version_name": "5th style", + "music_name": "RIDE ON THE LIGHT (HI GREAT MIX)", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 1253, + "score_percent": 67.2932, + "miss_count": -1, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 10, + "note": 931, + "play_count": 4, + "update_time": "2021-03-23 07:27:11", + "score_diff_str": "A+11" + }, + { + "music_id": 5016, + "version_id": 5, + "version_name": "5th style", + "music_name": "Spin the disc", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1292, + "score_percent": 95.8457, + "miss_count": 0, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 8, + "note": 674, + "play_count": 16, + "update_time": "2021-05-09 08:08:00", + "score_diff_str": "MAX-56" + }, + { + "music_id": 5019, + "version_id": 5, + "version_name": "5th style", + "music_name": "sync", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2289, + "score_percent": 95.0581, + "miss_count": 2, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1204, + "play_count": 4, + "update_time": "2021-05-10 21:30:42", + "score_diff_str": "MAX-119" + }, + { + "music_id": 5021, + "version_id": 5, + "version_name": "5th style", + "music_name": "V", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2753, + "score_percent": 90.6188, + "miss_count": 53, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1519, + "play_count": 4, + "update_time": "2021-05-09 09:58:27", + "score_diff_str": "AAA+52" + }, + { + "music_id": 5024, + "version_id": 5, + "version_name": "5th style", + "music_name": "THE CUBE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1302, + "score_percent": 95.4545, + "miss_count": 1, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 7, + "note": 682, + "play_count": 2, + "update_time": "2021-05-16 22:40:48", + "score_diff_str": "MAX-62" + }, + { + "music_id": 6000, + "version_id": 6, + "version_name": "6th style", + "music_name": "20,November", + "play_type": "SINGLE", + "diff_type": "HYPER", + "score": 1336, + "score_percent": 95.702, + "miss_count": 1, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 8, + "note": 698, + "play_count": 2, + "update_time": "2021-04-24 23:24:12", + "score_diff_str": "MAX-60" + }, + { + "music_id": 6000, + "version_id": 6, + "version_name": "6th style", + "music_name": "20,November", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1226, + "score_percent": 97.4563, + "miss_count": 0, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 8, + "note": 629, + "play_count": 9, + "update_time": "2021-05-03 13:23:47", + "score_diff_str": "MAX-32" + }, + { + "music_id": 6003, + "version_id": 6, + "version_name": "6th style", + "music_name": "Blueberry Stream", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1579, + "score_percent": 93.3215, + "miss_count": 3, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 8, + "note": 846, + "play_count": 9, + "update_time": "2021-04-25 23:23:22", + "score_diff_str": "AAA+75" + }, + { + "music_id": 6005, + "version_id": 6, + "version_name": "6th style", + "music_name": "Colors (radio edit)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2293, + "score_percent": 91.1367, + "miss_count": 9, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1258, + "play_count": 5, + "update_time": "2021-05-13 11:03:19", + "score_diff_str": "AAA+56" + }, + { + "music_id": 6011, + "version_id": 6, + "version_name": "6th style", + "music_name": "Free Style", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1224, + "score_percent": 92.1687, + "miss_count": 7, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 7, + "note": 664, + "play_count": 1, + "update_time": "2021-05-16 03:49:18", + "score_diff_str": "AAA+43" + }, + { + "music_id": 6016, + "version_id": 6, + "version_name": "6th style", + "music_name": "NEMESIS", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1755, + "score_percent": 90.185, + "miss_count": 16, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 973, + "play_count": 4, + "update_time": "2021-05-09 08:31:19", + "score_diff_str": "AAA+25" + }, + { + "music_id": 6018, + "version_id": 6, + "version_name": "6th style", + "music_name": "rottel-da-sun", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1760, + "score_percent": 94.0171, + "miss_count": 3, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 936, + "play_count": 2, + "update_time": "2021-05-09 08:18:33", + "score_diff_str": "AAA+96" + }, + { + "music_id": 6019, + "version_id": 6, + "version_name": "6th style", + "music_name": "route 80s", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1417, + "score_percent": 92.4935, + "miss_count": 10, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 9, + "note": 766, + "play_count": 9, + "update_time": "2021-04-01 07:58:21", + "score_diff_str": "AAA+55" + }, + { + "music_id": 6021, + "version_id": 6, + "version_name": "6th style", + "music_name": "Summer Vacation(CU mix)", + "play_type": "SINGLE", + "diff_type": "HYPER", + "score": 1777, + "score_percent": 93.6249, + "miss_count": 7, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 9, + "note": 949, + "play_count": 3, + "update_time": "2021-04-25 23:32:37", + "score_diff_str": "AAA+89" + }, + { + "music_id": 6029, + "version_id": 6, + "version_name": "6th style", + "music_name": "19,November", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1726, + "score_percent": 94.8352, + "miss_count": 7, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 8, + "note": 910, + "play_count": 6, + "update_time": "2021-04-25 22:46:47", + "score_diff_str": "MAX-94" + }, + { + "music_id": 6031, + "version_id": 6, + "version_name": "6th style", + "music_name": "SOMETHING WONDERFUL", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1916, + "score_percent": 95.5135, + "miss_count": 1, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 10, + "note": 1003, + "play_count": 1, + "update_time": "2021-05-09 08:16:20", + "score_diff_str": "MAX-90" + }, + { + "music_id": 6206, + "version_id": 6, + "version_name": "6th style", + "music_name": "M-02stp.ver.1.01", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1294, + "score_percent": 91.2553, + "miss_count": 4, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 8, + "note": 709, + "play_count": 6, + "update_time": "2021-04-25 22:50:09", + "score_diff_str": "AAA+33" + }, + { + "music_id": 6207, + "version_id": 6, + "version_name": "6th style", + "music_name": "NIGHT OF FIRE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 532, + "score_percent": 29.0076, + "miss_count": -1, + "grade": "E", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 10, + "note": 917, + "play_count": 1, + "update_time": "2021-03-25 10:15:54", + "score_diff_str": "D-80" + }, + { + "music_id": 7002, + "version_id": 7, + "version_name": "7th style", + "music_name": "A", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2261, + "score_percent": 89.7222, + "miss_count": 16, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1260, + "play_count": 2, + "update_time": "2021-05-07 06:55:20", + "score_diff_str": "AAA+21" + }, + { + "music_id": 7008, + "version_id": 7, + "version_name": "7th style", + "music_name": "Cheer Train", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1666, + "score_percent": 94.6591, + "miss_count": 1, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 9, + "note": 880, + "play_count": 16, + "update_time": "2021-04-10 22:25:21", + "score_diff_str": "MAX-94" + }, + { + "music_id": 7018, + "version_id": 7, + "version_name": "7th style", + "music_name": "Happy Wedding", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1760, + "score_percent": 93.617, + "miss_count": 0, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 8, + "note": 940, + "play_count": 6, + "update_time": "2021-04-24 23:17:54", + "score_diff_str": "AAA+88" + }, + { + "music_id": 7032, + "version_id": 7, + "version_name": "7th style", + "music_name": "Spica", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2067, + "score_percent": 88.5604, + "miss_count": 23, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1167, + "play_count": 5, + "update_time": "2021-04-24 23:27:05", + "score_diff_str": "AAA-8" + }, + { + "music_id": 7034, + "version_id": 7, + "version_name": "7th style", + "music_name": "stoic", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2349, + "score_percent": 90.2074, + "miss_count": 23, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1302, + "play_count": 3, + "update_time": "2021-05-10 21:42:45", + "score_diff_str": "AAA+34" + }, + { + "music_id": 7038, + "version_id": 7, + "version_name": "7th style", + "music_name": "ZERO-ONE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2106, + "score_percent": 93.0212, + "miss_count": 6, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1132, + "play_count": 1, + "update_time": "2021-05-14 23:23:53", + "score_diff_str": "AAA+93" + }, + { + "music_id": 8005, + "version_id": 8, + "version_name": "8th style", + "music_name": "bit mania", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1833, + "score_percent": 98.1263, + "miss_count": 0, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 8, + "note": 934, + "play_count": 8, + "update_time": "2021-05-12 11:09:38", + "score_diff_str": "MAX-35" + }, + { + "music_id": 8013, + "version_id": 8, + "version_name": "8th style", + "music_name": "dual control", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1778, + "score_percent": 92.5078, + "miss_count": 3, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 9, + "note": 961, + "play_count": 5, + "update_time": "2021-04-25 22:53:25", + "score_diff_str": "AAA+69" + }, + { + "music_id": 8014, + "version_id": 8, + "version_name": "8th style", + "music_name": "FLUTE MAN", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1009, + "score_percent": 91.2297, + "miss_count": 1, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 8, + "note": 553, + "play_count": 1, + "update_time": "2021-05-04 03:54:03", + "score_diff_str": "AAA+25" + }, + { + "music_id": 8017, + "version_id": 8, + "version_name": "8th style", + "music_name": "Giudecca", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2465, + "score_percent": 89.2469, + "miss_count": 12, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1381, + "play_count": 3, + "update_time": "2021-04-15 00:20:28", + "score_diff_str": "AAA+9" + }, + { + "music_id": 8019, + "version_id": 8, + "version_name": "8th style", + "music_name": "Hormiga obrera", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1726, + "score_percent": 94.5235, + "miss_count": 3, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 8, + "note": 913, + "play_count": 1, + "update_time": "2021-04-27 21:33:04", + "score_diff_str": "MAX-100" + }, + { + "music_id": 8023, + "version_id": 8, + "version_name": "8th style", + "music_name": "LAB", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2005, + "score_percent": 93.2558, + "miss_count": 3, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1075, + "play_count": 5, + "update_time": "2021-05-14 23:31:20", + "score_diff_str": "AAA+93" + }, + { + "music_id": 8023, + "version_id": 8, + "version_name": "8th style", + "music_name": "LAB", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 1841, + "score_percent": 66.7029, + "miss_count": -1, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 11, + "note": 1380, + "play_count": 2, + "update_time": "2021-03-25 10:33:54", + "score_diff_str": "A+1" + }, + { + "music_id": 8024, + "version_id": 8, + "version_name": "8th style", + "music_name": "LOVE IS ORANGE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1751, + "score_percent": 96.9546, + "miss_count": 2, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 8, + "note": 903, + "play_count": 9, + "update_time": "2021-05-14 21:36:49", + "score_diff_str": "MAX-55" + }, + { + "music_id": 8024, + "version_id": 8, + "version_name": "8th style", + "music_name": "LOVE IS ORANGE", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 2024, + "score_percent": 95.5619, + "miss_count": 5, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1059, + "play_count": 4, + "update_time": "2021-04-10 22:11:52", + "score_diff_str": "MAX-94" + }, + { + "music_id": 8025, + "version_id": 8, + "version_name": "8th style", + "music_name": "Luv 2 Feel Your Body", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1597, + "score_percent": 95.1728, + "miss_count": 3, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 9, + "note": 839, + "play_count": 8, + "update_time": "2021-05-04 04:01:46", + "score_diff_str": "MAX-81" + }, + { + "music_id": 8028, + "version_id": 8, + "version_name": "8th style", + "music_name": "murmur twins", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2251, + "score_percent": 93.2477, + "miss_count": 5, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 11, + "note": 1207, + "play_count": 4, + "update_time": "2021-04-14 23:21:54", + "score_diff_str": "AAA+105" + }, + { + "music_id": 8029, + "version_id": 8, + "version_name": "8th style", + "music_name": "MUSIC TO YOUR HEAD", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1616, + "score_percent": 95.1708, + "miss_count": 5, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 9, + "note": 849, + "play_count": 11, + "update_time": "2021-05-12 11:15:16", + "score_diff_str": "MAX-82" + }, + { + "music_id": 8031, + "version_id": 8, + "version_name": "8th style", + "music_name": "PLEASE DON'T GO", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2168, + "score_percent": 86.6507, + "miss_count": 61, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1251, + "play_count": 2, + "update_time": "2021-04-30 11:32:49", + "score_diff_str": "AAA-56" + }, + { + "music_id": 8033, + "version_id": 8, + "version_name": "8th style", + "music_name": "Red Nikita", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1394, + "score_percent": 94.3166, + "miss_count": 2, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 9, + "note": 739, + "play_count": 1, + "update_time": "2021-04-04 12:47:32", + "score_diff_str": "AAA+80" + }, + { + "music_id": 8039, + "version_id": 8, + "version_name": "8th style", + "music_name": "symbolic", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2073, + "score_percent": 91.0808, + "miss_count": 6, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1138, + "play_count": 4, + "update_time": "2021-03-28 10:33:48", + "score_diff_str": "AAA+49" + }, + { + "music_id": 8043, + "version_id": 8, + "version_name": "8th style", + "music_name": "WAR GAME", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2047, + "score_percent": 95.0325, + "miss_count": 11, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1077, + "play_count": 3, + "update_time": "2021-04-14 13:33:28", + "score_diff_str": "MAX-107" + }, + { + "music_id": 8045, + "version_id": 8, + "version_name": "8th style", + "music_name": "xenon", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2612, + "score_percent": 94.7063, + "miss_count": 2, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 11, + "note": 1379, + "play_count": 5, + "update_time": "2021-05-10 21:26:17", + "score_diff_str": "MAX-146" + }, + { + "music_id": 8048, + "version_id": 8, + "version_name": "8th style", + "music_name": "\u685c", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1967, + "score_percent": 87.5779, + "miss_count": 26, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1123, + "play_count": 8, + "update_time": "2021-05-14 23:37:28", + "score_diff_str": "AAA-30" + }, + { + "music_id": 9001, + "version_id": 9, + "version_name": "9th style", + "music_name": "Silvia Drive", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1955, + "score_percent": 93.184, + "miss_count": 10, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 9, + "note": 1049, + "play_count": 3, + "update_time": "2021-05-03 13:09:15", + "score_diff_str": "AAA+90" + }, + { + "music_id": 9002, + "version_id": 9, + "version_name": "9th style", + "music_name": "lights", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1724, + "score_percent": 94.7253, + "miss_count": 3, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 8, + "note": 910, + "play_count": 13, + "update_time": "2021-05-04 04:04:37", + "score_diff_str": "MAX-96" + }, + { + "music_id": 9008, + "version_id": 9, + "version_name": "9th style", + "music_name": "ADVANCE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1204, + "score_percent": 89.4502, + "miss_count": 22, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 7, + "note": 673, + "play_count": 1, + "update_time": "2021-05-03 13:36:55", + "score_diff_str": "AAA+7" + }, + { + "music_id": 9012, + "version_id": 9, + "version_name": "9th style", + "music_name": "moon_child", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2349, + "score_percent": 90.3462, + "miss_count": 18, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1300, + "play_count": 5, + "update_time": "2021-04-28 00:29:03", + "score_diff_str": "AAA+37" + }, + { + "music_id": 9022, + "version_id": 9, + "version_name": "9th style", + "music_name": "Logic Board", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2213, + "score_percent": 94.3308, + "miss_count": 10, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1173, + "play_count": 1, + "update_time": "2021-03-29 14:26:10", + "score_diff_str": "AAA+127" + }, + { + "music_id": 9028, + "version_id": 9, + "version_name": "9th style", + "music_name": "quasar", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2141, + "score_percent": 92.205, + "miss_count": 12, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1161, + "play_count": 1, + "update_time": "2021-03-20 23:09:23", + "score_diff_str": "AAA+77" + }, + { + "music_id": 9029, + "version_id": 9, + "version_name": "9th style", + "music_name": "ACT", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1775, + "score_percent": 94.9198, + "miss_count": 5, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 9, + "note": 935, + "play_count": 3, + "update_time": "2021-05-16 03:52:52", + "score_diff_str": "MAX-95" + }, + { + "music_id": 9033, + "version_id": 9, + "version_name": "9th style", + "music_name": "SWEETEST SAVAGE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1670, + "score_percent": 89.7849, + "miss_count": 20, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 930, + "play_count": 1, + "update_time": "2021-04-04 12:59:24", + "score_diff_str": "AAA+16" + }, + { + "music_id": 9038, + "version_id": 9, + "version_name": "9th style", + "music_name": "one or eight", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2131, + "score_percent": 90.5268, + "miss_count": 22, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1177, + "play_count": 5, + "update_time": "2021-04-24 06:09:26", + "score_diff_str": "AAA+38" + }, + { + "music_id": 9046, + "version_id": 9, + "version_name": "9th style", + "music_name": "bag", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1873, + "score_percent": 97.2482, + "miss_count": 0, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 10, + "note": 963, + "play_count": 2, + "update_time": "2021-05-12 11:13:25", + "score_diff_str": "MAX-53" + }, + { + "music_id": 9048, + "version_id": 9, + "version_name": "9th style", + "music_name": "e-motion 2003 -romantic extra-", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1863, + "score_percent": 93.0569, + "miss_count": 6, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1001, + "play_count": 2, + "update_time": "2021-04-27 21:27:00", + "score_diff_str": "AAA+83" + }, + { + "music_id": 9049, + "version_id": 9, + "version_name": "9th style", + "music_name": "u gotta groove -extend joy style-", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1370, + "score_percent": 94.2228, + "miss_count": 6, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 8, + "note": 727, + "play_count": 1, + "update_time": "2021-04-27 21:29:55", + "score_diff_str": "AAA+77" + }, + { + "music_id": 9057, + "version_id": 9, + "version_name": "9th style", + "music_name": "RISLIM -Remix-", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1800, + "score_percent": 93.8478, + "miss_count": 10, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 959, + "play_count": 2, + "update_time": "2021-05-14 23:38:39", + "score_diff_str": "AAA+95" + }, + { + "music_id": 9201, + "version_id": 9, + "version_name": "9th style", + "music_name": "5PM ETERNAL", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1781, + "score_percent": 89.4076, + "miss_count": 17, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 996, + "play_count": 1, + "update_time": "2021-05-09 08:55:23", + "score_diff_str": "AAA+10" + }, + { + "music_id": 10012, + "version_id": 10, + "version_name": "10th style", + "music_name": "Ready To Rockit Blues", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1386, + "score_percent": 96.3839, + "miss_count": 1, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 9, + "note": 719, + "play_count": 5, + "update_time": "2021-05-04 03:15:11", + "score_diff_str": "MAX-52" + }, + { + "music_id": 10014, + "version_id": 10, + "version_name": "10th style", + "music_name": "LIMITED", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1471, + "score_percent": 97.676, + "miss_count": 0, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 9, + "note": 753, + "play_count": 2, + "update_time": "2021-05-02 10:28:59", + "score_diff_str": "MAX-35" + }, + { + "music_id": 10022, + "version_id": 10, + "version_name": "10th style", + "music_name": "\u96ea\u6708\u82b1", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2323, + "score_percent": 90.2486, + "miss_count": 19, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1287, + "play_count": 3, + "update_time": "2021-04-30 09:56:26", + "score_diff_str": "AAA+35" + }, + { + "music_id": 10028, + "version_id": 10, + "version_name": "10th style", + "music_name": "Innocent Walls", + "play_type": "SINGLE", + "diff_type": "HYPER", + "score": 2281, + "score_percent": 89.032, + "miss_count": 20, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1281, + "play_count": 3, + "update_time": "2021-05-13 11:19:59", + "score_diff_str": "AAA+3" + }, + { + "music_id": 10028, + "version_id": 10, + "version_name": "10th style", + "music_name": "Innocent Walls", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2610, + "score_percent": 90.249, + "miss_count": 32, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1446, + "play_count": 1, + "update_time": "2021-05-13 11:23:33", + "score_diff_str": "AAA+39" + }, + { + "music_id": 10031, + "version_id": 10, + "version_name": "10th style", + "music_name": "SCORE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2010, + "score_percent": 95.2607, + "miss_count": 5, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1055, + "play_count": 3, + "update_time": "2021-04-25 23:02:24", + "score_diff_str": "MAX-100" + }, + { + "music_id": 10034, + "version_id": 10, + "version_name": "10th style", + "music_name": "HIGH", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2054, + "score_percent": 94.3934, + "miss_count": 9, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 9, + "note": 1088, + "play_count": 1, + "update_time": "2021-04-25 23:15:05", + "score_diff_str": "AAA+119" + }, + { + "music_id": 10040, + "version_id": 10, + "version_name": "10th style", + "music_name": "1st Samurai", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2465, + "score_percent": 89.1179, + "miss_count": 27, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1383, + "play_count": 3, + "update_time": "2021-05-13 11:28:05", + "score_diff_str": "AAA+6" + }, + { + "music_id": 10041, + "version_id": 10, + "version_name": "10th style", + "music_name": "Debtty Daddy", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2463, + "score_percent": 89.8249, + "miss_count": 27, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1371, + "play_count": 5, + "update_time": "2021-03-30 08:35:36", + "score_diff_str": "AAA+25" + }, + { + "music_id": 10049, + "version_id": 10, + "version_name": "10th style", + "music_name": "One More Lovely", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2513, + "score_percent": 86.5358, + "miss_count": 29, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1452, + "play_count": 4, + "update_time": "2021-05-14 23:41:58", + "score_diff_str": "AAA-69" + }, + { + "music_id": 10201, + "version_id": 10, + "version_name": "10th style", + "music_name": "ACID VISION", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1711, + "score_percent": 91.5953, + "miss_count": 6, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 9, + "note": 934, + "play_count": 1, + "update_time": "2021-04-25 23:20:01", + "score_diff_str": "AAA+50" + }, + { + "music_id": 11001, + "version_id": 11, + "version_name": "RED", + "music_name": "BLOCKS", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1870, + "score_percent": 93.5, + "miss_count": 21, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1000, + "play_count": 9, + "update_time": "2021-05-10 21:23:37", + "score_diff_str": "AAA+92" + }, + { + "music_id": 11006, + "version_id": 11, + "version_name": "RED", + "music_name": "CAR OF YOUR DREAMS", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1756, + "score_percent": 95.0216, + "miss_count": 6, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 7, + "note": 924, + "play_count": 1, + "update_time": "2021-04-02 11:24:32", + "score_diff_str": "MAX-92" + }, + { + "music_id": 11010, + "version_id": 11, + "version_name": "RED", + "music_name": "Sphere", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2076, + "score_percent": 93.4293, + "miss_count": 12, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1111, + "play_count": 1, + "update_time": "2021-04-27 21:39:31", + "score_diff_str": "AAA+100" + }, + { + "music_id": 11012, + "version_id": 11, + "version_name": "RED", + "music_name": "spiral galaxy", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2301, + "score_percent": 87.8244, + "miss_count": -1, + "grade": "AA", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 11, + "note": 1310, + "play_count": 1, + "update_time": "2021-03-29 14:14:29", + "score_diff_str": "AAA-28" + }, + { + "music_id": 11012, + "version_id": 11, + "version_name": "RED", + "music_name": "spiral galaxy", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 3482, + "score_percent": 91.1518, + "miss_count": 13, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1910, + "play_count": 7, + "update_time": "2021-05-14 23:51:47", + "score_diff_str": "AAA+86" + }, + { + "music_id": 11016, + "version_id": 11, + "version_name": "RED", + "music_name": "Les filles balancent", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1564, + "score_percent": 94.4444, + "miss_count": 8, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 7, + "note": 828, + "play_count": 1, + "update_time": "2021-04-27 21:36:51", + "score_diff_str": "AAA+92" + }, + { + "music_id": 11023, + "version_id": 11, + "version_name": "RED", + "music_name": "EVO66", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1843, + "score_percent": 92.15, + "miss_count": 2, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 9, + "note": 1000, + "play_count": 1, + "update_time": "2021-05-04 03:56:58", + "score_diff_str": "AAA+65" + }, + { + "music_id": 11026, + "version_id": 11, + "version_name": "RED", + "music_name": "\u30d4\u30a2\u30ce\u5354\u594f\u66f2\u7b2c\uff11\u756a\u201d\u880d\u706b\u201d", + "play_type": "SINGLE", + "diff_type": "HYPER", + "score": 2013, + "score_percent": 90.5941, + "miss_count": 13, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1111, + "play_count": 1, + "update_time": "2021-04-23 03:58:06", + "score_diff_str": "AAA+37" + }, + { + "music_id": 11026, + "version_id": 11, + "version_name": "RED", + "music_name": "\u30d4\u30a2\u30ce\u5354\u594f\u66f2\u7b2c\uff11\u756a\u201d\u880d\u706b\u201d", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2364, + "score_percent": 83.5926, + "miss_count": 46, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1414, + "play_count": 5, + "update_time": "2021-04-02 11:46:34", + "score_diff_str": "AAA-150" + }, + { + "music_id": 11030, + "version_id": 11, + "version_name": "RED", + "music_name": "FAKE TIME", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2177, + "score_percent": 88.424, + "miss_count": 20, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1231, + "play_count": 5, + "update_time": "2021-05-18 00:08:42", + "score_diff_str": "AAA-12" + }, + { + "music_id": 11032, + "version_id": 11, + "version_name": "RED", + "music_name": "RED ZONE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2224, + "score_percent": 93.9189, + "miss_count": 3, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1184, + "play_count": 2, + "update_time": "2021-05-16 23:01:48", + "score_diff_str": "AAA+119" + }, + { + "music_id": 11032, + "version_id": 11, + "version_name": "RED", + "music_name": "RED ZONE", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 2826, + "score_percent": 90.2299, + "miss_count": 28, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1566, + "play_count": 2, + "update_time": "2021-04-17 14:42:56", + "score_diff_str": "AAA+42" + }, + { + "music_id": 11034, + "version_id": 11, + "version_name": "RED", + "music_name": "Secret of Love", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1965, + "score_percent": 96.4181, + "miss_count": 6, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 11, + "note": 1019, + "play_count": 7, + "update_time": "2021-05-06 11:19:23", + "score_diff_str": "MAX-73" + }, + { + "music_id": 11036, + "version_id": 11, + "version_name": "RED", + "music_name": "AGEHA", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1824, + "score_percent": 96.2025, + "miss_count": 2, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 9, + "note": 948, + "play_count": 3, + "update_time": "2021-05-16 03:58:10", + "score_diff_str": "MAX-72" + }, + { + "music_id": 11037, + "version_id": 11, + "version_name": "RED", + "music_name": "gigadelic", + "play_type": "SINGLE", + "diff_type": "HYPER", + "score": 2081, + "score_percent": 93.2348, + "miss_count": 4, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 12, + "note": 1116, + "play_count": 6, + "update_time": "2021-05-14 23:47:55", + "score_diff_str": "AAA+97" + }, + { + "music_id": 11037, + "version_id": 11, + "version_name": "RED", + "music_name": "gigadelic", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2333, + "score_percent": 89.6618, + "miss_count": 21, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1301, + "play_count": 4, + "update_time": "2021-05-14 23:44:52", + "score_diff_str": "AAA+20" + }, + { + "music_id": 11040, + "version_id": 11, + "version_name": "RED", + "music_name": "AA", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3389, + "score_percent": 92.3937, + "miss_count": 14, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 12, + "note": 1834, + "play_count": 16, + "update_time": "2021-05-14 23:43:44", + "score_diff_str": "AAA+128" + }, + { + "music_id": 11052, + "version_id": 11, + "version_name": "RED", + "music_name": "GENOCIDE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2224, + "score_percent": 90.9984, + "miss_count": 9, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1222, + "play_count": 1, + "update_time": "2021-04-09 10:44:24", + "score_diff_str": "AAA+51" + }, + { + "music_id": 11201, + "version_id": 11, + "version_name": "RED", + "music_name": "Go Berzerk", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2669, + "score_percent": 95.5946, + "miss_count": 2, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1396, + "play_count": 10, + "update_time": "2021-05-03 13:51:01", + "score_diff_str": "MAX-123" + }, + { + "music_id": 11202, + "version_id": 11, + "version_name": "RED", + "music_name": "Toxic", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1324, + "score_percent": 93.9007, + "miss_count": 0, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 7, + "note": 705, + "play_count": 1, + "update_time": "2021-05-04 03:59:28", + "score_diff_str": "AAA+70" + }, + { + "music_id": 12002, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "Little Little Princess", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2658, + "score_percent": 93.5915, + "miss_count": 12, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 11, + "note": 1420, + "play_count": 1, + "update_time": "2021-05-08 07:08:47", + "score_diff_str": "AAA+133" + }, + { + "music_id": 12002, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "Little Little Princess", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 3477, + "score_percent": 89.3371, + "miss_count": 42, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1946, + "play_count": 3, + "update_time": "2021-03-29 07:30:40", + "score_diff_str": "AAA+17" + }, + { + "music_id": 12004, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "\u51a5", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3050, + "score_percent": 76.25, + "miss_count": 128, + "grade": "A", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 2000, + "play_count": 7, + "update_time": "2021-04-12 00:07:03", + "score_diff_str": "AA-62" + }, + { + "music_id": 12007, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "rage against usual", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2533, + "score_percent": 82.9404, + "miss_count": 65, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1527, + "play_count": 3, + "update_time": "2021-05-14 23:57:11", + "score_diff_str": "AA+157" + }, + { + "music_id": 12008, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "INAZUMA", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2598, + "score_percent": 94.9561, + "miss_count": 4, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 11, + "note": 1368, + "play_count": 4, + "update_time": "2021-05-08 07:11:09", + "score_diff_str": "MAX-138" + }, + { + "music_id": 12012, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "Catch Me", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1695, + "score_percent": 91.6216, + "miss_count": 9, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 925, + "play_count": 4, + "update_time": "2021-05-16 04:15:03", + "score_diff_str": "AAA+50" + }, + { + "music_id": 12016, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "Twelfth Style", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1945, + "score_percent": 94.1433, + "miss_count": 4, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1033, + "play_count": 3, + "update_time": "2021-04-10 22:43:26", + "score_diff_str": "AAA+108" + }, + { + "music_id": 12016, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "Twelfth Style", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 2908, + "score_percent": 86.342, + "miss_count": 38, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1684, + "play_count": 6, + "update_time": "2021-05-14 23:54:42", + "score_diff_str": "AAA-86" + }, + { + "music_id": 12019, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "\u5408\u4f53\u305b\u3088\uff01\u30b9\u30c8\u30ed\u30f3\u30b0\u30a4\u30a7\u30fc\u30ac\u30fc\uff01\uff01 (Ryu\u2606 remix)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1801, + "score_percent": 92.644, + "miss_count": 4, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 972, + "play_count": 2, + "update_time": "2021-04-03 05:08:31", + "score_diff_str": "AAA+73" + }, + { + "music_id": 12020, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "garden", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2059, + "score_percent": 93.5909, + "miss_count": 5, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1100, + "play_count": 4, + "update_time": "2021-05-16 04:13:26", + "score_diff_str": "AAA+103" + }, + { + "music_id": 12022, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "Tizona d'El Cid", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2257, + "score_percent": 95.798, + "miss_count": 2, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1178, + "play_count": 9, + "update_time": "2021-05-14 21:43:43", + "score_diff_str": "MAX-99" + }, + { + "music_id": 12023, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "EMPTY OF THE SKY", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1137, + "score_percent": 67.4377, + "miss_count": -1, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 8, + "note": 843, + "play_count": 2, + "update_time": "2021-04-06 10:53:47", + "score_diff_str": "A+13" + }, + { + "music_id": 12025, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "100% minimoo-G", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1615, + "score_percent": 89.4241, + "miss_count": 11, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 11, + "note": 903, + "play_count": 3, + "update_time": "2021-05-08 07:05:59", + "score_diff_str": "AAA+9" + }, + { + "music_id": 12026, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "PLASMA", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2224, + "score_percent": 97.1179, + "miss_count": 1, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 9, + "note": 1145, + "play_count": 4, + "update_time": "2021-04-08 12:03:22", + "score_diff_str": "MAX-66" + }, + { + "music_id": 12027, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "in motion", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1283, + "score_percent": 97.0499, + "miss_count": 0, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 7, + "note": 661, + "play_count": 9, + "update_time": "2021-05-16 22:28:22", + "score_diff_str": "MAX-39" + }, + { + "music_id": 12031, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "Pollinosis", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2317, + "score_percent": 90.6495, + "miss_count": 21, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1278, + "play_count": 10, + "update_time": "2021-04-30 09:39:01", + "score_diff_str": "AAA+45" + }, + { + "music_id": 12037, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "\u30aa\u30ec\u306f\u30d3\u30fc\u30c8\u30de\u30cb\u30a2\uff01\u304a\u524d\u306f\u4f55\u30de\u30cb\u30a2\uff1f", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1589, + "score_percent": 91.008, + "miss_count": 10, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 873, + "play_count": 1, + "update_time": "2021-04-07 22:51:29", + "score_diff_str": "AAA+37" + }, + { + "music_id": 12041, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "Love Magic", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1854, + "score_percent": 93.5419, + "miss_count": 16, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 991, + "play_count": 3, + "update_time": "2021-04-14 22:04:02", + "score_diff_str": "AAA+92" + }, + { + "music_id": 12044, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "GREEN EYES", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2100, + "score_percent": 93.4996, + "miss_count": 4, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1123, + "play_count": 7, + "update_time": "2021-05-16 04:10:22", + "score_diff_str": "AAA+103" + }, + { + "music_id": 12045, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "SCREAM SQUAD", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1836, + "score_percent": 85.5545, + "miss_count": 8, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1073, + "play_count": 9, + "update_time": "2021-05-14 23:58:07", + "score_diff_str": "AAA-72" + }, + { + "music_id": 12054, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "Scripted Connection\u21d2 A mix", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2868, + "score_percent": 91.0476, + "miss_count": 13, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 12, + "note": 1575, + "play_count": 3, + "update_time": "2021-05-15 00:00:32", + "score_diff_str": "AAA+68" + }, + { + "music_id": 12054, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "Scripted Connection\u21d2 A mix", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 3129, + "score_percent": 89.4511, + "miss_count": 38, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1749, + "play_count": 5, + "update_time": "2021-04-17 13:03:55", + "score_diff_str": "AAA+19" + }, + { + "music_id": 13000, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "\u83ef\u8776\u98a8\u96ea", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2843, + "score_percent": 94.7667, + "miss_count": 9, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1500, + "play_count": 3, + "update_time": "2021-05-09 09:08:04", + "score_diff_str": "MAX-157" + }, + { + "music_id": 13002, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "The Dirty of Loudness", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2458, + "score_percent": 92.6149, + "miss_count": 7, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1327, + "play_count": 4, + "update_time": "2021-05-16 04:26:13", + "score_diff_str": "AAA+98" + }, + { + "music_id": 13003, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "D.C.fish", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2284, + "score_percent": 96.944, + "miss_count": 1, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1178, + "play_count": 5, + "update_time": "2021-04-23 03:01:02", + "score_diff_str": "MAX-72" + }, + { + "music_id": 13004, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "SAMBA DE JANEIRO", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2378, + "score_percent": 91.4615, + "miss_count": 5, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1300, + "play_count": 3, + "update_time": "2021-03-29 14:48:48", + "score_diff_str": "AAA+66" + }, + { + "music_id": 13005, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "\u5606\u304d\u306e\u6a39", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3014, + "score_percent": 75.35, + "miss_count": 148, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 2000, + "play_count": 10, + "update_time": "2021-05-15 00:02:38", + "score_diff_str": "AA-98" + }, + { + "music_id": 13007, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "SPRING RAIN (LLUVIA DE PRIMAVERA)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1722, + "score_percent": 95.1381, + "miss_count": 2, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 8, + "note": 905, + "play_count": 1, + "update_time": "2021-03-29 14:54:02", + "score_diff_str": "MAX-88" + }, + { + "music_id": 13010, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "CONTRACT", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1905, + "score_percent": 90.1989, + "miss_count": 14, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1056, + "play_count": 3, + "update_time": "2021-04-27 21:44:22", + "score_diff_str": "AAA+27" + }, + { + "music_id": 13010, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "CONTRACT", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 2434, + "score_percent": 85.8251, + "miss_count": 28, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1418, + "play_count": 8, + "update_time": "2021-04-14 23:30:23", + "score_diff_str": "AAA-87" + }, + { + "music_id": 13017, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "Apocalypse \uff5edirge of swans\uff5e", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2274, + "score_percent": 93.6573, + "miss_count": 3, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1214, + "play_count": 10, + "update_time": "2021-05-16 04:18:30", + "score_diff_str": "AAA+115" + }, + { + "music_id": 13021, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "with you\u2026", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1742, + "score_percent": 97.7553, + "miss_count": 1, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 9, + "note": 891, + "play_count": 3, + "update_time": "2021-05-16 22:33:22", + "score_diff_str": "MAX-40" + }, + { + "music_id": 13026, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "Ganymede", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1765, + "score_percent": 73.603, + "miss_count": -1, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 11, + "note": 1199, + "play_count": 2, + "update_time": "2021-04-24 22:48:25", + "score_diff_str": "AA-101" + }, + { + "music_id": 13031, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "DUE TOMORROW", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1515, + "score_percent": 70.5965, + "miss_count": 26, + "grade": "A", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1073, + "play_count": 2, + "update_time": "2021-05-10 22:32:52", + "score_diff_str": "A+84" + }, + { + "music_id": 13034, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "tripping contact", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2289, + "score_percent": 84.1544, + "miss_count": -1, + "grade": "AA", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1360, + "play_count": 1, + "update_time": "2021-04-04 03:16:01", + "score_diff_str": "AAA-129" + }, + { + "music_id": 13038, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "waxing and wanding", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2697, + "score_percent": 92.5532, + "miss_count": 10, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1457, + "play_count": 2, + "update_time": "2021-05-02 05:15:58", + "score_diff_str": "AAA+106" + }, + { + "music_id": 13038, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "waxing and wanding", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 3449, + "score_percent": 86.225, + "miss_count": 56, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 2000, + "play_count": 6, + "update_time": "2021-04-17 13:06:14", + "score_diff_str": "AAA-107" + }, + { + "music_id": 13040, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "MINT", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2205, + "score_percent": 95.2073, + "miss_count": 2, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 11, + "note": 1158, + "play_count": 18, + "update_time": "2021-05-13 10:22:08", + "score_diff_str": "MAX-111" + }, + { + "music_id": 13041, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "EURO-ROMANCE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2041, + "score_percent": 96.6383, + "miss_count": 2, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 10, + "note": 1056, + "play_count": 11, + "update_time": "2021-05-14 21:54:33", + "score_diff_str": "MAX-71" + }, + { + "music_id": 13054, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "Concertino in Blue", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2226, + "score_percent": 84.897, + "miss_count": 30, + "grade": "AA", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1311, + "play_count": 2, + "update_time": "2021-05-12 12:50:20", + "score_diff_str": "AAA-105" + }, + { + "music_id": 13055, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "\u30ab\u30b4\u30ce\u30c8\u30ea\uff5e\u5f10\u5f0f\uff5e", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2532, + "score_percent": 95.5472, + "miss_count": 12, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1325, + "play_count": 3, + "update_time": "2021-05-12 12:40:39", + "score_diff_str": "MAX-118" + }, + { + "music_id": 13201, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "321 STARS", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 990, + "score_percent": 84.1837, + "miss_count": 15, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 588, + "play_count": 1, + "update_time": "2021-03-25 09:40:46", + "score_diff_str": "AAA-56" + }, + { + "music_id": 13204, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "Bleeding Luv \uff5eImmorality act\uff5e", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2601, + "score_percent": 92.1034, + "miss_count": 21, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1412, + "play_count": 1, + "update_time": "2021-03-29 13:46:04", + "score_diff_str": "AAA+90" + }, + { + "music_id": 13206, + "version_id": 13, + "version_name": "DistorteD", + "music_name": "CALDERA", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1300, + "score_percent": 82.5921, + "miss_count": 19, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 787, + "play_count": 1, + "update_time": "2021-04-27 21:46:55", + "score_diff_str": "AA+75" + }, + { + "music_id": 14001, + "version_id": 14, + "version_name": "GOLD", + "music_name": "INORI", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3049, + "score_percent": 94.4548, + "miss_count": 14, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1614, + "play_count": 1, + "update_time": "2021-05-12 13:24:55", + "score_diff_str": "AAA+179" + }, + { + "music_id": 14005, + "version_id": 14, + "version_name": "GOLD", + "music_name": "Candy Galy", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3257, + "score_percent": 90.5729, + "miss_count": 21, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1798, + "play_count": 3, + "update_time": "2021-04-27 23:38:09", + "score_diff_str": "AAA+60" + }, + { + "music_id": 14009, + "version_id": 14, + "version_name": "GOLD", + "music_name": "VANESSA", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2188, + "score_percent": 89.0879, + "miss_count": 26, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1228, + "play_count": 8, + "update_time": "2021-05-12 13:28:30", + "score_diff_str": "AAA+4" + }, + { + "music_id": 14009, + "version_id": 14, + "version_name": "GOLD", + "music_name": "VANESSA", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 1843, + "score_percent": 52.0327, + "miss_count": -1, + "grade": "C", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1771, + "play_count": 6, + "update_time": "2021-05-06 12:17:21", + "score_diff_str": "B-125" + }, + { + "music_id": 14014, + "version_id": 14, + "version_name": "GOLD", + "music_name": "Blind Justice \uff5eTorn souls, Hurt Faiths \uff5e", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2391, + "score_percent": 96.0241, + "miss_count": 1, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 11, + "note": 1245, + "play_count": 6, + "update_time": "2021-05-02 10:12:39", + "score_diff_str": "MAX-99" + }, + { + "music_id": 14020, + "version_id": 14, + "version_name": "GOLD", + "music_name": "smile", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2760, + "score_percent": 94.2623, + "miss_count": 15, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1464, + "play_count": 5, + "update_time": "2021-05-14 01:34:28", + "score_diff_str": "AAA+157" + }, + { + "music_id": 14021, + "version_id": 14, + "version_name": "GOLD", + "music_name": "LASER CRUSTER", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2975, + "score_percent": 90.4805, + "miss_count": 12, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1644, + "play_count": 2, + "update_time": "2021-04-22 08:03:21", + "score_diff_str": "AAA+52" + }, + { + "music_id": 14022, + "version_id": 14, + "version_name": "GOLD", + "music_name": "GRID KNIGHT", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 3324, + "score_percent": 95.2982, + "miss_count": 16, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1744, + "play_count": 4, + "update_time": "2021-04-12 13:23:34", + "score_diff_str": "MAX-164" + }, + { + "music_id": 14023, + "version_id": 14, + "version_name": "GOLD", + "music_name": "CROSSROAD \uff5eLeft Story\uff5e", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2164, + "score_percent": 98.6326, + "miss_count": 1, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 10, + "note": 1097, + "play_count": 17, + "update_time": "2021-05-14 00:56:41", + "score_diff_str": "MAX-30" + }, + { + "music_id": 14029, + "version_id": 14, + "version_name": "GOLD", + "music_name": "\u96fb\u4eba\u3001\u6681\u306b\u6583\u308c\u308b\u3002", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3077, + "score_percent": 89.1884, + "miss_count": 15, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1725, + "play_count": 2, + "update_time": "2021-04-27 23:43:37", + "score_diff_str": "AAA+10" + }, + { + "music_id": 14030, + "version_id": 14, + "version_name": "GOLD", + "music_name": "FIRE FIRE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2540, + "score_percent": 90.3915, + "miss_count": 19, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1405, + "play_count": 5, + "update_time": "2021-04-22 08:06:32", + "score_diff_str": "AAA+42" + }, + { + "music_id": 14031, + "version_id": 14, + "version_name": "GOLD", + "music_name": "the shadow", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2735, + "score_percent": 92.3986, + "miss_count": 27, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1480, + "play_count": 5, + "update_time": "2021-05-14 01:36:15", + "score_diff_str": "AAA+103" + }, + { + "music_id": 14033, + "version_id": 14, + "version_name": "GOLD", + "music_name": "Second Heaven", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2059, + "score_percent": 96.305, + "miss_count": 4, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1069, + "play_count": 2, + "update_time": "2021-05-14 01:14:16", + "score_diff_str": "MAX-79" + }, + { + "music_id": 14035, + "version_id": 14, + "version_name": "GOLD", + "music_name": "Sense 2007", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2721, + "score_percent": 89.6836, + "miss_count": 11, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1517, + "play_count": 8, + "update_time": "2021-05-12 13:16:05", + "score_diff_str": "AAA+24" + }, + { + "music_id": 14046, + "version_id": 14, + "version_name": "GOLD", + "music_name": "KAMAITACHI", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2558, + "score_percent": 93.4942, + "miss_count": 9, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1368, + "play_count": 6, + "update_time": "2021-05-14 01:20:56", + "score_diff_str": "AAA+126" + }, + { + "music_id": 14046, + "version_id": 14, + "version_name": "GOLD", + "music_name": "KAMAITACHI", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 2862, + "score_percent": 71.55, + "miss_count": 166, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 2000, + "play_count": 2, + "update_time": "2021-04-14 23:33:49", + "score_diff_str": "A+195" + }, + { + "music_id": 14052, + "version_id": 14, + "version_name": "GOLD", + "music_name": "Fascination MAXX", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2170, + "score_percent": 82.6352, + "miss_count": 115, + "grade": "AA", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1313, + "play_count": 7, + "update_time": "2021-05-14 01:30:32", + "score_diff_str": "AA+127" + }, + { + "music_id": 14053, + "version_id": 14, + "version_name": "GOLD", + "music_name": "snow storm", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2638, + "score_percent": 93.6125, + "miss_count": 2, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 10, + "note": 1409, + "play_count": 2, + "update_time": "2021-04-12 10:28:26", + "score_diff_str": "AAA+133" + }, + { + "music_id": 14053, + "version_id": 14, + "version_name": "GOLD", + "music_name": "snow storm", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 3164, + "score_percent": 92.5688, + "miss_count": 11, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1709, + "play_count": 10, + "update_time": "2021-05-12 13:20:53", + "score_diff_str": "AAA+125" + }, + { + "music_id": 14055, + "version_id": 14, + "version_name": "GOLD", + "music_name": "four-leaf", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1669, + "score_percent": 96.2514, + "miss_count": 1, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 8, + "note": 867, + "play_count": 29, + "update_time": "2021-05-16 22:30:40", + "score_diff_str": "MAX-65" + }, + { + "music_id": 14056, + "version_id": 14, + "version_name": "GOLD", + "music_name": "\u30af\u30eb\u30af\u30eb\u2606\u30e9\u30d6\uff5eOpioid Peptide MIX\uff5e", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2172, + "score_percent": 94.9301, + "miss_count": 6, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 10, + "note": 1144, + "play_count": 9, + "update_time": "2021-05-09 09:00:52", + "score_diff_str": "MAX-116" + }, + { + "music_id": 14058, + "version_id": 14, + "version_name": "GOLD", + "music_name": "Watch out!!", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1408, + "score_percent": 84.1099, + "miss_count": 30, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 9, + "note": 837, + "play_count": 2, + "update_time": "2021-03-27 03:11:39", + "score_diff_str": "AAA-80" + }, + { + "music_id": 14201, + "version_id": 14, + "version_name": "GOLD", + "music_name": "Beginning of life(THE GROUND PULSE MIX)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1558, + "score_percent": 90.5814, + "miss_count": 10, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 860, + "play_count": 1, + "update_time": "2021-03-29 13:50:15", + "score_diff_str": "AAA+29" + }, + { + "music_id": 15000, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "Anisakis -somatic mutation type\"Forza\"-", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2710, + "score_percent": 93.9016, + "miss_count": 5, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1443, + "play_count": 1, + "update_time": "2021-04-24 23:45:34", + "score_diff_str": "AAA+144" + }, + { + "music_id": 15000, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "Anisakis -somatic mutation type\"Forza\"-", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 3201, + "score_percent": 81.2024, + "miss_count": 67, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1971, + "play_count": 1, + "update_time": "2021-04-27 23:22:54", + "score_diff_str": "AA+135" + }, + { + "music_id": 15001, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "MENDES", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3013, + "score_percent": 82.2774, + "miss_count": 45, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1831, + "play_count": 22, + "update_time": "2021-05-10 22:02:34", + "score_diff_str": "AA+164" + }, + { + "music_id": 15004, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "Blue Rain", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2145, + "score_percent": 93.342, + "miss_count": 8, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 11, + "note": 1149, + "play_count": 3, + "update_time": "2021-05-06 11:48:37", + "score_diff_str": "AAA+102" + }, + { + "music_id": 15004, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "Blue Rain", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 2919, + "score_percent": 85.7521, + "miss_count": 40, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1702, + "play_count": 9, + "update_time": "2021-05-06 12:03:46", + "score_diff_str": "AAA-107" + }, + { + "music_id": 15005, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "four pieces of heaven", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2053, + "score_percent": 83.7959, + "miss_count": 24, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 11, + "note": 1225, + "play_count": 3, + "update_time": "2021-05-07 06:44:38", + "score_diff_str": "AAA-125" + }, + { + "music_id": 15005, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "four pieces of heaven", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 2224, + "score_percent": 73.2543, + "miss_count": 76, + "grade": "A", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1518, + "play_count": 2, + "update_time": "2021-04-27 23:19:40", + "score_diff_str": "AA-138" + }, + { + "music_id": 15007, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "THE DEEP STRIKER", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 3312, + "score_percent": 93.1384, + "miss_count": 19, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 12, + "note": 1778, + "play_count": 9, + "update_time": "2021-05-16 04:52:15", + "score_diff_str": "AAA+151" + }, + { + "music_id": 15008, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "STEEL NEEDLE", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 2467, + "score_percent": 72.5162, + "miss_count": 85, + "grade": "A", + "clear_type": "EASY CLEAR", + "clear_type_id": 3, + "level": 12, + "note": 1701, + "play_count": 5, + "update_time": "2021-05-13 11:35:03", + "score_diff_str": "AA-179" + }, + { + "music_id": 15009, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "SOUND OF GIALLARHORN", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3145, + "score_percent": 94.2746, + "miss_count": 6, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1668, + "play_count": 1, + "update_time": "2021-04-18 04:08:02", + "score_diff_str": "AAA+179" + }, + { + "music_id": 15013, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "oratio", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2730, + "score_percent": 91.4267, + "miss_count": 24, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1493, + "play_count": 6, + "update_time": "2021-05-02 10:51:32", + "score_diff_str": "AAA+75" + }, + { + "music_id": 15014, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "Ristaccia", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2622, + "score_percent": 94.5887, + "miss_count": 5, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1386, + "play_count": 9, + "update_time": "2021-05-14 01:38:57", + "score_diff_str": "MAX-150" + }, + { + "music_id": 15016, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "TROOPERS", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2738, + "score_percent": 91.5107, + "miss_count": 30, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1496, + "play_count": 4, + "update_time": "2021-05-07 06:51:57", + "score_diff_str": "AAA+78" + }, + { + "music_id": 15016, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "TROOPERS", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 2759, + "score_percent": 84.58, + "miss_count": 44, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1631, + "play_count": 1, + "update_time": "2021-05-06 11:23:03", + "score_diff_str": "AAA-141" + }, + { + "music_id": 15024, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "Dazzlin' Darlin", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2192, + "score_percent": 98.296, + "miss_count": 4, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1115, + "play_count": 10, + "update_time": "2021-05-14 00:47:46", + "score_diff_str": "MAX-38" + }, + { + "music_id": 15025, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "Do it!! Do it!!", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1636, + "score_percent": 82.8774, + "miss_count": 64, + "grade": "AA", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 11, + "note": 987, + "play_count": 1, + "update_time": "2021-03-29 15:06:16", + "score_diff_str": "AA+100" + }, + { + "music_id": 15026, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "Time to Air", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2698, + "score_percent": 92.524, + "miss_count": 10, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1458, + "play_count": 1, + "update_time": "2021-04-08 12:24:49", + "score_diff_str": "AAA+106" + }, + { + "music_id": 15026, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "Time to Air", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 3191, + "score_percent": 84.5074, + "miss_count": 84, + "grade": "AA", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1888, + "play_count": 1, + "update_time": "2021-04-18 04:14:03", + "score_diff_str": "AAA-166" + }, + { + "music_id": 15028, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "Digitank System", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1860, + "score_percent": 84.854, + "miss_count": 40, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1096, + "play_count": 2, + "update_time": "2021-05-08 06:47:50", + "score_diff_str": "AAA-89" + }, + { + "music_id": 15030, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "2 tribe 4 K", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2711, + "score_percent": 96.6833, + "miss_count": 2, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 11, + "note": 1402, + "play_count": 12, + "update_time": "2021-05-07 05:44:03", + "score_diff_str": "MAX-93" + }, + { + "music_id": 15033, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "ROCK ME NOW", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2404, + "score_percent": 94.9447, + "miss_count": 8, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1266, + "play_count": 5, + "update_time": "2021-04-30 09:26:18", + "score_diff_str": "MAX-128" + }, + { + "music_id": 15038, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "the trigger of innocence", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1832, + "score_percent": 99.1342, + "miss_count": 2, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 9, + "note": 924, + "play_count": 2, + "update_time": "2021-04-10 01:23:43", + "score_diff_str": "MAX-16" + }, + { + "music_id": 15039, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "\u5c11\u5e74A", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2500, + "score_percent": 86.2664, + "miss_count": 30, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1449, + "play_count": 1, + "update_time": "2021-05-07 06:49:25", + "score_diff_str": "AAA-76" + }, + { + "music_id": 15044, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "satfinal", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1877, + "score_percent": 97.4559, + "miss_count": 1, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 9, + "note": 963, + "play_count": 8, + "update_time": "2021-05-16 03:42:54", + "score_diff_str": "MAX-49" + }, + { + "music_id": 15045, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "Wanna Party?", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 2528, + "score_percent": 97.2308, + "miss_count": 1, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 11, + "note": 1300, + "play_count": 16, + "update_time": "2021-05-07 05:38:32", + "score_diff_str": "MAX-72" + }, + { + "music_id": 15049, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "PARANOiA \uff5eHADES\uff5e", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2482, + "score_percent": 88.9606, + "miss_count": 36, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1395, + "play_count": 4, + "update_time": "2021-05-13 11:06:52", + "score_diff_str": "AAA+2" + }, + { + "music_id": 15050, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "TRIP MACHINE PhoeniX", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1718, + "score_percent": 91.8717, + "miss_count": 5, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 935, + "play_count": 5, + "update_time": "2021-05-03 13:43:45", + "score_diff_str": "AAA+55" + }, + { + "music_id": 15052, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "Rising in the Sun(original mix)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2196, + "score_percent": 110.02, + "miss_count": 13, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 998, + "play_count": 1, + "update_time": "2021-04-24 04:25:44", + "score_diff_str": "MAX+200" + }, + { + "music_id": 15054, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "\u83ef\u721b\u6f2b -Flowers-", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 1333, + "score_percent": 41.7345, + "miss_count": -1, + "grade": "D", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1597, + "play_count": 1, + "update_time": "2021-04-17 12:59:54", + "score_diff_str": "C-87" + }, + { + "music_id": 15057, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "in the Sky", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2465, + "score_percent": 96.3643, + "miss_count": 4, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1279, + "play_count": 8, + "update_time": "2021-04-23 02:09:30", + "score_diff_str": "MAX-93" + }, + { + "music_id": 15059, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "satellite020712 from \"CODED ARMS\"", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2373, + "score_percent": 91.7633, + "miss_count": 7, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1293, + "play_count": 1, + "update_time": "2021-04-18 03:52:07", + "score_diff_str": "AAA+74" + }, + { + "music_id": 15203, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "Biometrics Warrior", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2850, + "score_percent": 89.4539, + "miss_count": 19, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1593, + "play_count": 8, + "update_time": "2021-04-17 13:12:23", + "score_diff_str": "AAA+18" + }, + { + "music_id": 15216, + "version_id": 15, + "version_name": "DJ TROOPERS", + "music_name": "WHAT'S NEXT?", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1498, + "score_percent": 86.092, + "miss_count": 16, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 870, + "play_count": 3, + "update_time": "2021-04-27 23:25:12", + "score_diff_str": "AAA-49" + }, + { + "music_id": 16002, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "B4U(BEMANI FOR YOU MIX)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3237, + "score_percent": 89.4199, + "miss_count": 20, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1810, + "play_count": 1, + "update_time": "2021-04-27 21:53:03", + "score_diff_str": "AAA+19" + }, + { + "music_id": 16002, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "B4U(BEMANI FOR YOU MIX)", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 3809, + "score_percent": 80.6992, + "miss_count": 67, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 2360, + "play_count": 4, + "update_time": "2021-04-02 11:02:47", + "score_diff_str": "AA+137" + }, + { + "music_id": 16003, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "Colorful Cookie", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3167, + "score_percent": 89.3119, + "miss_count": 35, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1773, + "play_count": 12, + "update_time": "2021-05-12 13:10:33", + "score_diff_str": "AAA+15" + }, + { + "music_id": 16004, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "V2", + "play_type": "SINGLE", + "diff_type": "HYPER", + "score": 2886, + "score_percent": 89.0741, + "miss_count": 24, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1620, + "play_count": 3, + "update_time": "2021-05-16 22:43:20", + "score_diff_str": "AAA+6" + }, + { + "music_id": 16004, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "V2", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3232, + "score_percent": 89.2818, + "miss_count": 43, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1810, + "play_count": 1, + "update_time": "2021-04-24 04:22:20", + "score_diff_str": "AAA+14" + }, + { + "music_id": 16006, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "\u4e0d\u6c88\u8266CANDY", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3030, + "score_percent": 90.0713, + "miss_count": 26, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1682, + "play_count": 6, + "update_time": "2021-05-12 12:56:20", + "score_diff_str": "AAA+39" + }, + { + "music_id": 16009, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "BITTER CHOCOLATE STRIKER", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3653, + "score_percent": 91.7839, + "miss_count": 34, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1990, + "play_count": 12, + "update_time": "2021-05-12 12:59:25", + "score_diff_str": "AAA+115" + }, + { + "music_id": 16010, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "Fly Above", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2004, + "score_percent": 98.622, + "miss_count": 0, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 8, + "note": 1016, + "play_count": 29, + "update_time": "2021-05-14 21:32:08", + "score_diff_str": "MAX-28" + }, + { + "music_id": 16011, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "Arabian Rave Night", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2725, + "score_percent": 90.5918, + "miss_count": 7, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1504, + "play_count": 1, + "update_time": "2021-04-07 23:23:28", + "score_diff_str": "AAA+51" + }, + { + "music_id": 16011, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "Arabian Rave Night", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 3288, + "score_percent": 87.0763, + "miss_count": 40, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1888, + "play_count": 4, + "update_time": "2021-05-14 23:21:01", + "score_diff_str": "AAA-69" + }, + { + "music_id": 16015, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "Kung-fu Empire", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 3609, + "score_percent": 90.2701, + "miss_count": 9, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1999, + "play_count": 4, + "update_time": "2021-04-27 23:56:13", + "score_diff_str": "AAA+55" + }, + { + "music_id": 16018, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "Marie Antoinette", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2415, + "score_percent": 92.0351, + "miss_count": 14, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1312, + "play_count": 1, + "update_time": "2021-04-07 23:27:16", + "score_diff_str": "AAA+82" + }, + { + "music_id": 16018, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "Marie Antoinette", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 2864, + "score_percent": 88.5043, + "miss_count": 33, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1618, + "play_count": 3, + "update_time": "2021-05-04 03:36:26", + "score_diff_str": "AAA-13" + }, + { + "music_id": 16020, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "\u5351\u5f25\u547c", + "play_type": "SINGLE", + "diff_type": "HYPER", + "score": 2489, + "score_percent": 86.3037, + "miss_count": 38, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1442, + "play_count": 1, + "update_time": "2021-04-18 03:12:00", + "score_diff_str": "AAA-75" + }, + { + "music_id": 16020, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "\u5351\u5f25\u547c", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3178, + "score_percent": 74.9882, + "miss_count": 137, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 2119, + "play_count": 7, + "update_time": "2021-04-12 00:12:12", + "score_diff_str": "AA-119" + }, + { + "music_id": 16025, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "Mind Mapping", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 2093, + "score_percent": 92.2026, + "miss_count": 10, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1135, + "play_count": 1, + "update_time": "2021-04-07 23:12:47", + "score_diff_str": "AAA+75" + }, + { + "music_id": 16026, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "3y3s", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2582, + "score_percent": 69.0005, + "miss_count": 174, + "grade": "A", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1871, + "play_count": 3, + "update_time": "2021-04-12 00:15:38", + "score_diff_str": "A+87" + }, + { + "music_id": 16028, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "Y&Co. is dead or alive", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2419, + "score_percent": 81.8336, + "miss_count": 110, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1478, + "play_count": 7, + "update_time": "2021-04-12 00:21:04", + "score_diff_str": "AA+119" + }, + { + "music_id": 16031, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "naughty girl@Queen's Palace", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1899, + "score_percent": 87.2702, + "miss_count": 27, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 11, + "note": 1088, + "play_count": 4, + "update_time": "2021-05-08 06:50:17", + "score_diff_str": "AAA-36" + }, + { + "music_id": 16038, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "Secrets", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2990, + "score_percent": 93.907, + "miss_count": 8, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1592, + "play_count": 3, + "update_time": "2021-04-27 21:50:02", + "score_diff_str": "AAA+159" + }, + { + "music_id": 16038, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "Secrets", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 3519, + "score_percent": 83.1522, + "miss_count": 61, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 2116, + "play_count": 2, + "update_time": "2021-05-14 23:18:03", + "score_diff_str": "AA+227" + }, + { + "music_id": 16041, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "THE SHINING POLARIS(kors k mix)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1920, + "score_percent": 90.4807, + "miss_count": 9, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 9, + "note": 1061, + "play_count": 1, + "update_time": "2021-05-09 09:11:41", + "score_diff_str": "AAA+33" + }, + { + "music_id": 16042, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "Bahram Attack-\u732b\u53c9Master Remix-", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2547, + "score_percent": 96.9178, + "miss_count": 1, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 10, + "note": 1314, + "play_count": 9, + "update_time": "2021-05-14 21:40:21", + "score_diff_str": "MAX-81" + }, + { + "music_id": 16042, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "Bahram Attack-\u732b\u53c9Master Remix-", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 3087, + "score_percent": 94.1159, + "miss_count": 14, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 11, + "note": 1640, + "play_count": 5, + "update_time": "2021-05-09 09:14:45", + "score_diff_str": "AAA+171" + }, + { + "music_id": 16045, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "THANK YOU FOR PLAYING", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 2652, + "score_percent": 86.4407, + "miss_count": 32, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1534, + "play_count": 9, + "update_time": "2021-05-12 13:04:30", + "score_diff_str": "AAA-76" + }, + { + "music_id": 16047, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "thunder HOUSE NATION Remix", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 3728, + "score_percent": 95.3941, + "miss_count": 13, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1954, + "play_count": 4, + "update_time": "2021-05-07 05:19:26", + "score_diff_str": "MAX-180" + }, + { + "music_id": 16051, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "Go Beyond!!", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1729, + "score_percent": 74.1424, + "miss_count": 61, + "grade": "A", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1166, + "play_count": 4, + "update_time": "2021-05-08 08:34:54", + "score_diff_str": "AA-85" + }, + { + "music_id": 16052, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "SOLITON BEAM", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2305, + "score_percent": 97.0935, + "miss_count": 5, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1187, + "play_count": 8, + "update_time": "2021-05-09 10:46:05", + "score_diff_str": "MAX-69" + }, + { + "music_id": 16206, + "version_id": 16, + "version_name": "EMPRESS", + "music_name": "Gymnopedie 009", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1904, + "score_percent": 95.7746, + "miss_count": 4, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 994, + "play_count": 6, + "update_time": "2021-04-27 21:58:11", + "score_diff_str": "MAX-84" + }, + { + "music_id": 17002, + "version_id": 17, + "version_name": "SIRIUS", + "music_name": "MIRACLE MEETS", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 780, + "score_percent": 34.5745, + "miss_count": -1, + "grade": "D", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 11, + "note": 1128, + "play_count": 2, + "update_time": "2021-04-03 05:26:22", + "score_diff_str": "D+28" + }, + { + "music_id": 17006, + "version_id": 17, + "version_name": "SIRIUS", + "music_name": "G59", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3500, + "score_percent": 87.5, + "miss_count": 41, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 2000, + "play_count": 19, + "update_time": "2021-05-13 09:09:09", + "score_diff_str": "AAA-56" + }, + { + "music_id": 17007, + "version_id": 17, + "version_name": "SIRIUS", + "music_name": "DOMINION", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2912, + "score_percent": 88.9976, + "miss_count": 18, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1636, + "play_count": 1, + "update_time": "2021-05-14 03:47:58", + "score_diff_str": "AAA+3" + }, + { + "music_id": 17012, + "version_id": 17, + "version_name": "SIRIUS", + "music_name": "being torn the sky", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1938, + "score_percent": 97.0942, + "miss_count": 1, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 10, + "note": 998, + "play_count": 3, + "update_time": "2021-05-06 11:15:28", + "score_diff_str": "MAX-58" + }, + { + "music_id": 17016, + "version_id": 17, + "version_name": "SIRIUS", + "music_name": "Almagest", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2698, + "score_percent": 82.8115, + "miss_count": 38, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1629, + "play_count": 10, + "update_time": "2021-05-14 03:45:22", + "score_diff_str": "AA+164" + }, + { + "music_id": 17017, + "version_id": 17, + "version_name": "SIRIUS", + "music_name": "\u30ef\u30eb\u30c4\u7b2c17\u756a \u30c8\u77ed\u8abf\u201d\u5927\u72ac\u306e\u30ef\u30eb\u30c4\u201d", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2954, + "score_percent": 87.7078, + "miss_count": 31, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1684, + "play_count": 8, + "update_time": "2021-05-13 09:06:14", + "score_diff_str": "AAA-40" + }, + { + "music_id": 17022, + "version_id": 17, + "version_name": "SIRIUS", + "music_name": "Bad Maniacs", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2685, + "score_percent": 81.0688, + "miss_count": 43, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1656, + "play_count": 16, + "update_time": "2021-05-14 23:13:16", + "score_diff_str": "AA+109" + }, + { + "music_id": 17027, + "version_id": 17, + "version_name": "SIRIUS", + "music_name": "DESIRE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2683, + "score_percent": 92.7732, + "miss_count": 8, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1446, + "play_count": 1, + "update_time": "2021-05-12 13:07:36", + "score_diff_str": "AAA+112" + }, + { + "music_id": 17032, + "version_id": 17, + "version_name": "SIRIUS", + "music_name": "Red. by Full Metal Jacket", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1975, + "score_percent": 60.1035, + "miss_count": -1, + "grade": "B", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1643, + "play_count": 1, + "update_time": "2021-04-12 00:26:39", + "score_diff_str": "B+149" + }, + { + "music_id": 17044, + "version_id": 17, + "version_name": "SIRIUS", + "music_name": "mosaic", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2936, + "score_percent": 97.283, + "miss_count": 2, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1509, + "play_count": 5, + "update_time": "2021-04-23 04:48:26", + "score_diff_str": "MAX-82" + }, + { + "music_id": 17049, + "version_id": 17, + "version_name": "SIRIUS", + "music_name": "DENJIN AKATSUKINI TAORERU -SF PureAnalogSynth Mix-", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2544, + "score_percent": 95.2096, + "miss_count": 6, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 9, + "note": 1336, + "play_count": 3, + "update_time": "2021-04-27 22:20:24", + "score_diff_str": "MAX-128" + }, + { + "music_id": 17051, + "version_id": 17, + "version_name": "SIRIUS", + "music_name": "bass 2 bass", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1726, + "score_percent": 88.9691, + "miss_count": 21, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 970, + "play_count": 4, + "update_time": "2021-05-10 21:09:23", + "score_diff_str": "AAA+1" + }, + { + "music_id": 17056, + "version_id": 17, + "version_name": "SIRIUS", + "music_name": "eRAseRmOToRpHAntOM", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3107, + "score_percent": 92.1412, + "miss_count": 35, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1686, + "play_count": 1, + "update_time": "2021-05-08 07:32:03", + "score_diff_str": "AAA+109" + }, + { + "music_id": 17059, + "version_id": 17, + "version_name": "SIRIUS", + "music_name": "quell\uff5ethe seventh slave\uff5e", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2860, + "score_percent": 86.8773, + "miss_count": 31, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1646, + "play_count": 6, + "update_time": "2021-05-14 03:49:33", + "score_diff_str": "AAA-67" + }, + { + "music_id": 17060, + "version_id": 17, + "version_name": "SIRIUS", + "music_name": "SOLID STATE SQUAD", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3335, + "score_percent": 91.6712, + "miss_count": 14, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1819, + "play_count": 9, + "update_time": "2021-05-12 13:44:14", + "score_diff_str": "AAA+101" + }, + { + "music_id": 17060, + "version_id": 17, + "version_name": "SIRIUS", + "music_name": "SOLID STATE SQUAD", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 3356, + "score_percent": 89.8287, + "miss_count": 42, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1868, + "play_count": 5, + "update_time": "2021-04-19 08:41:47", + "score_diff_str": "AAA+35" + }, + { + "music_id": 17061, + "version_id": 17, + "version_name": "SIRIUS", + "music_name": "GOLDEN CROSS", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3270, + "score_percent": 92.6346, + "miss_count": 11, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1765, + "play_count": 17, + "update_time": "2021-05-12 13:41:44", + "score_diff_str": "AAA+132" + }, + { + "music_id": 18004, + "version_id": 18, + "version_name": "Resort Anthem", + "music_name": "perditus\u2020paradisus", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3069, + "score_percent": 74.3099, + "miss_count": 129, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 2065, + "play_count": 9, + "update_time": "2021-04-17 15:18:16", + "score_diff_str": "AA-144" + }, + { + "music_id": 18007, + "version_id": 18, + "version_name": "Resort Anthem", + "music_name": "ELECTRIC MASSIVE DIVER", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3371, + "score_percent": 89.5114, + "miss_count": 25, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1883, + "play_count": 1, + "update_time": "2021-04-04 03:10:14", + "score_diff_str": "AAA+23" + }, + { + "music_id": 18017, + "version_id": 18, + "version_name": "Resort Anthem", + "music_name": "Dances with Snow Fairies", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2839, + "score_percent": 87.4615, + "miss_count": 48, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1623, + "play_count": 15, + "update_time": "2021-05-16 06:39:09", + "score_diff_str": "AAA-47" + }, + { + "music_id": 18022, + "version_id": 18, + "version_name": "Resort Anthem", + "music_name": "Bounce Bounce Bounce", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2168, + "score_percent": 83.836, + "miss_count": 59, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1293, + "play_count": 1, + "update_time": "2021-05-13 08:44:37", + "score_diff_str": "AAA-131" + }, + { + "music_id": 18030, + "version_id": 18, + "version_name": "Resort Anthem", + "music_name": "Rock Da House", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2140, + "score_percent": 94.8582, + "miss_count": 8, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1128, + "play_count": 1, + "update_time": "2021-04-27 22:10:11", + "score_diff_str": "MAX-116" + }, + { + "music_id": 18032, + "version_id": 18, + "version_name": "Resort Anthem", + "music_name": "\u707c\u71b1Beach Side Bunny", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2237, + "score_percent": 65.0669, + "miss_count": 179, + "grade": "B", + "clear_type": "NO PLAY", + "clear_type_id": 0, + "level": 12, + "note": 1719, + "play_count": 1, + "update_time": "2021-04-11 11:28:22", + "score_diff_str": "A-55" + }, + { + "music_id": 18040, + "version_id": 18, + "version_name": "Resort Anthem", + "music_name": "Space Time", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2104, + "score_percent": 94.4345, + "miss_count": 4, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1114, + "play_count": 1, + "update_time": "2021-04-27 22:07:43", + "score_diff_str": "AAA+123" + }, + { + "music_id": 18044, + "version_id": 18, + "version_name": "Resort Anthem", + "music_name": "Let The Track Flow", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2461, + "score_percent": 90.0146, + "miss_count": 14, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 11, + "note": 1367, + "play_count": 22, + "update_time": "2021-05-10 21:40:25", + "score_diff_str": "AAA+30" + }, + { + "music_id": 18045, + "version_id": 18, + "version_name": "Resort Anthem", + "music_name": "Energy Drive", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2055, + "score_percent": 91.5775, + "miss_count": 9, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1122, + "play_count": 1, + "update_time": "2021-05-13 08:41:17", + "score_diff_str": "AAA+60" + }, + { + "music_id": 18047, + "version_id": 18, + "version_name": "Resort Anthem", + "music_name": "Breaking the ground", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2406, + "score_percent": 94.427, + "miss_count": 13, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1274, + "play_count": 1, + "update_time": "2021-04-27 22:04:17", + "score_diff_str": "AAA+141" + }, + { + "music_id": 18050, + "version_id": 18, + "version_name": "Resort Anthem", + "music_name": "reunion", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2932, + "score_percent": 87.418, + "miss_count": 65, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1677, + "play_count": 7, + "update_time": "2021-05-12 13:02:33", + "score_diff_str": "AAA-50" + }, + { + "music_id": 18051, + "version_id": 18, + "version_name": "Resort Anthem", + "music_name": "ANTHEM LANDING", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2832, + "score_percent": 95.4178, + "miss_count": 9, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1484, + "play_count": 9, + "update_time": "2021-05-02 05:04:26", + "score_diff_str": "MAX-136" + }, + { + "music_id": 18056, + "version_id": 18, + "version_name": "Resort Anthem", + "music_name": "SABER WING", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2674, + "score_percent": 92.9764, + "miss_count": 42, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1438, + "play_count": 4, + "update_time": "2021-04-23 04:35:27", + "score_diff_str": "AAA+117" + }, + { + "music_id": 18060, + "version_id": 18, + "version_name": "Resort Anthem", + "music_name": "\u9ed2\u9aea\u4e71\u308c\u3057\u4fee\u7f85\u3068\u306a\u308a\u3066", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3168, + "score_percent": 90.7736, + "miss_count": 16, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1745, + "play_count": 5, + "update_time": "2021-04-04 03:52:04", + "score_diff_str": "AAA+65" + }, + { + "music_id": 18061, + "version_id": 18, + "version_name": "Resort Anthem", + "music_name": "sakura storm", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2196, + "score_percent": 89.6327, + "miss_count": 21, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1225, + "play_count": 7, + "update_time": "2021-04-03 06:07:38", + "score_diff_str": "AAA+18" + }, + { + "music_id": 18066, + "version_id": 18, + "version_name": "Resort Anthem", + "music_name": "Sakura Reflection", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2307, + "score_percent": 96.9328, + "miss_count": 1, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 11, + "note": 1190, + "play_count": 7, + "update_time": "2021-05-04 03:24:30", + "score_diff_str": "MAX-73" + }, + { + "music_id": 18068, + "version_id": 18, + "version_name": "Resort Anthem", + "music_name": "Broken", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2899, + "score_percent": 90.7071, + "miss_count": 11, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1598, + "play_count": 2, + "update_time": "2021-04-08 12:18:48", + "score_diff_str": "AAA+58" + }, + { + "music_id": 18071, + "version_id": 18, + "version_name": "Resort Anthem", + "music_name": "SPECIAL SUMMER CAMPAIGN!", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2837, + "score_percent": 94.0027, + "miss_count": 5, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1509, + "play_count": 8, + "update_time": "2021-05-14 01:47:46", + "score_diff_str": "AAA+154" + }, + { + "music_id": 19001, + "version_id": 19, + "version_name": "Lincle", + "music_name": "Snake Stick", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2257, + "score_percent": 77.9889, + "miss_count": 71, + "grade": "AA", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1447, + "play_count": 3, + "update_time": "2021-04-11 23:41:48", + "score_diff_str": "AA+6" + }, + { + "music_id": 19002, + "version_id": 19, + "version_name": "Lincle", + "music_name": "\u5929\u7a7a\u306e\u591c\u660e\u3051", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3500, + "score_percent": 84.4595, + "miss_count": 54, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 2072, + "play_count": 18, + "update_time": "2021-05-14 03:01:10", + "score_diff_str": "AAA-184" + }, + { + "music_id": 19003, + "version_id": 19, + "version_name": "Lincle", + "music_name": "F", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3255, + "score_percent": 89.7683, + "miss_count": 17, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 12, + "note": 1813, + "play_count": 7, + "update_time": "2021-04-24 06:22:47", + "score_diff_str": "AAA+31" + }, + { + "music_id": 19005, + "version_id": 19, + "version_name": "Lincle", + "music_name": "\u604b\u3059\u308b\u2606\u5b87\u5b99\u6226\u4e89\u3063\uff01\uff01", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3181, + "score_percent": 86.6757, + "miss_count": 29, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1835, + "play_count": 4, + "update_time": "2021-05-16 04:39:38", + "score_diff_str": "AAA-82" + }, + { + "music_id": 19007, + "version_id": 19, + "version_name": "Lincle", + "music_name": "YAKSHA", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3347, + "score_percent": 83.675, + "miss_count": 28, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 2000, + "play_count": 7, + "update_time": "2021-05-08 07:39:12", + "score_diff_str": "AAA-209" + }, + { + "music_id": 19008, + "version_id": 19, + "version_name": "Lincle", + "music_name": "DIAVOLO", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2643, + "score_percent": 75.7307, + "miss_count": 66, + "grade": "A", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1745, + "play_count": 7, + "update_time": "2021-05-03 14:38:49", + "score_diff_str": "AA-72" + }, + { + "music_id": 19009, + "version_id": 19, + "version_name": "Lincle", + "music_name": "Scharfrichter", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2664, + "score_percent": 90.4891, + "miss_count": 24, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1472, + "play_count": 1, + "update_time": "2021-04-23 01:43:55", + "score_diff_str": "AAA+47" + }, + { + "music_id": 19016, + "version_id": 19, + "version_name": "Lincle", + "music_name": "Todestrieb", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3204, + "score_percent": 92.4409, + "miss_count": 8, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1733, + "play_count": 6, + "update_time": "2021-05-08 07:58:28", + "score_diff_str": "AAA+123" + }, + { + "music_id": 19018, + "version_id": 19, + "version_name": "Lincle", + "music_name": "prompt", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2682, + "score_percent": 94.4366, + "miss_count": 12, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1420, + "play_count": 4, + "update_time": "2021-04-26 00:26:02", + "score_diff_str": "AAA+157" + }, + { + "music_id": 19020, + "version_id": 19, + "version_name": "Lincle", + "music_name": "Quick Silver", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2529, + "score_percent": 93.459, + "miss_count": 6, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1353, + "play_count": 6, + "update_time": "2021-04-14 22:06:26", + "score_diff_str": "AAA+123" + }, + { + "music_id": 19022, + "version_id": 19, + "version_name": "Lincle", + "music_name": "\u541b\u306e\u30cf\u30fc\u30c8\u306b\u30ed\u30c3\u30af\u30aa\u30f3", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2419, + "score_percent": 88.7381, + "miss_count": 12, + "grade": "AA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 11, + "note": 1363, + "play_count": 3, + "update_time": "2021-03-31 04:29:47", + "score_diff_str": "AAA-5" + }, + { + "music_id": 19026, + "version_id": 19, + "version_name": "Lincle", + "music_name": "The Sampling Paradise", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2795, + "score_percent": 90.4531, + "miss_count": 21, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1545, + "play_count": 9, + "update_time": "2021-05-02 05:56:14", + "score_diff_str": "AAA+48" + }, + { + "music_id": 19028, + "version_id": 19, + "version_name": "Lincle", + "music_name": "Thunderbolt", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3403, + "score_percent": 89.0372, + "miss_count": 35, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1911, + "play_count": 2, + "update_time": "2021-05-04 05:09:31", + "score_diff_str": "AAA+5" + }, + { + "music_id": 19030, + "version_id": 19, + "version_name": "Lincle", + "music_name": "NNRT", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3186, + "score_percent": 89.4944, + "miss_count": 27, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1780, + "play_count": 2, + "update_time": "2021-05-04 05:04:44", + "score_diff_str": "AAA+21" + }, + { + "music_id": 19031, + "version_id": 19, + "version_name": "Lincle", + "music_name": "SHADE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2833, + "score_percent": 96.7555, + "miss_count": 0, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 11, + "note": 1464, + "play_count": 12, + "update_time": "2021-05-07 05:29:22", + "score_diff_str": "MAX-95" + }, + { + "music_id": 19032, + "version_id": 19, + "version_name": "Lincle", + "music_name": "24th Century BOY", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1314, + "score_percent": 45.1236, + "miss_count": -1, + "grade": "C", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 11, + "note": 1456, + "play_count": 1, + "update_time": "2021-03-20 10:49:53", + "score_diff_str": "C+19" + }, + { + "music_id": 19033, + "version_id": 19, + "version_name": "Lincle", + "music_name": "The Limbo", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3018, + "score_percent": 88.7125, + "miss_count": 21, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1701, + "play_count": 13, + "update_time": "2021-05-14 03:06:21", + "score_diff_str": "AAA-6" + }, + { + "music_id": 19037, + "version_id": 19, + "version_name": "Lincle", + "music_name": "BLACK.by X-Cross Fade", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2658, + "score_percent": 76.4672, + "miss_count": 82, + "grade": "A", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1738, + "play_count": 8, + "update_time": "2021-05-14 03:09:09", + "score_diff_str": "AA-46" + }, + { + "music_id": 19040, + "version_id": 19, + "version_name": "Lincle", + "music_name": "Mermaid girl-\u79cb\u8449\u5de5\u623f MIX-", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2020, + "score_percent": 98.0583, + "miss_count": 0, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 9, + "note": 1030, + "play_count": 6, + "update_time": "2021-05-13 08:18:44", + "score_diff_str": "MAX-40" + }, + { + "music_id": 19053, + "version_id": 19, + "version_name": "Lincle", + "music_name": "\u30e6\u30df\u30eb", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2667, + "score_percent": 92.9916, + "miss_count": 16, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1434, + "play_count": 5, + "update_time": "2021-05-13 08:50:01", + "score_diff_str": "AAA+117" + }, + { + "music_id": 19060, + "version_id": 19, + "version_name": "Lincle", + "music_name": "Far east nightbird", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1968, + "score_percent": 96, + "miss_count": 4, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 9, + "note": 1025, + "play_count": 4, + "update_time": "2021-05-02 10:31:35", + "score_diff_str": "MAX-82" + }, + { + "music_id": 19063, + "version_id": 19, + "version_name": "Lincle", + "music_name": "QUANTUM TELEPORTATION", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 3287, + "score_percent": 89.0786, + "miss_count": 23, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1845, + "play_count": 4, + "update_time": "2021-04-09 12:45:54", + "score_diff_str": "AAA+7" + }, + { + "music_id": 19064, + "version_id": 19, + "version_name": "Lincle", + "music_name": "fffff", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2780, + "score_percent": 85.5911, + "miss_count": 44, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1624, + "play_count": 2, + "update_time": "2021-04-11 22:23:01", + "score_diff_str": "AAA-108" + }, + { + "music_id": 19065, + "version_id": 19, + "version_name": "Lincle", + "music_name": "\u5b50\u4f9b\u306e\u843d\u66f8\u304d\u5e33", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2381, + "score_percent": 85.3405, + "miss_count": 33, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1395, + "play_count": 4, + "update_time": "2021-05-14 03:03:36", + "score_diff_str": "AAA-99" + }, + { + "music_id": 19068, + "version_id": 19, + "version_name": "Lincle", + "music_name": "WONDER WALKER", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3584, + "score_percent": 93.2847, + "miss_count": 16, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1921, + "play_count": 6, + "update_time": "2021-05-08 07:55:35", + "score_diff_str": "AAA+168" + }, + { + "music_id": 19069, + "version_id": 19, + "version_name": "Lincle", + "music_name": "532nm", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2434, + "score_percent": 90.215, + "miss_count": 23, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1349, + "play_count": 1, + "update_time": "2021-05-09 08:50:48", + "score_diff_str": "AAA+35" + }, + { + "music_id": 19071, + "version_id": 19, + "version_name": "Lincle", + "music_name": "quaver\u266a", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3104, + "score_percent": 88.9398, + "miss_count": 36, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1745, + "play_count": 4, + "update_time": "2021-05-04 04:59:15", + "score_diff_str": "AAA+1" + }, + { + "music_id": 19074, + "version_id": 19, + "version_name": "Lincle", + "music_name": "TITANS RETURN", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2343, + "score_percent": 91.8824, + "miss_count": 14, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1275, + "play_count": 8, + "update_time": "2021-04-12 11:26:08", + "score_diff_str": "AAA+76" + }, + { + "music_id": 19074, + "version_id": 19, + "version_name": "Lincle", + "music_name": "TITANS RETURN", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 2208, + "score_percent": 80.1743, + "miss_count": 104, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1377, + "play_count": 13, + "update_time": "2021-05-04 04:54:59", + "score_diff_str": "AA+66" + }, + { + "music_id": 19075, + "version_id": 19, + "version_name": "Lincle", + "music_name": "HAERETICUS", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2561, + "score_percent": 80.5853, + "miss_count": 54, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1589, + "play_count": 5, + "update_time": "2021-04-24 06:19:34", + "score_diff_str": "AA+89" + }, + { + "music_id": 20002, + "version_id": 20, + "version_name": "tricoro", + "music_name": "Liberation", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3517, + "score_percent": 92.3097, + "miss_count": 19, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1905, + "play_count": 8, + "update_time": "2021-05-16 06:30:02", + "score_diff_str": "AAA+130" + }, + { + "music_id": 20003, + "version_id": 20, + "version_name": "tricoro", + "music_name": "\u0395\u039b\u03a0\u0399\u03a3", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2862, + "score_percent": 89.4375, + "miss_count": 9, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1600, + "play_count": 6, + "update_time": "2021-05-12 13:46:47", + "score_diff_str": "AAA+17" + }, + { + "music_id": 20004, + "version_id": 20, + "version_name": "tricoro", + "music_name": "\u72c2\u30a4\u54b2\u30b1\u7114\u30ce\u83ef", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3238, + "score_percent": 87.043, + "miss_count": 24, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1860, + "play_count": 5, + "update_time": "2021-05-13 09:19:29", + "score_diff_str": "AAA-69" + }, + { + "music_id": 20006, + "version_id": 20, + "version_name": "tricoro", + "music_name": "\u30c8\u30ea\u30ab\u30b4\u30ce\u9cf3\u51f0", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3267, + "score_percent": 84.5497, + "miss_count": 32, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1932, + "play_count": 1, + "update_time": "2021-04-12 00:42:40", + "score_diff_str": "AAA-168" + }, + { + "music_id": 20008, + "version_id": 20, + "version_name": "tricoro", + "music_name": "Confiserie", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2587, + "score_percent": 70.5674, + "miss_count": 135, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1833, + "play_count": 4, + "update_time": "2021-05-16 06:34:25", + "score_diff_str": "A+143" + }, + { + "music_id": 20012, + "version_id": 20, + "version_name": "tricoro", + "music_name": "Proof of the existence", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2976, + "score_percent": 88.8358, + "miss_count": 23, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1675, + "play_count": 6, + "update_time": "2021-05-16 05:05:44", + "score_diff_str": "AAA-2" + }, + { + "music_id": 20019, + "version_id": 20, + "version_name": "tricoro", + "music_name": "\u9f8d\u3068\u5c11\u5973\u3068\u30c7\u30b3\u30d2\u30fc\u30ec\u30f3\u30b9", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 574, + "score_percent": 16.7542, + "miss_count": -1, + "grade": "F", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1713, + "play_count": 1, + "update_time": "2021-04-17 14:37:51", + "score_diff_str": "D-568" + }, + { + "music_id": 20020, + "version_id": 20, + "version_name": "tricoro", + "music_name": "Elemental Creation", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3436, + "score_percent": 80.6573, + "miss_count": 93, + "grade": "AA", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 2130, + "play_count": 8, + "update_time": "2021-05-14 02:26:34", + "score_diff_str": "AA+122" + }, + { + "music_id": 20021, + "version_id": 20, + "version_name": "tricoro", + "music_name": "8bit Princess", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2578, + "score_percent": 97.7255, + "miss_count": 2, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1319, + "play_count": 8, + "update_time": "2021-05-14 00:45:41", + "score_diff_str": "MAX-60" + }, + { + "music_id": 20025, + "version_id": 20, + "version_name": "tricoro", + "music_name": "VEGA", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1556, + "score_percent": 49.1162, + "miss_count": -1, + "grade": "C", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 11, + "note": 1584, + "play_count": 2, + "update_time": "2021-03-31 03:46:25", + "score_diff_str": "C+148" + }, + { + "music_id": 20028, + "version_id": 20, + "version_name": "tricoro", + "music_name": "rumrum triplets", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2799, + "score_percent": 90.8177, + "miss_count": 11, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1541, + "play_count": 1, + "update_time": "2021-04-24 22:43:44", + "score_diff_str": "AAA+59" + }, + { + "music_id": 20029, + "version_id": 20, + "version_name": "tricoro", + "music_name": "Thor's Hammer", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2398, + "score_percent": 73.0652, + "miss_count": 110, + "grade": "A", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1641, + "play_count": 6, + "update_time": "2021-05-03 14:44:02", + "score_diff_str": "AA-155" + }, + { + "music_id": 20031, + "version_id": 20, + "version_name": "tricoro", + "music_name": "Illegal Function Call", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2429, + "score_percent": 86.8741, + "miss_count": 29, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1398, + "play_count": 9, + "update_time": "2021-05-16 06:37:21", + "score_diff_str": "AAA-57" + }, + { + "music_id": 20036, + "version_id": 20, + "version_name": "tricoro", + "music_name": "405nm (Ryu\u2606mix)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2407, + "score_percent": 92.5058, + "miss_count": 7, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1301, + "play_count": 1, + "update_time": "2021-05-09 08:53:09", + "score_diff_str": "AAA+94" + }, + { + "music_id": 20038, + "version_id": 20, + "version_name": "tricoro", + "music_name": "Plan 8", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2594, + "score_percent": 76.7456, + "miss_count": 136, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1690, + "play_count": 1, + "update_time": "2021-05-14 01:00:08", + "score_diff_str": "AA-35" + }, + { + "music_id": 20039, + "version_id": 20, + "version_name": "tricoro", + "music_name": "\u4eee\u60f3\u7a7a\u9593\u306e\u65c5\u4eba\u305f\u3061", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 3514, + "score_percent": 90.4272, + "miss_count": 29, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1943, + "play_count": 7, + "update_time": "2021-05-02 10:39:31", + "score_diff_str": "AAA+59" + }, + { + "music_id": 20041, + "version_id": 20, + "version_name": "tricoro", + "music_name": "SYNC-ANTHEM", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3355, + "score_percent": 89.9464, + "miss_count": 29, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1865, + "play_count": 5, + "update_time": "2021-05-14 01:51:09", + "score_diff_str": "AAA+39" + }, + { + "music_id": 20043, + "version_id": 20, + "version_name": "tricoro", + "music_name": "Timepiece phase II (CN Ver.)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2196, + "score_percent": 71.022, + "miss_count": -1, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1546, + "play_count": 8, + "update_time": "2021-05-15 00:13:34", + "score_diff_str": "A+134" + }, + { + "music_id": 20047, + "version_id": 20, + "version_name": "tricoro", + "music_name": "\u2020\u6e1a\u306e\u5c0f\u60aa\u9b54\u30e9\u30f4\u30ea\u30a3\uff5e\u30ec\u30a4\u30c7\u30a3\u30aa\u2020(IIDX EDIT)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3014, + "score_percent": 82.1253, + "miss_count": 58, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1835, + "play_count": 6, + "update_time": "2021-05-16 06:25:09", + "score_diff_str": "AA+159" + }, + { + "music_id": 20054, + "version_id": 20, + "version_name": "tricoro", + "music_name": "\u5373\u5e2d\uff01\u8133\u76f4\u2605\u30df\u30e5\u30fc\u30b8\u30c3\u30af\u30b7\u30b9\u30c6\u30e0", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3263, + "score_percent": 88.765, + "miss_count": 17, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1838, + "play_count": 3, + "update_time": "2021-05-16 06:22:09", + "score_diff_str": "AAA-5" + }, + { + "music_id": 20055, + "version_id": 20, + "version_name": "tricoro", + "music_name": "\u30ab\u30b8\u30ce\u30d5\u30a1\u30a4\u30e4\u30fc\u3053\u3068\u307f\u3061\u3083\u3093", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 577, + "score_percent": 22.6987, + "miss_count": -1, + "grade": "E", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 11, + "note": 1271, + "play_count": 1, + "update_time": "2021-04-04 13:49:21", + "score_diff_str": "E+12" + }, + { + "music_id": 20058, + "version_id": 20, + "version_name": "tricoro", + "music_name": "True Blue", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3405, + "score_percent": 89.6997, + "miss_count": 12, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 12, + "note": 1898, + "play_count": 5, + "update_time": "2021-04-28 00:11:15", + "score_diff_str": "AAA+30" + }, + { + "music_id": 20062, + "version_id": 20, + "version_name": "tricoro", + "music_name": "STULTI", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2139, + "score_percent": 75.5297, + "miss_count": 40, + "grade": "A", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1416, + "play_count": 1, + "update_time": "2021-04-06 13:10:34", + "score_diff_str": "AA-64" + }, + { + "music_id": 20063, + "version_id": 20, + "version_name": "tricoro", + "music_name": "Devilz Staircase", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2785, + "score_percent": 82.6409, + "miss_count": 47, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1685, + "play_count": 1, + "update_time": "2021-05-16 06:32:34", + "score_diff_str": "AA+163" + }, + { + "music_id": 20064, + "version_id": 20, + "version_name": "tricoro", + "music_name": "ZED", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1271, + "score_percent": 45.2313, + "miss_count": -1, + "grade": "C", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 11, + "note": 1405, + "play_count": 1, + "update_time": "2021-03-31 03:43:53", + "score_diff_str": "C+22" + }, + { + "music_id": 20067, + "version_id": 20, + "version_name": "tricoro", + "music_name": "Timepiece phase II", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2941, + "score_percent": 88.3183, + "miss_count": 29, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1665, + "play_count": 10, + "update_time": "2021-05-13 10:39:44", + "score_diff_str": "AAA-19" + }, + { + "music_id": 20070, + "version_id": 20, + "version_name": "tricoro", + "music_name": "DAY DREAM", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 914, + "score_percent": 42.5116, + "miss_count": -1, + "grade": "D", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1075, + "play_count": 8, + "update_time": "2021-03-20 23:31:24", + "score_diff_str": "C-42" + }, + { + "music_id": 20072, + "version_id": 20, + "version_name": "tricoro", + "music_name": "New Decade IIDX Edition", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2738, + "score_percent": 88.9539, + "miss_count": 31, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1539, + "play_count": 5, + "update_time": "2021-05-14 01:05:49", + "score_diff_str": "AAA+2" + }, + { + "music_id": 20073, + "version_id": 20, + "version_name": "tricoro", + "music_name": "Hollywood Galaxy", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2472, + "score_percent": 88.7931, + "miss_count": 25, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1392, + "play_count": 9, + "update_time": "2021-05-16 05:08:19", + "score_diff_str": "AAA-3" + }, + { + "music_id": 20074, + "version_id": 20, + "version_name": "tricoro", + "music_name": "neu", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3631, + "score_percent": 90.8204, + "miss_count": 20, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1999, + "play_count": 6, + "update_time": "2021-05-14 02:37:01", + "score_diff_str": "AAA+77" + }, + { + "music_id": 20083, + "version_id": 20, + "version_name": "tricoro", + "music_name": "\u305f\u307e\u3086\u3089", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2228, + "score_percent": 79.1756, + "miss_count": -1, + "grade": "AA", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1407, + "play_count": 1, + "update_time": "2021-04-04 14:38:12", + "score_diff_str": "AA+39" + }, + { + "music_id": 20087, + "version_id": 20, + "version_name": "tricoro", + "music_name": "Cookie Bouquets", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3252, + "score_percent": 94.8658, + "miss_count": 1, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 11, + "note": 1714, + "play_count": 1, + "update_time": "2021-04-24 22:39:12", + "score_diff_str": "MAX-176" + }, + { + "music_id": 20088, + "version_id": 20, + "version_name": "tricoro", + "music_name": "mnemoniq", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1265, + "score_percent": 96.1246, + "miss_count": 0, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 8, + "note": 658, + "play_count": 9, + "update_time": "2021-04-11 23:31:21", + "score_diff_str": "MAX-51" + }, + { + "music_id": 20094, + "version_id": 20, + "version_name": "tricoro", + "music_name": "Zirkfied", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3378, + "score_percent": 85.8232, + "miss_count": 55, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1968, + "play_count": 8, + "update_time": "2021-05-15 00:12:30", + "score_diff_str": "AAA-121" + }, + { + "music_id": 20095, + "version_id": 20, + "version_name": "tricoro", + "music_name": "examination leave", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3218, + "score_percent": 93.9836, + "miss_count": 12, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1712, + "play_count": 2, + "update_time": "2021-05-14 01:08:12", + "score_diff_str": "AAA+174" + }, + { + "music_id": 20097, + "version_id": 20, + "version_name": "tricoro", + "music_name": "Valanga", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2955, + "score_percent": 89.7086, + "miss_count": 38, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1647, + "play_count": 3, + "update_time": "2021-04-28 00:25:01", + "score_diff_str": "AAA+27" + }, + { + "music_id": 20101, + "version_id": 20, + "version_name": "tricoro", + "music_name": "\u30b7\u30e5\u30ec\u30fc\u30c7\u30a3\u30f3\u30ac\u30fc\u306e\u732b", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3090, + "score_percent": 89.9825, + "miss_count": 25, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1717, + "play_count": 3, + "update_time": "2021-04-17 13:44:03", + "score_diff_str": "AAA+37" + }, + { + "music_id": 21005, + "version_id": 21, + "version_name": "SPADA", + "music_name": "DARK LEGACY", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3218, + "score_percent": 88.0197, + "miss_count": 30, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1828, + "play_count": 9, + "update_time": "2021-05-16 06:07:34", + "score_diff_str": "AAA-32" + }, + { + "music_id": 21007, + "version_id": 21, + "version_name": "SPADA", + "music_name": "Critical Crystal", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2713, + "score_percent": 90.7358, + "miss_count": 20, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 11, + "note": 1495, + "play_count": 5, + "update_time": "2021-05-10 21:52:26", + "score_diff_str": "AAA+55" + }, + { + "music_id": 21008, + "version_id": 21, + "version_name": "SPADA", + "music_name": "Insane Techniques", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2295, + "score_percent": 90.8551, + "miss_count": 18, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1263, + "play_count": 1, + "update_time": "2021-04-25 00:01:56", + "score_diff_str": "AAA+49" + }, + { + "music_id": 21011, + "version_id": 21, + "version_name": "SPADA", + "music_name": "\u7f6a\u3068\u7f70", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2013, + "score_percent": 91.8339, + "miss_count": 20, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1096, + "play_count": 3, + "update_time": "2021-04-01 08:01:06", + "score_diff_str": "AAA+64" + }, + { + "music_id": 21012, + "version_id": 21, + "version_name": "SPADA", + "music_name": "Close the World feat. a\u2606ru", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3123, + "score_percent": 89.793, + "miss_count": 17, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1739, + "play_count": 2, + "update_time": "2021-05-08 08:41:13", + "score_diff_str": "AAA+31" + }, + { + "music_id": 21019, + "version_id": 21, + "version_name": "SPADA", + "music_name": "Adularia", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2636, + "score_percent": 90.9593, + "miss_count": 19, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1449, + "play_count": 5, + "update_time": "2021-05-13 09:38:02", + "score_diff_str": "AAA+60" + }, + { + "music_id": 21024, + "version_id": 21, + "version_name": "SPADA", + "music_name": "Funny shuffle", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2121, + "score_percent": 88.4487, + "miss_count": 30, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 11, + "note": 1199, + "play_count": 1, + "update_time": "2021-05-09 08:39:24", + "score_diff_str": "AAA-11" + }, + { + "music_id": 21029, + "version_id": 21, + "version_name": "SPADA", + "music_name": "\u5eff", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 2943, + "score_percent": 85.0087, + "miss_count": 47, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1731, + "play_count": 6, + "update_time": "2021-05-16 04:30:14", + "score_diff_str": "AAA-135" + }, + { + "music_id": 21032, + "version_id": 21, + "version_name": "SPADA", + "music_name": "\u7149\u7344\u306e\u30a8\u30eb\u30d5\u30a7\u30ea\u30a2", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2347, + "score_percent": 58.675, + "miss_count": -1, + "grade": "B", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 2000, + "play_count": 3, + "update_time": "2021-05-14 23:08:44", + "score_diff_str": "B+124" + }, + { + "music_id": 21033, + "version_id": 21, + "version_name": "SPADA", + "music_name": "INSOMNIA", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2884, + "score_percent": 86.8152, + "miss_count": 43, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1661, + "play_count": 2, + "update_time": "2021-05-13 09:41:06", + "score_diff_str": "AAA-69" + }, + { + "music_id": 21043, + "version_id": 21, + "version_name": "SPADA", + "music_name": "Hypersonik", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2380, + "score_percent": 93.5535, + "miss_count": 9, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 10, + "note": 1272, + "play_count": 3, + "update_time": "2021-05-10 21:55:22", + "score_diff_str": "AAA+118" + }, + { + "music_id": 21044, + "version_id": 21, + "version_name": "SPADA", + "music_name": "BLUE DRAGON(\u96f7\u9f8dRemixIIDX)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2971, + "score_percent": 86.0162, + "miss_count": 65, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1727, + "play_count": 2, + "update_time": "2021-05-08 08:46:26", + "score_diff_str": "AAA-100" + }, + { + "music_id": 21045, + "version_id": 21, + "version_name": "SPADA", + "music_name": "Last Dance", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2957, + "score_percent": 89.6061, + "miss_count": 25, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1650, + "play_count": 3, + "update_time": "2021-04-22 10:49:09", + "score_diff_str": "AAA+23" + }, + { + "music_id": 21047, + "version_id": 21, + "version_name": "SPADA", + "music_name": "ra'am", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2443, + "score_percent": 83.6071, + "miss_count": 44, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1461, + "play_count": 5, + "update_time": "2021-05-13 09:46:43", + "score_diff_str": "AAA-155" + }, + { + "music_id": 21048, + "version_id": 21, + "version_name": "SPADA", + "music_name": "\u75be\u98a8\u8fc5\u96f7", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2698, + "score_percent": 90.355, + "miss_count": 27, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1493, + "play_count": 9, + "update_time": "2021-04-30 10:32:47", + "score_diff_str": "AAA+43" + }, + { + "music_id": 21048, + "version_id": 21, + "version_name": "SPADA", + "music_name": "\u75be\u98a8\u8fc5\u96f7", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 2823, + "score_percent": 77.3849, + "miss_count": 124, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1824, + "play_count": 1, + "update_time": "2021-04-12 11:53:26", + "score_diff_str": "AA-15" + }, + { + "music_id": 21049, + "version_id": 21, + "version_name": "SPADA", + "music_name": "Immortal", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2797, + "score_percent": 87.0255, + "miss_count": 35, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1607, + "play_count": 3, + "update_time": "2021-04-06 12:58:18", + "score_diff_str": "AAA-60" + }, + { + "music_id": 21050, + "version_id": 21, + "version_name": "SPADA", + "music_name": "Verflucht", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3039, + "score_percent": 84.1828, + "miss_count": 36, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1805, + "play_count": 20, + "update_time": "2021-05-14 23:03:58", + "score_diff_str": "AAA-170" + }, + { + "music_id": 21052, + "version_id": 21, + "version_name": "SPADA", + "music_name": "Feel The Beat", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3267, + "score_percent": 89.2623, + "miss_count": 16, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 12, + "note": 1830, + "play_count": 4, + "update_time": "2021-05-08 08:38:41", + "score_diff_str": "AAA+13" + }, + { + "music_id": 21052, + "version_id": 21, + "version_name": "SPADA", + "music_name": "Feel The Beat", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 1312, + "score_percent": 29.4831, + "miss_count": -1, + "grade": "E", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 2225, + "play_count": 3, + "update_time": "2021-05-14 02:41:06", + "score_diff_str": "D-172" + }, + { + "music_id": 21055, + "version_id": 21, + "version_name": "SPADA", + "music_name": "Idola", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3297, + "score_percent": 90.2793, + "miss_count": 28, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1826, + "play_count": 5, + "update_time": "2021-04-22 09:12:39", + "score_diff_str": "AAA+50" + }, + { + "music_id": 21059, + "version_id": 21, + "version_name": "SPADA", + "music_name": "Sigmund", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3248, + "score_percent": 80.0394, + "miss_count": 76, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 2029, + "play_count": 9, + "update_time": "2021-05-14 02:39:56", + "score_diff_str": "AA+91" + }, + { + "music_id": 21062, + "version_id": 21, + "version_name": "SPADA", + "music_name": "VOX UP", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3188, + "score_percent": 85.2406, + "miss_count": 66, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1870, + "play_count": 8, + "update_time": "2021-05-13 09:30:08", + "score_diff_str": "AAA-137" + }, + { + "music_id": 21063, + "version_id": 21, + "version_name": "SPADA", + "music_name": "BRAINSTORM", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2590, + "score_percent": 89.372, + "miss_count": 35, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1449, + "play_count": 4, + "update_time": "2021-05-04 03:31:45", + "score_diff_str": "AAA+14" + }, + { + "music_id": 21069, + "version_id": 21, + "version_name": "SPADA", + "music_name": "Ancient Scapes", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3208, + "score_percent": 90.1124, + "miss_count": 19, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1780, + "play_count": 2, + "update_time": "2021-05-08 08:43:44", + "score_diff_str": "AAA+43" + }, + { + "music_id": 21069, + "version_id": 21, + "version_name": "SPADA", + "music_name": "Ancient Scapes", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 778, + "score_percent": 17.6979, + "miss_count": -1, + "grade": "F", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 2198, + "play_count": 1, + "update_time": "2021-03-30 11:03:39", + "score_diff_str": "D-688" + }, + { + "music_id": 21071, + "version_id": 21, + "version_name": "SPADA", + "music_name": "NEMESIS -gratitude remix- IIDX Edition", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2454, + "score_percent": 89.956, + "miss_count": 11, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 11, + "note": 1364, + "play_count": 2, + "update_time": "2021-05-09 08:34:14", + "score_diff_str": "AAA+29" + }, + { + "music_id": 21073, + "version_id": 21, + "version_name": "SPADA", + "music_name": "invoker", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2903, + "score_percent": 89.3781, + "miss_count": 26, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1624, + "play_count": 2, + "update_time": "2021-04-22 08:55:13", + "score_diff_str": "AAA+15" + }, + { + "music_id": 21073, + "version_id": 21, + "version_name": "SPADA", + "music_name": "invoker", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 2841, + "score_percent": 76.7423, + "miss_count": 85, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1851, + "play_count": 1, + "update_time": "2021-03-24 09:43:50", + "score_diff_str": "AA-39" + }, + { + "music_id": 21077, + "version_id": 21, + "version_name": "SPADA", + "music_name": "HYENA", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2594, + "score_percent": 90.4463, + "miss_count": 19, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 11, + "note": 1434, + "play_count": 1, + "update_time": "2021-05-09 08:37:16", + "score_diff_str": "AAA+44" + }, + { + "music_id": 21082, + "version_id": 21, + "version_name": "SPADA", + "music_name": "IX", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3275, + "score_percent": 81.5894, + "miss_count": 75, + "grade": "AA", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 2007, + "play_count": 3, + "update_time": "2021-05-15 00:08:33", + "score_diff_str": "AA+153" + }, + { + "music_id": 21083, + "version_id": 21, + "version_name": "SPADA", + "music_name": "Engraved Mark", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2232, + "score_percent": 91.3257, + "miss_count": 19, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1222, + "play_count": 1, + "update_time": "2021-04-19 08:50:51", + "score_diff_str": "AAA+59" + }, + { + "music_id": 21088, + "version_id": 21, + "version_name": "SPADA", + "music_name": "\u6d77\u795e", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2853, + "score_percent": 87.5691, + "miss_count": -1, + "grade": "AA", + "clear_type": "ASSIST CLEAR", + "clear_type_id": 2, + "level": 12, + "note": 1629, + "play_count": 8, + "update_time": "2021-05-16 06:04:00", + "score_diff_str": "AAA-43" + }, + { + "music_id": 21089, + "version_id": 21, + "version_name": "SPADA", + "music_name": "KAISER PHOENIX", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2843, + "score_percent": 83.9634, + "miss_count": 49, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1693, + "play_count": 3, + "update_time": "2021-05-14 02:44:46", + "score_diff_str": "AAA-167" + }, + { + "music_id": 21089, + "version_id": 21, + "version_name": "SPADA", + "music_name": "KAISER PHOENIX", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 2227, + "score_percent": 54.9605, + "miss_count": -1, + "grade": "C", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 2026, + "play_count": 2, + "update_time": "2021-04-24 05:17:31", + "score_diff_str": "B-25" + }, + { + "music_id": 21090, + "version_id": 21, + "version_name": "SPADA", + "music_name": "SCHWARZSCHILD FIELD", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2215, + "score_percent": 89.8945, + "miss_count": 9, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 11, + "note": 1232, + "play_count": 12, + "update_time": "2021-05-10 21:48:10", + "score_diff_str": "AAA+24" + }, + { + "music_id": 21201, + "version_id": 12, + "version_name": "HAPPY SKY", + "music_name": "Scripted Connection\u21d2 long mix", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 7974, + "score_percent": 89.4147, + "miss_count": 41, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 4459, + "play_count": 2, + "update_time": "2021-04-04 14:23:52", + "score_diff_str": "AAA+46" + }, + { + "music_id": 22001, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Broken Sword", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3478, + "score_percent": 92.1569, + "miss_count": 17, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 12, + "note": 1887, + "play_count": 6, + "update_time": "2021-05-04 04:39:42", + "score_diff_str": "AAA+123" + }, + { + "music_id": 22002, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Line 4 Ruin", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2720, + "score_percent": 97.0043, + "miss_count": 5, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1402, + "play_count": 5, + "update_time": "2021-05-16 22:55:25", + "score_diff_str": "MAX-84" + }, + { + "music_id": 22003, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Rave*it!! Rave*it!!", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2961, + "score_percent": 89.4022, + "miss_count": 59, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1656, + "play_count": 11, + "update_time": "2021-04-19 07:48:41", + "score_diff_str": "AAA+17" + }, + { + "music_id": 22004, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Shooting Fireball", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3568, + "score_percent": 89.9647, + "miss_count": 26, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1983, + "play_count": 1, + "update_time": "2021-04-17 13:25:15", + "score_diff_str": "AAA+42" + }, + { + "music_id": 22006, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Cosmic Cat", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2202, + "score_percent": 94.4254, + "miss_count": 3, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 11, + "note": 1166, + "play_count": 1, + "update_time": "2021-05-09 08:44:36", + "score_diff_str": "AAA+129" + }, + { + "music_id": 22006, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Cosmic Cat", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 2965, + "score_percent": 89.7941, + "miss_count": 19, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1651, + "play_count": 4, + "update_time": "2021-04-09 10:57:45", + "score_diff_str": "AAA+29" + }, + { + "music_id": 22007, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Reflux", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2665, + "score_percent": 84.6569, + "miss_count": 62, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1574, + "play_count": 2, + "update_time": "2021-05-09 10:20:35", + "score_diff_str": "AAA-134" + }, + { + "music_id": 22008, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "CHRONO DIVER -NORNIR-", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 757, + "score_percent": 16.9503, + "miss_count": -1, + "grade": "F", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 2233, + "play_count": 1, + "update_time": "2021-03-21 03:11:48", + "score_diff_str": "D-732" + }, + { + "music_id": 22009, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "\u8868\u88cf\u4e00\u4f53\uff01\uff1f\u602a\u76d7\u3044\u3044\u3093\u3061\u3087\u306e\u60a9\u307f\u2665", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3354, + "score_percent": 92.3967, + "miss_count": 8, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1815, + "play_count": 5, + "update_time": "2021-05-16 05:15:30", + "score_diff_str": "AAA+127" + }, + { + "music_id": 22012, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "\u5171\u9cf4\u904a\u622f\u306e\u83ef", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3255, + "score_percent": 81.375, + "miss_count": 49, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 2000, + "play_count": 7, + "update_time": "2021-05-09 10:28:33", + "score_diff_str": "AA+143" + }, + { + "music_id": 22013, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "chrono diver -fragment-", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 2221, + "score_percent": 97.9277, + "miss_count": 2, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 10, + "note": 1134, + "play_count": 16, + "update_time": "2021-05-07 05:16:13", + "score_diff_str": "MAX-47" + }, + { + "music_id": 22014, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "AFRO KNUCKLE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2290, + "score_percent": 93.3931, + "miss_count": 10, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 11, + "note": 1226, + "play_count": 1, + "update_time": "2021-05-09 08:41:58", + "score_diff_str": "AAA+110" + }, + { + "music_id": 22015, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Despair of ELFERIA", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3729, + "score_percent": 88.9552, + "miss_count": 44, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 2096, + "play_count": 12, + "update_time": "2021-05-07 05:51:44", + "score_diff_str": "AAA+2" + }, + { + "music_id": 22016, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Flashes", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1416, + "score_percent": 41.8687, + "miss_count": -1, + "grade": "D", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1691, + "play_count": 1, + "update_time": "2021-04-25 06:53:20", + "score_diff_str": "C-88" + }, + { + "music_id": 22017, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Symmetry", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3055, + "score_percent": 92.0735, + "miss_count": 19, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1659, + "play_count": 8, + "update_time": "2021-05-16 05:35:38", + "score_diff_str": "AAA+105" + }, + { + "music_id": 22018, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "FANTASTIC THREE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2883, + "score_percent": 87.4166, + "miss_count": 52, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1649, + "play_count": 4, + "update_time": "2021-05-02 11:03:08", + "score_diff_str": "AAA-49" + }, + { + "music_id": 22027, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Beat Radiance", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 3439, + "score_percent": 95.0525, + "miss_count": 10, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1809, + "play_count": 9, + "update_time": "2021-05-04 03:41:14", + "score_diff_str": "MAX-179" + }, + { + "music_id": 22031, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "\u8d85\u9752\u5c11\u5e74\u30ce\u70ba\u30ce\u8d85\u591a\u5e78\u30ca\u8d85\u53e4\u5178\u7684\u8d85\u821e\u66f2", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2431, + "score_percent": 90.037, + "miss_count": 39, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1350, + "play_count": 5, + "update_time": "2021-04-02 09:56:37", + "score_diff_str": "AAA+31" + }, + { + "music_id": 22031, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "\u8d85\u9752\u5c11\u5e74\u30ce\u70ba\u30ce\u8d85\u591a\u5e78\u30ca\u8d85\u53e4\u5178\u7684\u8d85\u821e\u66f2", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 3637, + "score_percent": 86.1848, + "miss_count": 81, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 2110, + "play_count": 6, + "update_time": "2021-05-06 11:30:30", + "score_diff_str": "AAA-115" + }, + { + "music_id": 22032, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "\u30ea\u30ea\u30fc\u30bc\u3068\u708e\u9f8d\u30ec\u30fc\u30f4\u30a1\u30c6\u30a4\u30f3", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3093, + "score_percent": 87.3235, + "miss_count": 43, + "grade": "AA", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1771, + "play_count": 7, + "update_time": "2021-05-16 05:20:39", + "score_diff_str": "AAA-56" + }, + { + "music_id": 22033, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "cinder", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2867, + "score_percent": 89.5378, + "miss_count": 35, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1601, + "play_count": 5, + "update_time": "2021-05-09 10:08:38", + "score_diff_str": "AAA+20" + }, + { + "music_id": 22038, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "\u7d05\u7261\u4e39", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2658, + "score_percent": 91.9723, + "miss_count": 15, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1445, + "play_count": 1, + "update_time": "2021-04-17 14:21:36", + "score_diff_str": "AAA+89" + }, + { + "music_id": 22040, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "#The_Relentless", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2761, + "score_percent": 93.3401, + "miss_count": 12, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 11, + "note": 1479, + "play_count": 1, + "update_time": "2021-05-07 05:54:27", + "score_diff_str": "AAA+131" + }, + { + "music_id": 22043, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "IMPLANTATION", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2103, + "score_percent": 90.4127, + "miss_count": 40, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1163, + "play_count": 9, + "update_time": "2021-05-09 10:05:18", + "score_diff_str": "AAA+35" + }, + { + "music_id": 22044, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Night sky", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2676, + "score_percent": 89.7384, + "miss_count": 20, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1491, + "play_count": 2, + "update_time": "2021-04-04 14:48:08", + "score_diff_str": "AAA+25" + }, + { + "music_id": 22049, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "HELL SCAPER -Last Escape Remix-", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2652, + "score_percent": 90.9465, + "miss_count": 18, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1458, + "play_count": 6, + "update_time": "2021-05-16 22:58:50", + "score_diff_str": "AAA+60" + }, + { + "music_id": 22053, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Gravigazer", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2658, + "score_percent": 86.6928, + "miss_count": 39, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1533, + "play_count": 3, + "update_time": "2021-05-02 11:07:07", + "score_diff_str": "AAA-68" + }, + { + "music_id": 22054, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Chrono Diver -PENDULUMs-", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3390, + "score_percent": 76.2826, + "miss_count": 145, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 2222, + "play_count": 5, + "update_time": "2021-05-09 10:31:57", + "score_diff_str": "AA-67" + }, + { + "music_id": 22055, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "SpaceLand\u2606TOYBOX", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2702, + "score_percent": 90.0067, + "miss_count": 24, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1501, + "play_count": 1, + "update_time": "2021-05-16 05:27:59", + "score_diff_str": "AAA+33" + }, + { + "music_id": 22057, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Vulkan", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2819, + "score_percent": 92.8524, + "miss_count": 13, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 11, + "note": 1518, + "play_count": 4, + "update_time": "2021-05-02 11:11:18", + "score_diff_str": "AAA+120" + }, + { + "music_id": 22059, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "\u30d9\u30a3\u30b9\u30c9\u30ed\u30c3\u30d7\u30fb\u30d5\u30ea\u30fc\u30af\u30b9", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2085, + "score_percent": 91.2073, + "miss_count": 19, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1143, + "play_count": 1, + "update_time": "2021-05-09 08:13:48", + "score_diff_str": "AAA+53" + }, + { + "music_id": 22065, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "entelecheia", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3023, + "score_percent": 91.2191, + "miss_count": 18, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1657, + "play_count": 6, + "update_time": "2021-05-08 08:01:34", + "score_diff_str": "AAA+77" + }, + { + "music_id": 22067, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "\u3068\u308d\u3074\u304b\u308b\u5036\u697d\u90e8", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2098, + "score_percent": 90.9012, + "miss_count": 20, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1154, + "play_count": 8, + "update_time": "2021-05-02 11:08:50", + "score_diff_str": "AAA+46" + }, + { + "music_id": 22069, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "The Least 100sec", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2665, + "score_percent": 88.5382, + "miss_count": 26, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1505, + "play_count": 9, + "update_time": "2021-05-16 05:12:07", + "score_diff_str": "AAA-11" + }, + { + "music_id": 22070, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "fallen leaves -IIDX edition-", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1499, + "score_percent": 42.9513, + "miss_count": -1, + "grade": "D", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1745, + "play_count": 1, + "update_time": "2021-04-04 14:44:50", + "score_diff_str": "C-53" + }, + { + "music_id": 22071, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Ludus In Tenebris", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3199, + "score_percent": 88.419, + "miss_count": 27, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1809, + "play_count": 8, + "update_time": "2021-05-04 03:37:39", + "score_diff_str": "AAA-17" + }, + { + "music_id": 22073, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Monopole.", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2861, + "score_percent": 82.7357, + "miss_count": -1, + "grade": "AA", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1729, + "play_count": 2, + "update_time": "2021-05-09 10:15:53", + "score_diff_str": "AA+171" + }, + { + "music_id": 22074, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "TOXIC VIBRATION", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3269, + "score_percent": 84.5577, + "miss_count": 43, + "grade": "AA", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1933, + "play_count": 2, + "update_time": "2021-05-04 04:34:43", + "score_diff_str": "AAA-168" + }, + { + "music_id": 22075, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Erosion Mark", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2065, + "score_percent": 94.2062, + "miss_count": 6, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1096, + "play_count": 2, + "update_time": "2021-05-16 22:57:34", + "score_diff_str": "AAA+116" + }, + { + "music_id": 22077, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "ZZ", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2848, + "score_percent": 92.4075, + "miss_count": 9, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1541, + "play_count": 4, + "update_time": "2021-05-08 08:52:57", + "score_diff_str": "AAA+108" + }, + { + "music_id": 22078, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Rave Saves You feat. Cardz (Exclusive IIDX Mix)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2110, + "score_percent": 90.1709, + "miss_count": 15, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1170, + "play_count": 1, + "update_time": "2021-04-04 14:50:45", + "score_diff_str": "AAA+30" + }, + { + "music_id": 22079, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "TIEFSEE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3152, + "score_percent": 89.9543, + "miss_count": 9, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1752, + "play_count": 1, + "update_time": "2021-05-09 09:50:38", + "score_diff_str": "AAA+37" + }, + { + "music_id": 22080, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "We're so Happy (P*Light Remix) IIDX ver.", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3170, + "score_percent": 83.597, + "miss_count": 63, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1896, + "play_count": 1, + "update_time": "2021-04-19 07:51:35", + "score_diff_str": "AAA-201" + }, + { + "music_id": 22081, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Hollywood Galaxy(DJ NAGAI Remix)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3211, + "score_percent": 90.2981, + "miss_count": 14, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1778, + "play_count": 1, + "update_time": "2021-04-17 14:12:57", + "score_diff_str": "AAA+50" + }, + { + "music_id": 22083, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "\u5343\u5e74\u30ce\u7406", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3083, + "score_percent": 95.8644, + "miss_count": 6, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1608, + "play_count": 15, + "update_time": "2021-04-30 09:07:31", + "score_diff_str": "MAX-133" + }, + { + "music_id": 22083, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "\u5343\u5e74\u30ce\u7406", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 1719, + "score_percent": 39.3724, + "miss_count": -1, + "grade": "D", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 2183, + "play_count": 4, + "update_time": "2021-04-02 11:56:15", + "score_diff_str": "C-222" + }, + { + "music_id": 22086, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Scarlet Moon", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2573, + "score_percent": 92.6206, + "miss_count": 8, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1389, + "play_count": 1, + "update_time": "2021-04-09 10:04:04", + "score_diff_str": "AAA+103" + }, + { + "music_id": 22087, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "\u305d\u308c\u306f\u82b1\u706b\u306e\u3088\u3046\u306a\u604b", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3492, + "score_percent": 88.3603, + "miss_count": 28, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1976, + "play_count": 5, + "update_time": "2021-05-16 05:17:32", + "score_diff_str": "AAA-21" + }, + { + "music_id": 22088, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "\u30d1\u2192\u30d4\u2192\u30d7\u2192Yeah!", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1984, + "score_percent": 77.5, + "miss_count": -1, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 11, + "note": 1280, + "play_count": 5, + "update_time": "2021-04-09 10:20:49", + "score_diff_str": "AA-8" + }, + { + "music_id": 22089, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "EBONY & IVORY", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2696, + "score_percent": 88.6842, + "miss_count": 22, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1520, + "play_count": 18, + "update_time": "2021-05-13 10:30:09", + "score_diff_str": "AAA-7" + }, + { + "music_id": 22089, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "EBONY & IVORY", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 1517, + "score_percent": 40.1961, + "miss_count": -1, + "grade": "D", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1887, + "play_count": 3, + "update_time": "2021-04-06 12:16:55", + "score_diff_str": "C-161" + }, + { + "music_id": 22091, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Sounds Of Summer", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2721, + "score_percent": 89.9207, + "miss_count": 24, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1513, + "play_count": 6, + "update_time": "2021-05-04 04:36:31", + "score_diff_str": "AAA+31" + }, + { + "music_id": 22093, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "\u5c11\u5e74\u306f\u7a7a\u3092\u8fbf\u308b", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2920, + "score_percent": 84.4419, + "miss_count": 25, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1729, + "play_count": 5, + "update_time": "2021-05-13 09:52:09", + "score_diff_str": "AAA-154" + }, + { + "music_id": 22099, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "Invitation from Mr.C", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2424, + "score_percent": 86.2633, + "miss_count": 45, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1405, + "play_count": 5, + "update_time": "2021-04-26 00:37:29", + "score_diff_str": "AAA-74" + }, + { + "music_id": 22100, + "version_id": 22, + "version_name": "PENDUAL", + "music_name": "PENDUAL TALISMAN", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2532, + "score_percent": 96.347, + "miss_count": 11, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1314, + "play_count": 2, + "update_time": "2021-05-14 21:52:17", + "score_diff_str": "MAX-96" + }, + { + "music_id": 23001, + "version_id": 23, + "version_name": "copula", + "music_name": "\u99c5\u732b\u306e\u30ef\u30eb\u30c4", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2358, + "score_percent": 75.6739, + "miss_count": 67, + "grade": "A", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1558, + "play_count": 16, + "update_time": "2021-05-14 02:00:46", + "score_diff_str": "AA-66" + }, + { + "music_id": 23002, + "version_id": 23, + "version_name": "copula", + "music_name": "SHELTER OF THE MIND", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2908, + "score_percent": 94.5384, + "miss_count": 5, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1538, + "play_count": 1, + "update_time": "2021-04-04 13:42:37", + "score_diff_str": "MAX-168" + }, + { + "music_id": 23005, + "version_id": 23, + "version_name": "copula", + "music_name": "Nightmare before oversleep", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2730, + "score_percent": 91, + "miss_count": 22, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1500, + "play_count": 3, + "update_time": "2021-04-17 14:28:00", + "score_diff_str": "AAA+63" + }, + { + "music_id": 23007, + "version_id": 23, + "version_name": "copula", + "music_name": "Highcharge Divolt", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2533, + "score_percent": 89.1274, + "miss_count": 23, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1421, + "play_count": 8, + "update_time": "2021-04-22 10:57:53", + "score_diff_str": "AAA+6" + }, + { + "music_id": 23008, + "version_id": 23, + "version_name": "copula", + "music_name": "Uh-Oh", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2147, + "score_percent": 87.4186, + "miss_count": 36, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1228, + "play_count": 1, + "update_time": "2021-04-25 23:55:03", + "score_diff_str": "AAA-37" + }, + { + "music_id": 23009, + "version_id": 23, + "version_name": "copula", + "music_name": "M4K3 1T B0UNC3", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2851, + "score_percent": 92.2057, + "miss_count": 16, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1546, + "play_count": 11, + "update_time": "2021-05-14 02:09:33", + "score_diff_str": "AAA+102" + }, + { + "music_id": 23010, + "version_id": 23, + "version_name": "copula", + "music_name": "Donkey Donk", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1922, + "score_percent": 83.5652, + "miss_count": -1, + "grade": "AA", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 10, + "note": 1150, + "play_count": 1, + "update_time": "2021-03-24 07:34:50", + "score_diff_str": "AAA-123" + }, + { + "music_id": 23013, + "version_id": 23, + "version_name": "copula", + "music_name": "refrain", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3330, + "score_percent": 89.6607, + "miss_count": 27, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1857, + "play_count": 16, + "update_time": "2021-05-14 02:54:09", + "score_diff_str": "AAA+28" + }, + { + "music_id": 23015, + "version_id": 23, + "version_name": "copula", + "music_name": "Central Station", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2295, + "score_percent": 93.8267, + "miss_count": 5, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1223, + "play_count": 2, + "update_time": "2021-05-16 22:46:40", + "score_diff_str": "AAA+120" + }, + { + "music_id": 23018, + "version_id": 23, + "version_name": "copula", + "music_name": "X", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3473, + "score_percent": 88.96, + "miss_count": 35, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1952, + "play_count": 4, + "update_time": "2021-05-08 08:21:55", + "score_diff_str": "AAA+2" + }, + { + "music_id": 23021, + "version_id": 23, + "version_name": "copula", + "music_name": "Daily Lunch Special", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1348, + "score_percent": 45.1138, + "miss_count": -1, + "grade": "C", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 11, + "note": 1494, + "play_count": 1, + "update_time": "2021-04-25 23:44:46", + "score_diff_str": "C+20" + }, + { + "music_id": 23027, + "version_id": 23, + "version_name": "copula", + "music_name": "Dynamite", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3160, + "score_percent": 80.9012, + "miss_count": 106, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1953, + "play_count": 2, + "update_time": "2021-04-01 14:51:37", + "score_diff_str": "AA+122" + }, + { + "music_id": 23030, + "version_id": 23, + "version_name": "copula", + "music_name": "Routing", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2358, + "score_percent": 89.1156, + "miss_count": 26, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 11, + "note": 1323, + "play_count": 2, + "update_time": "2021-05-06 11:35:34", + "score_diff_str": "AAA+6" + }, + { + "music_id": 23031, + "version_id": 23, + "version_name": "copula", + "music_name": "STARLIGHT DANCEHALL", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 3056, + "score_percent": 89.2523, + "miss_count": 36, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1712, + "play_count": 6, + "update_time": "2021-05-16 05:01:20", + "score_diff_str": "AAA+12" + }, + { + "music_id": 23037, + "version_id": 23, + "version_name": "copula", + "music_name": "AO-1", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2486, + "score_percent": 86.14, + "miss_count": 51, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1443, + "play_count": 4, + "update_time": "2021-05-15 00:16:08", + "score_diff_str": "AAA-80" + }, + { + "music_id": 23041, + "version_id": 23, + "version_name": "copula", + "music_name": "\u771f \u5730\u7344\u8d85\u7279\u6025 -HELL or HELL-", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2746, + "score_percent": 79.502, + "miss_count": 83, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1727, + "play_count": 4, + "update_time": "2021-05-07 07:44:22", + "score_diff_str": "AA+59" + }, + { + "music_id": 23042, + "version_id": 23, + "version_name": "copula", + "music_name": "Ride To The Core", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2432, + "score_percent": 92.8953, + "miss_count": 10, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1309, + "play_count": 1, + "update_time": "2021-04-04 13:39:08", + "score_diff_str": "AAA+104" + }, + { + "music_id": 23043, + "version_id": 23, + "version_name": "copula", + "music_name": "Rock It", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1180, + "score_percent": 39.3333, + "miss_count": -1, + "grade": "D", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 11, + "note": 1500, + "play_count": 1, + "update_time": "2021-03-23 08:56:42", + "score_diff_str": "C-154" + }, + { + "music_id": 23045, + "version_id": 23, + "version_name": "copula", + "music_name": "\u3081\u3044\u3055\u3044\u30a2\u30a4\u30c9\u30eb\u2606\u3042\u3044\u3080\u3061\u3083\u3093\u266a", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 397, + "score_percent": 11.5609, + "miss_count": -1, + "grade": "F", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1717, + "play_count": 1, + "update_time": "2021-04-17 14:25:28", + "score_diff_str": "E-367" + }, + { + "music_id": 23046, + "version_id": 23, + "version_name": "copula", + "music_name": "\u91cf\u5b50\u306e\u6d77\u306e\u30ea\u30f3\u30c8\u30f4\u30eb\u30e0", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2710, + "score_percent": 89.8541, + "miss_count": 25, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1508, + "play_count": 1, + "update_time": "2021-03-25 10:39:44", + "score_diff_str": "AAA+29" + }, + { + "music_id": 23053, + "version_id": 23, + "version_name": "copula", + "music_name": "On the FM", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2524, + "score_percent": 88.9359, + "miss_count": 20, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1419, + "play_count": 7, + "update_time": "2021-05-13 08:36:35", + "score_diff_str": "AAA+1" + }, + { + "music_id": 23054, + "version_id": 23, + "version_name": "copula", + "music_name": "Damage Per Second", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 2218, + "score_percent": 96.1839, + "miss_count": 4, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1153, + "play_count": 7, + "update_time": "2021-04-16 13:06:03", + "score_diff_str": "MAX-88" + }, + { + "music_id": 23055, + "version_id": 23, + "version_name": "copula", + "music_name": "199024club -Re:BounceKiller-", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1813, + "score_percent": 71.9444, + "miss_count": 86, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1260, + "play_count": 1, + "update_time": "2021-05-16 05:45:43", + "score_diff_str": "A+133" + }, + { + "music_id": 23061, + "version_id": 23, + "version_name": "copula", + "music_name": "Devil's Gear", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3067, + "score_percent": 85.527, + "miss_count": 48, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1793, + "play_count": 4, + "update_time": "2021-05-14 02:03:55", + "score_diff_str": "AAA-121" + }, + { + "music_id": 23063, + "version_id": 23, + "version_name": "copula", + "music_name": "Blue Spring Express", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2957, + "score_percent": 85.5613, + "miss_count": 52, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1728, + "play_count": 7, + "update_time": "2021-05-14 02:07:17", + "score_diff_str": "AAA-115" + }, + { + "music_id": 23065, + "version_id": 23, + "version_name": "copula", + "music_name": "\u70b8\u88c2\uff01\u30a4\u30a7\u30fc\u30ac\u30fc\u96fb\u5149\u30c1\u30e7\u30c3\u30d7\uff01\uff01(JAEGER FINAL ATTACK)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2468, + "score_percent": 94.0549, + "miss_count": 7, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 11, + "note": 1312, + "play_count": 15, + "update_time": "2021-05-06 11:54:56", + "score_diff_str": "AAA+135" + }, + { + "music_id": 23066, + "version_id": 23, + "version_name": "copula", + "music_name": "GOBBLE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1581, + "score_percent": 91.2818, + "miss_count": 7, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 11, + "note": 866, + "play_count": 10, + "update_time": "2021-04-25 23:42:52", + "score_diff_str": "AAA+41" + }, + { + "music_id": 23068, + "version_id": 23, + "version_name": "copula", + "music_name": "chaos eater -IIDX edition-", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2336, + "score_percent": 87.9518, + "miss_count": 42, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1328, + "play_count": 1, + "update_time": "2021-03-24 07:40:13", + "score_diff_str": "AAA-25" + }, + { + "music_id": 23069, + "version_id": 23, + "version_name": "copula", + "music_name": "Battle Train -IIDX Edition-", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2082, + "score_percent": 61.7072, + "miss_count": -1, + "grade": "B", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 11, + "note": 1687, + "play_count": 1, + "update_time": "2021-04-04 13:48:12", + "score_diff_str": "A-168" + }, + { + "music_id": 23070, + "version_id": 23, + "version_name": "copula", + "music_name": "Welcome", + "play_type": "SINGLE", + "diff_type": "LEGGENDARIA", + "score": 1578, + "score_percent": 46.3845, + "miss_count": -1, + "grade": "C", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1701, + "play_count": 3, + "update_time": "2021-05-06 12:13:12", + "score_diff_str": "C+66" + }, + { + "music_id": 23072, + "version_id": 23, + "version_name": "copula", + "music_name": "Konzert V", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3023, + "score_percent": 88.3918, + "miss_count": 31, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1710, + "play_count": 10, + "update_time": "2021-05-13 10:41:15", + "score_diff_str": "AAA-17" + }, + { + "music_id": 23074, + "version_id": 23, + "version_name": "copula", + "music_name": "POSSESSION", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2781, + "score_percent": 91.4201, + "miss_count": 58, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1521, + "play_count": 7, + "update_time": "2021-05-16 05:42:09", + "score_diff_str": "AAA+77" + }, + { + "music_id": 23075, + "version_id": 23, + "version_name": "copula", + "music_name": "Godspeed", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2915, + "score_percent": 89.3624, + "miss_count": 30, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1631, + "play_count": 15, + "update_time": "2021-04-30 10:21:30", + "score_diff_str": "AAA+15" + }, + { + "music_id": 23079, + "version_id": 23, + "version_name": "copula", + "music_name": "NINJA IS DEAD IIDX ver.", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2708, + "score_percent": 89.0789, + "miss_count": 48, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1520, + "play_count": 6, + "update_time": "2021-03-26 04:21:09", + "score_diff_str": "AAA+5" + }, + { + "music_id": 23083, + "version_id": 23, + "version_name": "copula", + "music_name": "\u7d2b\u967d\u82b1 -AZISAI-", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2626, + "score_percent": 88.1208, + "miss_count": 17, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1490, + "play_count": 2, + "update_time": "2021-05-12 12:20:59", + "score_diff_str": "AAA-23" + }, + { + "music_id": 23085, + "version_id": 23, + "version_name": "copula", + "music_name": "CODE:1 [revision1.0.1]", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2856, + "score_percent": 89.8113, + "miss_count": 23, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1590, + "play_count": 5, + "update_time": "2021-05-02 10:45:01", + "score_diff_str": "AAA+29" + }, + { + "music_id": 23086, + "version_id": 23, + "version_name": "copula", + "music_name": "SEITEN NO TERIYAKI", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2110, + "score_percent": 90.7137, + "miss_count": 8, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1163, + "play_count": 2, + "update_time": "2021-05-10 21:18:34", + "score_diff_str": "AAA+42" + }, + { + "music_id": 23088, + "version_id": 23, + "version_name": "copula", + "music_name": "NZM", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2975, + "score_percent": 83.4268, + "miss_count": 62, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1783, + "play_count": 9, + "update_time": "2021-05-12 12:15:53", + "score_diff_str": "AAA-195" + }, + { + "music_id": 23094, + "version_id": 23, + "version_name": "copula", + "music_name": "Triple Counter", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3502, + "score_percent": 86.8552, + "miss_count": 61, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 2016, + "play_count": 10, + "update_time": "2021-05-16 05:51:14", + "score_diff_str": "AAA-82" + }, + { + "music_id": 24001, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "\u7114\u6975OVERKILL", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2950, + "score_percent": 77.5907, + "miss_count": -1, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1901, + "play_count": 1, + "update_time": "2021-05-04 04:21:41", + "score_diff_str": "AA-8" + }, + { + "music_id": 24003, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "\u30a4\u30b6\u30ca\u30df\u30ce\u30ca\u30b2\u30ad", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2977, + "score_percent": 89.6147, + "miss_count": 29, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1661, + "play_count": 4, + "update_time": "2021-04-22 10:39:23", + "score_diff_str": "AAA+24" + }, + { + "music_id": 24005, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "Super Rush", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3243, + "score_percent": 90.536, + "miss_count": 48, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1791, + "play_count": 7, + "update_time": "2021-05-06 13:52:38", + "score_diff_str": "AAA+59" + }, + { + "music_id": 24006, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "Rave Cannon", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3068, + "score_percent": 90.2353, + "miss_count": 26, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1700, + "play_count": 4, + "update_time": "2021-03-29 09:25:07", + "score_diff_str": "AAA+45" + }, + { + "music_id": 24007, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "Caterpillar", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2612, + "score_percent": 83.6643, + "miss_count": 41, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1561, + "play_count": 3, + "update_time": "2021-05-07 05:04:22", + "score_diff_str": "AAA-164" + }, + { + "music_id": 24010, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "Mare Nectaris", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2803, + "score_percent": 66.9293, + "miss_count": 199, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 2094, + "play_count": 5, + "update_time": "2021-05-07 07:07:33", + "score_diff_str": "A+11" + }, + { + "music_id": 24012, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "TOGAKUSHI", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2426, + "score_percent": 90.3202, + "miss_count": 30, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1343, + "play_count": 11, + "update_time": "2021-05-14 03:41:06", + "score_diff_str": "AAA+38" + }, + { + "music_id": 24014, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "\u6d25\u8efd\u96ea", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3530, + "score_percent": 90.3738, + "miss_count": 23, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1953, + "play_count": 10, + "update_time": "2021-05-07 07:01:52", + "score_diff_str": "AAA+58" + }, + { + "music_id": 24018, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "DORNWALD \uff5eJunge\uff5e", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3198, + "score_percent": 84.0252, + "miss_count": 55, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1903, + "play_count": 6, + "update_time": "2021-05-04 05:15:56", + "score_diff_str": "AAA-186" + }, + { + "music_id": 24020, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "ECHIDNA", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2978, + "score_percent": 83.8873, + "miss_count": 58, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1775, + "play_count": 6, + "update_time": "2021-04-18 03:46:32", + "score_diff_str": "AAA-178" + }, + { + "music_id": 24022, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "PAPAYAPA BASS", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2306, + "score_percent": 80.7423, + "miss_count": -1, + "grade": "AA", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 11, + "note": 1428, + "play_count": 3, + "update_time": "2021-03-29 13:38:12", + "score_diff_str": "AA+84" + }, + { + "music_id": 24023, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "\u7131\u5f71", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2351, + "score_percent": 81.8024, + "miss_count": 50, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1437, + "play_count": 2, + "update_time": "2021-05-10 22:22:08", + "score_diff_str": "AA+115" + }, + { + "music_id": 24024, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "SAY BAY", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2538, + "score_percent": 87.2165, + "miss_count": 35, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1455, + "play_count": 2, + "update_time": "2021-05-06 13:46:55", + "score_diff_str": "AAA-49" + }, + { + "music_id": 24025, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "(This Is Not) The Angels", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2659, + "score_percent": 97.4707, + "miss_count": 1, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 11, + "note": 1364, + "play_count": 16, + "update_time": "2021-04-25 23:58:32", + "score_diff_str": "MAX-69" + }, + { + "music_id": 24028, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "Egret and Willow", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 687, + "score_percent": 24.8373, + "miss_count": -1, + "grade": "E", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 11, + "note": 1383, + "play_count": 1, + "update_time": "2021-03-23 00:09:48", + "score_diff_str": "E+72" + }, + { + "music_id": 24034, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "Go Ahead!!", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1672, + "score_percent": 59.1649, + "miss_count": -1, + "grade": "B", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1413, + "play_count": 2, + "update_time": "2021-05-07 07:17:05", + "score_diff_str": "B+102" + }, + { + "music_id": 24036, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "#MAGiCVLGiRL_TRVP_B3VTZ", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3147, + "score_percent": 89.7604, + "miss_count": 24, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1753, + "play_count": 10, + "update_time": "2021-04-22 11:01:11", + "score_diff_str": "AAA+30" + }, + { + "music_id": 24039, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "Steel Edge", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2965, + "score_percent": 92.4252, + "miss_count": 20, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1604, + "play_count": 3, + "update_time": "2021-05-06 13:49:25", + "score_diff_str": "AAA+113" + }, + { + "music_id": 24044, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "FUZIN RIZIN", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3493, + "score_percent": 90.5391, + "miss_count": 27, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1929, + "play_count": 4, + "update_time": "2021-04-19 06:38:59", + "score_diff_str": "AAA+63" + }, + { + "music_id": 24048, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "Shoot'Em All", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2334, + "score_percent": 92.3259, + "miss_count": 11, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1264, + "play_count": 1, + "update_time": "2021-04-24 23:48:35", + "score_diff_str": "AAA+86" + }, + { + "music_id": 24049, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "Breakin' Chain", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2164, + "score_percent": 92.5577, + "miss_count": 19, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1169, + "play_count": 1, + "update_time": "2021-03-26 03:36:07", + "score_diff_str": "AAA+85" + }, + { + "music_id": 24050, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "GuNGNiR", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2831, + "score_percent": 68.0202, + "miss_count": -1, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 2081, + "play_count": 8, + "update_time": "2021-05-10 22:18:55", + "score_diff_str": "A+56" + }, + { + "music_id": 24051, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "HADES", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2811, + "score_percent": 87.7889, + "miss_count": 29, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1601, + "play_count": 4, + "update_time": "2021-05-14 02:56:45", + "score_diff_str": "AAA-36" + }, + { + "music_id": 24056, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "Seaside Labyrinth", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1815, + "score_percent": 95.2256, + "miss_count": 3, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 9, + "note": 953, + "play_count": 1, + "update_time": "2021-04-27 22:17:35", + "score_diff_str": "MAX-91" + }, + { + "music_id": 24057, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "SAMURAI-Scramble", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1957, + "score_percent": 79.4237, + "miss_count": 56, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1232, + "play_count": 1, + "update_time": "2021-05-07 05:00:44", + "score_diff_str": "AA+40" + }, + { + "music_id": 24061, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "Sweet Clapper", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1888, + "score_percent": 98.4359, + "miss_count": 2, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 959, + "play_count": 1, + "update_time": "2021-04-27 22:13:58", + "score_diff_str": "MAX-30" + }, + { + "music_id": 24066, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "Magical", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1914, + "score_percent": 94.6588, + "miss_count": 4, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1011, + "play_count": 1, + "update_time": "2021-03-24 07:30:29", + "score_diff_str": "MAX-108" + }, + { + "music_id": 24072, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "Sky High", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3466, + "score_percent": 89.192, + "miss_count": 30, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1943, + "play_count": 9, + "update_time": "2021-04-17 13:30:17", + "score_diff_str": "AAA+11" + }, + { + "music_id": 24073, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "Snakey Kung-fu", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3128, + "score_percent": 89.3204, + "miss_count": 36, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1751, + "play_count": 7, + "update_time": "2021-05-08 09:27:40", + "score_diff_str": "AAA+15" + }, + { + "music_id": 24076, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "RAIN", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2977, + "score_percent": 89.831, + "miss_count": 33, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1657, + "play_count": 2, + "update_time": "2021-04-22 11:13:46", + "score_diff_str": "AAA+31" + }, + { + "music_id": 24077, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "\u5203\u56f3\u7f85", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3174, + "score_percent": 90.8935, + "miss_count": 13, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1746, + "play_count": 3, + "update_time": "2021-04-22 11:18:08", + "score_diff_str": "AAA+70" + }, + { + "music_id": 24078, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "\u3006", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3412, + "score_percent": 90.8897, + "miss_count": 20, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1877, + "play_count": 6, + "update_time": "2021-05-16 04:35:21", + "score_diff_str": "AAA+75" + }, + { + "music_id": 24080, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "BroGamer", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2795, + "score_percent": 89.1263, + "miss_count": 17, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1568, + "play_count": 4, + "update_time": "2021-05-04 04:12:41", + "score_diff_str": "AAA+7" + }, + { + "music_id": 24081, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "Beat Juggling Mix", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1925, + "score_percent": 84.5782, + "miss_count": 45, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1138, + "play_count": 1, + "update_time": "2021-04-24 23:54:45", + "score_diff_str": "AAA-99" + }, + { + "music_id": 24082, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "SEQUENCE CAT", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2763, + "score_percent": 95.5394, + "miss_count": 5, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1446, + "play_count": 8, + "update_time": "2021-04-24 22:53:44", + "score_diff_str": "MAX-129" + }, + { + "music_id": 24084, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "crew", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2775, + "score_percent": 93.75, + "miss_count": 19, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1480, + "play_count": 1, + "update_time": "2021-03-29 14:03:02", + "score_diff_str": "AAA+143" + }, + { + "music_id": 24085, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "Macuilxochitl", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3130, + "score_percent": 93.3214, + "miss_count": 11, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1677, + "play_count": 8, + "update_time": "2021-05-04 04:09:54", + "score_diff_str": "AAA+148" + }, + { + "music_id": 24086, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "Summerlights(IIDX Edition)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2845, + "score_percent": 90.0316, + "miss_count": 36, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1580, + "play_count": 1, + "update_time": "2021-04-03 05:58:47", + "score_diff_str": "AAA+36" + }, + { + "music_id": 24089, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "Venom", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2917, + "score_percent": 89.8091, + "miss_count": 21, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1624, + "play_count": 7, + "update_time": "2021-04-30 09:54:03", + "score_diff_str": "AAA+29" + }, + { + "music_id": 24092, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "Vermilion", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1935, + "score_percent": 92.7613, + "miss_count": 2, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 10, + "note": 1043, + "play_count": 14, + "update_time": "2021-05-04 04:07:51", + "score_diff_str": "AAA+80" + }, + { + "music_id": 24094, + "version_id": 24, + "version_name": "SINOBUZ", + "music_name": "\u7ae5\u8a71\u56de\u5eca", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2861, + "score_percent": 89.8555, + "miss_count": 15, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1592, + "play_count": 3, + "update_time": "2021-05-16 05:03:55", + "score_diff_str": "AAA+30" + }, + { + "music_id": 25003, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "DEATH\u2020ZIGOQ \uff5e\u6012\u308a\u306e\u9ad8\u901f\u7206\u8d70\u91ce\u90ce\uff5e", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3132, + "score_percent": 75.4699, + "miss_count": 74, + "grade": "A", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 2075, + "play_count": 6, + "update_time": "2021-05-09 10:41:00", + "score_diff_str": "AA-96" + }, + { + "music_id": 25004, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "Initiation", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3436, + "score_percent": 85.1338, + "miss_count": 123, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 2018, + "play_count": 8, + "update_time": "2021-05-09 10:33:49", + "score_diff_str": "AAA-152" + }, + { + "music_id": 25007, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "EMERALDAS", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2888, + "score_percent": 78.778, + "miss_count": 110, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1833, + "play_count": 6, + "update_time": "2021-04-18 03:05:27", + "score_diff_str": "AA+36" + }, + { + "music_id": 25008, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "ANCHOR", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3152, + "score_percent": 85.8856, + "miss_count": 40, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1835, + "play_count": 3, + "update_time": "2021-05-14 03:17:41", + "score_diff_str": "AAA-111" + }, + { + "music_id": 25009, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "AA -rebuild-", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3241, + "score_percent": 89.0385, + "miss_count": 17, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1820, + "play_count": 8, + "update_time": "2021-05-08 08:16:29", + "score_diff_str": "AAA+5" + }, + { + "music_id": 25014, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "Expanded !!", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2506, + "score_percent": 94.6375, + "miss_count": 12, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1324, + "play_count": 4, + "update_time": "2021-04-06 11:02:15", + "score_diff_str": "MAX-142" + }, + { + "music_id": 25015, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "Life Is A Game ft.DD\"\u30ca\u30ab\u30bf\"Metal", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2898, + "score_percent": 81.6338, + "miss_count": -1, + "grade": "AA", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1775, + "play_count": 3, + "update_time": "2021-05-03 14:24:52", + "score_diff_str": "AA+136" + }, + { + "music_id": 25017, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "\u30b7\u30e0\u30eb\u30b0\u306e\u76ee\u9192\u3081", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2964, + "score_percent": 81.3392, + "miss_count": 61, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1822, + "play_count": 10, + "update_time": "2021-05-16 05:54:02", + "score_diff_str": "AA+129" + }, + { + "music_id": 25019, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "Papilio ulysses", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 976, + "score_percent": 32.5768, + "miss_count": -1, + "grade": "E", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1498, + "play_count": 1, + "update_time": "2021-04-22 09:40:26", + "score_diff_str": "D-23" + }, + { + "music_id": 25021, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "\u6771\u4eac\u795e\u8a71", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2426, + "score_percent": 80.598, + "miss_count": 59, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1505, + "play_count": 8, + "update_time": "2021-05-04 05:21:20", + "score_diff_str": "AA+84" + }, + { + "music_id": 25025, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "VOX RUSH", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2830, + "score_percent": 81.5092, + "miss_count": 52, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1736, + "play_count": 3, + "update_time": "2021-04-25 00:16:31", + "score_diff_str": "AA+129" + }, + { + "music_id": 25027, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "255", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2912, + "score_percent": 86.8735, + "miss_count": 72, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1676, + "play_count": 9, + "update_time": "2021-05-07 06:17:58", + "score_diff_str": "AAA-68" + }, + { + "music_id": 25028, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "Battleground", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2544, + "score_percent": 93.4607, + "miss_count": 4, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 11, + "note": 1361, + "play_count": 2, + "update_time": "2021-05-06 11:51:35", + "score_diff_str": "AAA+124" + }, + { + "music_id": 25029, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "Boomy and The Boost", + "play_type": "SINGLE", + "diff_type": "NORMAL", + "score": 0, + "score_percent": 0, + "miss_count": -1, + "grade": "F", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 6, + "note": 538, + "play_count": 2, + "update_time": "2021-05-07 06:14:30" + }, + { + "music_id": 25029, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "Boomy and The Boost", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3230, + "score_percent": 88.4447, + "miss_count": 42, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1826, + "play_count": 14, + "update_time": "2021-05-16 06:01:34", + "score_diff_str": "AAA-17" + }, + { + "music_id": 25033, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "Amor De Ver\u00e3o", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2162, + "score_percent": 90.6119, + "miss_count": 19, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1193, + "play_count": 3, + "update_time": "2021-05-03 14:36:26", + "score_diff_str": "AAA+41" + }, + { + "music_id": 25043, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "FUTURE is Dead", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2044, + "score_percent": 88.7924, + "miss_count": 24, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1151, + "play_count": 6, + "update_time": "2021-03-29 14:37:54", + "score_diff_str": "AAA-3" + }, + { + "music_id": 25048, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "Nothing but Theory", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2703, + "score_percent": 93.9847, + "miss_count": 8, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1438, + "play_count": 1, + "update_time": "2021-04-25 00:13:36", + "score_diff_str": "AAA+146" + }, + { + "music_id": 25049, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "Illusionary Waterlily", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3042, + "score_percent": 84.3594, + "miss_count": 48, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1803, + "play_count": 2, + "update_time": "2021-05-14 22:49:15", + "score_diff_str": "AAA-164" + }, + { + "music_id": 25052, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "Persephone", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2764, + "score_percent": 89.7986, + "miss_count": 21, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1539, + "play_count": 2, + "update_time": "2021-04-06 11:25:01", + "score_diff_str": "AAA+28" + }, + { + "music_id": 25054, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "Hella Deep", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1569, + "score_percent": 81.804, + "miss_count": 56, + "grade": "AA", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 10, + "note": 959, + "play_count": 1, + "update_time": "2021-03-23 00:30:11", + "score_diff_str": "AA+77" + }, + { + "music_id": 25058, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "The Chase", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1458, + "score_percent": 63.5017, + "miss_count": -1, + "grade": "B", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1148, + "play_count": 2, + "update_time": "2021-04-09 10:32:30", + "score_diff_str": "A-73" + }, + { + "music_id": 25059, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "UMMU", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2712, + "score_percent": 85.4442, + "miss_count": 42, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1587, + "play_count": 2, + "update_time": "2021-05-06 13:58:06", + "score_diff_str": "AAA-110" + }, + { + "music_id": 25060, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "Rise Circuit", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2158, + "score_percent": 91.4407, + "miss_count": 13, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1180, + "play_count": 3, + "update_time": "2021-05-10 21:21:00", + "score_diff_str": "AAA+60" + }, + { + "music_id": 25063, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "Xperanza", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2865, + "score_percent": 87.5076, + "miss_count": 42, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1637, + "play_count": 3, + "update_time": "2021-05-14 03:15:12", + "score_diff_str": "AAA-46" + }, + { + "music_id": 25073, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "Fervidex", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2539, + "score_percent": 93.277, + "miss_count": 11, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1361, + "play_count": 2, + "update_time": "2021-04-05 09:43:47", + "score_diff_str": "AAA+119" + }, + { + "music_id": 25074, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "DEADHEAT", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3052, + "score_percent": 88.6694, + "miss_count": 25, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1721, + "play_count": 14, + "update_time": "2021-05-06 11:39:01", + "score_diff_str": "AAA-8" + }, + { + "music_id": 25075, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "Arca", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2906, + "score_percent": 90.6991, + "miss_count": 13, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1602, + "play_count": 5, + "update_time": "2021-04-03 08:04:06", + "score_diff_str": "AAA+58" + }, + { + "music_id": 25080, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "Raspberry Railgun", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2999, + "score_percent": 93.3686, + "miss_count": 8, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1606, + "play_count": 3, + "update_time": "2021-05-16 06:19:53", + "score_diff_str": "AAA+143" + }, + { + "music_id": 25083, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "Antigravity", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2614, + "score_percent": 82.1496, + "miss_count": 51, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1591, + "play_count": 3, + "update_time": "2021-04-09 10:41:55", + "score_diff_str": "AA+139" + }, + { + "music_id": 25085, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "NITROUS CANNON", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3134, + "score_percent": 83.5733, + "miss_count": 57, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1875, + "play_count": 2, + "update_time": "2021-04-27 22:55:58", + "score_diff_str": "AAA-200" + }, + { + "music_id": 25089, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "HYPE THE CORE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2621, + "score_percent": 85.1527, + "miss_count": 32, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1539, + "play_count": 1, + "update_time": "2021-04-25 00:10:25", + "score_diff_str": "AAA-115" + }, + { + "music_id": 25090, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "City Never Sleeps (IIDX Edition)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2536, + "score_percent": 94.3452, + "miss_count": 5, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1344, + "play_count": 10, + "update_time": "2021-05-03 13:40:06", + "score_diff_str": "AAA+146" + }, + { + "music_id": 25091, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "Rampage", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3394, + "score_percent": 92.6816, + "miss_count": 16, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1831, + "play_count": 4, + "update_time": "2021-05-14 22:45:13", + "score_diff_str": "AAA+138" + }, + { + "music_id": 25093, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "DropZ-Line-", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2655, + "score_percent": 80.5522, + "miss_count": 50, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1648, + "play_count": 3, + "update_time": "2021-05-03 14:28:17", + "score_diff_str": "AA+91" + }, + { + "music_id": 25094, + "version_id": 25, + "version_name": "CANNON BALLERS", + "music_name": "Sleepless days", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1560, + "score_percent": 98.9848, + "miss_count": 0, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 9, + "note": 788, + "play_count": 6, + "update_time": "2021-05-12 12:35:44", + "score_diff_str": "MAX-16" + }, + { + "music_id": 26001, + "version_id": 26, + "version_name": "Rootage", + "music_name": "KILL EACH OTHER", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3485, + "score_percent": 89.5887, + "miss_count": 12, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1945, + "play_count": 9, + "update_time": "2021-05-08 08:11:48", + "score_diff_str": "AAA+27" + }, + { + "music_id": 26007, + "version_id": 26, + "version_name": "Rootage", + "music_name": "X-DEN", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3135, + "score_percent": 70.6081, + "miss_count": 160, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 2220, + "play_count": 5, + "update_time": "2021-05-16 04:46:06", + "score_diff_str": "A+175" + }, + { + "music_id": 26010, + "version_id": 26, + "version_name": "Rootage", + "music_name": "Drastic Dramatic", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3284, + "score_percent": 93.0312, + "miss_count": 8, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 12, + "note": 1765, + "play_count": 6, + "update_time": "2021-05-08 08:13:29", + "score_diff_str": "AAA+146" + }, + { + "music_id": 26011, + "version_id": 26, + "version_name": "Rootage", + "music_name": "GENE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 4002, + "score_percent": 91.6628, + "miss_count": 21, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 2183, + "play_count": 15, + "update_time": "2021-05-14 03:23:15", + "score_diff_str": "AAA+121" + }, + { + "music_id": 26012, + "version_id": 26, + "version_name": "Rootage", + "music_name": "Painful Fate", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2991, + "score_percent": 87.8672, + "miss_count": 38, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1702, + "play_count": 5, + "update_time": "2021-05-14 22:40:55", + "score_diff_str": "AAA-35" + }, + { + "music_id": 26023, + "version_id": 26, + "version_name": "Rootage", + "music_name": "Garuda", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2447, + "score_percent": 92.4792, + "miss_count": 14, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1323, + "play_count": 1, + "update_time": "2021-04-18 02:55:11", + "score_diff_str": "AAA+95" + }, + { + "music_id": 26033, + "version_id": 26, + "version_name": "Rootage", + "music_name": "Catch Our Fire!", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 958, + "score_percent": 25.4111, + "miss_count": -1, + "grade": "E", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1885, + "play_count": 1, + "update_time": "2021-04-12 12:29:19", + "score_diff_str": "E+120" + }, + { + "music_id": 26034, + "version_id": 26, + "version_name": "Rootage", + "music_name": "dAuntl3ss", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3253, + "score_percent": 91.6338, + "miss_count": 10, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1775, + "play_count": 4, + "update_time": "2021-05-14 22:34:28", + "score_diff_str": "AAA+97" + }, + { + "music_id": 26037, + "version_id": 26, + "version_name": "Rootage", + "music_name": "Carmina", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3060, + "score_percent": 76.5, + "miss_count": 105, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 2000, + "play_count": 3, + "update_time": "2021-05-06 12:35:56", + "score_diff_str": "AA-52" + }, + { + "music_id": 26039, + "version_id": 26, + "version_name": "Rootage", + "music_name": "The Rebellion of Sequencer", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2870, + "score_percent": 87.8213, + "miss_count": 44, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1634, + "play_count": 6, + "update_time": "2021-05-14 02:15:00", + "score_diff_str": "AAA-35" + }, + { + "music_id": 26040, + "version_id": 26, + "version_name": "Rootage", + "music_name": "\u6cf0\u6771\u30ce\u7fe0\u971e", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 363, + "score_percent": 19.8578, + "miss_count": -1, + "grade": "F", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 11, + "note": 914, + "play_count": 1, + "update_time": "2021-04-24 22:58:54", + "score_diff_str": "D-247" + }, + { + "music_id": 26043, + "version_id": 26, + "version_name": "Rootage", + "music_name": "Dr. Chemical & Killing Machine", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3151, + "score_percent": 92.6765, + "miss_count": 14, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 12, + "note": 1700, + "play_count": 7, + "update_time": "2021-05-14 22:31:57", + "score_diff_str": "AAA+128" + }, + { + "music_id": 26047, + "version_id": 26, + "version_name": "Rootage", + "music_name": "Red. by Jack Trance", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1265, + "score_percent": 33.9689, + "miss_count": -1, + "grade": "D", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1862, + "play_count": 1, + "update_time": "2021-05-10 21:45:37", + "score_diff_str": "D+23" + }, + { + "music_id": 26053, + "version_id": 26, + "version_name": "Rootage", + "music_name": "& Intelligence", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2940, + "score_percent": 90.573, + "miss_count": 15, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1623, + "play_count": 5, + "update_time": "2021-05-09 08:58:03", + "score_diff_str": "AAA+54" + }, + { + "music_id": 26070, + "version_id": 26, + "version_name": "Rootage", + "music_name": "Xl\u00f8", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3287, + "score_percent": 82.671, + "miss_count": 58, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1988, + "play_count": 1, + "update_time": "2021-05-14 03:20:20", + "score_diff_str": "AA+194" + }, + { + "music_id": 26071, + "version_id": 26, + "version_name": "Rootage", + "music_name": "Let me be your cure", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2566, + "score_percent": 95.4613, + "miss_count": 3, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 10, + "note": 1344, + "play_count": 7, + "update_time": "2021-05-14 21:46:33", + "score_diff_str": "MAX-122" + }, + { + "music_id": 26072, + "version_id": 26, + "version_name": "Rootage", + "music_name": "Level One", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2880, + "score_percent": 77.5444, + "miss_count": 91, + "grade": "A", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1857, + "play_count": 3, + "update_time": "2021-05-04 04:23:16", + "score_diff_str": "AA-9" + }, + { + "music_id": 26078, + "version_id": 26, + "version_name": "Rootage", + "music_name": "\u91d1\u91ce\u706b\u7e54\u306e\u91d1\u8272\u63d0\u8a00", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2689, + "score_percent": 82.4847, + "miss_count": 63, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1630, + "play_count": 5, + "update_time": "2021-05-03 13:59:38", + "score_diff_str": "AA+153" + }, + { + "music_id": 26080, + "version_id": 26, + "version_name": "Rootage", + "music_name": "LOST TECHNOLOGIE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3118, + "score_percent": 85.5653, + "miss_count": 34, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1822, + "play_count": 3, + "update_time": "2021-05-14 22:22:00", + "score_diff_str": "AAA-122" + }, + { + "music_id": 26081, + "version_id": 26, + "version_name": "Rootage", + "music_name": "XENON II \uff5eTOMOYUKI\u306e\u91ce\u671b\uff5e", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2761, + "score_percent": 90.6435, + "miss_count": 12, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1523, + "play_count": 2, + "update_time": "2021-05-03 13:54:35", + "score_diff_str": "AAA+53" + }, + { + "music_id": 26083, + "version_id": 26, + "version_name": "Rootage", + "music_name": "DRUNK MONKY", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2104, + "score_percent": 89.3798, + "miss_count": 18, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1177, + "play_count": 6, + "update_time": "2021-04-30 10:00:29", + "score_diff_str": "AAA+11" + }, + { + "music_id": 26085, + "version_id": 26, + "version_name": "Rootage", + "music_name": "Lethal Weapon", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2869, + "score_percent": 87.1507, + "miss_count": 48, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1646, + "play_count": 2, + "update_time": "2021-05-14 22:37:11", + "score_diff_str": "AAA-58" + }, + { + "music_id": 26086, + "version_id": 26, + "version_name": "Rootage", + "music_name": "GO OVER WITH GLARE -ROOTAGE 26-", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3563, + "score_percent": 89.075, + "miss_count": 82, + "grade": "AAA", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 2000, + "play_count": 15, + "update_time": "2021-05-06 12:33:10", + "score_diff_str": "AAA+7" + }, + { + "music_id": 26087, + "version_id": 26, + "version_name": "Rootage", + "music_name": "\u304a\u83d3\u5b50\u306e\u738b\u56fd", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2922, + "score_percent": 69.2745, + "miss_count": -1, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 2109, + "play_count": 6, + "update_time": "2021-05-06 12:46:09", + "score_diff_str": "A+110" + }, + { + "music_id": 26093, + "version_id": 26, + "version_name": "Rootage", + "music_name": "ruin of opals", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2706, + "score_percent": 82.1993, + "miss_count": 43, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1646, + "play_count": 3, + "update_time": "2021-05-13 08:56:27", + "score_diff_str": "AA+145" + }, + { + "music_id": 26095, + "version_id": 26, + "version_name": "Rootage", + "music_name": "Carry Me Away", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2884, + "score_percent": 89.3986, + "miss_count": 20, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1613, + "play_count": 6, + "update_time": "2021-04-18 04:58:29", + "score_diff_str": "AAA+16" + }, + { + "music_id": 26102, + "version_id": 26, + "version_name": "Rootage", + "music_name": "Please Welcome Mr.C", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 215, + "score_percent": 7.0631, + "miss_count": -1, + "grade": "F", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1522, + "play_count": 1, + "update_time": "2021-05-09 10:45:29", + "score_diff_str": "F+215" + }, + { + "music_id": 26104, + "version_id": 26, + "version_name": "Rootage", + "music_name": "HARD BRAIN", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3517, + "score_percent": 91.8757, + "miss_count": 34, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1914, + "play_count": 11, + "update_time": "2021-05-14 22:25:51", + "score_diff_str": "AAA+114" + }, + { + "music_id": 26106, + "version_id": 26, + "version_name": "Rootage", + "music_name": "Visterhv", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3383, + "score_percent": 90.5029, + "miss_count": 19, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1869, + "play_count": 15, + "update_time": "2021-05-14 02:11:36", + "score_diff_str": "AAA+60" + }, + { + "music_id": 26107, + "version_id": 26, + "version_name": "Rootage", + "music_name": "Trill auf G", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2782, + "score_percent": 83.2934, + "miss_count": 49, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1670, + "play_count": 1, + "update_time": "2021-04-09 10:24:09", + "score_diff_str": "AA+184" + }, + { + "music_id": 26108, + "version_id": 26, + "version_name": "Rootage", + "music_name": "voltississimo", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2724, + "score_percent": 72.1398, + "miss_count": -1, + "grade": "A", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1888, + "play_count": 8, + "update_time": "2021-05-09 10:44:29", + "score_diff_str": "A+206" + }, + { + "music_id": 26109, + "version_id": 26, + "version_name": "Rootage", + "music_name": "toy boxer", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2150, + "score_percent": 95.8111, + "miss_count": 11, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1122, + "play_count": 2, + "update_time": "2021-05-03 13:29:28", + "score_diff_str": "MAX-94" + }, + { + "music_id": 26110, + "version_id": 26, + "version_name": "Rootage", + "music_name": "\u6700\u5c0f\u4e09\u500d\u5b8c\u5168\u6570", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2269, + "score_percent": 86.3394, + "miss_count": 33, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1314, + "play_count": 6, + "update_time": "2021-04-30 11:25:41", + "score_diff_str": "AAA-67" + }, + { + "music_id": 26113, + "version_id": 26, + "version_name": "Rootage", + "music_name": "Afterimage d'automne", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2702, + "score_percent": 91.2838, + "miss_count": 15, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1480, + "play_count": 2, + "update_time": "2021-04-24 23:05:59", + "score_diff_str": "AAA+70" + }, + { + "music_id": 26114, + "version_id": 26, + "version_name": "Rootage", + "music_name": "BLACK JACKAL", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2097, + "score_percent": 88.6306, + "miss_count": 23, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1183, + "play_count": 1, + "update_time": "2021-04-23 01:40:56", + "score_diff_str": "AAA-7" + }, + { + "music_id": 27000, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "THE BRAVE MUST DIE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3657, + "score_percent": 88.1205, + "miss_count": 35, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 2075, + "play_count": 16, + "update_time": "2021-05-14 02:24:20", + "score_diff_str": "AAA-32" + }, + { + "music_id": 27002, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "PHASE SHIFT MANEUVER", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2687, + "score_percent": 92.8473, + "miss_count": 9, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1447, + "play_count": 2, + "update_time": "2021-05-06 13:14:12", + "score_diff_str": "AAA+114" + }, + { + "music_id": 27003, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "\u304c\u3063\u3064\u308a\u9670\u30ad\u30e3!? \u602a\u76d7\u3044\u3044\u3093\u3061\u3087\u306e\u5104\u52ab^^;", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1502, + "score_percent": 34.2609, + "miss_count": -1, + "grade": "D", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 2192, + "play_count": 3, + "update_time": "2021-04-01 09:46:59", + "score_diff_str": "D+40" + }, + { + "music_id": 27004, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "Dans la nuit de l'\u00e9ternit\u00e9", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2967, + "score_percent": 81.0656, + "miss_count": 93, + "grade": "AA", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1830, + "play_count": 5, + "update_time": "2021-05-06 14:16:51", + "score_diff_str": "AA+120" + }, + { + "music_id": 27005, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "VALKYRIAS -\u82f1\u96c4\u8a95\u751f-", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2610, + "score_percent": 94.1558, + "miss_count": 6, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1386, + "play_count": 1, + "update_time": "2021-05-07 05:49:02", + "score_diff_str": "AAA+146" + }, + { + "music_id": 27006, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "EXCITE", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 640, + "score_percent": 28.4698, + "miss_count": -1, + "grade": "E", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 10, + "note": 1124, + "play_count": 1, + "update_time": "2021-03-24 07:21:58", + "score_diff_str": "D-110" + }, + { + "music_id": 27007, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "LIGHTNING STRIKES", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3040, + "score_percent": 92.7395, + "miss_count": 12, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 12, + "note": 1639, + "play_count": 6, + "update_time": "2021-05-08 09:16:41", + "score_diff_str": "AAA+126" + }, + { + "music_id": 27008, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "EROICA", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3271, + "score_percent": 80.1716, + "miss_count": 142, + "grade": "AA", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 2040, + "play_count": 6, + "update_time": "2021-04-30 11:20:08", + "score_diff_str": "AA+97" + }, + { + "music_id": 27009, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "TECHNO Style Essentials", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2638, + "score_percent": 90.7777, + "miss_count": 20, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1453, + "play_count": 2, + "update_time": "2021-05-02 10:58:09", + "score_diff_str": "AAA+54" + }, + { + "music_id": 27010, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "27th style", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2361, + "score_percent": 90.8776, + "miss_count": 20, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1299, + "play_count": 3, + "update_time": "2021-04-30 09:47:27", + "score_diff_str": "AAA+51" + }, + { + "music_id": 27011, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "rough percussionythm", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2260, + "score_percent": 87.2587, + "miss_count": 38, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 11, + "note": 1295, + "play_count": 3, + "update_time": "2021-05-06 11:32:59", + "score_diff_str": "AAA-43" + }, + { + "music_id": 27019, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "AKASHIC BREAK", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3179, + "score_percent": 87.1914, + "miss_count": 39, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1823, + "play_count": 1, + "update_time": "2021-05-06 13:11:42", + "score_diff_str": "AAA-62" + }, + { + "music_id": 27020, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "Everlasting Message", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3037, + "score_percent": 77.0812, + "miss_count": 87, + "grade": "A", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1970, + "play_count": 13, + "update_time": "2021-04-30 11:11:57", + "score_diff_str": "AA-28" + }, + { + "music_id": 27026, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "\u9b45\u60d1\u306eYUMMY\u30b9\u30a4\u30fc\u30c4", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2615, + "score_percent": 82.4401, + "miss_count": 49, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1586, + "play_count": 2, + "update_time": "2021-04-08 00:23:25", + "score_diff_str": "AA+147" + }, + { + "music_id": 27030, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "Rave Patroller", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3106, + "score_percent": 91.085, + "miss_count": 26, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1705, + "play_count": 7, + "update_time": "2021-05-06 12:52:46", + "score_diff_str": "AAA+74" + }, + { + "music_id": 27034, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "T-REX vs Velociraptor (In the Far east euphoria)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2967, + "score_percent": 90.6785, + "miss_count": 16, + "grade": "AAA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1636, + "play_count": 15, + "update_time": "2021-05-16 04:58:03", + "score_diff_str": "AAA+58" + }, + { + "music_id": 27035, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "Artist", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3163, + "score_percent": 84.5722, + "miss_count": 41, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1870, + "play_count": 10, + "update_time": "2021-05-14 03:35:18", + "score_diff_str": "AAA-162" + }, + { + "music_id": 27036, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "GHOST", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2508, + "score_percent": 89.3799, + "miss_count": 13, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1403, + "play_count": 6, + "update_time": "2021-05-10 21:15:04", + "score_diff_str": "AAA+13" + }, + { + "music_id": 27039, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "Lords Of The Roundtable", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1857, + "score_percent": 58.5435, + "miss_count": -1, + "grade": "B", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1586, + "play_count": 2, + "update_time": "2021-04-08 00:29:04", + "score_diff_str": "B+94" + }, + { + "music_id": 27043, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "Primitive Vibes", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2955, + "score_percent": 94.4693, + "miss_count": 4, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1564, + "play_count": 7, + "update_time": "2021-05-07 05:22:16", + "score_diff_str": "MAX-173" + }, + { + "music_id": 27044, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "Double Dribble", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2966, + "score_percent": 88.1165, + "miss_count": 14, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1683, + "play_count": 8, + "update_time": "2021-05-09 09:47:08", + "score_diff_str": "AAA-26" + }, + { + "music_id": 27047, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "Voo Doo Bamboleo", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2378, + "score_percent": 94.2155, + "miss_count": 10, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1262, + "play_count": 1, + "update_time": "2021-05-08 09:23:34", + "score_diff_str": "AAA+134" + }, + { + "music_id": 27048, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "Infinity Mirror", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2164, + "score_percent": 92.9553, + "miss_count": 25, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1164, + "play_count": 1, + "update_time": "2021-03-24 07:19:22", + "score_diff_str": "AAA+94" + }, + { + "music_id": 27049, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "\u707c\u71b1Beach Side Bunny (Masayoshi Iimori Remix)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1599, + "score_percent": 85.6913, + "miss_count": 35, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 933, + "play_count": 3, + "update_time": "2021-04-11 10:40:02", + "score_diff_str": "AAA-60" + }, + { + "music_id": 27051, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "Ska-sh All Neurons!!", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2232, + "score_percent": 94.898, + "miss_count": 3, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1176, + "play_count": 2, + "update_time": "2021-04-09 09:50:31", + "score_diff_str": "MAX-120" + }, + { + "music_id": 27052, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "SCREW \/\/ owo \/\/ SCREW", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2664, + "score_percent": 85.0032, + "miss_count": 51, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1567, + "play_count": 4, + "update_time": "2021-05-03 13:15:14", + "score_diff_str": "AAA-122" + }, + { + "music_id": 27056, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "Matt Silver", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3143, + "score_percent": 92.0621, + "miss_count": 8, + "grade": "AAA", + "clear_type": "EX HARD CLEAR", + "clear_type_id": 6, + "level": 12, + "note": 1707, + "play_count": 9, + "update_time": "2021-05-06 10:59:51", + "score_diff_str": "AAA+108" + }, + { + "music_id": 27059, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "TRIUMPH", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2881, + "score_percent": 83.5557, + "miss_count": 49, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1724, + "play_count": 10, + "update_time": "2021-04-22 05:44:55", + "score_diff_str": "AAA-184" + }, + { + "music_id": 27060, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "BEAT PRISONER", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3142, + "score_percent": 85.1952, + "miss_count": 52, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1844, + "play_count": 6, + "update_time": "2021-05-03 13:20:06", + "score_diff_str": "AAA-137" + }, + { + "music_id": 27068, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "Rave lithosphere", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2523, + "score_percent": 93.8616, + "miss_count": 11, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1344, + "play_count": 4, + "update_time": "2021-04-14 22:12:30", + "score_diff_str": "AAA+133" + }, + { + "music_id": 27074, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "fairy cocktail", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1606, + "score_percent": 96.9807, + "miss_count": 4, + "grade": "AAA", + "clear_type": "FULLCOMBO CLEAR", + "clear_type_id": 7, + "level": 8, + "note": 828, + "play_count": 2, + "update_time": "2021-04-11 23:25:58", + "score_diff_str": "MAX-50" + }, + { + "music_id": 27077, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "Theory", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2290, + "score_percent": 85.3204, + "miss_count": 39, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 11, + "note": 1342, + "play_count": 7, + "update_time": "2021-05-08 09:20:00", + "score_diff_str": "AAA-96" + }, + { + "music_id": 27078, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "Level 2", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2436, + "score_percent": 81.8548, + "miss_count": 74, + "grade": "AA", + "clear_type": "FAILED", + "clear_type_id": 1, + "level": 12, + "note": 1488, + "play_count": 1, + "update_time": "2021-05-07 05:07:53", + "score_diff_str": "AA+121" + }, + { + "music_id": 27083, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "Silly Love", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 1955, + "score_percent": 92.1301, + "miss_count": 10, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1061, + "play_count": 5, + "update_time": "2021-04-11 10:45:16", + "score_diff_str": "AAA+68" + }, + { + "music_id": 27084, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "Inferno of Fomalhaut", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2619, + "score_percent": 76.9841, + "miss_count": 61, + "grade": "A", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1701, + "play_count": 5, + "update_time": "2021-05-16 06:14:53", + "score_diff_str": "AA-27" + }, + { + "music_id": 27088, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "\u30d4\u30a2\u30ce\u5354\u594f\u66f2\u7b2c1\u756a\u201d\u880d\u706b\u201d (BlackY Remix)", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3297, + "score_percent": 85.5919, + "miss_count": 52, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1926, + "play_count": 4, + "update_time": "2021-05-08 09:10:35", + "score_diff_str": "AAA-127" + }, + { + "music_id": 27094, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "THE F\u2200UST", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3053, + "score_percent": 82.4689, + "miss_count": 47, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1851, + "play_count": 8, + "update_time": "2021-04-17 12:20:15", + "score_diff_str": "AA+173" + }, + { + "music_id": 27095, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "Smashing Wedge", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3128, + "score_percent": 79.9182, + "miss_count": 86, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1957, + "play_count": 5, + "update_time": "2021-04-30 11:08:14", + "score_diff_str": "AA+83" + }, + { + "music_id": 27102, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "Vinculum stellarum", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3297, + "score_percent": 88.0139, + "miss_count": 23, + "grade": "AA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1873, + "play_count": 3, + "update_time": "2021-05-16 06:10:47", + "score_diff_str": "AAA-33" + }, + { + "music_id": 27109, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "ORCA", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 3098, + "score_percent": 86.2953, + "miss_count": 41, + "grade": "AA", + "clear_type": "HARD CLEAR", + "clear_type_id": 5, + "level": 12, + "note": 1795, + "play_count": 17, + "update_time": "2021-05-16 06:45:24", + "score_diff_str": "AAA-94" + }, + { + "music_id": 27114, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "Megalara Garuda", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2792, + "score_percent": 90.4731, + "miss_count": 19, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 12, + "note": 1543, + "play_count": 2, + "update_time": "2021-04-12 11:04:17", + "score_diff_str": "AAA+48" + }, + { + "music_id": 27117, + "version_id": 27, + "version_name": "HEROIC VERSE", + "music_name": "Jetcoaster Windy", + "play_type": "SINGLE", + "diff_type": "ANOTHER", + "score": 2092, + "score_percent": 90.4844, + "miss_count": 21, + "grade": "AAA", + "clear_type": "CLEAR", + "clear_type_id": 4, + "level": 10, + "note": 1156, + "play_count": 1, + "update_time": "2021-03-24 07:15:22", + "score_diff_str": "AAA+36" + } +] \ No newline at end of file diff --git a/server/src/test-utils/test-data/s3/danger/README_BEFORE_CLICKING b/server/src/test-utils/test-data/s3/danger/README_BEFORE_CLICKING new file mode 100644 index 000000000..7421d40ca --- /dev/null +++ b/server/src/test-utils/test-data/s3/danger/README_BEFORE_CLICKING @@ -0,0 +1,4 @@ +BE VERY CAREFUL WHEN EVEN OPENING THESE FILES: SOME XML EXTENSIONS FOR IDES +*WILL* TRY TO EXPAND THESE DOCUMENTS AND *WILL* CHOKE YOUR CPU. + +DISABLE YOUR XML EXTENSIONS IF YOU NEED TO TOUCH THESE FILES. \ No newline at end of file diff --git a/server/src/test-utils/test-data/s3/danger/billion-laughs.xml b/server/src/test-utils/test-data/s3/danger/billion-laughs.xml new file mode 100644 index 000000000..25a783737 --- /dev/null +++ b/server/src/test-utils/test-data/s3/danger/billion-laughs.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + +]> +&lol9; \ No newline at end of file diff --git a/server/src/test-utils/test-data/s3/danger/specific-blaugh.xml b/server/src/test-utils/test-data/s3/danger/specific-blaugh.xml new file mode 100644 index 000000000..caae34a95 --- /dev/null +++ b/server/src/test-utils/test-data/s3/danger/specific-blaugh.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + +]> + + + 3 + + + + + + + + + + 187 + 7 + &lol9; + + + + + + + 174 + 3rd + 1 + 137 + 100 + AA + 9 + + 50 + 50 + 0 + 0 + 4 + + + 2 + T + B + + perfect + 2010-10-19 04:54:22 + + + \ No newline at end of file diff --git a/server/src/test-utils/test-data/s3/invalid-exscore.xml b/server/src/test-utils/test-data/s3/invalid-exscore.xml new file mode 100644 index 000000000..2f992bdaa --- /dev/null +++ b/server/src/test-utils/test-data/s3/invalid-exscore.xml @@ -0,0 +1,81 @@ + + + 3 + + + + + + + + + + 187 + 7 + + + + + + + + + + 174 + 3rd + 1 + 137 + -1 + AA + 9 + + 50 + 50 + 0 + 0 + 4 + + + 2 + T + B + + BAD LAMP + 2010-10-19 04:54:22 + + + 187 + L7 + + + + + + + + + + 174 + 3rd + 1 + 137 + -1 + AA + 9 + + 50 + 50 + 0 + 0 + 4 + + + 2 + T + B + + BAD LAMP + 2010-10-19 04:54:22 + + + \ No newline at end of file diff --git a/server/src/test-utils/test-data/s3/invalid-lamp.xml b/server/src/test-utils/test-data/s3/invalid-lamp.xml new file mode 100644 index 000000000..104319118 --- /dev/null +++ b/server/src/test-utils/test-data/s3/invalid-lamp.xml @@ -0,0 +1,81 @@ + + + 3 + + + + + + + + + + 187 + 7 + + + + + + + + + + 174 + 3rd + 1 + 137 + 100 + AA + 9 + + 50 + 50 + 0 + 0 + 4 + + + 2 + T + B + + BAD LAMP + 2010-10-19 04:54:22 + + + 187 + L7 + + + + + + + + + + 174 + 3rd + 1 + 137 + 100 + AA + 9 + + 50 + 50 + 0 + 0 + 4 + + + 2 + T + B + + BAD LAMP + 2010-10-19 04:54:22 + + + \ No newline at end of file diff --git a/server/src/test-utils/test-data/s3/large-example.xml b/server/src/test-utils/test-data/s3/large-example.xml new file mode 100644 index 000000000..05a515c91 --- /dev/null +++ b/server/src/test-utils/test-data/s3/large-example.xml @@ -0,0 +1,68875 @@ + + + + 3 + + + + + + + + + + 187 + 7 + + + + + + + + + + 174 + 3rd,djt,pb + 4 + 350 + 603 + AA + 9 + + 253 + 97 + 0 + 0 + 4 + + + 2 + T + B + + perfect + 2010-10-19 04:54:22 + + + 325 + L7 + + + + + + + + + + 150 + 9th + 4 + 439 + 733 + AA + 8 + + 315 + 103 + 19 + 0 + 2 + + + 4 + H + B + + cleared + 2007-12-12 23:41:31 + + + 330 + L7 + + + + + + + + + + 152 + 9th + 5 + 574 + 953 + AA + 9 + + 574 + 0 + + + 4 + H + + combo + + + + 2011-04-02 01:57:43 + + + 147 + L7 + + + + + + + + + + 170 + 4th,9th + 5 + 416 + 726 + AA + 9 + + 313 + 100 + 3 + 0 + 0 + + + 3 + T + H + B + + combo + + + + 2007-06-14 03:24:18 + + + 310 + 7 + + + + + + + + + + 90 + 8th,red + 5 + 530 + 799 + A + 7 + + 319 + 161 + 41 + 3 + 7 + + + 5 + H + + cleared + + + + 2009-07-20 04:09:11 + + + 376 + L7 + + + + + + + + + + 132 + 9th + 5 + 396 + 606 + A + 7 + + 271 + 3 + + + 4 + H + + cleared + + + + 2011-04-02 01:57:43 + + + 371 + L7 + + + + + + + + + + 135 + 9th + 3 + 314 + 499 + AA + 9 + + 205 + 89 + 17 + 0 + 4 + + + 4 + T + H + B + + comboed + 2007-12-12 23:46:23 + + + 337 + L7 + + + + + + + + + + 152 + 9th + 5 + 557 + 853 + A + 7 + + 359 + 135 + 58 + 1 + 9 + + + 3 + T + H + B + + cleared + 2008-07-24 03:01:42 + + + 370 + L7 + + + + + + + + + + 135 + 9th + 4 + 405 + 734 + AAA + 10 + + 334 + 66 + 5 + 0 + 0 + + + 4 + T + H + B + + combo + + + + + + + 2007-06-14 03:12:57 + + + 200 + L7 + + + + + + + + + + 125 + 3rd,9th + 1 + 191 + 330 + AA + 9 + + 191 + 0 + + + 4 + H + + comboed + 2011-04-02 01:57:43 + + + 36 + 7 + + + + + + + + + + 136 + 6th + 6 + 839 + 968 + B + 6 + + 370 + 228 + 195 + 25 + 35 + + + 4 + + cleared + + + + 2006-10-22 03:19:02 + + + 63 + A + + + + + + + + + + 134 + 6th,8th + 4 + 483 + 805 + AA + 8 + + 314 + 3 + + + 4 + H + + cleared + 2011-09-05 05:45:14 + + + 55 + L7 + + + + + + + + + + 182 + 4th,6th,7th,8th,hs,pb + 5 + 456 + 754 + AA + 9 + + 317 + 120 + 18 + 1 + 1 + + + 2 + H + + comboed + + + + 2011-04-02 01:19:30 + + + 39 + L7 + + + + + + + + + + 125 + 6th + 4 + 307 + 445 + A + 7 + + 176 + 93 + 33 + 1 + 6 + + + 4 + T + + cleared + 2007-01-04 03:36:08 + + + 26 + L7 + + + + + + + + + + 125 + 6th,gold + 5 + 560 + 908 + AA + 9 + + 369 + 170 + 20 + 0 + 2 + + + 4 + T + H + + comboed + 2007-11-15 20:48:12 + + + 49 + L7 + + + + + + + + + + 190 + 3rd,6th,us + 3 + 280 + 483 + AA + 9 + + 212 + 59 + 7 + 1 + 1 + + + 3 + H + B + + comboed + 2007-03-17 22:07:40 + + + 454 + 7 + + + + + + + + + + 125 + us + 3 + 326 + 538 + AA + 9 + + 228 + 82 + 16 + 0 + 0 + + + 4 + T + + combo + + + + 2006-11-20 08:45:05 + + + 453 + 7 + + + + + + + + + + 100 + us + 3 + 218 + 362 + AA + 9 + + 158 + 46 + 14 + 0 + 0 + + + 4 + T + H + B + + combo + + + + 2007-03-12 23:18:27 + + + 458 + L7 + + + + + + + + + + 138 + us,red + 1 + 228 + 378 + AA + 9 + + 160 + 58 + 8 + 2 + 1 + + + 4.5 + H + B + + comboed + 2007-12-24 16:58:51 + + + 510 + L7 + + + + + + + + + + 151 + red + 2 + 289 + 510 + AA + 9 + + 226 + 58 + 5 + 0 + 0 + + + 4 + H + + combo + + + + 2009-07-20 04:09:11 + + + 113 + 7 + + + + + + + + + + 100 + 3rd,5th,us + 2 + 176 + 293 + AA + 9 + + 126 + 41 + 9 + 0 + 0 + + + 3 + T + B + + combo + + + + 2007-06-14 02:37:22 + + + 180 + 7 + + + + + + + + + + 145 + 3rd,us + 2 + 96 + 111 + B + 7 + + 47 + 17 + 31 + 0 + 1 + + + 4 + T + + comboed + + + + 2007-02-19 17:43:01 + + + 451 + 7 + + + + + + + + + + 122 + us + 3 + 278 + 432 + A + 8 + + 177 + 78 + 23 + 0 + 0 + + + 4 + T + + combo + 2006-11-20 09:03:15 + + + 455 + 7 + + + + + + + + + + 128 + us + 3 + 250 + 415 + AA + 9 + + 177 + 61 + 12 + 0 + 0 + + + 4 + T + H + B + + combo + 2007-06-13 18:42:21 + + + 456 + 5 + + + + + + + + + + 143 + us,red + 3 + 371 + 616 + AA + 9 + + 260 + 96 + 15 + 0 + 1 + + + 4 + T + H + B + + combo + + + + 2008-06-28 18:11:20 + + + 472 + 5 + + + + + + + + + + 100 + us + 3 + 168 + 283 + AA + 9 + + 120 + 43 + 5 + 0 + 1 + + + 4 + T + H + B + + combo + + + + 2008-06-28 18:26:53 + + + 473 + 5 + + + + + + + + + + 160 + us + 7 + 356 + 376 + C + 5 + + 126 + 124 + 92 + 6 + 13 + + + 4 + H + B + + cleared + + + + 2008-06-28 16:53:44 + + + 457 + 5 + + + + + + + + + + 121 + us + 4 + 298 + 517 + AA + 8 + + 228 + 61 + 8 + 0 + 1 + + + 4 + T + H + B + + cleared + + + + 2008-06-28 18:04:17 + + + 458 + 5 + + + + + + + + + + 138 + us,red + 4 + 321 + 560 + AA + 9 + + 244 + 72 + 3 + 1 + 1 + + + 4 + T + H + B + + comboed + + + + 2008-06-28 17:41:25 + + + 536 + A + + + + + + + + + + 145 + us + 2 + 193 + 155 + D + 4 + + 54 + 47 + 84 + 4 + 6 + + + 4 + T + + cleared + + + + 2007-02-19 17:47:46 + + + 126 + 7 + + + + + + + + + + 128 + 4th,7th,us + 4 + 510 + 800 + AA + 8 + + 327 + 146 + 34 + 2 + 1 + + + 4 + + cleared + 2011-09-05 05:42:12 + + + 533 + A + + + + + + + + + + 100 + us + 2 + 184 + 275 + A + 8 + + 104 + 67 + 13 + 0 + 0 + + + 4 + T + + combo + + + + 2006-12-08 22:18:58 + + + 191 + L7 + + + + + + + + + + 136 + 3rd,10th,us + 3 + 329 + 551 + AA + 8 + + 223 + 105 + 0 + 0 + 2 + + + 4 + T + H + B + + cleared + + + + 2007-03-17 22:04:34 + + + 457 + 7 + + + + + + + + + + 121 + us + 4 + 352 + 611 + AA + 8 + + 273 + 65 + 12 + 0 + 2 + + + 4 + T + H + B + + cleared + + + + 2007-06-13 18:48:03 + + + 456 + 7 + + + + + + + + + + 143 + us,red + 3 + 371 + 585 + AA + 9 + + 240 + 105 + 26 + 0 + 0 + + + 4 + H + + combo + 2007-04-06 04:36:30 + + + 134 + L7 + + + + + + + + + + 138 + 4th,red + 4 + 305 + 525 + AA + 9 + + 223 + 79 + 3 + 0 + 1 + + + 5 + H + B + + combo + + + + 2007-06-05 21:12:54 + + + 45 + 7 + + + + + + + + + + 124 + 3rd,5th,6th,7th,us,dd,pb + 3 + 326 + 538 + AA + 9 + + 216 + 106 + 4 + 0 + 0 + + + 4 + H + B + + combo + 2012-05-06 03:48:00 + + + 466 + 5 + + + + + + + + + + 105 + us + 3 + 216 + 364 + AA + 8 + + 149 + 66 + 0 + 0 + 3 + + + 4 + T + H + B + + cleared + + + + 2007-05-23 22:29:19 + + + 453 + L7 + + + + + + + + + + 100 + us + 2 + 185 + 298 + AA + 8 + + 122 + 54 + 8 + 0 + 1 + + + 4 + T + + cleared + + + + 2006-12-08 22:27:46 + + + 533 + L7 + + + + + + + + + + 100 + us + 1 + 159 + 268 + AA + 9 + + 113 + 42 + 4 + 0 + 0 + + + 4 + T + + combo + 2007-02-06 19:03:41 + + + 264 + L7 + + + + + + + + + + 171 + 7th,9th,hs,pb + 7 + 766 + 1110 + A + 7 + + 404 + 302 + 56 + 0 + 9 + + + 3 + H + + cleared + 2011-04-02 01:19:30 + + + 476 + L7 + + + + + + + + + + 124 + us + 2 + 221 + 370 + AA + 9 + + 150 + 70 + 1 + 0 + 0 + + + 4 + T + + combo + + + + 2007-02-06 18:32:50 + + + 189 + L7 + + + + + + + + + + 149 + 9th,us + 3 + 211 + 340 + AA + 9 + + 211 + 0 + + + 4 + H + + combo + 2011-04-02 01:57:43 + + + 380 + L7 + + + + + + + + + + 125 + 9th + 3 + 366 + 594 + AA + 9 + + 366 + 0 + + + 4 + H + + comboed + 2011-04-02 01:57:43 + + + 456 + L7 + + + + + + + + + + 143 + us,red + 2 + 260 + 454 + AA + 9 + + 196 + 62 + 2 + 0 + 0 + + + 4.5 + H + B + + combo + 2007-12-24 17:01:12 + + + 494 + L7 + + + + + + + + + + 133 + red + 3 + 344 + 566 + AA + 9 + + 235 + 96 + 12 + 0 + 1 + + + 4 + H + B + + comboed + 2011-04-02 02:39:54 + + + 171 + 7 + + + + + + + + + + 139 + 3rd,7th,us,emp + 3 + 235 + 407 + AA + 9 + + 172 + 63 + 0 + 0 + 0 + + + 3 + + perfect + + + + 2012-03-17 07:17:56 + + + 68 + L7 + + + + + + + + + + 135 + 6th,8th,us,pb + 4 + 373 + 624 + AA + 9 + + 271 + 82 + 13 + 3 + 8 + + + 4 + T + H + B + + comboed + 2008-06-27 17:03:00 + + + 29 + 7 + + + + + + + + + + 132 + 6th,us + 6 + 573 + 896 + AA + 8 + + 337 + 222 + 12 + 1 + 4 + + + 4 + T + H + B + + cleared + 2007-04-29 18:55:42 + + + 111 + 7 + + + + + + + + + + 101 + 3rd,5th,7th,8th,10th,us,hs,pb + 1 + 99 + 167 + AA + 9 + + 72 + 23 + 4 + 0 + 0 + + + 3 + T + B + + combo + + + + 2007-06-14 02:43:07 + + + 89 + L7 + + + + + + + + + + 178 + 5th,us,red + 4 + 374 + 613 + AA + 9 + + 259 + 95 + 20 + 0 + 3 + + + 3 + H + B + + combo + 2011-04-02 02:39:54 + + + 477 + L7 + + + + + + + + + + 147 + us + 4 + 276 + 453 + AA + 9 + + 190 + 73 + 12 + 0 + 1 + + + 4 + + comboed + 2006-12-08 23:59:34 + + + 467 + 5 + + + + + + + + + + 143 + us + 3 + 213 + 378 + AA + 9 + + 166 + 46 + 1 + 0 + 1 + + + 4 + H + B + + perfected + + + + 2008-06-28 19:27:03 + + + 461 + 5 + + + + + + + + + + 130 + us + 5 + 301 + 467 + A + 7 + + 195 + 77 + 27 + 0 + 2 + + + 4 + T + H + B + + cleared + + + + 2008-06-28 17:38:26 + + + 460 + 5 + + + + + + + + + + 90 + us + 1 + 60 + 110 + AAA + 10 + + 50 + 10 + 0 + 0 + 0 + + + 4 + T + + perfect + + + + + + + 2007-02-06 20:05:49 + + + 471 + 5 + + + + + + + + + + 147 + us + 1 + 99 + 164 + AA + 9 + + 65 + 34 + 0 + 0 + 0 + + + 4 + + perfect + + + + 2007-02-06 20:13:18 + + + 45 + A + + + + + + + + + + 124 + 3rd,5th,6th,7th,us,dd,pb + 3 + 348 + 581 + AA + 8 + + 242 + 97 + 5 + 0 + 4 + + + 4 + H + + cleared + 2012-02-05 05:45:51 + + + 50 + L7 + + + + + + + + + + 135 + 3rd,5th,6th,8th,us,dd,pb + 3 + 273 + 456 + AA + 9 + + 194 + 68 + 11 + 0 + 1 + + + 4 + H + B + + combo + 2011-04-02 04:35:15 + + + 470 + 5 + + + + + + + + + + 140 + us + 4 + 170 + 291 + AA + 9 + + 122 + 47 + 1 + 0 + 0 + + + 4 + T + H + B + + combo + + + + 2008-06-28 17:52:56 + + + 465 + 5 + + + + + + + + + + 100 + us + 2 + 133 + 200 + A + 8 + + 82 + 36 + 15 + 0 + 1 + + + 4 + T + H + B + + combo + 2007-05-23 22:35:11 + + + 452 + 7 + + + + + + + + + + 121 + us + 4 + 388 + 560 + A + 7 + + 211 + 138 + 35 + 3 + 1 + + + 4 + T + + cleared + + + + 2006-11-20 09:25:01 + + + 458 + 7 + + + + + + + + + + 138 + us,red + 2 + 321 + 523 + AA + 9 + + 218 + 87 + 16 + 0 + 0 + + + 4.5 + H + + combo + 2007-04-06 04:36:01 + + + 39 + A + + + + + + + + + + 125 + 6th + 7 + 681 + 954 + A + 7 + + 376 + 202 + 92 + 6 + 10 + + + 4 + T + H + + cleared + 2008-06-26 22:07:23 + + + 173 + L7 + + + + + + + + + + 154 + 3rd,us,dd + 3 + 374 + 628 + AA + 9 + + 259 + 110 + 4 + 0 + 2 + + + 3 + H + B + + comboed + 2011-04-02 04:35:13 + + + 171 + L7 + + + + + + + + + + 139 + 3rd,7th,us,emp + 2 + 216 + 370 + AA + 8 + + 157 + 56 + 1 + 0 + 2 + + + 4 + H + + cleared + 2011-04-02 01:19:30 + + + 459 + 5 + + + + + + + + + + 100 + us + 1 + 79 + 141 + AAA + 10 + + 62 + 17 + 0 + 0 + 0 + + + 4 + + perfect + + + + + + + 2007-02-06 20:16:39 + + + 474 + 5 + + + + + + + + + + 113 + us + 3 + 105 + 121 + B + 7 + + 44 + 33 + 22 + 5 + 2 + + + 4 + T + H + B + + comboed + + + + 2008-06-28 18:22:41 + + + 322 + L7 + + + + + + + + + + 148 + 9th,us + 5 + 468 + 716 + A + 7 + + 271 + 3 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 122 + 7 + + + + + + + + + + 128 + 4th,7th,8th,us + 3 + 256 + 459 + AAA + 10 + + 256 + 0 + + + 4 + H + + perfected + + + + + + + 2011-04-02 01:30:33 + + + 122 + L7 + + + + + + + + + + 128 + 4th,7th,8th,us + 2 + 196 + 344 + AA + 9 + + 150 + 44 + 2 + 0 + 0 + + + 4 + T + H + B + + combo + 2007-03-01 23:13:56 + + + 266 + L7 + + + + + + + + + + 148 + 8th,hs + 3 + 295 + 500 + AA + 9 + + 221 + 58 + 16 + 0 + 0 + + + 4 + H + + combo + 2012-02-05 05:28:39 + + + 464 + 5 + + + + + + + + + + 112 + us + 5 + 298 + 466 + AA + 9 + + 177 + 112 + 8 + 0 + 2 + + + 4 + T + H + B + + comboed + + + + 2008-06-28 17:27:37 + + + 469 + 5 + + + + + + + + + + 114 + us + 6 + 377 + 407 + C + 5 + + 127 + 153 + 92 + 3 + 8 + + + 4 + T + H + B + + cleared + + + + 2008-06-28 17:14:58 + + + 454 + 5 + + + + + + + + + + 125 + us + 2 + 284 + 519 + AAA + 10 + + 237 + 45 + 2 + 0 + 0 + + + 4 + T + H + B + + combo + 2007-05-23 22:32:57 + + + 291 + L7 + + + + + + + + + + 144 + 8th,9th,us,pb + 4 + 415 + 640 + A + 7 + + 264 + 112 + 38 + 0 + 1 + + + 4 + T + H + B + + cleared + 2008-06-27 19:36:53 + + + 468 + 5 + + + + + + + + + + 141 + us + 2 + 169 + 153 + C + 6 + + 52 + 49 + 68 + 0 + 0 + + + 4 + T + + combo + + + + 2007-01-16 22:30:00 + + + 452 + 5 + + + + + + + + + + 121 + us + 3 + 258 + 450 + AA + 9 + + 198 + 54 + 5 + 0 + 1 + + + 4 + T + H + B + + comboed + + + + 2008-06-28 19:15:53 + + + 49 + 5 + + + + + + + + + + 190 + 3rd,6th,us + 3 + 144 + 255 + AA + 9 + + 111 + 33 + 0 + 0 + 0 + + + 3 + H + B + + perfect + + + + 2008-06-28 18:33:20 + + + 455 + 5 + + + + + + + + + + 128 + us + 3 + 250 + 429 + AA + 9 + + 186 + 57 + 5 + 1 + 1 + + + 4 + T + H + B + + comboed + + + + 2008-06-28 18:14:28 + + + 453 + 5 + + + + + + + + + + 100 + us + 3 + 209 + 355 + AA + 9 + + 150 + 55 + 4 + 0 + 0 + + + 4 + T + H + B + + combo + + + + 2008-06-28 18:07:37 + + + 180 + L7 + + + + + + + + + + 145 + 3rd,us + 1 + 96 + 162 + AA + 9 + + 66 + 30 + 0 + 0 + 0 + + + 4 + T + + perfect + + + + 2007-02-19 17:44:14 + + + 111 + L7 + + + + + + + + + + 101 + 3rd,5th,7th,8th,10th,us,hs,pb + 1 + 83 + 150 + AAA + 10 + + 67 + 16 + 0 + 0 + 0 + + + 4 + T + + perfect + + + + + + + 2007-02-06 19:16:00 + + + 451 + L7 + + + + + + + + + + 122 + us + 2 + 168 + 272 + AA + 9 + + 110 + 52 + 5 + 0 + 1 + + + 4 + + comboed + 2006-10-15 00:51:42 + + + 180 + 5 + + + + + + + + + + 145 + 3rd,us + 2 + 96 + 97 + C + 6 + + 36 + 25 + 34 + 0 + 1 + + + 3 + + comboed + + + + 2006-12-08 22:45:01 + + + 451 + 5 + + + + + + + + + + 122 + us + 2 + 278 + 448 + AA + 9 + + 191 + 66 + 20 + 0 + 1 + + + 4 + T + + comboed + 2006-12-08 22:52:18 + + + 475 + 5 + + + + + + + + + + 126 + us + 6 + 275 + 334 + B + 6 + + 106 + 122 + 41 + 5 + 3 + + + 4 + T + H + B + + cleared + + + + 2008-06-28 17:05:52 + + + 6 + L7 + + + + + + + + + + 140 + 6th,10th,us + 4 + 452 + 701 + A + 7 + + 284 + 133 + 33 + 0 + 2 + + + 4 + T + + cleared + 2007-01-04 03:57:57 + + + 47 + L7 + + + + + + + + + + 154 + 3rd,6th + 5 + 450 + 549 + B + 6 + + 199 + 151 + 86 + 2 + 19 + + + 4 + + cleared + 2006-12-06 20:39:26 + + + 457 + L7 + + + + + + + + + + 121 + us + 3 + 220 + 362 + AA + 9 + + 151 + 60 + 9 + 0 + 0 + + + 4 + T + + combo + + + + 2007-02-06 18:40:47 + + + 455 + L7 + + + + + + + + + + 128 + us + 2 + 191 + 321 + AA + 9 + + 141 + 39 + 11 + 0 + 0 + + + 4 + T + H + B + + combo + 2007-03-17 22:01:09 + + + 331 + L7 + + + + + + + + + + 145 + 9th + 6 + 671 + 975 + A + 7 + + 385 + 205 + 78 + 2 + 8 + + + 4 + T + H + B + + cleared + 2008-06-27 19:50:32 + + + 454 + L7 + + + + + + + + + + 125 + us + 2 + 197 + 351 + AAA + 10 + + 156 + 39 + 2 + 0 + 0 + + + 4 + T + + combo + + + + + + + 2007-02-07 03:18:41 + + + 452 + L7 + + + + + + + + + + 121 + us + 3 + 210 + 337 + AA + 9 + + 138 + 61 + 11 + 0 + 0 + + + 4 + T + + combo + 2007-02-06 18:36:07 + + + 126 + L7 + + + + + + + + + + 128 + 4th,7th,us + 3 + 428 + 687 + AA + 8 + + 284 + 119 + 23 + 0 + 3 + + + 4 + + cleared + 2011-04-02 01:19:30 + + + 91 + L7 + + + + + + + + + + 142 + 5th,7th,us + 5 + 484 + 769 + AA + 9 + + 314 + 141 + 29 + 0 + 0 + + + 3 + H + + combo + 2011-04-02 01:19:30 + + + 61 + L7 + + + + + + + + + + 150 + 5th,6th,7th,8th,9th,10th,us,hs,pb + 5 + 646 + 1025 + AA + 8 + + 423 + 3 + + + 4 + H + B + + cleared + + + + 2007-08-21 00:13:57 + + + 30 + L7 + + + + + + + + + + 151 + 6th + 4 + 470 + 768 + AA + 8 + + 320 + 128 + 19 + 1 + 2 + + + 4 + + cleared + 2006-11-10 05:16:57 + + + 363 + L7 + + + + + + + + + + 200 + 9th,10th + 6 + 503 + 753 + A + 7 + + 353 + 10 + + + 3 + H + + cleared + 2011-04-02 01:57:43 + + + 463 + 5 + + + + + + + + + + 140 + us + 6 + 323 + 530 + AA + 8 + + 231 + 68 + 20 + 1 + 5 + + + 4 + T + H + B + + cleared + + + + 2008-06-28 17:22:33 + + + 278 + L7 + + + + + + + + + + 180 + 8th,red,emp + 4 + 399 + 712 + AAA + 10 + + 316 + 80 + 3 + 0 + 4 + + + 3 + H + B + + combo + 2011-04-02 02:39:54 + + + 511 + 7 + + + + + + + + + + 110 + red + 5 + 487 + 717 + A + 7 + + 285 + 147 + 54 + 0 + 2 + + + 5 + H + + cleared + 2011-04-02 02:39:54 + + + 318 + L7 + + + + + + + + + + 165 + 8th,red + 5 + 566 + 882 + AA + 8 + + 369 + 144 + 40 + 6 + 10 + + + 3 + H + B + + cleared + 2011-04-02 02:39:54 + + + 513 + L7 + + + + + + + + + + 160 + red + 5 + 531 + 795 + A + 7 + + 330 + 135 + 58 + 4 + 9 + + + 4 + H + + cleared + 2009-07-20 04:09:11 + + + 512 + L7 + + + + + + + + + + 188 + red,gold,emp + 5 + 422 + 717 + AA + 9 + + 304 + 109 + 9 + 0 + 2 + + + 3 + H + B + + combo + 2009-07-20 04:09:11 + + + 110 + A + + + + + + + + + + 134 + 3rd,5th,7th,red,pb + 7 + 584 + 859 + A + 7 + + 352 + 155 + 72 + 4 + 15 + + + 3 + T + H + B + + cleared + 2010-05-16 01:46:19 + + + 492 + L7 + + + + + + + + + + 135 + red + 4 + 434 + 692 + AA + 8 + + 279 + 134 + 18 + 2 + 9 + + + 5 + H + B + + cleared + + + + 2011-04-02 02:39:54 + + + 497 + L7 + + + + + + + + + + 160 + red + 4 + 417 + 704 + AA + 8 + + 299 + 106 + 10 + 0 + 2 + + + 4 + H + + cleared + 2007-04-06 04:34:09 + + + 503 + L7 + + + + + + + + + + 135 + red + 4 + 459 + 766 + AA + 9 + + 325 + 116 + 17 + 0 + 1 + + + 4 + H + + comboed + + + + 2009-07-20 04:09:11 + + + 508 + L7 + + + + + + + + + + 140 + red + 5 + 511 + 765 + A + 7 + + 316 + 133 + 59 + 1 + 4 + + + 4 + H + + cleared + 2009-07-20 04:09:11 + + + 488 + L7 + + + + + + + + + + 137 + red + 5 + 462 + 741 + AA + 8 + + 308 + 125 + 28 + 0 + 2 + + + 4 + S+ + H + B + + cleared + 2007-02-25 18:14:34 + + + 345 + L7 + + + + + + + + + + 146 + 9th + 3 + 329 + 562 + AA + 9 + + 242 + 78 + 9 + 0 + 0 + + + 4 + T + H + B + + combo + + + + 2007-04-28 17:14:50 + + + 157 + 7 + + + + + + + + + + 250 + 4th,red + 7 + 813 + 1205 + A + 7 + + 476 + 253 + 75 + 4 + 11 + + + 2 + T + H + + cleared + + + + 2012-05-26 00:54:17 + + + 326 + L7 + + + + + + + + + + 150 + 9th + 3 + 363 + 621 + AA + 9 + + 267 + 87 + 6 + 2 + 2 + + + 4 + H + B + + comboed + 2007-04-28 17:07:53 + + + 344 + L7 + + + + + + + + + + 142 + 9th,emp + 3 + 357 + 596 + AA + 9 + + 264 + 68 + 23 + 2 + 1 + + + 4 + T + H + B + + comboed + 2007-04-28 17:17:58 + + + 364 + L7 + + + + + + + + + + 132 + 9th + 3 + 399 + 690 + AA + 9 + + 301 + 88 + 10 + 0 + 0 + + + 4 + T + H + B + + combo + 2007-12-12 23:51:51 + + + 356 + L7 + + + + + + + + + + 290 + 9th + 5 + 448 + 644 + A + 7 + + 257 + 4 + + + 2 + H + + cleared + + + + 2011-04-02 01:57:43 + + + 339 + L7 + + + + + + + + + + 142 + 9th,gold + 4 + 397 + 675 + AA + 8 + + 292 + 91 + 13 + 0 + 1 + + + 4 + T + H + B + + cleared + + + + 2007-12-12 23:31:25 + + + 265 + L7 + + + + + + + + + + 174 + 7th,8th,9th,red,pb + 5 + 567 + 982 + AA + 8 + + 424 + 134 + 8 + 1 + 2 + + + 3.5 + H + B + + cleared + + + + 2007-04-29 03:23:28 + + + 167 + L7 + + + + + + + + + + 154 + 3rd,7th,9th + 3 + 310 + 515 + AA + 9 + + 219 + 77 + 14 + 0 + 3 + + + 3 + H + + combo + 2011-04-02 01:19:30 + + + 167 + 7 + + + + + + + + + + 154 + 3rd,7th,9th + 8 + 632 + 904 + A + 7 + + 364 + 176 + 78 + 7 + 15 + + + 3 + H + B + + cleared + 2011-04-02 01:57:43 + + + 345 + 7 + + + + + + + + + + 146 + 9th + 5 + 600 + 1015 + AA + 8 + + 472 + 3 + + + 4 + H + + cleared + 2011-09-05 05:51:41 + + + 240 + L7 + + + + + + + + + + 140 + 7th,9th + 5 + 561 + 917 + AA + 8 + + 376 + 165 + 17 + 0 + 4 + + + 4 + B + H + B + + cleared + 2007-04-28 17:57:43 + + + 377 + L7 + + + + + + + + + + 125 + 9th + 5 + 528 + 895 + AA + 8 + + 377 + 141 + 8 + 1 + 2 + + + 4 + T + H + B + + cleared + + + + 2008-06-27 19:42:14 + + + 368 + L7 + + + + + + + + + + 180 + 9th + 5 + 509 + 775 + A + 7 + + 312 + 151 + 44 + 0 + 4 + + + 3 + H + + cleared + 2007-04-14 22:03:42 + + + 383 + L7 + + + + + + + + + + 140 + 9th + 5 + 668 + 1013 + A + 7 + + 419 + 175 + 68 + 1 + 8 + + + 4 + T + H + B + + cleared + 2008-07-24 02:58:36 + + + 182 + L7 + + + + + + + + + + 170 + 3rd,9th + 5 + 463 + 803 + AA + 8 + + 345 + 113 + 4 + 0 + 1 + + + 3 + T + H + B + + cleared + 2007-12-12 22:58:51 + + + 97 + L7 + + + + + + + + + + 130 + 5th,7th,9th,us + 5 + 409 + 619 + A + 7 + + 356 + 4 + + + 4 + H + + cleared + + + + 2011-04-02 01:57:43 + + + 109 + L7 + + + + + + + + + + 179 + 3rd,5th,7th,8th,us,dd,pb + 5 + 437 + 691 + AA + 8 + + 284 + 123 + 24 + 2 + 9 + + + 3 + H + B + + cleared + 2007-03-17 21:54:12 + + + 17 + L7 + + + + + + + + + + 135 + 6th,7th,us + 5 + 667 + 1073 + AA + 8 + + 428 + 217 + 21 + 0 + 3 + + + 4 + H + + cleared + 2011-04-02 01:19:30 + + + 29 + L7 + + + + + + + + + + 132 + 6th,us + 4 + 524 + 807 + A + 8 + + 310 + 187 + 27 + 0 + 1 + + + 4 + T + H + + combo + 2007-04-29 18:44:07 + + + 462 + 5 + + + + + + + + + + 192 + us + 7 + 413 + 636 + A + 7 + + 271 + 94 + 36 + 7 + 8 + + + 3 + H + B + + cleared + + + + 2008-06-28 17:01:48 + + + 348 + L7 + + + + + + + + + + 177 + 9th,10th + 5 + 433 + 704 + AA + 8 + + 295 + 114 + 22 + 2 + 1 + + + 3 + T + H + B + + cleared + 2007-05-02 04:04:31 + + + 379 + L7 + + + + + + + + + + 180 + 9th + 5 + 436 + 693 + AA + 8 + + 280 + 133 + 18 + 4 + 6 + + + 2 + T + H + B + + cleared + 2008-07-24 02:55:24 + + + 324 + L7 + + + + + + + + + + 150 + 9th + 4 + 442 + 643 + A + 7 + + 249 + 145 + 46 + 1 + 4 + + + 4 + H + B + + cleared + 2007-12-12 23:44:04 + + + 360 + L7 + + + + + + + + + + 150 + 9th,red + 5 + 478 + 692 + A + 7 + + 283 + 126 + 59 + 9 + 7 + + + 4 + H + + cleared + 2007-04-06 04:32:25 + + + 359 + L7 + + + + + + + + + + 155 + 9th,10th,dd,emp + 6 + 591 + 990 + AA + 9 + + 413 + 164 + 12 + 0 + 4 + + + 4 + H + B + + comboed + + + + 2007-09-27 16:17:52 + + + 478 + L7 + + + + + + + + + + 154 + red,dd,emp + 5 + 642 + 1059 + AA + 9 + + 451 + 157 + 34 + 0 + 3 + + + 4 + H + B + + combo + + + + 2007-08-21 00:42:01 + + + 483 + L7 + + + + + + + + + + 150 + red + 5 + 559 + 878 + AA + 8 + + 362 + 154 + 39 + 2 + 3 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 479 + L7 + + + + + + + + + + 180 + red + 5 + 537 + 819 + A + 7 + + 331 + 157 + 48 + 1 + 2 + + + 3 + H + B + + cleared + 2011-04-02 02:39:54 + + + 48 + L7 + + + + + + + + + + 149 + 5th,6th,red,pb + 5 + 474 + 693 + A + 7 + + 279 + 135 + 50 + 4 + 10 + + + 4 + H + + cleared + 2011-04-02 02:39:54 + + + 527 + L7 + + + + + + + + + + 155 + red + 5 + 666 + 1103 + AA + 8 + + 459 + 185 + 18 + 2 + 4 + + + 4 + H + B + + cleared + 2009-07-20 04:09:11 + + + 110 + L7 + + + + + + + + + + 134 + 3rd,5th,7th,red,pb + 4 + 360 + 597 + AA + 9 + + 254 + 89 + 15 + 0 + 2 + + + 4 + H + + comboed + 2011-04-02 02:39:54 + + + 499 + L7 + + + + + + + + + + 160 + red + 4 + 343 + 568 + AA + 9 + + 243 + 82 + 18 + 0 + 1 + + + 4 + H + + combo + + + + 2007-04-06 04:33:22 + + + 146 + L7 + + + + + + + + + + 108 + 4th,9th,pb + 5 + 339 + 477 + A + 7 + + 180 + 117 + 30 + 6 + 7 + + + 3 + H + + cleared + + + + 2011-04-02 05:48:23 + + + 12 + L7 + + + + + + + + + + 176 + 6th,9th + 5 + 489 + 775 + AA + 8 + + 329 + 117 + 38 + 1 + 8 + + + 3 + T + H + + cleared + + + + 2007-03-23 16:37:50 + + + 8 + L7 + + + + + + + + + + 155 + 6th,7th,9th + 5 + 656 + 1052 + AA + 8 + + 452 + 148 + 45 + 5 + 9 + + + 3 + H + + cleared + 2011-04-02 01:57:43 + + + 378 + L7 + + + + + + + + + + 139 + 9th + 4 + 558 + 762 + A + 7 + + 316 + 6 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 357 + L7 + + + + + + + + + + 142 + 9th + 4 + 393 + 627 + AA + 9 + + 263 + 101 + 29 + 0 + 1 + + + 4 + H + + combo + 2007-04-14 22:03:54 + + + 361 + L7 + + + + + + + + + + 100 + 9th,emp + 5 + 333 + 557 + AA + 8 + + 238 + 81 + 10 + 2 + 2 + + + 4 + T + H + B + + cleared + + + + 2007-06-14 03:29:24 + + + 518 + L7 + + + + + + + + + + 155 + red + 5 + 569 + 965 + AA + 9 + + 415 + 135 + 19 + 0 + 0 + + + 4 + H + + combo + + + + 2009-07-20 04:09:11 + + + 489 + L7 + + + + + + + + + + 132 + red + 5 + 529 + 800 + A + 7 + + 320 + 160 + 44 + 1 + 5 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 506 + L7 + + + + + + + + + + 93 + red + 4 + 358 + 525 + A + 8 + + 203 + 119 + 36 + 0 + 2 + + + 3 + H + B + + combo + 2011-04-02 02:39:54 + + + 311 + L7 + + + + + + + + + + 180 + 8th,red + 5 + 498 + 787 + AA + 8 + + 329 + 129 + 33 + 5 + 8 + + + 3 + H + B + + cleared + 2009-07-20 04:09:11 + + + 157 + L7 + + + + + + + + + + 250 + 4th,red + 5 + 574 + 897 + AA + 8 + + 371 + 155 + 40 + 0 + 13 + + + 1.5 + S+ + H + B + + cleared + 2007-12-24 16:52:17 + + + 54 + L7 + + + + + + + + + + 134 + 3rd,6th,7th,hs + 4 + 372 + 641 + AA + 9 + + 278 + 85 + 7 + 1 + 1 + + + 3 + S+ + H + B + + comboed + 2011-04-02 01:19:30 + + + 11 + L7 + + + + + + + + + + 160 + 6th + 4 + 387 + 651 + AA + 8 + + 272 + 107 + 6 + 0 + 4 + + + 4 + H + B + + cleared + + + + 2007-03-23 15:00:53 + + + 43 + L7 + + + + + + + + + + 148 + 4th,5th,6th,7th,red,pb + 6 + 651 + 944 + A + 7 + + 338 + 268 + 35 + 2 + 12 + + + 4 + H + B + + cleared + + + + 2009-07-20 04:09:11 + + + 32 + L7 + + + + + + + + + + 158 + 6th + 4 + 530 + 865 + AA + 8 + + 368 + 129 + 31 + 1 + 4 + + + 4 + + cleared + 2007-02-06 18:03:59 + + + 10 + 7 + + + + + + + + + + 65 + 6th,pb + 5 + 387 + 565 + A + 8 + + 221 + 123 + 41 + 1 + 1 + + + 4 + T + H + B + + comboed + 2007-08-01 22:42:05 + + + 11 + 7 + + + + + + + + + + 160 + 6th + 5 + 477 + 716 + A + 7 + + 266 + 184 + 19 + 2 + 9 + + + 4 + H + + cleared + 2007-04-06 04:40:36 + + + 52 + 7 + + + + + + + + + + 157 + 3rd,6th,pb + 5 + 368 + 551 + A + 7 + + 224 + 103 + 39 + 0 + 3 + + + 4 + H + B + + cleared + 2007-04-29 19:07:12 + + + 23 + 7 + + + + + + + + + + 126 + 6th + 5 + 433 + 576 + B + 6 + + 221 + 134 + 63 + 9 + 15 + + + 4 + T + + cleared + 2006-12-12 23:56:17 + + + 14 + L7 + + + + + + + + + + 178 + 5th,6th,us,hs + 5 + 657 + 998 + A + 7 + + 406 + 186 + 58 + 5 + 5 + + + 3.5 + H + B + + cleared + + + + 2007-04-26 02:03:33 + + + 44 + L7 + + + + + + + + + + 154 + 3rd,6th,7th,8th,us,hs,emp + 4 + 395 + 638 + AA + 9 + + 260 + 118 + 7 + 4 + 7 + + + 3 + H + + comboed + 2011-04-02 01:19:30 + + + 25 + A + + + + + + + + + + 217 + 6th + 4 + 364 + 456 + B + 6 + + 171 + 114 + 70 + 4 + 6 + + + 2 + + cleared + 2006-10-07 22:37:28 + + + 21 + L7 + + + + + + + + + + 122 + 6th + 5 + 457 + 696 + A + 7 + + 261 + 174 + 17 + 3 + 10 + + + 4 + T + H + B + + cleared + 2007-05-14 01:29:22 + + + 64 + L7 + + + + + + + + + + 171 + 6th,8th,us + 4 + 334 + 575 + AA + 8 + + 254 + 67 + 12 + 0 + 2 + + + 3 + T + H + B + + cleared + 2007-03-17 22:49:52 + + + 60 + L7 + + + + + + + + + + 147 + 4th,5th,6th,us,emp + 4 + 485 + 718 + A + 8 + + 286 + 146 + 53 + 0 + 4 + + + 4 + T + H + B + + combo + 2007-03-23 15:47:44 + + + 24 + L7 + + + + + + + + + + 144 + 6th,red + 3 + 278 + 426 + A + 8 + + 175 + 76 + 27 + 0 + 0 + + + 4 + H + + combo + 2009-07-20 04:09:11 + + + 9 + L7 + + + + + + + + + + 145 + 6th,hs + 5 + 521 + 779 + A + 7 + + 314 + 151 + 52 + 2 + 3 + + + 4.5 + H + B + + cleared + 2007-04-29 19:43:47 + + + 51 + L7 + + + + + + + + + + 190 + 4th,6th + 5 + 378 + 564 + A + 7 + + 226 + 112 + 36 + 2 + 3 + + + 3 + + cleared + 2007-04-06 04:39:13 + + + 38 + 7 + + + + + + + + + + 125 + 6th + 5 + 560 + 860 + A + 7 + + 344 + 172 + 40 + 3 + 6 + + + 4 + T + + cleared + + + + 2006-10-30 00:01:09 + + + 25 + 7 + + + + + + + + + + 217 + 6th + 3 + 280 + 392 + A + 7 + + 153 + 86 + 40 + 0 + 4 + + + 2 + B + H + B + + cleared + + + + 2007-04-29 19:11:08 + + + 25 + L7 + + + + + + + + + + 217 + 6th + 2 + 260 + 423 + AA + 9 + + 176 + 71 + 13 + 0 + 2 + + + 2 + B + H + B + + combo + + + + 2007-03-23 16:10:53 + + + 35 + L7 + + + + + + + + + + 140 + 6th + 5 + 627 + 924 + A + 7 + + 368 + 188 + 67 + 0 + 6 + + + 4 + T + H + + cleared + + + + 2007-03-23 16:49:14 + + + 10 + L7 + + + + + + + + + + 65 + 6th,pb + 3 + 297 + 485 + AA + 9 + + 202 + 81 + 13 + 1 + 0 + + + 4 + T + + comboed + 2007-02-09 15:14:43 + + + 7 + 7 + + + + + + + + + + 132 + 6th + 6 + 571 + 760 + B + 6 + + 298 + 164 + 94 + 8 + 12 + + + 4 + T + + cleared + 2007-04-06 04:42:24 + + + 63 + 7 + + + + + + + + + + 134 + 6th,8th + 3 + 296 + 442 + A + 7 + + 174 + 94 + 24 + 3 + 3 + + + 4 + T + H + B + + cleared + 2007-04-29 19:14:20 + + + 67 + 7 + + + + + + + + + + 70 + 6th + 4 + 303 + 421 + A + 8 + + 167 + 87 + 46 + 2 + 2 + + + 4 + T + + comboed + + + + 2006-12-24 16:42:12 + + + 56 + L7 + + + + + + + + + + 167 + 5th,6th,7th,hs,pb + 6 + 549 + 872 + AA + 8 + + 346 + 180 + 19 + 3 + 2 + + + 0 + H + B + + cleared + 2009-03-21 20:17:55 + + + 41 + L7 + + + + + + + + + + 144 + 4th,5th,6th,7th,hs,pb + 5 + 682 + 1100 + AA + 8 + + 477 + 146 + 54 + 1 + 13 + + + 3 + H + + cleared + 2011-04-02 01:19:30 + + + 52 + L7 + + + + + + + + + + 157 + 3rd,6th,pb + 4 + 330 + 441 + A + 7 + + 169 + 103 + 56 + 1 + 2 + + + 4 + + cleared + 2006-12-13 00:02:27 + + + 69 + L7 + + + + + + + + + + 179 + 3rd,6th,8th,gold + 5 + 387 + 566 + A + 7 + + 231 + 104 + 37 + 9 + 9 + + + 3 + + cleared + 2006-12-06 20:35:32 + + + 67 + L7 + + + + + + + + + + 70 + 6th + 2 + 226 + 352 + AA + 9 + + 149 + 54 + 23 + 0 + 0 + + + 4 + T + + combo + + + + 2006-12-24 16:35:39 + + + 45 + L7 + + + + + + + + + + 124 + 3rd,5th,6th,7th,us,dd,pb + 2 + 272 + 457 + AA + 9 + + 189 + 79 + 4 + 0 + 0 + + + 0 + H + B + + combo + 2009-03-22 11:18:32 + + + 65 + L7 + + + + + + + + + + 152 + 6th,8th + 5 + 620 + 982 + AA + 8 + + 418 + 146 + 55 + 1 + 3 + + + 4 + H + + cleared + 2011-04-02 01:30:33 + + + 31 + L7 + + + + + + + + + + 155 + 6th + 4 + 428 + 669 + AA + 9 + + 271 + 127 + 29 + 0 + 2 + + + 4 + + comboed + 2007-02-25 17:19:23 + + + 42 + L7 + + + + + + + + + + 155 + 4th,6th,7th,8th + 5 + 538 + 827 + A + 7 + + 336 + 155 + 42 + 2 + 4 + + + 3 + + cleared + 2011-04-02 01:19:30 + + + 38 + L7 + + + + + + + + + + 125 + 6th + 4 + 411 + 681 + AA + 9 + + 293 + 95 + 23 + 0 + 0 + + + 4 + T + H + + combo + + + + 2007-03-23 16:01:58 + + + 10 + A + + + + + + + + + + 65 + 6th,pb + 7 + 537 + 769 + A + 7 + + 302 + 165 + 62 + 3 + 10 + + + 5 + H + + cleared + 2011-04-02 05:48:23 + + + 189 + 5 + + + + + + + + + + 149 + 9th,us + 7 + 582 + 742 + B + 6 + + 297 + 148 + 117 + 8 + 23 + + + 4 + H + B + + cleared + + + + 2008-06-28 16:58:25 + + + 258 + L7 + + + + + + + + + + 93 + 7th,8th,red,pb + 6 + 666 + 1032 + A + 7 + + 423 + 186 + 55 + 1 + 1 + + + 3 + H + + cleared + 2011-04-02 01:19:30 + + + 521 + L7 + + + + + + + + + + 144 + red,pb + 5 + 536 + 873 + AA + 8 + + 368 + 137 + 30 + 0 + 2 + + + 4.5 + S+ + H + B + + cleared + 2007-12-24 16:49:11 + + + 316 + L7 + + + + + + + + + + 154 + 8th,red,djt + 5 + 545 + 851 + AA + 9 + + 351 + 149 + 39 + 0 + 7 + + + 4 + H + + comboed + 2009-07-20 04:09:11 + + + 499 + 7 + + + + + + + + + + 160 + red + 6 + 532 + 856 + AA + 8 + + 361 + 134 + 29 + 2 + 10 + + + 4 + H + B + + cleared + 2009-07-20 04:09:11 + + + 526 + A + + + + + + + + + + 110 + red,gold + 5 + 538 + 867 + AA + 8 + + 360 + 147 + 26 + 1 + 6 + + + 5 + H + + cleared + 2012-03-17 01:58:53 + + + 522 + L7 + + + + + + + + + + 180 + red + 5 + 480 + 812 + AA + 9 + + 347 + 118 + 15 + 0 + 1 + + + 3 + H + + combo + 2009-07-20 04:09:11 + + + 134 + 7 + + + + + + + + + + 138 + 4th,red + 5 + 466 + 823 + AA + 9 + + 360 + 103 + 3 + 0 + 9 + + + 4 + H + B + + perfected + 2012-05-26 04:05:06 + + + 80 + A + + + + + + + + + + 150 + 5th,red + 6 + 561 + 849 + A + 7 + + 355 + 139 + 45 + 8 + 22 + + + 4 + H + B + + cleared + + + + 2009-07-20 04:09:11 + + + 343 + 7 + + + + + + + + + + 130 + 9th + 6 + 654 + 1069 + AA + 8 + + 492 + 7 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 333 + 7 + + + + + + + + + + 130 + 9th + 6 + 642 + 985 + A + 7 + + 271 + 4 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 319 + L7 + + + + + + + + + + 180 + 9th + 6 + 532 + 768 + A + 7 + + 226 + 17 + + + 3 + H + + cleared + 2011-04-02 01:57:43 + + + 341 + L7 + + + + + + + + + + 200 + 9th,dd + 5 + 668 + 962 + A + 7 + + 286 + 21 + + + 2 + H + + cleared + 2011-04-02 01:57:43 + + + 260 + L7 + + + + + + + + + + 300 + 7th,red + 8 + 571 + 806 + A + 7 + + 329 + 148 + 83 + 3 + 8 + + + 1 + H + B + + cleared + 2011-04-02 02:39:54 + + + 68 + 7 + + + + + + + + + + 135 + 6th,8th,us,pb + 5 + 552 + 667 + B + 6 + + 221 + 225 + 90 + 5 + 14 + + + 4 + T + + cleared + 2007-01-04 03:33:04 + + + 281 + L7 + + + + + + + + + + 148 + 8th,red + 4 + 514 + 861 + AA + 9 + + 364 + 133 + 17 + 0 + 0 + + + 4 + H + B + + combo + 2007-04-29 03:20:48 + + + 490 + 7 + + + + + + + + + + 116 + red,emp + 5 + 431 + 727 + AA + 8 + + 310 + 107 + 13 + 1 + 9 + + + 5 + H + + cleared + 2012-03-17 07:17:56 + + + 493 + L7 + + + + + + + + + + 200 + red + 5 + 534 + 817 + A + 7 + + 336 + 145 + 42 + 5 + 17 + + + 2.5 + H + B + + cleared + 2007-05-10 16:20:29 + + + 301 + L7 + + + + + + + + + + 155 + 8th,red + 4 + 470 + 680 + A + 7 + + 272 + 136 + 52 + 6 + 8 + + + 4 + S+ + H + B + + cleared + 2007-02-25 18:07:48 + + + 304 + L7 + + + + + + + + + + 140 + 8th,red + 4 + 350 + 560 + AA + 8 + + 231 + 98 + 19 + 0 + 2 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 514 + L7 + + + + + + + + + + 164 + red,dd,pb + 5 + 567 + 881 + A + 7 + + 370 + 141 + 51 + 0 + 8 + + + 4 + H + + cleared + + + + 2007-03-17 21:42:02 + + + 529 + L7 + + + + + + + + + + 140 + red + 4 + 357 + 562 + AA + 9 + + 238 + 86 + 33 + 0 + 1 + + + 4.5 + H + + combo + 2007-04-06 04:32:52 + + + 484 + 7 + + + + + + + + + + 135 + red + 6 + 691 + 944 + A + 7 + + 375 + 194 + 111 + 5 + 11 + + + 4 + H + + cleared + 2011-04-02 02:39:54 + + + 4 + L7 + + + + + + + + + + 164 + 6th,7th,us,red,pb + 5 + 524 + 759 + A + 7 + + 301 + 157 + 59 + 1 + 10 + + + 3 + H + + cleared + 2011-04-02 01:19:30 + + + 505 + L7 + + + + + + + + + + 130 + red + 5 + 387 + 641 + AA + 9 + + 273 + 95 + 19 + 0 + 0 + + + 5 + H + + combo + 2009-07-20 04:09:11 + + + 317 + L7 + + + + + + + + + + 155 + 8th,red + 4 + 419 + 687 + AA + 8 + + 290 + 107 + 21 + 0 + 2 + + + 4 + H + + cleared + 2011-04-02 02:39:54 + + + 480 + L7 + + + + + + + + + + 150 + red,pb + 5 + 517 + 797 + A + 8 + + 327 + 143 + 44 + 1 + 4 + + + 4 + S+ + H + B + + comboed + + + + 2007-12-24 16:44:29 + + + 28 + L7 + + + + + + + + + + 141 + 6th,hs + 6 + 663 + 949 + A + 7 + + 343 + 263 + 40 + 2 + 30 + + + 4.5 + H + B + + cleared + 2007-04-26 01:10:39 + + + 23 + L7 + + + + + + + + + + 126 + 6th + 4 + 381 + 597 + AA + 8 + + 241 + 115 + 22 + 1 + 5 + + + 4 + T + H + B + + cleared + + + + 2007-03-23 16:45:50 + + + 20 + L7 + + + + + + + + + + 205 + 6th,10th + 7 + 760 + 1104 + A + 7 + + 433 + 238 + 81 + 0 + 16 + + + 2 + T + H + + cleared + 2011-04-02 02:17:23 + + + 24 + 7 + + + + + + + + + + 144 + 6th,red + 7 + 573 + 815 + A + 7 + + 319 + 177 + 73 + 0 + 11 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 509 + 7 + + + + + + + + + + 84 + red + 6 + 574 + 878 + A + 7 + + 350 + 178 + 40 + 2 + 7 + + + 3 + H + B + + cleared + 2009-07-20 04:09:11 + + + 366 + L7 + + + + + + + + + + 180 + 9th,us,djt + 5 + 534 + 810 + A + 7 + + 411 + 7 + + + 3 + H + + cleared + 2011-04-02 01:57:43 + + + 93 + L7 + + + + + + + + + + 172 + 5th,7th,us + 5 + 363 + 599 + AA + 9 + + 257 + 85 + 18 + 0 + 3 + + + 2 + + comboed + 2011-04-02 01:19:30 + + + 285 + 7 + + + + + + + + + + 145 + 8th,10th,us + 8 + 721 + 1038 + A + 7 + + 135 + 39 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 173 + 7 + + + + + + + + + + 154 + 3rd,us,dd + 5 + 542 + 903 + AA + 8 + + 373 + 157 + 10 + 0 + 4 + + + 4 + H + B + + cleared + 2012-02-05 05:32:21 + + + 93 + 7 + + + + + + + + + + 172 + 5th,7th,us + 6 + 512 + 825 + AA + 8 + + 347 + 131 + 27 + 2 + 10 + + + 3 + T + B + + cleared + 2010-05-16 01:36:44 + + + 64 + 7 + + + + + + + + + + 171 + 6th,8th,us + 6 + 670 + 757 + B + 6 + + 285 + 187 + 170 + 18 + 32 + + + 4 + + cleared + 2006-12-06 21:20:12 + + + 40 + L7 + + + + + + + + + + 130 + 6th,gold + 4 + 410 + 625 + A + 8 + + 253 + 119 + 38 + 0 + 0 + + + 4 + H + + combo + 2012-02-05 05:33:48 + + + 27 + L7 + + + + + + + + + + 108 + 6th,7th + 5 + 511 + 825 + AA + 8 + + 334 + 157 + 18 + 0 + 6 + + + 4 + + cleared + 2011-04-02 01:19:30 + + + 1 + L7 + + + + + + + + + + 138 + 6th,7th,hs,pb + 4 + 429 + 704 + AA + 9 + + 302 + 100 + 26 + 0 + 2 + + + 5 + T + H + B + + comboed + 2007-08-23 22:45:32 + + + 34 + L7 + + + + + + + + + + 138 + 6th + 4 + 416 + 564 + A + 7 + + 233 + 98 + 84 + 0 + 2 + + + 4 + + cleared + 2006-12-08 21:47:57 + + + 33 + L7 + + + + + + + + + + 154 + 6th + 5 + 541 + 824 + A + 7 + + 335 + 154 + 47 + 3 + 4 + + + 4 + H + B + + cleared + + + + 2007-03-23 15:44:45 + + + 58 + L7 + + + + + + + + + + 147 + 4th,5th,6th + 5 + 551 + 796 + A + 7 + + 320 + 156 + 70 + 0 + 8 + + + 4 + T + H + + cleared + 2007-03-23 16:44:09 + + + 62 + L7 + + + + + + + + + + 140 + 6th,8th,pb + 5 + 491 + 796 + AA + 9 + + 491 + 2 + + + 4 + H + + comboed + 2011-04-02 01:30:33 + + + 37 + L7 + + + + + + + + + + 140 + 6th + 5 + 597 + 826 + A + 7 + + 326 + 174 + 93 + 4 + 16 + + + 4 + T + H + B + + cleared + 2007-06-17 22:15:08 + + + 63 + L7 + + + + + + + + + + 134 + 6th,8th + 2 + 263 + 441 + AA + 9 + + 263 + 0 + + + 4 + H + + combo + 2011-04-02 01:30:33 + + + 47 + 7 + + + + + + + + + + 154 + 3rd,6th + 6 + 469 + 596 + B + 6 + + 225 + 146 + 83 + 5 + 15 + + + 4 + + cleared + 2007-04-06 04:48:48 + + + 3 + 7 + + + + + + + + + + 128 + 6th,hs + 6 + 667 + 970 + A + 7 + + 395 + 180 + 87 + 3 + 6 + + + 4 + H + B + + cleared + 2011-04-27 00:24:30 + + + 351 + 7 + + + + + + + + + + 130 + 9th + 6 + 603 + 966 + AA + 8 + + 259 + 8 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 384 + L7 + + + + + + + + + + 159 + 9th + 5 + 702 + 1058 + A + 7 + + 438 + 182 + 69 + 7 + 17 + + + 3 + T + H + B + + cleared + 2008-07-24 02:50:09 + + + 349 + L7 + + + + + + + + + + 155 + 9th,red + 6 + 706 + 984 + A + 7 + + 395 + 194 + 98 + 10 + 21 + + + 4 + H + B + + cleared + 2009-07-20 04:09:11 + + + 85 + L7 + + + + + + + + + + 130 + 5th,red + 4 + 463 + 788 + AA + 9 + + 339 + 110 + 14 + 0 + 0 + + + 4 + H + B + + combo + 2011-04-02 02:39:54 + + + 516 + A + + + + + + + + + + 145 + red + 8 + 971 + 1441 + A + 7 + + 575 + 291 + 94 + 8 + 13 + + + 4 + H + + cleared + 2011-04-02 02:39:54 + + + 281 + 7 + + + + + + + + + + 148 + 8th,red + 6 + 746 + 1020 + A + 7 + + 390 + 240 + 98 + 5 + 15 + + + 4 + H + B + + cleared + 2009-07-20 04:09:11 + + + 110 + 7 + + + + + + + + + + 134 + 3rd,5th,7th,red,pb + 6 + 514 + 799 + A + 8 + + 323 + 153 + 38 + 0 + 4 + + + 5 + H + B + + combo + 2010-05-16 01:26:14 + + + 487 + 7 + + + + + + + + + + 152 + red + 6 + 732 + 1220 + AA + 8 + + 530 + 160 + 37 + 2 + 4 + + + 4 + H + B + + cleared + 2012-02-05 05:23:47 + + + 494 + 7 + + + + + + + + + + 133 + red + 6 + 562 + 818 + A + 7 + + 320 + 178 + 61 + 1 + 11 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 285 + L7 + + + + + + + + + + 145 + 8th,10th,us + 5 + 527 + 813 + A + 7 + + 309 + 4 + + + 4 + H + + cleared + 2011-04-02 01:30:33 + + + 153 + L7 + + + + + + + + + + 125 + 4th,7th,8th,us + 5 + 480 + 772 + AA + 8 + + 313 + 146 + 20 + 1 + 1 + + + 4 + T + H + + cleared + 2007-03-17 22:41:35 + + + 6 + 7 + + + + + + + + + + 140 + 6th,10th,us + 7 + 688 + 1016 + A + 7 + + 204 + 17 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 191 + A + + + + + + + + + + 136 + 3rd,10th,us + 5 + 469 + 619 + B + 6 + + 224 + 171 + 58 + 10 + 14 + + + 4 + T + + cleared + 2007-02-19 17:50:22 + + + 143 + L7 + + + + + + + + + + 160 + 4th,9th + 5 + 474 + 780 + AA + 8 + + 336 + 108 + 27 + 1 + 5 + + + 4 + H + B + + cleared + 2007-06-14 03:47:05 + + + 370 + 7 + + + + + + + + + + 135 + 9th + 6 + 592 + 959 + AA + 8 + + 486 + 6 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 46 + 7 + + + + + + + + + + 154 + 3rd,5th,6th,7th + 5 + 569 + 872 + A + 7 + + 339 + 194 + 29 + 3 + 8 + + + 3 + + cleared + 2011-09-05 05:42:12 + + + 14 + 7 + + + + + + + + + + 178 + 5th,6th,us,hs + 6 + 854 + 1245 + A + 7 + + 482 + 281 + 82 + 2 + 15 + + + 0 + H + B + + cleared + 2009-03-21 20:18:02 + + + 351 + L7 + + + + + + + + + + 130 + 9th + 4 + 420 + 705 + AA + 9 + + 288 + 129 + 3 + 0 + 0 + + + 4 + T + H + B + + combo + 2008-06-27 19:12:19 + + + 327 + L7 + + + + + + + + + + 150 + 9th + 3 + 326 + 550 + AA + 9 + + 239 + 72 + 12 + 2 + 2 + + + 4 + T + H + B + + comboed + 2007-12-13 00:03:44 + + + 373 + L7 + + + + + + + + + + 136 + 9th + 4 + 425 + 674 + AA + 9 + + 258 + 158 + 9 + 0 + 0 + + + 4 + T + H + B + + combo + 2007-04-28 18:26:03 + + + 372 + L7 + + + + + + + + + + 110 + 9th + 4 + 470 + 733 + AA + 8 + + 299 + 2 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 374 + L7 + + + + + + + + + + 150 + 9th + 5 + 425 + 653 + A + 7 + + 374 + 2 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 358 + L7 + + + + + + + + + + 140 + 9th + 5 + 442 + 620 + A + 7 + + 396 + 3 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 144 + L7 + + + + + + + + + + 130 + 4th,9th + 5 + 515 + 872 + AA + 8 + + 247 + 2 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 381 + L7 + + + + + + + + + + 133 + 9th + 4 + 333 + 502 + A + 7 + + 159 + 4 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 340 + L7 + + + + + + + + + + 150 + 9th + 3 + 365 + 646 + AA + 9 + + 291 + 64 + 9 + 1 + 0 + + + 4 + H + B + + comboed + 2007-12-12 23:59:03 + + + 175 + L7 + + + + + + + + + + 135 + 3rd,9th + 5 + 366 + 585 + AA + 8 + + 231 + 123 + 9 + 0 + 7 + + + 4 + T + H + B + + cleared + + + + 2007-04-28 18:35:45 + + + 375 + L7 + + + + + + + + + + 124 + 9th + 3 + 264 + 460 + AA + 9 + + 206 + 48 + 10 + 0 + 0 + + + 4 + T + H + B + + combo + 2007-06-14 03:33:19 + + + 323 + L7 + + + + + + + + + + 130 + 9th + 5 + 468 + 761 + AA + 8 + + 303 + 155 + 7 + 0 + 4 + + + 4 + T + H + B + + cleared + 2007-12-12 22:59:23 + + + 355 + L7 + + + + + + + + + + 128 + 9th + 4 + 388 + 655 + AA + 9 + + 274 + 107 + 5 + 0 + 2 + + + 4 + T + H + B + + comboed + 2007-12-12 23:11:05 + + + 332 + L7 + + + + + + + + + + 140 + 9th + 4 + 475 + 810 + AA + 8 + + 349 + 112 + 12 + 1 + 3 + + + 4 + T + H + B + + cleared + + + + 2007-06-14 03:39:18 + + + 367 + L7 + + + + + + + + + + 140 + 9th,pb + 3 + 351 + 579 + AA + 8 + + 248 + 83 + 16 + 1 + 8 + + + 4 + B + H + B + + cleared + 2007-12-12 23:49:05 + + + 308 + L7 + + + + + + + + + + 148 + 8th,red,pb + 4 + 422 + 571 + A + 7 + + 231 + 109 + 65 + 13 + 6 + + + 4 + S+ + H + B + + cleared + 2007-02-25 18:04:10 + + + 504 + L7 + + + + + + + + + + 180 + red + 5 + 472 + 737 + AA + 8 + + 299 + 139 + 33 + 0 + 1 + + + 3 + H + B + + cleared + 2009-07-20 04:09:11 + + + 57 + L7 + + + + + + + + + + 180 + 5th,6th + 4 + 378 + 607 + AA + 9 + + 239 + 129 + 10 + 0 + 1 + + + 3 + H + B + + combo + 2007-03-23 15:20:10 + + + 15 + L7 + + + + + + + + + + 150 + 5th,6th + 4 + 471 + 698 + A + 7 + + 274 + 150 + 46 + 0 + 4 + + + 4 + + cleared + 2007-03-23 15:00:26 + + + 16 + L7 + + + + + + + + + + 155 + 5th,6th + 5 + 563 + 812 + A + 7 + + 330 + 152 + 71 + 6 + 8 + + + 4 + T + H + B + + cleared + 2007-03-23 15:35:17 + + + 343 + L7 + + + + + + + + + + 130 + 9th + 3 + 428 + 711 + AA + 8 + + 422 + 2 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 342 + L7 + + + + + + + + + + 132 + 9th + 5 + 423 + 684 + AA + 8 + + 288 + 108 + 23 + 2 + 3 + + + 4 + T + H + B + + cleared + 2008-07-24 02:52:49 + + + 352 + L7 + + + + + + + + + + 158 + 9th + 4 + 375 + 552 + A + 7 + + 160 + 2 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 375 + 7 + + + + + + + + + + 124 + 9th + 6 + 502 + 805 + AA + 9 + + 502 + 4 + + + 4 + H + + combo + 2011-04-02 01:57:43 + + + 519 + L7 + + + + + + + + + + 160 + red,dd + 5 + 541 + 890 + AA + 8 + + 393 + 104 + 37 + 1 + 10 + + + 4 + H + B + + cleared + 2007-08-21 00:53:49 + + + 332 + 7 + + + + + + + + + + 140 + 9th + 5 + 589 + 930 + AA + 9 + + 589 + 2 + + + 4 + H + + combo + 2011-04-02 01:57:43 + + + 353 + L7 + + + + + + + + + + 146 + 9th,hs,emp + 4 + 533 + 877 + AA + 8 + + 351 + 175 + 6 + 0 + 4 + + + 0 + H + + cleared + 2009-03-21 20:17:55 + + + 369 + L7 + + + + + + + + + + 114 + 9th,djt + 4 + 335 + 543 + AA + 9 + + 228 + 87 + 17 + 1 + 5 + + + 4 + T + H + B + + comboed + 2007-12-12 23:02:01 + + + 365 + L7 + + + + + + + + + + 129 + 9th,10th,pb + 4 + 429 + 660 + A + 7 + + 269 + 122 + 35 + 2 + 1 + + + 4 + T + H + B + + cleared + 2007-05-02 04:00:49 + + + 346 + L7 + + + + + + + + + + 130 + 9th + 5 + 529 + 846 + AA + 8 + + 333 + 4 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 254 + L7 + + + + + + + + + + 125 + 7th,9th + 5 + 453 + 755 + AA + 9 + + 306 + 143 + 4 + 0 + 0 + + + 4 + H + + comboed + 2011-04-02 01:57:43 + + + 131 + L7 + + + + + + + + + + 141 + 4th,9th + 3 + 271 + 433 + AA + 8 + + 178 + 77 + 15 + 1 + 1 + + + 4 + T + H + B + + cleared + 2007-12-12 23:54:08 + + + 491 + 7 + + + + + + + + + + 94 + red + 5 + 530 + 788 + A + 7 + + 320 + 148 + 60 + 0 + 4 + + + 5 + H + + cleared + 2011-04-02 02:39:54 + + + 532 + L7 + + + + + + + + + + 84 + red + 1 + 141 + 226 + AA + 9 + + 93 + 40 + 8 + 0 + 0 + + + 5 + H + + combo + 2009-07-20 04:09:11 + + + 106 + 7 + + + + + + + + + + 84 + 3rd,5th,red + 2 + 198 + 341 + AA + 9 + + 150 + 41 + 7 + 0 + 0 + + + 5 + S+ + H + + combo + 2007-04-06 04:35:29 + + + 283 + 7 + + + + + + + + + + 145 + 8th,red + 7 + 694 + 991 + A + 7 + + 392 + 207 + 83 + 8 + 16 + + + 4.5 + H + B + + cleared + 2007-12-24 17:09:44 + + + 125 + A + + + + + + + + + + 140 + 4th,red + 4 + 363 + 621 + AA + 9 + + 268 + 85 + 10 + 0 + 1 + + + 3 + T + H + + combo + + + + 2012-05-26 02:47:59 + + + 302 + L7 + + + + + + + + + + 180 + 8th,red,pb + 5 + 534 + 918 + AA + 8 + + 411 + 96 + 25 + 0 + 2 + + + 3 + H + B + + cleared + + + + 2011-04-02 02:39:54 + + + 530 + L7 + + + + + + + + + + 102 + red,pb + 1 + 137 + 234 + AA + 9 + + 101 + 32 + 4 + 0 + 0 + + + 5 + H + + combo + 2009-07-20 04:09:11 + + + 86 + L7 + + + + + + + + + + 136 + 5th,red + 4 + 464 + 791 + AA + 8 + + 336 + 119 + 2 + 0 + 7 + + + 4.5 + S+ + H + B + + cleared + 2007-12-24 16:32:18 + + + 524 + L7 + + + + + + + + + + 172 + red + 5 + 526 + 870 + AA + 9 + + 369 + 132 + 25 + 0 + 1 + + + 3 + H + B + + combo + 2009-07-20 04:09:11 + + + 498 + L7 + + + + + + + + + + 171 + red + 5 + 546 + 868 + AA + 8 + + 372 + 124 + 45 + 1 + 11 + + + 3.5 + S+ + H + B + + cleared + + + + 2007-12-24 16:35:19 + + + 509 + L7 + + + + + + + + + + 84 + red + 3 + 247 + 408 + AA + 9 + + 171 + 66 + 10 + 0 + 0 + + + 3 + H + + combo + 2009-07-20 04:09:11 + + + 22 + L7 + + + + + + + + + + 200 + 6th,10th + 5 + 417 + 610 + A + 7 + + 241 + 128 + 43 + 2 + 11 + + + 2 + T + H + + cleared + 2007-05-14 01:29:48 + + + 2 + L7 + + + + + + + + + + 150 + 6th,7th,8th,10th,us,djt,pb + 6 + 751 + 1045 + A + 7 + + 408 + 229 + 97 + 4 + 18 + + + 3 + + cleared + 2011-04-02 01:19:30 + + + 77 + L7 + + + + + + + + + + 125 + 5th,7th + 4 + 410 + 623 + A + 5 + + 226 + 171 + 11 + 0 + 5 + + + 4 + + played + 2011-04-02 01:19:30 + + + 30 + 7 + + + + + + + + + + 151 + 6th + 6 + 659 + 966 + A + 7 + + 394 + 178 + 82 + 3 + 8 + + + 4 + H + + cleared + 2007-04-06 04:50:15 + + + 32 + 7 + + + + + + + + + + 158 + 6th + 6 + 730 + 1116 + A + 7 + + 451 + 214 + 52 + 5 + 14 + + + 4 + + cleared + 2007-06-17 22:15:30 + + + 517 + L7 + + + + + + + + + + 162 + red + 5 + 553 + 923 + AA + 8 + + 409 + 105 + 35 + 1 + 11 + + + 4 + H + B + + cleared + 2009-07-20 04:09:11 + + + 523 + L7 + + + + + + + + + + 126 + red,pb + 5 + 489 + 778 + AA + 8 + + 326 + 126 + 31 + 4 + 7 + + + 5 + S+ + H + B + + cleared + 2007-06-05 21:21:05 + + + 491 + A + + + + + + + + + + 94 + red + 7 + 644 + 889 + A + 7 + + 352 + 185 + 98 + 4 + 14 + + + 5 + H + + cleared + 2009-07-20 04:09:11 + + + 143 + 7 + + + + + + + + + + 160 + 4th,9th + 7 + 751 + 1075 + A + 7 + + 480 + 8 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 339 + 7 + + + + + + + + + + 142 + 9th,gold + 6 + 685 + 1087 + AA + 8 + + 239 + 10 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 53 + L7 + + + + + + + + + + 150 + 6th,7th,gold + 6 + 730 + 875 + B + 6 + + 343 + 189 + 171 + 23 + 18 + + + 4 + B + + cleared + + + + 2007-08-01 22:43:27 + + + 504 + 7 + + + + + + + + + + 180 + red + 6 + 629 + 946 + A + 7 + + 392 + 162 + 67 + 4 + 9 + + + 3.5 + H + B + + cleared + 2007-06-17 22:18:00 + + + 314 + L7 + + + + + + + + + + 152 + 8th,red + 5 + 691 + 1092 + AA + 8 + + 253 + 12 + + + 4 + H + + cleared + 2011-04-02 01:30:33 + + + 525 + L7 + + + + + + + + + + 146 + red + 4 + 701 + 1176 + AA + 8 + + 503 + 170 + 22 + 3 + 5 + + + 4 + H + + cleared + 2009-07-20 04:09:11 + + + 516 + L7 + + + + + + + + + + 145 + red + 4 + 385 + 675 + AA + 8 + + 299 + 77 + 8 + 0 + 2 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 46 + L7 + + + + + + + + + + 154 + 3rd,5th,6th,7th + 3 + 442 + 685 + A + 7 + + 267 + 151 + 23 + 1 + 5 + + + 3 + H + + cleared + 2011-04-02 01:19:30 + + + 5 + L7 + + + + + + + + + + 156 + 6th,7th,hs,pb + 6 + 669 + 999 + A + 7 + + 414 + 171 + 79 + 3 + 7 + + + 3 + H + + cleared + 2011-04-02 01:19:30 + + + 3 + L7 + + + + + + + + + + 128 + 6th,hs + 5 + 438 + 663 + A + 8 + + 271 + 121 + 41 + 1 + 5 + + + 5 + S+ + H + B + + comboed + 2007-08-23 23:50:40 + + + 264 + 7 + + + + + + + + + + 171 + 7th,9th,hs,pb + 10 + 938 + 1398 + A + 7 + + 527 + 344 + 51 + 5 + 20 + + + 3 + H + + cleared + + + + 2011-09-05 05:42:10 + + + 362 + 7 + + + + + + + + + + 132 + 9th + 6 + 508 + 817 + AA + 8 + + 437 + 3 + + + 4 + H + + cleared + + + + 2011-09-05 05:51:41 + + + 182 + 7 + + + + + + + + + + 170 + 3rd,9th + 6 + 692 + 1123 + AA + 8 + + 324 + 15 + + + 3 + H + + cleared + 2011-04-02 01:57:43 + + + 320 + 7 + + + + + + + + + + 100 + 9th + 5 + 444 + 717 + AA + 9 + + 444 + 0 + + + 4 + H + + combo + 2011-04-02 01:57:43 + + + 336 + 7 + + + + + + + + + + 118 + 9th + 5 + 564 + 970 + AA + 9 + + 564 + 2 + + + 4 + H + + combo + 2011-04-02 01:57:43 + + + 361 + 7 + + + + + + + + + + 100 + 9th,emp + 6 + 506 + 782 + A + 7 + + 309 + 164 + 29 + 1 + 14 + + + 4 + H + + cleared + + + + 2012-03-17 07:17:57 + + + 254 + 7 + + + + + + + + + + 125 + 7th,9th + 7 + 678 + 1033 + A + 7 + + 382 + 269 + 20 + 1 + 8 + + + 4 + H + + cleared + 2011-09-05 05:42:12 + + + 367 + 7 + + + + + + + + + + 140 + 9th,pb + 8 + 806 + 1250 + A + 7 + + 355 + 13 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 321 + 7 + + + + + + + + + + 130 + 9th + 8 + 362 + 503 + A + 7 + + 229 + 5 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 323 + 7 + + + + + + + + + + 130 + 9th + 6 + 621 + 974 + AA + 8 + + 393 + 188 + 27 + 0 + 17 + + + 4 + T + H + B + + cleared + + + + 2007-06-24 22:24:51 + + + 340 + 7 + + + + + + + + + + 150 + 9th + 6 + 654 + 1018 + AA + 8 + + 472 + 4 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 342 + 7 + + + + + + + + + + 132 + 9th + 6 + 644 + 983 + A + 7 + + 347 + 6 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 89 + A + + + + + + + + + + 178 + 5th,us,red + 7 + 682 + 1011 + A + 7 + + 423 + 165 + 87 + 4 + 9 + + + 3 + H + B + + cleared + 2011-04-02 02:39:54 + + + 11 + A + + + + + + + + + + 160 + 6th + 7 + 612 + 1027 + AA + 8 + + 431 + 165 + 10 + 3 + 12 + + + 4 + H + B + + cleared + + + + 2007-08-01 22:41:44 + + + 299 + L7 + + + + + + + + + + 155 + 8th + 5 + 585 + 906 + A + 7 + + 553 + 6 + + + 4 + H + + cleared + + + + 2011-04-02 01:30:33 + + + 269 + 7 + + + + + + + + + + 149 + 8th + 5 + 522 + 851 + AA + 8 + + 348 + 155 + 16 + 2 + 4 + + + 4 + H + B + + cleared + 2007-05-14 01:41:41 + + + 313 + 7 + + + + + + + + + + 114 + 8th + 5 + 473 + 795 + AA + 8 + + 331 + 133 + 5 + 1 + 4 + + + 4 + + cleared + + + + 2007-03-01 23:05:22 + + + 99 + 7 + + + + + + + + + + 144 + 4th,5th,7th,8th,emp + 4 + 379 + 686 + AAA + 9 + + 313 + 60 + 4 + 1 + 1 + + + 4 + H + + cleared + 2012-03-17 07:17:57 + + + 276 + L7 + + + + + + + + + + 133 + 8th + 5 + 457 + 758 + AA + 8 + + 331 + 96 + 27 + 2 + 2 + + + 4 + T + H + B + + cleared + 2008-06-27 16:51:07 + + + 279 + L7 + + + + + + + + + + 145 + 8th + 3 + 369 + 565 + A + 7 + + 220 + 125 + 21 + 2 + 2 + + + 4 + T + H + B + + cleared + 2007-03-01 23:41:34 + + + 297 + L7 + + + + + + + + + + 93 + 8th,djt + 4 + 488 + 795 + AA + 9 + + 330 + 135 + 23 + 0 + 0 + + + 4 + + combo + 2009-07-20 05:58:54 + + + 286 + L7 + + + + + + + + + + 155 + 8th,emp + 6 + 611 + 814 + B + 6 + + 284 + 246 + 69 + 5 + 18 + + + 4 + + cleared + 2007-01-04 15:39:18 + + + 179 + 7 + + + + + + + + + + 149 + 3rd,7th,8th + 6 + 598 + 946 + AA + 8 + + 395 + 156 + 37 + 5 + 7 + + + 3 + H + + cleared + 2011-09-05 05:42:11 + + + 290 + L7 + + + + + + + + + + 155 + 8th,10th,emp + 4 + 413 + 652 + AA + 8 + + 292 + 1 + + + 4 + H + B + + cleared + 2007-03-02 01:07:28 + + + 214 + 7 + + + + + + + + + + 125 + 3rd,8th,dd + 6 + 663 + 1026 + A + 7 + + 397 + 232 + 27 + 3 + 10 + + + 5 + H + B + + cleared + 2012-05-06 03:48:00 + + + 272 + 7 + + + + + + + + + + 122 + 8th,pb + 5 + 526 + 860 + AA + 8 + + 362 + 136 + 22 + 2 + 8 + + + 4 + T + H + B + + cleared + 2007-05-16 00:31:49 + + + 246 + L7 + + + + + + + + + + 125 + 7th,8th,10th + 5 + 628 + 1036 + AA + 9 + + 418 + 200 + 10 + 0 + 2 + + + 4 + T + H + B + + combo + + + + 2008-06-27 16:48:04 + + + 298 + L7 + + + + + + + + + + 125 + 8th + 6 + 659 + 968 + A + 7 + + 354 + 260 + 34 + 5 + 15 + + + 4 + T + H + B + + cleared + + + + 2008-06-27 16:36:11 + + + 176 + A + + + + + + + + + + 129 + 3rd,7th,8th,gold + 4 + 453 + 781 + AA + 8 + + 341 + 99 + 11 + 0 + 2 + + + 4 + H + + cleared + 2011-04-02 05:18:40 + + + 57 + 7 + + + + + + + + + + 180 + 5th,6th + 6 + 551 + 806 + A + 7 + + 333 + 140 + 65 + 7 + 17 + + + 3 + + cleared + 2010-05-16 01:42:19 + + + 277 + L7 + + + + + + + + + + 130 + 8th + 5 + 613 + 975 + AA + 8 + + 381 + 213 + 16 + 0 + 6 + + + 4 + T + H + B + + cleared + + + + 2008-06-27 16:42:31 + + + 290 + 7 + + + + + + + + + + 155 + 8th,10th,emp + 7 + 690 + 1112 + AA + 8 + + 473 + 166 + 46 + 1 + 6 + + + 4 + H + + cleared + 2012-03-17 07:17:57 + + + 267 + L7 + + + + + + + + + + 148 + 8th + 4 + 458 + 776 + AA + 9 + + 328 + 120 + 10 + 0 + 0 + + + 4 + H + + combo + 2007-03-02 00:07:37 + + + 287 + L7 + + + + + + + + + + 155 + 8th,gold + 4 + 465 + 781 + AA + 9 + + 331 + 119 + 15 + 0 + 0 + + + 4 + H + + combo + + + + 2007-03-02 00:16:15 + + + 305 + L7 + + + + + + + + + + 155 + 8th + 6 + 734 + 1022 + A + 7 + + 378 + 266 + 68 + 7 + 22 + + + 4 + + cleared + 2006-12-06 21:14:20 + + + 44 + 7 + + + + + + + + + + 154 + 3rd,6th,7th,8th,us,hs,emp + 7 + 624 + 1005 + AA + 8 + + 400 + 205 + 13 + 1 + 7 + + + 3 + H + + cleared + 2012-03-17 07:17:57 + + + 277 + 7 + + + + + + + + + + 130 + 8th + 7 + 764 + 1060 + A + 7 + + 265 + 24 + + + 4 + H + + cleared + + + + 2011-04-02 01:30:33 + + + 243 + L7 + + + + + + + + + + 125 + 7th,8th,gold + 6 + 713 + 1106 + A + 7 + + 425 + 256 + 22 + 4 + 13 + + + 4 + T + H + B + + cleared + 2008-06-27 16:33:39 + + + 259 + L7 + + + + + + + + + + 148 + 7th,8th,gold,pb + 6 + 392 + 623 + AA + 8 + + 258 + 107 + 25 + 1 + 2 + + + 4 + T + H + B + + cleared + 2007-12-12 22:40:30 + + + 510 + 7 + + + + + + + + + + 151 + red + 5 + 459 + 779 + AA + 8 + + 334 + 111 + 12 + 1 + 3 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 307 + L7 + + + + + + + + + + 158 + 8th,10th,emp + 5 + 570 + 711 + B + 6 + + 265 + 181 + 111 + 8 + 14 + + + 4 + + cleared + 2006-12-06 21:19:34 + + + 399 + L7 + + + + + + + + + + 157 + 10th,pb + 6 + 613 + 1014 + AA + 8 + + 435 + 144 + 33 + 1 + 7 + + + 4 + H + + cleared + 2011-04-02 05:48:23 + + + 388 + A + + + + + + + + + + 95 + 10th + 5 + 534 + 867 + AA + 8 + + 264 + 3 + + + 4 + H + + cleared + 2011-04-02 02:17:23 + + + 114 + 7 + + + + + + + + + + 159 + 3rd,5th,10th,pb + 6 + 508 + 769 + A + 7 + + 181 + 13 + + + 3 + H + + cleared + 2012-02-05 05:20:49 + + + 240 + 7 + + + + + + + + + + 140 + 7th,9th + 6 + 709 + 1172 + AA + 8 + + 367 + 9 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 21 + 7 + + + + + + + + + + 122 + 6th + 7 + 614 + 765 + B + 6 + + 242 + 281 + 62 + 14 + 29 + + + 4 + T + + cleared + 2007-02-06 17:51:19 + + + 294 + L7 + + + + + + + + + + 140 + 8th + 3 + 347 + 591 + AA + 8 + + 250 + 91 + 5 + 0 + 2 + + + 4 + T + H + B + + cleared + 2007-03-01 23:47:49 + + + 179 + L7 + + + + + + + + + + 149 + 3rd,7th,8th + 4 + 345 + 560 + AA + 8 + + 236 + 88 + 19 + 1 + 2 + + + 3 + H + + cleared + 2011-04-02 01:19:30 + + + 306 + L7 + + + + + + + + + + 300 + 8th,dd,pb + 7 + 541 + 735 + A + 7 + + 285 + 165 + 73 + 8 + 21 + + + 0 + H + B + + cleared + 2009-03-22 11:18:32 + + + 95 + L7 + + + + + + + + + + 200 + 5th,8th + 5 + 580 + 701 + B + 6 + + 269 + 163 + 119 + 17 + 24 + + + 3 + T + + cleared + 2007-01-18 20:23:16 + + + 275 + L7 + + + + + + + + + + 140 + 8th + 2 + 232 + 383 + AA + 9 + + 162 + 59 + 11 + 0 + 0 + + + 4 + + combo + 2007-03-01 23:02:30 + + + 313 + L7 + + + + + + + + + + 114 + 8th + 2 + 242 + 430 + AA + 9 + + 242 + 0 + + + 4 + H + + perfected + 2011-09-05 05:45:14 + + + 261 + L7 + + + + + + + + + + 128 + 7th,8th,9th,djt,pb + 3 + 328 + 561 + AA + 9 + + 246 + 69 + 10 + 2 + 3 + + + 4 + T + H + B + + comboed + 2009-07-20 05:58:54 + + + 272 + L7 + + + + + + + + + + 122 + 8th,pb + 3 + 353 + 596 + AA + 9 + + 252 + 92 + 9 + 0 + 2 + + + 4 + T + H + B + + combo + 2007-03-02 00:01:24 + + + 309 + L7 + + + + + + + + + + 177 + 8th + 3 + 380 + 636 + AA + 8 + + 277 + 82 + 19 + 1 + 4 + + + 3 + H + B + + cleared + 2007-03-01 23:55:37 + + + 324 + 7 + + + + + + + + + + 150 + 9th + 7 + 691 + 1002 + A + 7 + + 214 + 18 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 371 + 7 + + + + + + + + + + 135 + 9th + 6 + 529 + 820 + A + 7 + + 205 + 10 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 358 + 7 + + + + + + + + + + 140 + 9th + 6 + 707 + 1119 + AA + 9 + + 707 + 4 + + + 4 + H + + combo + 2011-04-02 01:57:43 + + + 344 + 7 + + + + + + + + + + 142 + 9th,emp + 6 + 753 + 1212 + AA + 8 + + 511 + 190 + 49 + 0 + 8 + + + 4 + H + + cleared + 2012-03-17 07:17:57 + + + 355 + 7 + + + + + + + + + + 128 + 9th + 5 + 484 + 812 + AA + 8 + + 242 + 4 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 380 + 7 + + + + + + + + + + 125 + 9th + 5 + 553 + 824 + A + 8 + + 553 + 1 + + + 4 + H + + combo + 2011-04-02 01:57:43 + + + 327 + 7 + + + + + + + + + + 150 + 9th + 4 + 444 + 784 + AA + 8 + + 421 + 2 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 321 + L7 + + + + + + + + + + 130 + 9th + 2 + 185 + 305 + AA + 9 + + 185 + 0 + + + 4 + H + + combo + 2011-04-02 01:57:43 + + + 320 + L7 + + + + + + + + + + 100 + 9th + 2 + 241 + 389 + AA + 9 + + 241 + 0 + + + 4 + H + + combo + 2011-04-02 01:57:43 + + + 333 + L7 + + + + + + + + + + 130 + 9th + 3 + 342 + 553 + AA + 9 + + 232 + 89 + 21 + 0 + 0 + + + 4 + T + H + B + + combo + 2007-04-28 17:11:21 + + + 335 + L7 + + + + + + + + + + 160 + 9th,red + 3 + 359 + 600 + AA + 9 + + 253 + 94 + 12 + 0 + 1 + + + 4 + H + B + + combo + 2007-12-24 16:54:56 + + + 347 + L7 + + + + + + + + + + 140 + 9th + 3 + 246 + 404 + AA + 9 + + 168 + 68 + 10 + 0 + 0 + + + 4 + T + H + B + + combo + 2007-12-12 23:56:28 + + + 362 + L7 + + + + + + + + + + 132 + 9th + 4 + 405 + 621 + A + 7 + + 289 + 2 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 350 + L7 + + + + + + + + + + 130 + 9th,pb + 5 + 445 + 705 + AA + 9 + + 288 + 129 + 28 + 0 + 0 + + + 4 + T + H + B + + combo + + + + 2007-06-14 03:52:11 + + + 336 + L7 + + + + + + + + + + 118 + 9th + 4 + 426 + 729 + AA + 8 + + 310 + 109 + 1 + 1 + 5 + + + 4 + T + H + B + + cleared + 2007-12-12 23:34:10 + + + 338 + L7 + + + + + + + + + + 88 + 9th + 3 + 312 + 509 + AA + 9 + + 217 + 75 + 18 + 1 + 2 + + + 4 + T + H + B + + comboed + 2007-06-24 22:13:11 + + + 328 + L7 + + + + + + + + + + 160 + 9th + 5 + 466 + 704 + A + 7 + + 282 + 140 + 43 + 1 + 2 + + + 3 + H + B + + cleared + 2007-12-12 23:39:06 + + + 334 + L7 + + + + + + + + + + 100 + 9th + 4 + 311 + 419 + A + 7 + + 156 + 107 + 43 + 4 + 3 + + + 3 + H + B + + cleared + + + + 2008-06-27 19:33:53 + + + 511 + L7 + + + + + + + + + + 110 + red + 3 + 350 + 589 + AA + 9 + + 253 + 83 + 14 + 0 + 8 + + + 5 + H + B + + combo + 2009-07-20 04:09:11 + + + 80 + L7 + + + + + + + + + + 150 + 5th,red + 4 + 385 + 690 + AAA + 10 + + 311 + 68 + 6 + 0 + 0 + + + 4 + H + B + + combo + 2011-04-02 02:39:54 + + + 7 + L7 + + + + + + + + + + 132 + 6th + 5 + 473 + 752 + AA + 8 + + 317 + 118 + 34 + 1 + 4 + + + 4 + + cleared + 2007-04-06 04:38:11 + + + 36 + L7 + + + + + + + + + + 136 + 6th + 4 + 568 + 843 + A + 7 + + 339 + 165 + 58 + 4 + 2 + + + 4 + T + + cleared + + + + 2007-02-06 18:10:32 + + + 59 + L7 + + + + + + + + + + 150 + 6th,7th,8th,red,emp + 7 + 618 + 964 + AA + 8 + + 414 + 136 + 56 + 7 + 13 + + + 3 + H + + cleared + 2011-04-02 05:48:23 + + + 18 + L7 + + + + + + + + + + 168 + 6th,7th + 6 + 657 + 976 + A + 7 + + 362 + 252 + 39 + 3 + 5 + + + 3 + T + + cleared + 2007-02-06 17:57:29 + + + 372 + 7 + + + + + + + + + + 110 + 9th + 6 + 600 + 957 + AA + 9 + + 600 + 0 + + + 4 + H + + combo + 2011-04-02 01:57:43 + + + 369 + 7 + + + + + + + + + + 114 + 9th,djt + 7 + 704 + 1067 + A + 7 + + 245 + 26 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 515 + L7 + + + + + + + + + + 160 + red + 5 + 469 + 764 + AA + 9 + + 318 + 128 + 23 + 0 + 1 + + + 4 + H + B + + combo + 2009-07-20 04:09:11 + + + 26 + 7 + + + + + + + + + + 125 + 6th,gold + 6 + 733 + 981 + A + 7 + + 339 + 303 + 74 + 8 + 22 + + + 4 + B + + cleared + 2006-12-13 00:11:48 + + + 160 + 7 + + + + + + + + + + 135 + 3rd + 4 + 323 + 527 + AA + 8 + + 209 + 109 + 4 + 0 + 2 + + + 3 + B + + cleared + 2008-03-24 18:28:06 + + + 183 + 7 + + + + + + + + + + 121 + 3rd + 3 + 416 + 687 + AA + 9 + + 284 + 119 + 12 + 0 + 1 + + + 3 + B + + comboed + + + + 2011-04-01 19:30:22 + + + 196 + 7 + + + + + + + + + + 93 + 3rd + 3 + 328 + 563 + AA + 9 + + 235 + 93 + 0 + 0 + 1 + + + 3 + T + + perfect + 2006-12-22 16:23:27 + + + 166 + 7 + + + + + + + + + + 149 + 3rd + 4 + 330 + 480 + A + 7 + + 175 + 130 + 17 + 3 + 10 + + + 2 + T + + cleared + 2006-12-15 01:52:04 + + + 166 + A + + + + + + + + + + 149 + 3rd + 4 + 362 + 558 + A + 7 + + 211 + 136 + 11 + 0 + 9 + + + 2 + T + B + + cleared + 2007-05-17 19:39:51 + + + 168 + 7 + + + + + + + + + + 138 + 3rd + 5 + 659 + 1004 + A + 7 + + 411 + 182 + 51 + 6 + 21 + + + 3 + B + + cleared + + + + 2008-06-26 00:26:19 + + + 168 + A + + + + + + + + + + 138 + 3rd + 7 + 691 + 1011 + A + 7 + + 417 + 177 + 65 + 15 + 27 + + + 3 + B + + cleared + 2007-05-17 19:42:33 + + + 172 + A + + + + + + + + + + 126 + 3rd + 5 + 333 + 409 + B + 6 + + 151 + 107 + 53 + 10 + 20 + + + 3 + + cleared + 2006-12-25 16:30:12 + + + 210 + A + + + + + + + + + + 127 + 3rd + 4 + 552 + 945 + AA + 9 + + 416 + 113 + 19 + 0 + 5 + + + 3 + T + B + + comboed + 2010-10-19 05:11:25 + + + 219 + A + + + + + + + + + + 167 + 3rd + 4 + 324 + 550 + AA + 8 + + 229 + 92 + 2 + 0 + 3 + + + 2 + B + + cleared + 2012-05-14 01:22:10 + + + 212 + L7 + + + + + + + + + + 169 + 3rd + 5 + 633 + 898 + A + 7 + + 307 + 284 + 25 + 3 + 17 + + + 2 + + cleared + 2006-12-15 06:55:42 + + + 168 + L7 + + + + + + + + + + 138 + 3rd + 4 + 488 + 738 + A + 7 + + 295 + 148 + 39 + 3 + 10 + + + 3 + + cleared + 2006-12-15 06:59:44 + + + 199 + 7 + + + + + + + + + + 154 + 3rd + 4 + 324 + 510 + AA + 8 + + 213 + 84 + 26 + 1 + 1 + + + 3 + + cleared + + + + 2006-12-15 07:04:03 + + + 213 + A + + + + + + + + + + 134 + 3rd + 3 + 171 + 296 + AA + 9 + + 135 + 26 + 8 + 0 + 3 + + + 3 + B + + comboed + 2008-06-26 01:53:10 + + + 215 + 7 + + + + + + + + + + 114 + 3rd + 5 + 398 + 611 + A + 7 + + 236 + 139 + 19 + 4 + 4 + + + 3 + T + B + + cleared + + + + 2007-05-17 19:53:53 + + + 188 + A + + + + + + + + + + 126 + 3rd + 4 + 250 + 397 + AA + 8 + + 165 + 67 + 16 + 2 + 0 + + + 3 + T + R + + cleared + 2007-02-28 16:57:11 + + + 213 + L7 + + + + + + + + + + 134 + 3rd + 2 + 157 + 260 + AA + 9 + + 104 + 52 + 1 + 0 + 0 + + + 3 + + perfected + 2006-12-15 09:14:13 + + + 213 + 7 + + + + + + + + + + 134 + 3rd + 3 + 171 + 280 + AA + 9 + + 120 + 40 + 11 + 0 + 0 + + + 3 + + combo + 2006-12-15 09:16:37 + + + 164 + 7 + + + + + + + + + + 96 + 3rd + 3 + 210 + 335 + AA + 9 + + 133 + 69 + 8 + 0 + 1 + + + 3 + T + + combo + + + + 2008-06-26 00:42:38 + + + 578 + 7 + + + + + + + + + + 179 + hs,pb + 7 + 864 + 1369 + AA + 8 + + 581 + 207 + 57 + 8 + 22 + + + 2 + H + + cleared + 2012-02-05 05:28:39 + + + 584 + 7 + + + + + + + + + + 160 + hs + 7 + 778 + 1017 + B + 6 + + 387 + 243 + 135 + 5 + 12 + + + 4 + H + + cleared + 2007-08-25 13:24:00 + + + 560 + L7 + + + + + + + + + + 212 + hs + 5 + 558 + 936 + AA + 8 + + 385 + 166 + 4 + 0 + 6 + + + 2.5 + S+ + H + B + + cleared + + + + 2007-08-25 12:53:40 + + + 537 + L7 + + + + + + + + + + 252 + hs + 5 + 474 + 747 + AA + 8 + + 305 + 137 + 29 + 1 + 3 + + + 0 + H + + cleared + 2006-12-18 10:25:52 + + + 580 + L7 + + + + + + + + + + 138 + hs + 5 + 385 + 650 + AA + 8 + + 283 + 84 + 16 + 0 + 3 + + + 0 + H + B + + cleared + 2009-03-21 20:17:54 + + + 565 + L7 + + + + + + + + + + 123 + hs + 5 + 414 + 645 + AA + 9 + + 252 + 141 + 18 + 0 + 6 + + + 0 + H + B + + comboed + 2009-03-21 20:17:52 + + + 567 + L7 + + + + + + + + + + 146 + hs + 3 + 297 + 527 + AA + 9 + + 233 + 61 + 3 + 0 + 0 + + + 4 + H + + combo + 2012-02-05 05:28:39 + + + 547 + L7 + + + + + + + + + + 182 + hs + 3 + 334 + 567 + AA + 9 + + 244 + 79 + 9 + 1 + 2 + + + 0 + H + + comboed + 2006-12-21 01:33:17 + + + 555 + L7 + + + + + + + + + + 185 + hs + 3 + 280 + 511 + AAA + 10 + + 236 + 39 + 5 + 0 + 0 + + + 2 + H + B + + comboed + 2011-05-12 08:43:06 + + + 587 + 7 + + + + + + + + + + 129 + hs + 5 + 490 + 816 + AA + 8 + + 347 + 122 + 20 + 0 + 1 + + + 4 + H + B + + cleared + 2009-07-20 04:25:29 + + + 587 + L7 + + + + + + + + + + 129 + hs + 3 + 336 + 600 + AAA + 10 + + 266 + 68 + 2 + 0 + 0 + + + 5 + H + B + + combo + 2011-05-12 08:43:06 + + + 547 + 7 + + + + + + + + + + 182 + hs + 5 + 526 + 850 + AA + 8 + + 353 + 144 + 27 + 0 + 6 + + + 3.5 + H + B + + cleared + 2007-05-02 04:07:13 + + + 450 + L7 + + + + + + + + + + 100 + 3rd + 2 + 170 + 252 + A + 8 + + 97 + 58 + 15 + 0 + 1 + + + 3 + T + + combo + 2006-12-22 16:13:46 + + + 450 + A + + + + + + + + + + 100 + 3rd + 3 + 184 + 291 + AA + 9 + + 121 + 49 + 14 + 0 + 0 + + + 3 + T + + combo + 2006-12-22 16:15:45 + + + 526 + L7 + + + + + + + + + + 110 + red,gold + 3 + 293 + 508 + AA + 9 + + 221 + 66 + 6 + 0 + 0 + + + 5 + H + + comboed + 2011-04-02 05:18:40 + + + 354 + L7 + + + + + + + + + + 155 + 9th,10th,emp + 7 + 695 + 1001 + A + 7 + + 371 + 259 + 43 + 8 + 23 + + + 4 + H + B + + cleared + + + + 2007-12-12 22:41:42 + + + 382 + L7 + + + + + + + + + + 175 + 9th + 6 + 701 + 968 + A + 7 + + 385 + 198 + 97 + 13 + 17 + + + 3 + H + B + + cleared + 2008-06-27 19:19:53 + + + 329 + L7 + + + + + + + + + + 125 + 9th + 7 + 691 + 988 + A + 7 + + 358 + 272 + 43 + 6 + 34 + + + 4 + T + H + B + + cleared + 2007-08-01 22:33:11 + + + 385 + L7 + + + + + + + + + + 172 + 9th,10th,gold,pb + 8 + 855 + 1155 + A + 7 + + 433 + 289 + 113 + 3 + 27 + + + 3 + T + H + B + + cleared + 2007-12-12 22:41:11 + + + 345 + A + + + + + + + + + + 146 + 9th + 7 + 755 + 1261 + AA + 8 + + 281 + 11 + + + 4 + H + + cleared + 2011-09-05 05:51:41 + + + 13 + L7 + + + + + + + + + + 121 + 6th + 3 + 304 + 463 + A + 7 + + 175 + 113 + 15 + 1 + 1 + + + 4 + T + H + B + + cleared + 2007-05-14 01:26:56 + + + 593 + 7 + + + + + + + + + + 149 + hs + 7 + 718 + 979 + A + 7 + + 375 + 229 + 95 + 9 + 17 + + + 4.5 + H + B + + cleared + + + + 2007-08-23 23:28:31 + + + 263 + L7 + + + + + + + + + + 144 + 7th,hs,pb + 6 + 685 + 1050 + A + 7 + + 423 + 204 + 56 + 0 + 2 + + + 3 + H + + cleared + 2011-04-02 01:19:30 + + + 542 + 7 + + + + + + + + + + 117 + hs + 8 + 689 + 901 + B + 6 + + 336 + 229 + 101 + 11 + 21 + + + 0 + H + + cleared + 2006-12-25 14:43:55 + + + 594 + 7 + + + + + + + + + + 182 + hs + 7 + 883 + 1573 + AAA + 9 + + 708 + 157 + 16 + 2 + 3 + + + 3 + H + + cleared + 2012-02-05 05:28:39 + + + 207 + A + + + + + + + + + + 144 + 3rd,10th + 6 + 499 + 823 + AA + 8 + + 220 + 8 + + + 3 + H + + cleared + 2011-09-05 05:55:07 + + + 160 + A + + + + + + + + + + 135 + 3rd + 5 + 329 + 504 + A + 7 + + 202 + 100 + 18 + 4 + 6 + + + 3 + B + + cleared + + + + 2008-03-24 18:26:08 + + + 310 + L7 + + + + + + + + + + 90 + 8th,red + 3 + 294 + 479 + AA + 8 + + 199 + 81 + 13 + 1 + 1 + + + 5 + S+ + H + + cleared + 2011-04-02 01:30:33 + + + 482 + L7 + + + + + + + + + + 126 + red + 4 + 371 + 583 + AA + 9 + + 240 + 103 + 28 + 0 + 1 + + + 5 + H + + combo + + + + 2009-07-20 04:09:10 + + + 491 + L7 + + + + + + + + + + 94 + red + 2 + 230 + 369 + AA + 9 + + 156 + 57 + 17 + 0 + 0 + + + 5 + H + + combo + 2009-07-20 04:09:11 + + + 520 + L7 + + + + + + + + + + 130 + red + 3 + 292 + 475 + AA + 9 + + 200 + 75 + 17 + 0 + 0 + + + 5 + H + + combo + 2009-07-20 04:09:11 + + + 490 + L7 + + + + + + + + + + 116 + red,emp + 3 + 299 + 490 + AA + 9 + + 206 + 78 + 15 + 0 + 1 + + + 5 + H + + combo + + + + 2009-07-20 04:09:11 + + + 125 + L7 + + + + + + + + + + 140 + 4th,red + 3 + 264 + 442 + AA + 9 + + 190 + 62 + 12 + 0 + 1 + + + 5 + H + B + + combo + 2009-07-20 04:09:11 + + + 507 + L7 + + + + + + + + + + 152 + red + 5 + 607 + 1012 + AA + 8 + + 426 + 160 + 19 + 1 + 1 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 487 + L7 + + + + + + + + + + 152 + red + 5 + 502 + 843 + AA + 9 + + 355 + 133 + 14 + 0 + 1 + + + 4 + H + B + + combo + 2011-04-02 02:39:54 + + + 83 + L7 + + + + + + + + + + 114 + 5th,red + 4 + 382 + 621 + AA + 9 + + 264 + 93 + 25 + 0 + 0 + + + 5 + H + B + + combo + 2011-04-02 02:39:54 + + + 283 + L7 + + + + + + + + + + 145 + 8th,red + 5 + 468 + 782 + AA + 8 + + 333 + 116 + 17 + 0 + 3 + + + 3 + H + B + + cleared + 2011-04-02 02:39:54 + + + 269 + L7 + + + + + + + + + + 149 + 8th + 4 + 444 + 761 + AA + 9 + + 323 + 115 + 6 + 0 + 0 + + + 4 + H + + combo + + + + 2007-03-02 00:10:19 + + + 84 + L7 + + + + + + + + + + 126 + 5th,8th + 4 + 440 + 720 + AA + 8 + + 302 + 116 + 19 + 2 + 3 + + + 4 + T + H + + cleared + 2007-03-02 00:30:07 + + + 303 + L7 + + + + + + + + + + 188 + 8th + 5 + 578 + 860 + A + 7 + + 345 + 170 + 61 + 0 + 3 + + + 4 + + cleared + 2007-01-04 02:58:25 + + + 312 + L7 + + + + + + + + + + 133 + 8th + 5 + 641 + 1026 + AA + 8 + + 249 + 11 + + + 4 + H + + cleared + + + + 2011-04-02 01:30:33 + + + 176 + L7 + + + + + + + + + + 129 + 3rd,7th,8th,gold + 3 + 389 + 695 + AAA + 10 + + 312 + 71 + 6 + 0 + 0 + + + 4 + H + + combo + 2011-04-02 05:18:40 + + + 124 + L7 + + + + + + + + + + 132 + 4th,8th + 3 + 270 + 487 + AAA + 10 + + 218 + 51 + 1 + 0 + 0 + + + 4 + T + H + B + + combo + + + + + + + 2007-03-01 23:26:14 + + + 49 + 7 + + + + + + + + + + 190 + 3rd,6th,us + 4 + 376 + 612 + AA + 8 + + 263 + 86 + 19 + 1 + 10 + + + 3 + + cleared + 2007-01-04 03:50:32 + + + 268 + L7 + + + + + + + + + + 124 + 8th + 4 + 422 + 726 + AA + 8 + + 312 + 102 + 6 + 1 + 4 + + + 4 + T + H + + cleared + 2007-03-02 00:13:30 + + + 274 + L7 + + + + + + + + + + 144 + 8th + 5 + 471 + 721 + A + 7 + + 275 + 171 + 20 + 1 + 5 + + + 4 + + cleared + 2007-01-04 15:41:51 + + + 148 + L7 + + + + + + + + + + 180 + 4th,8th,pb + 5 + 565 + 888 + AA + 8 + + 363 + 162 + 31 + 5 + 6 + + + 3 + H + + cleared + 2011-04-02 05:48:23 + + + 124 + 7 + + + + + + + + + + 132 + 4th,8th + 4 + 468 + 670 + A + 7 + + 257 + 156 + 49 + 5 + 6 + + + 4 + T + + cleared + 2007-01-04 15:50:34 + + + 176 + 7 + + + + + + + + + + 129 + 3rd,7th,8th,gold + 4 + 428 + 743 + AA + 8 + + 323 + 97 + 7 + 0 + 1 + + + 4 + + cleared + 2011-09-05 05:42:11 + + + 502 + L7 + + + + + + + + + + 155 + red + 4 + 379 + 580 + A + 7 + + 241 + 98 + 39 + 1 + 0 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 484 + L7 + + + + + + + + + + 135 + red + 4 + 378 + 659 + AA + 9 + + 284 + 91 + 3 + 0 + 0 + + + 5 + H + B + + combo + 2011-04-02 02:39:54 + + + 485 + L7 + + + + + + + + + + 141 + red + 5 + 417 + 653 + AA + 8 + + 275 + 103 + 38 + 0 + 4 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 194 + 7 + + + + + + + + + + 169 + 3rd + 3 + 268 + 460 + AA + 9 + + 192 + 76 + 0 + 0 + 0 + + + 2 + T + + perfect + + + + 2010-10-19 04:58:29 + + + 216 + A + + + + + + + + + + 110 + 3rd + 6 + 479 + 723 + A + 7 + + 294 + 135 + 38 + 8 + 14 + + + 3 + T + + cleared + + + + 2007-01-15 21:30:24 + + + 202 + A + + + + + + + + + + 124 + 3rd + 6 + 581 + 875 + A + 7 + + 323 + 229 + 24 + 2 + 6 + + + 3 + T + + cleared + + + + 2007-01-15 21:32:56 + + + 198 + A + + + + + + + + + + 99 + 3rd + 6 + 436 + 658 + A + 7 + + 239 + 180 + 6 + 1 + 21 + + + 3 + T + + cleared + 2007-01-15 21:35:46 + + + 195 + 7 + + + + + + + + + + 132 + 3rd + 3 + 122 + 190 + AA + 9 + + 80 + 30 + 12 + 0 + 0 + + + 3 + + combo + 2007-01-15 21:37:58 + + + 205 + 7 + + + + + + + + + + 108 + 3rd + 5 + 393 + 541 + A + 7 + + 212 + 117 + 45 + 6 + 18 + + + 3 + T + + cleared + 2007-01-15 21:49:54 + + + 219 + 7 + + + + + + + + + + 167 + 3rd + 4 + 313 + 529 + AA + 8 + + 224 + 81 + 6 + 0 + 5 + + + 2 + T + B + + cleared + 2007-07-07 04:17:14 + + + 581 + L7 + + + + + + + + + + 155 + hs + 5 + 564 + 863 + A + 7 + + 356 + 151 + 52 + 1 + 6 + + + 0 + H + + cleared + 2007-01-16 18:11:27 + + + 562 + L7 + + + + + + + + + + 200 + hs,dd,emp + 5 + 555 + 850 + A + 7 + + 367 + 116 + 70 + 2 + 0 + + + 3 + H + B + + cleared + + + + 2007-08-25 13:02:54 + + + 424 + L7 + + + + + + + + + + 200 + 10th,hs,emp + 5 + 439 + 715 + AA + 8 + + 299 + 117 + 20 + 0 + 21 + + + 2 + H + + cleared + 2011-04-02 05:48:23 + + + 538 + L7 + + + + + + + + + + 168 + hs + 5 + 466 + 759 + AA + 9 + + 310 + 139 + 17 + 0 + 3 + + + 4 + H + B + + combo + 2007-05-02 04:04:59 + + + 550 + L7 + + + + + + + + + + 220 + hs,emp + 4 + 440 + 735 + AA + 9 + + 304 + 127 + 8 + 0 + 2 + + + 0 + H + + comboed + 2009-03-21 20:17:51 + + + 593 + L7 + + + + + + + + + + 149 + hs + 4 + 458 + 748 + AA + 8 + + 319 + 110 + 27 + 0 + 4 + + + 4.5 + H + B + + cleared + 2007-04-26 00:07:27 + + + 590 + L7 + + + + + + + + + + 183 + hs + 7 + 831 + 1237 + A + 7 + + 510 + 217 + 79 + 11 + 23 + + + 3.5 + H + B + + cleared + 2007-04-26 01:22:02 + + + 578 + L7 + + + + + + + + + + 179 + hs,pb + 5 + 548 + 834 + A + 7 + + 335 + 164 + 41 + 6 + 7 + + + 0 + H + + cleared + 2007-02-04 19:12:48 + + + 481 + L7 + + + + + + + + + + 143 + red + 5 + 553 + 902 + AA + 8 + + 380 + 142 + 30 + 1 + 4 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 500 + L7 + + + + + + + + + + 139 + red + 5 + 511 + 866 + AA + 9 + + 368 + 130 + 13 + 0 + 0 + + + 4 + H + B + + combo + 2011-04-02 02:39:54 + + + 596 + 7 + + + + + + + + + + 111 + hs + 6 + 709 + 1170 + AA + 8 + + 482 + 206 + 17 + 4 + 6 + + + 5 + H + B + + cleared + 2011-05-12 08:43:06 + + + 550 + 7 + + + + + + + + + + 220 + hs,emp + 7 + 773 + 1319 + AA + 8 + + 556 + 207 + 7 + 0 + 7 + + + 1 + H + B + + cleared + 2011-05-12 08:43:06 + + + 591 + L7 + + + + + + + + + + 95 + hs + 2 + 228 + 400 + AA + 9 + + 176 + 48 + 4 + 0 + 2 + + + 5 + H + B + + combo + 2012-02-05 05:28:39 + + + 364 + 7 + + + + + + + + + + 132 + 9th + 6 + 752 + 1273 + AA + 8 + + 519 + 4 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 200 + 7 + + + + + + + + + + 125 + 3rd,9th + 7 + 548 + 820 + A + 7 + + 171 + 14 + + + 3 + H + + cleared + + + + 2011-04-02 01:57:43 + + + 338 + 7 + + + + + + + + + + 88 + 9th + 7 + 559 + 897 + AA + 8 + + 379 + 139 + 36 + 0 + 8 + + + 4 + T + H + + cleared + + + + 2007-10-07 00:04:14 + + + 516 + 7 + + + + + + + + + + 145 + red + 6 + 705 + 1122 + AA + 8 + + 459 + 204 + 30 + 2 + 17 + + + 4 + H + B + + cleared + 2009-07-20 04:09:11 + + + 48 + 7 + + + + + + + + + + 149 + 5th,6th,red,pb + 6 + 687 + 959 + A + 7 + + 360 + 239 + 73 + 4 + 18 + + + 4 + H + + cleared + 2009-07-20 04:09:11 + + + 86 + 7 + + + + + + + + + + 136 + 5th,red + 6 + 619 + 1004 + AA + 8 + + 411 + 182 + 21 + 3 + 9 + + + 3 + H + B + + cleared + 2012-02-05 05:23:47 + + + 529 + 7 + + + + + + + + + + 140 + red + 8 + 868 + 1204 + A + 7 + + 470 + 264 + 126 + 4 + 13 + + + 3 + H + B + + cleared + 2011-04-02 02:39:54 + + + 94 + L7 + + + + + + + + + + 114 + 5th,8th,djt + 5 + 602 + 915 + A + 7 + + 334 + 247 + 18 + 2 + 6 + + + 4 + T + H + B + + cleared + + + + 2008-06-27 16:45:20 + + + 214 + L7 + + + + + + + + + + 125 + 3rd,8th,dd + 4 + 414 + 675 + AA + 8 + + 268 + 139 + 5 + 2 + 0 + + + 4 + T + + cleared + + + + 2007-01-30 19:57:44 + + + 271 + L7 + + + + + + + + + + 134 + 8th,gold + 4 + 437 + 709 + AA + 9 + + 277 + 155 + 4 + 0 + 1 + + + 4 + H + + comboed + + + + 2011-04-02 05:18:40 + + + 295 + 7 + + + + + + + + + + 148 + 8th + 7 + 677 + 991 + A + 7 + + 418 + 155 + 61 + 30 + 19 + + + 4 + + cleared + 2007-08-22 17:31:58 + + + 594 + L7 + + + + + + + + + + 182 + hs + 5 + 597 + 980 + AA + 8 + + 417 + 146 + 25 + 4 + 11 + + + 3 + S+ + H + B + + cleared + 2007-05-02 04:05:32 + + + 564 + L7 + + + + + + + + + + 147 + hs + 5 + 434 + 661 + A + 7 + + 273 + 115 + 44 + 1 + 4 + + + 0 + H + + cleared + 2007-02-04 19:13:20 + + + 13 + 7 + + + + + + + + + + 121 + 6th + 4 + 403 + 565 + A + 7 + + 193 + 179 + 21 + 8 + 4 + + + 4 + T + + cleared + 2007-02-06 17:53:58 + + + 501 + L7 + + + + + + + + + + 212 + red + 6 + 573 + 947 + AA + 8 + + 407 + 133 + 32 + 0 + 4 + + + 2 + H + B + + cleared + 2009-07-20 04:09:11 + + + 486 + L7 + + + + + + + + + + 160 + red + 6 + 469 + 712 + A + 7 + + 298 + 116 + 38 + 13 + 7 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 185 + 7 + + + + + + + + + + 102 + 3rd,red,pb + 1 + 137 + 168 + B + 7 + + 63 + 42 + 32 + 0 + 0 + + + 5 + H + + combo + 2009-07-20 04:09:11 + + + 220 + 7 + + + + + + + + + + 169 + 3rd + 6 + 729 + 1020 + A + 7 + + 388 + 244 + 86 + 6 + 6 + + + 2 + T + + cleared + 2007-02-21 00:35:03 + + + 108 + 7 + + + + + + + + + + 149 + 3rd,4th,5th,pb + 6 + 611 + 881 + A + 8 + + 353 + 175 + 79 + 2 + 5 + + + 4 + + comboed + 2012-02-05 05:45:51 + + + 312 + 7 + + + + + + + + + + 133 + 8th + 6 + 902 + 1187 + B + 6 + + 443 + 301 + 142 + 3 + 22 + + + 4 + + cleared + 2007-02-21 01:26:44 + + + 282 + L7 + + + + + + + + + + 125 + 8th + 5 + 543 + 855 + AA + 8 + + 330 + 195 + 13 + 1 + 10 + + + 4 + T + H + B + + cleared + 2008-06-27 16:38:52 + + + 66 + L7 + + + + + + + + + + 155 + 6th,8th,pb + 6 + 811 + 1126 + A + 7 + + 447 + 232 + 116 + 9 + 16 + + + 4 + H + + cleared + + + + 2007-03-23 15:29:48 + + + 522 + 7 + + + + + + + + + + 180 + red + 7 + 744 + 1215 + AA + 8 + + 518 + 179 + 43 + 1 + 4 + + + 3 + H + + cleared + 2009-07-20 04:09:11 + + + 392 + L7 + + + + + + + + + + 160 + 10th + 6 + 598 + 940 + AA + 8 + + 394 + 152 + 46 + 2 + 7 + + + 4 + + cleared + 2007-02-25 17:19:57 + + + 114 + L7 + + + + + + + + + + 159 + 3rd,5th,10th,pb + 5 + 442 + 672 + A + 8 + + 274 + 124 + 44 + 0 + 0 + + + 4 + + combo + 2007-02-25 17:21:22 + + + 497 + 7 + + + + + + + + + + 160 + red + 6 + 689 + 954 + A + 7 + + 394 + 166 + 98 + 20 + 28 + + + 4 + H + + cleared + 2011-04-02 02:39:54 + + + 278 + 7 + + + + + + + + + + 180 + 8th,red,emp + 6 + 519 + 910 + AA + 9 + + 394 + 122 + 3 + 0 + 0 + + + 2 + H + + combo + 2012-03-17 07:17:57 + + + 125 + 7 + + + + + + + + + + 140 + 4th,red + 4 + 310 + 520 + AA + 8 + + 224 + 72 + 11 + 1 + 3 + + + 4 + S+ + H + B + + cleared + 2007-02-25 18:00:43 + + + 482 + 7 + + + + + + + + + + 126 + red + 5 + 596 + 914 + A + 7 + + 364 + 186 + 40 + 3 + 5 + + + 5 + S+ + H + B + + cleared + + + + 2007-02-25 18:19:37 + + + 184 + 7 + + + + + + + + + + 89 + 3rd + 3 + 335 + 569 + AA + 9 + + 234 + 101 + 0 + 0 + 1 + + + 3 + T + + perfect + + + + 2007-02-28 16:01:06 + + + 178 + 7 + + + + + + + + + + 117 + 3rd + 4 + 489 + 754 + A + 7 + + 300 + 154 + 24 + 2 + 18 + + + 3 + T + B + + cleared + 2007-02-28 17:07:45 + + + 220 + A + + + + + + + + + + 169 + 3rd + 6 + 732 + 1100 + A + 7 + + 434 + 232 + 62 + 1 + 12 + + + 2 + T + B + + cleared + 2012-05-14 01:25:56 + + + 188 + 7 + + + + + + + + + + 126 + 3rd + 3 + 239 + 388 + AA + 9 + + 159 + 70 + 8 + 0 + 2 + + + 3 + T + + comboed + + + + 2007-02-28 16:54:42 + + + 162 + 7 + + + + + + + + + + 94 + 3rd,7th + 3 + 331 + 553 + AA + 9 + + 235 + 83 + 13 + 0 + 2 + + + 3 + T + + combo + 2007-02-28 17:14:23 + + + 270 + L7 + + + + + + + + + + 130 + 8th + 3 + 299 + 474 + AA + 9 + + 199 + 76 + 24 + 0 + 0 + + + 4 + T + H + B + + combo + 2007-03-01 23:18:38 + + + 99 + L7 + + + + + + + + + + 144 + 4th,5th,7th,8th,emp + 3 + 279 + 462 + AA + 8 + + 195 + 72 + 11 + 0 + 1 + + + 4 + T + H + B + + cleared + + + + 2007-03-01 23:35:52 + + + 284 + L7 + + + + + + + + + + 180 + 8th + 4 + 446 + 701 + AA + 8 + + 301 + 99 + 45 + 1 + 3 + + + 4 + H + + cleared + 2007-03-02 00:04:25 + + + 300 + L7 + + + + + + + + + + 131 + 8th,dd + 5 + 403 + 629 + AA + 8 + + 257 + 115 + 25 + 2 + 6 + + + 4 + T + H + B + + cleared + 2007-03-02 00:59:40 + + + 288 + L7 + + + + + + + + + + 140 + 8th,gold + 4 + 481 + 795 + AA + 8 + + 334 + 127 + 18 + 1 + 2 + + + 4 + H + + cleared + 2011-04-02 05:18:40 + + + 289 + L7 + + + + + + + + + + 172 + 8th + 4 + 513 + 801 + AA + 8 + + 331 + 139 + 36 + 4 + 6 + + + 4 + H + B + + cleared + 2007-03-02 00:47:52 + + + 293 + L7 + + + + + + + + + + 160 + 8th,dd + 4 + 383 + 502 + B + 6 + + 224 + 8 + + + 4 + H + M + + cleared + 2007-03-02 01:13:39 + + + 295 + L7 + + + + + + + + + + 148 + 8th + 4 + 396 + 598 + A + 7 + + 239 + 120 + 29 + 5 + 4 + + + 4 + H + B + + cleared + + + + 2007-03-02 01:16:54 + + + 174 + A + + + + + + + + + + 150 + 3rd + 3 + 197 + 320 + AA + 9 + + 137 + 46 + 11 + 0 + 3 + + + 3 + + comboed + 2007-03-07 01:16:39 + + + 322 + 7 + + + + + + + + + + 148 + 9th,us + 7 + 714 + 1107 + A + 7 + + 370 + 12 + + + 4 + H + + cleared + + + + 2011-04-02 01:57:43 + + + 591 + 7 + + + + + + + + + + 95 + hs + 6 + 572 + 984 + AA + 9 + + 430 + 124 + 17 + 0 + 5 + + + 5 + S+ + H + B + + comboed + + + + 2007-04-29 20:38:12 + + + 477 + 7 + + + + + + + + + + 147 + us + 6 + 666 + 888 + A + 7 + + 341 + 206 + 105 + 3 + 21 + + + 4 + + cleared + + + + 2007-03-17 22:14:52 + + + 191 + 7 + + + + + + + + + + 136 + 3rd,10th,us + 4 + 414 + 712 + AA + 8 + + 224 + 2 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 34 + 7 + + + + + + + + + + 138 + 6th + 6 + 779 + 932 + B + 6 + + 347 + 238 + 182 + 7 + 11 + + + 4 + T + + cleared + 2007-04-06 04:41:27 + + + 38 + A + + + + + + + + + + 125 + 6th + 7 + 764 + 1135 + A + 7 + + 450 + 235 + 66 + 5 + 13 + + + 4 + T + H + + cleared + + + + 2008-06-26 22:03:49 + + + 356 + 7 + + + + + + + + + + 290 + 9th + 8 + 662 + 806 + B + 6 + + 121 + 35 + + + 2 + H + + cleared + 2011-04-02 01:57:43 + + + 144 + 7 + + + + + + + + + + 130 + 4th,9th + 6 + 745 + 1283 + AA + 8 + + 388 + 4 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 348 + 7 + + + + + + + + + + 177 + 9th,10th + 9 + 921 + 1436 + AA + 8 + + 326 + 22 + + + 3 + H + + cleared + + + + 2012-03-17 01:55:30 + + + 80 + 7 + + + + + + + + + + 150 + 5th,red + 5 + 501 + 791 + AA + 8 + + 318 + 155 + 23 + 1 + 5 + + + 3 + T + H + B + + cleared + 2010-05-16 01:35:57 + + + 16 + 7 + + + + + + + + + + 155 + 5th,6th + 7 + 796 + 1072 + A + 7 + + 421 + 230 + 120 + 15 + 21 + + + 4 + + cleared + 2007-08-01 22:41:15 + + + 31 + 7 + + + + + + + + + + 155 + 6th + 7 + 720 + 965 + A + 7 + + 377 + 211 + 109 + 11 + 22 + + + 4 + B + + cleared + + + + 2007-04-06 04:51:47 + + + 592 + L7 + + + + + + + + + + 120 + hs + 2 + 249 + 438 + AA + 9 + + 194 + 50 + 5 + 0 + 0 + + + 5 + T + H + + combo + 2007-04-06 04:53:12 + + + 228 + 7 + + + + + + + + + + 125 + 7th + 5 + 611 + 1002 + AA + 8 + + 427 + 148 + 34 + 1 + 2 + + + 4 + + cleared + 2011-09-05 05:42:11 + + + 239 + L7 + + + + + + + + + + 158 + 7th + 5 + 605 + 987 + AA + 8 + + 412 + 163 + 29 + 0 + 1 + + + 3 + H + + cleared + 2011-04-02 01:19:30 + + + 242 + 7 + + + + + + + + + + 95 + 7th + 7 + 554 + 838 + A + 7 + + 341 + 156 + 53 + 1 + 5 + + + 4 + + cleared + + + + 2011-09-05 05:42:09 + + + 236 + 7 + + + + + + + + + + 160 + 7th + 6 + 671 + 1025 + A + 7 + + 416 + 193 + 60 + 1 + 4 + + + 3 + + cleared + 2011-09-05 05:42:11 + + + 229 + 7 + + + + + + + + + + 142 + 7th,dd + 6 + 527 + 898 + AA + 9 + + 373 + 152 + 1 + 0 + 4 + + + 4 + H + B + + comboed + 2012-05-06 03:48:00 + + + 227 + 7 + + + + + + + + + + 120 + 7th + 6 + 623 + 995 + AA + 9 + + 389 + 217 + 17 + 0 + 3 + + + 4 + H + + combo + 2011-09-05 05:42:10 + + + 227 + L7 + + + + + + + + + + 120 + 7th + 5 + 470 + 726 + A + 7 + + 273 + 180 + 14 + 0 + 3 + + + 4 + T + H + B + + cleared + + + + 2007-04-18 19:00:05 + + + 598 + L7 + + + + + + + + + + 180 + hs + 6 + 697 + 1132 + AA + 8 + + 485 + 162 + 44 + 2 + 7 + + + 0 + H + + cleared + 2007-04-25 22:05:42 + + + 547 + A + + + + + + + + + + 182 + hs + 8 + 843 + 1355 + AA + 8 + + 572 + 211 + 49 + 3 + 14 + + + 3 + H + B + + cleared + 2011-04-02 03:35:39 + + + 579 + A + + + + + + + + + + 126 + hs + 9 + 814 + 1101 + A + 7 + + 421 + 259 + 115 + 8 + 27 + + + 5 + H + B + + cleared + + + + 2012-02-05 05:28:39 + + + 541 + L7 + + + + + + + + + + 160 + hs,emp + 5 + 541 + 810 + A + 7 + + 333 + 144 + 56 + 4 + 10 + + + 4 + H + B + + cleared + 2007-04-25 22:58:25 + + + 544 + L7 + + + + + + + + + + 160 + hs + 4 + 360 + 603 + AA + 9 + + 258 + 87 + 15 + 0 + 0 + + + 4 + H + B + + combo + 2007-08-23 23:03:40 + + + 540 + L7 + + + + + + + + + + 181 + hs,pb + 7 + 714 + 1056 + A + 7 + + 426 + 204 + 75 + 5 + 9 + + + 3.5 + H + + cleared + 2007-04-26 01:29:36 + + + 449 + L7 + + + + + + + + + + 101 + 10th,hs,pb + 1 + 99 + 179 + AAA + 10 + + 82 + 15 + 2 + 0 + 0 + + + 5 + S+ + H + B + + combo + + + + 2007-04-26 01:42:27 + + + 546 + 7 + + + + + + + + + + 200 + hs,pb + 9 + 969 + 1562 + AA + 8 + + 663 + 236 + 60 + 3 + 10 + + + 2 + H + B + + cleared + 2011-05-12 08:43:06 + + + 447 + L7 + + + + + + + + + + 170 + 10th,hs + 5 + 458 + 753 + AA + 8 + + 319 + 115 + 19 + 3 + 4 + + + 0 + H + B + + cleared + 2007-04-26 02:14:34 + + + 546 + L7 + + + + + + + + + + 200 + hs,pb + 6 + 660 + 1021 + A + 7 + + 415 + 191 + 51 + 1 + 5 + + + 2.5 + S+ + H + B + + cleared + 2007-04-26 02:30:19 + + + 92 + 7 + + + + + + + + + + 155 + 5th + 6 + 629 + 856 + A + 7 + + 322 + 212 + 88 + 0 + 11 + + + 3 + T + + cleared + 2007-04-28 16:36:23 + + + 73 + A + + + + + + + + + + 137 + 5th + 7 + 831 + 1198 + A + 7 + + 484 + 230 + 104 + 2 + 16 + + + 3 + T + B + + cleared + 2010-05-16 01:47:39 + + + 75 + 7 + + + + + + + + + + 150 + 5th + 5 + 606 + 934 + A + 7 + + 388 + 158 + 55 + 4 + 18 + + + 3 + T + + cleared + 2007-04-28 16:50:12 + + + 70 + 7 + + + + + + + + + + 110 + 5th + 3 + 327 + 561 + AA + 9 + + 244 + 73 + 10 + 0 + 0 + + + 3 + T + B + + combo + 2010-05-16 01:43:39 + + + 117 + 7 + + + + + + + + + + 96 + 5th + 5 + 597 + 818 + A + 7 + + 301 + 216 + 71 + 4 + 11 + + + 3 + T + B + + cleared + 2007-04-28 16:59:34 + + + 364 + A + + + + + + + + + + 132 + 9th + 7 + 818 + 1407 + AA + 8 + + 500 + 5 + + + 4 + H + + cleared + + + + 2012-02-05 05:16:38 + + + 265 + 7 + + + + + + + + + + 174 + 7th,8th,9th,red,pb + 9 + 854 + 1198 + A + 7 + + 487 + 224 + 123 + 9 + 29 + + + 3 + H + B + + cleared + + + + 2009-07-20 04:09:11 + + + 487 + A + + + + + + + + + + 152 + red + 7 + 924 + 1415 + A + 7 + + 581 + 253 + 82 + 1 + 11 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 551 + 7 + + + + + + + + + + 155 + hs,emp + 8 + 900 + 1400 + AA + 8 + + 590 + 220 + 76 + 10 + 17 + + + 4 + H + + cleared + 2012-03-17 07:17:57 + + + 554 + L7 + + + + + + + + + + 180 + hs + 5 + 555 + 870 + AA + 8 + + 359 + 152 + 35 + 1 + 11 + + + 3 + S+ + H + B + + cleared + 2007-04-29 19:44:21 + + + 177 + L7 + + + + + + + + + + 122 + 3rd,hs,pb + 2 + 204 + 369 + AAA + 10 + + 165 + 39 + 0 + 0 + 0 + + + 5 + H + B + + perfect + + + + 2012-02-05 05:28:39 + + + 556 + L7 + + + + + + + + + + 190 + hs + 5 + 555 + 921 + AA + 8 + + 389 + 143 + 21 + 0 + 3 + + + 3 + H + B + + cleared + 2007-04-29 20:00:25 + + + 558 + L7 + + + + + + + + + + 148 + hs + 5 + 561 + 833 + A + 7 + + 352 + 129 + 77 + 3 + 6 + + + 0 + H + + cleared + 2007-04-29 20:07:14 + + + 145 + L7 + + + + + + + + + + 160 + 4th,hs + 5 + 438 + 702 + AA + 8 + + 295 + 112 + 26 + 1 + 6 + + + 4 + H + B + + cleared + 2007-04-29 20:15:03 + + + 595 + L7 + + + + + + + + + + 110 + hs + 4 + 404 + 644 + AA + 8 + + 265 + 114 + 20 + 1 + 5 + + + 5 + S+ + H + B + + cleared + 2007-04-29 20:18:51 + + + 579 + L7 + + + + + + + + + + 126 + hs + 4 + 355 + 579 + AA + 8 + + 238 + 103 + 13 + 0 + 2 + + + 5 + S+ + H + B + + cleared + 2007-04-29 20:21:47 + + + 582 + L7 + + + + + + + + + + 265 + hs + 5 + 495 + 753 + A + 7 + + 307 + 139 + 45 + 2 + 4 + + + 1.5 + S+ + H + B + + cleared + + + + 2007-04-29 20:26:57 + + + 585 + L7 + + + + + + + + + + 160 + hs + 4 + 401 + 677 + AA + 9 + + 282 + 113 + 6 + 0 + 0 + + + 3 + H + + combo + 2012-02-05 05:28:39 + + + 588 + L7 + + + + + + + + + + 170 + hs,pb + 5 + 571 + 890 + AA + 8 + + 372 + 146 + 36 + 8 + 25 + + + 3.5 + H + B + + cleared + + + + 2007-07-14 19:37:08 + + + 182 + A + + + + + + + + + + 170 + 3rd,9th + 7 + 718 + 1195 + AA + 8 + + 215 + 14 + + + 3 + H + + cleared + 2012-02-05 05:16:38 + + + 500 + 7 + + + + + + + + + + 139 + red + 7 + 854 + 1243 + A + 7 + + 498 + 247 + 84 + 14 + 19 + + + 4 + H + B + + cleared + 2011-05-12 08:38:54 + + + 310 + A + + + + + + + + + + 90 + 8th,red + 8 + 854 + 1272 + A + 7 + + 514 + 244 + 64 + 9 + 36 + + + 5 + H + + cleared + + + + 2009-07-20 04:09:11 + + + 287 + 7 + + + + + + + + + + 155 + 8th,gold + 7 + 663 + 846 + B + 6 + + 337 + 172 + 126 + 13 + 37 + + + 4 + + cleared + 2009-07-20 05:02:31 + + + 276 + 7 + + + + + + + + + + 133 + 8th + 6 + 748 + 1050 + A + 7 + + 414 + 222 + 85 + 17 + 26 + + + 4 + + cleared + 2007-05-10 16:24:23 + + + 116 + A + + + + + + + + + + 100 + 5th + 5 + 433 + 656 + A + 7 + + 255 + 146 + 30 + 1 + 2 + + + 3 + T + B + + cleared + 2010-05-16 01:47:58 + + + 78 + A + + + + + + + + + + 113 + 5th + 6 + 603 + 949 + AA + 8 + + 385 + 179 + 36 + 2 + 4 + + + 3 + T + B + + cleared + 2010-05-16 01:48:53 + + + 78 + 7 + + + + + + + + + + 113 + 5th + 5 + 514 + 712 + A + 7 + + 265 + 182 + 59 + 1 + 15 + + + 3 + T + + cleared + 2007-05-10 18:07:39 + + + 117 + A + + + + + + + + + + 96 + 5th + 7 + 813 + 1091 + A + 7 + + 413 + 265 + 110 + 12 + 31 + + + 3 + T + + cleared + 2007-11-29 18:55:39 + + + 87 + 7 + + + + + + + + + + 139 + 5th + 6 + 664 + 788 + B + 6 + + 291 + 206 + 142 + 12 + 19 + + + 3 + T + + cleared + + + + 2007-05-10 18:18:55 + + + 300 + 7 + + + + + + + + + + 131 + 8th,dd + 7 + 763 + 1051 + A + 7 + + 405 + 241 + 105 + 7 + 25 + + + 4 + H + B + + cleared + 2012-05-06 03:48:00 + + + 299 + 7 + + + + + + + + + + 155 + 8th + 9 + 1029 + 1246 + B + 6 + + 265 + 38 + + + 4 + + cleared + 2011-04-02 01:30:33 + + + 66 + 7 + + + + + + + + + + 155 + 6th,8th,pb + 7 + 879 + 1170 + B + 6 + + 447 + 276 + 130 + 11 + 34 + + + 4 + + cleared + + + + 2007-08-01 22:37:18 + + + 307 + 7 + + + + + + + + + + 158 + 8th,10th,emp + 9 + 867 + 1236 + A + 7 + + 488 + 260 + 110 + 0 + 12 + + + 4 + H + + cleared + 2012-02-05 05:45:51 + + + 313 + A + + + + + + + + + + 114 + 8th + 7 + 598 + 968 + AA + 8 + + 306 + 4 + + + 4 + H + + cleared + 2011-04-02 01:30:33 + + + 259 + 7 + + + + + + + + + + 148 + 7th,8th,gold,pb + 10 + 1004 + 1433 + A + 7 + + 544 + 345 + 103 + 9 + 9 + + + 3 + H + B + + cleared + + + + 2011-04-02 01:19:30 + + + 301 + 7 + + + + + + + + + + 155 + 8th,red + 9 + 1016 + 1388 + A + 7 + + 392 + 15 + + + 4 + H + + cleared + 2011-09-05 05:45:13 + + + 268 + 7 + + + + + + + + + + 124 + 8th + 5 + 572 + 888 + A + 7 + + 348 + 192 + 25 + 4 + 7 + + + 4 + T + H + B + + cleared + 2007-05-16 00:20:50 + + + 270 + 7 + + + + + + + + + + 130 + 8th + 6 + 465 + 718 + A + 7 + + 294 + 130 + 37 + 1 + 7 + + + 4 + T + H + B + + cleared + 2007-05-16 00:23:37 + + + 271 + 7 + + + + + + + + + + 134 + 8th,gold + 5 + 542 + 827 + A + 7 + + 317 + 193 + 23 + 2 + 14 + + + 4 + T + H + B + + cleared + 2007-05-16 00:29:06 + + + 273 + 7 + + + + + + + + + + 145 + 8th + 6 + 582 + 942 + AA + 8 + + 399 + 144 + 38 + 1 + 2 + + + 4 + T + H + B + + cleared + 2007-05-16 00:34:27 + + + 274 + 7 + + + + + + + + + + 144 + 8th + 6 + 591 + 897 + A + 7 + + 344 + 209 + 26 + 1 + 16 + + + 4 + T + H + B + + cleared + 2007-05-16 00:36:45 + + + 114 + A + + + + + + + + + + 159 + 3rd,5th,10th,pb + 7 + 609 + 776 + B + 6 + + 303 + 170 + 119 + 9 + 19 + + + 2 + T + + cleared + 2007-05-17 19:48:18 + + + 50 + 7 + + + + + + + + + + 135 + 3rd,5th,6th,8th,us,dd,pb + 8 + 498 + 729 + A + 7 + + 300 + 129 + 59 + 6 + 11 + + + 4 + H + B + + cleared + + + + 2012-05-06 03:48:00 + + + 50 + A + + + + + + + + + + 135 + 3rd,5th,6th,8th,us,dd,pb + 8 + 508 + 757 + A + 8 + + 299 + 159 + 50 + 0 + 3 + + + 4 + H + B + + combo + 2012-02-05 05:45:51 + + + 208 + 7 + + + + + + + + + + 126 + 3rd + 5 + 434 + 726 + AA + 9 + + 299 + 128 + 7 + 0 + 4 + + + 3 + B + + combo + 2010-11-09 01:58:19 + + + 178 + A + + + + + + + + + + 117 + 3rd + 6 + 597 + 883 + A + 7 + + 316 + 251 + 15 + 5 + 16 + + + 3 + B + + cleared + 2007-05-17 20:11:33 + + + 232 + L7 + + + + + + + + + + 170 + 7th,pb + 4 + 436 + 771 + AA + 9 + + 335 + 101 + 0 + 0 + 0 + + + 2 + H + + perfect + 2011-04-02 01:19:30 + + + 228 + L7 + + + + + + + + + + 125 + 7th + 4 + 425 + 699 + AA + 9 + + 294 + 111 + 19 + 0 + 2 + + + 4 + H + + comboed + 2011-04-02 01:19:30 + + + 241 + 7 + + + + + + + + + + 140 + 7th + 6 + 642 + 954 + A + 7 + + 393 + 168 + 69 + 4 + 15 + + + 4 + H + B + + cleared + 2008-06-26 22:47:58 + + + 296 + 7 + + + + + + + + + + 135 + 8th,gold + 8 + 817 + 1056 + B + 6 + + 403 + 250 + 139 + 13 + 21 + + + 4 + H + + cleared + 2011-04-02 05:27:35 + + + 76 + L7 + + + + + + + + + + 128 + 5th + 3 + 339 + 560 + AA + 9 + + 244 + 72 + 23 + 0 + 0 + + + 3 + T + B + + combo + 2007-06-05 04:12:10 + + + 76 + 7 + + + + + + + + + + 128 + 5th + 7 + 627 + 872 + A + 7 + + 347 + 178 + 85 + 2 + 21 + + + 3 + T + B + + cleared + 2010-05-16 01:45:39 + + + 101 + 7 + + + + + + + + + + 115 + 4th,5th + 5 + 432 + 664 + A + 7 + + 257 + 150 + 19 + 4 + 5 + + + 3 + T + B + + cleared + 2007-06-05 04:18:00 + + + 56 + 7 + + + + + + + + + + 167 + 5th,6th,7th,hs,pb + 8 + 982 + 1499 + A + 7 + + 572 + 355 + 44 + 1 + 13 + + + 3 + H + B + + cleared + + + + 2011-04-27 00:24:30 + + + 539 + 7 + + + + + + + + + + 140 + hs + 7 + 829 + 1151 + A + 7 + + 449 + 253 + 109 + 4 + 25 + + + 4.5 + S+ + H + B + + cleared + 2007-08-23 22:25:50 + + + 570 + 7 + + + + + + + + + + 160 + hs,emp + 8 + 956 + 1560 + AA + 8 + + 657 + 246 + 43 + 5 + 16 + + + 4 + H + + cleared + 2012-03-17 07:17:57 + + + 448 + 7 + + + + + + + + + + 152 + 10th,hs + 8 + 949 + 1435 + A + 7 + + 590 + 255 + 89 + 6 + 17 + + + 0 + H + B + + cleared + 2009-03-21 20:17:58 + + + 130 + L7 + + + + + + + + + + 120 + 4th,hs + 3 + 280 + 466 + AA + 9 + + 193 + 80 + 7 + 0 + 0 + + + 5 + H + + comboed + 2012-02-05 05:28:39 + + + 565 + 7 + + + + + + + + + + 123 + hs + 8 + 763 + 1073 + A + 7 + + 418 + 237 + 77 + 21 + 19 + + + 0 + H + B + + cleared + 2007-07-14 19:40:06 + + + 566 + 7 + + + + + + + + + + 180 + hs + 7 + 679 + 980 + A + 7 + + 404 + 172 + 94 + 1 + 10 + + + 3 + H + B + + cleared + 2009-07-20 04:25:29 + + + 561 + 7 + + + + + + + + + + 170 + hs + 8 + 895 + 1165 + B + 6 + + 450 + 265 + 156 + 8 + 24 + + + 2 + H + + cleared + 2011-04-02 03:35:39 + + + 574 + 7 + + + + + + + + + + 151 + hs,pb + 8 + 858 + 1113 + B + 6 + + 421 + 271 + 143 + 12 + 25 + + + 5 + H + B + + cleared + 2011-04-02 03:35:39 + + + 556 + 7 + + + + + + + + + + 190 + hs + 8 + 883 + 1291 + A + 7 + + 524 + 243 + 92 + 10 + 20 + + + 3 + H + + cleared + 2011-04-02 03:35:39 + + + 485 + 7 + + + + + + + + + + 141 + red + 7 + 675 + 913 + A + 7 + + 369 + 175 + 120 + 8 + 8 + + + 4 + H + + cleared + 2009-07-20 04:09:10 + + + 232 + 7 + + + + + + + + + + 170 + 7th,pb + 5 + 504 + 858 + AA + 8 + + 361 + 136 + 5 + 0 + 3 + + + 2 + H + + cleared + 2011-09-05 05:42:12 + + + 435 + L7 + + + + + + + + + + 140 + 10th + 7 + 651 + 1075 + AA + 8 + + 467 + 141 + 36 + 2 + 10 + + + 4 + T + + cleared + 2007-06-17 22:16:35 + + + 433 + L7 + + + + + + + + + + 151 + 10th,gold,pb + 6 + 636 + 980 + A + 7 + + 419 + 142 + 68 + 1 + 7 + + + 4 + T + H + M + + cleared + 2007-06-17 22:16:57 + + + 404 + 7 + + + + + + + + + + 160 + 10th + 6 + 725 + 1160 + AA + 8 + + 486 + 5 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 222 + L7 + + + + + + + + + + 134 + 3rd + 7 + 618 + 884 + A + 7 + + 358 + 168 + 74 + 6 + 19 + + + 3 + B + + cleared + + + + 2008-03-24 18:33:02 + + + 211 + 7 + + + + + + + + + + 138 + 3rd + 7 + 640 + 889 + A + 7 + + 357 + 175 + 91 + 7 + 28 + + + 3 + B + + cleared + + + + 2008-06-26 00:30:03 + + + 100 + 7 + + + + + + + + + + 160 + 4th,5th + 5 + 334 + 572 + AA + 9 + + 239 + 94 + 1 + 0 + 0 + + + 3 + T + + combo + 2012-05-26 04:37:26 + + + 228 + A + + + + + + + + + + 125 + 7th + 7 + 790 + 1198 + A + 7 + + 487 + 224 + 69 + 4 + 12 + + + 4 + B + + cleared + 2011-04-02 01:19:30 + + + 79 + 7 + + + + + + + + + + 180 + 5th,7th,gold + 5 + 548 + 861 + AA + 8 + + 359 + 143 + 39 + 0 + 10 + + + 3 + H + B + + cleared + 2010-05-16 01:39:40 + + + 359 + 7 + + + + + + + + + + 155 + 9th,10th,dd,emp + 9 + 901 + 1502 + AA + 8 + + 622 + 258 + 18 + 2 + 7 + + + 3 + H + + cleared + 2011-04-02 04:35:15 + + + 350 + 7 + + + + + + + + + + 130 + 9th,pb + 10 + 859 + 1161 + A + 7 + + 312 + 24 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 12 + 7 + + + + + + + + + + 176 + 6th,9th + 9 + 789 + 1111 + A + 7 + + 191 + 34 + + + 3 + H + + cleared + + + + + + + 2011-04-02 01:57:43 + + + 319 + 7 + + + + + + + + + + 180 + 9th + 9 + 864 + 1295 + A + 7 + + 300 + 23 + + + 3 + H + + cleared + 2011-04-02 01:57:43 + + + 326 + 7 + + + + + + + + + + 150 + 9th + 8 + 750 + 1172 + AA + 8 + + 296 + 21 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 346 + 7 + + + + + + + + + + 130 + 9th + 8 + 907 + 1291 + A + 7 + + 351 + 25 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 261 + 7 + + + + + + + + + + 128 + 7th,8th,9th,djt,pb + 9 + 772 + 1098 + A + 7 + + 444 + 210 + 99 + 13 + 26 + + + 4 + H + + cleared + + + + 2012-02-05 05:45:51 + + + 571 + L7 + + + + + + + + + + 152 + hs,emp + 7 + 697 + 907 + B + 6 + + 354 + 199 + 127 + 5 + 28 + + + 4 + H + B + + cleared + 2007-07-06 04:34:15 + + + 567 + A + + + + + + + + + + 146 + hs + 6 + 525 + 815 + A + 7 + + 327 + 161 + 30 + 3 + 6 + + + 4.5 + H + B + + cleared + 2007-07-06 04:34:44 + + + 580 + 7 + + + + + + + + + + 138 + hs + 7 + 676 + 890 + B + 6 + + 334 + 222 + 107 + 5 + 13 + + + 4 + H + B + + cleared + 2011-04-27 00:24:30 + + + 538 + 7 + + + + + + + + + + 168 + hs + 9 + 850 + 1367 + AA + 8 + + 578 + 211 + 52 + 5 + 11 + + + 4 + H + + cleared + 2011-04-27 00:24:30 + + + 5 + 7 + + + + + + + + + + 156 + 6th,7th,hs,pb + 9 + 897 + 1373 + A + 7 + + 589 + 195 + 91 + 14 + 17 + + + 3 + H + + cleared + 2011-09-05 05:42:11 + + + 374 + 7 + + + + + + + + + + 150 + 9th + 7 + 689 + 1050 + A + 7 + + 269 + 11 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 225 + 7 + + + + + + + + + + 132 + 7th + 5 + 649 + 974 + A + 7 + + 396 + 182 + 59 + 4 + 15 + + + 4 + T + H + + cleared + 2007-08-01 22:37:50 + + + 248 + 7 + + + + + + + + + + 155 + 7th + 9 + 802 + 1132 + A + 7 + + 435 + 262 + 101 + 3 + 7 + + + 3 + + cleared + 2011-09-05 05:42:12 + + + 257 + L7 + + + + + + + + + + 160 + 7th,10th,pb + 5 + 556 + 919 + AA + 9 + + 390 + 139 + 27 + 0 + 1 + + + 3 + H + + combo + 2011-04-02 01:19:30 + + + 238 + 7 + + + + + + + + + + 130 + 7th + 6 + 537 + 896 + AA + 9 + + 365 + 166 + 6 + 0 + 1 + + + 4 + + combo + 2011-09-05 05:42:12 + + + 42 + 7 + + + + + + + + + + 155 + 4th,6th,7th,8th + 9 + 801 + 1085 + A + 7 + + 426 + 233 + 112 + 16 + 30 + + + 4 + + cleared + 2007-08-01 22:42:28 + + + 583 + A + + + + + + + + + + 160 + hs + 8 + 717 + 964 + A + 7 + + 386 + 192 + 123 + 6 + 26 + + + 4 + H + B + + cleared + + + + 2011-04-02 03:35:39 + + + 402 + A + + + + + + + + + + 170 + 10th,emp + 7 + 810 + 1342 + AA + 8 + + 586 + 170 + 35 + 8 + 24 + + + 3 + H + + cleared + 2012-02-05 05:45:51 + + + 399 + 7 + + + + + + + + + + 157 + 10th,pb + 8 + 850 + 1337 + AA + 8 + + 315 + 22 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 523 + 7 + + + + + + + + + + 126 + red,pb + 7 + 747 + 993 + B + 6 + + 380 + 233 + 116 + 8 + 22 + + + 5 + H + B + + cleared + 2011-04-02 02:39:54 + + + 496 + L7 + + + + + + + + + + 173 + red,emp + 8 + 771 + 1177 + A + 7 + + 486 + 205 + 69 + 6 + 6 + + + 3 + H + B + + cleared + 2011-04-02 02:39:54 + + + 517 + 7 + + + + + + + + + + 162 + red + 7 + 747 + 1100 + A + 7 + + 450 + 200 + 85 + 4 + 17 + + + 4 + H + + cleared + 2011-04-02 02:39:54 + + + 318 + 7 + + + + + + + + + + 165 + 8th,red + 8 + 960 + 1305 + A + 7 + + 517 + 271 + 156 + 5 + 34 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 504 + A + + + + + + + + + + 180 + red + 7 + 828 + 1388 + AA + 8 + + 603 + 182 + 37 + 3 + 9 + + + 3 + H + B + + cleared + 2012-02-05 05:23:47 + + + 311 + A + + + + + + + + + + 180 + 8th,red + 8 + 858 + 1320 + A + 7 + + 550 + 220 + 73 + 6 + 14 + + + 3 + H + B + + cleared + 2011-04-02 02:39:54 + + + 458 + A + + + + + + + + + + 138 + us,red + 7 + 799 + 1220 + A + 7 + + 506 + 208 + 65 + 10 + 24 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 479 + 7 + + + + + + + + + + 180 + red + 8 + 888 + 1239 + A + 7 + + 461 + 317 + 100 + 2 + 9 + + + 3 + H + B + + cleared + 2011-04-02 02:39:54 + + + 495 + L7 + + + + + + + + + + 175 + red,emp + 6 + 587 + 794 + A + 7 + + 313 + 168 + 94 + 6 + 10 + + + 3.5 + H + B + + cleared + 2007-08-21 00:49:39 + + + 528 + L7 + + + + + + + + + + 152 + red + 6 + 745 + 967 + B + 6 + + 359 + 249 + 123 + 5 + 16 + + + 4 + H + R + + cleared + 2007-08-21 00:58:30 + + + 519 + 7 + + + + + + + + + + 160 + red,dd + 9 + 996 + 1385 + A + 7 + + 552 + 281 + 143 + 9 + 25 + + + 4 + H + + cleared + 2011-04-02 02:39:54 + + + 498 + 7 + + + + + + + + + + 171 + red + 7 + 786 + 1316 + AA + 8 + + 559 + 198 + 28 + 0 + 4 + + + 3 + H + B + + cleared + 2011-04-02 02:39:54 + + + 297 + 7 + + + + + + + + + + 93 + 8th,djt + 8 + 789 + 1205 + A + 7 + + 494 + 217 + 60 + 11 + 22 + + + 5 + H + + cleared + 2012-02-05 05:36:30 + + + 267 + A + + + + + + + + + + 148 + 8th + 8 + 934 + 1491 + AA + 8 + + 244 + 27 + + + 3 + H + + cleared + 2011-09-05 05:45:13 + + + 255 + 7 + + + + + + + + + + 140 + 7th + 8 + 708 + 950 + A + 7 + + 357 + 236 + 108 + 2 + 6 + + + 4 + + cleared + 2011-09-05 05:42:12 + + + 560 + 7 + + + + + + + + + + 212 + hs + 10 + 1118 + 1578 + A + 7 + + 551 + 476 + 70 + 7 + 27 + + + 2 + H + + cleared + 2011-04-27 00:24:30 + + + 41 + 7 + + + + + + + + + + 144 + 4th,5th,6th,7th,hs,pb + 8 + 935 + 1368 + A + 7 + + 549 + 270 + 113 + 2 + 7 + + + 3 + T + H + B + + cleared + 2010-05-16 01:29:20 + + + 543 + 7 + + + + + + + + + + 115 + hs + 8 + 678 + 863 + B + 6 + + 332 + 199 + 108 + 9 + 42 + + + 5 + H + B + + cleared + 2011-04-02 03:35:39 + + + 581 + 7 + + + + + + + + + + 155 + hs + 8 + 807 + 1127 + A + 7 + + 442 + 243 + 107 + 9 + 18 + + + 4 + H + B + + cleared + 2011-04-02 03:35:39 + + + 590 + 7 + + + + + + + + + + 183 + hs + 9 + 1369 + 2055 + A + 7 + + 846 + 363 + 125 + 11 + 47 + + + 3 + H + B + + cleared + 2011-05-12 08:43:06 + + + 665 + L7 + + + + + + + + + + 168 + dd + 2 + 185 + 331 + AAA + 10 + + 147 + 37 + 1 + 0 + 0 + + + 4 + H + B + + combo + + + + + + + 2007-09-02 17:16:37 + + + 667 + L7 + + + + + + + + + + 140 + dd + 1 + 139 + 249 + AAA + 10 + + 112 + 25 + 2 + 0 + 0 + + + 4 + S+ + H + B + + combo + + + + + + + 2007-09-02 17:50:09 + + + 377 + 7 + + + + + + + + + + 125 + 9th + 6 + 688 + 1073 + AA + 8 + + 261 + 20 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 172 + 7 + + + + + + + + + + 126 + 3rd + 3 + 255 + 369 + A + 7 + + 144 + 81 + 26 + 1 + 3 + + + 3 + B + + cleared + + + + 2007-10-14 02:06:16 + + + 90 + 7 + + + + + + + + + + 142 + 5th,7th,pb + 7 + 817 + 1338 + AA + 8 + + 556 + 226 + 34 + 0 + 2 + + + 4 + + cleared + 2011-09-05 05:42:09 + + + 549 + L7 + + + + + + + + + + 133 + hs + 5 + 489 + 690 + A + 8 + + 264 + 162 + 63 + 0 + 0 + + + 5 + H + H + B + + combo + + + + 2007-11-30 01:21:04 + + + 74 + L7 + + + + + + + + + + 128 + 5th,7th,hs + 3 + 292 + 513 + AA + 9 + + 224 + 65 + 1 + 1 + 1 + + + 4 + H + + comboed + 2012-02-05 05:28:39 + + + 132 + L7 + + + + + + + + + + 148 + 4th,hs,pb + 4 + 264 + 408 + A + 8 + + 164 + 80 + 20 + 0 + 1 + + + 3 + H + + combo + 2011-04-02 05:48:23 + + + 597 + L7 + + + + + + + + + + 136 + hs,emp + 4 + 415 + 602 + A + 8 + + 215 + 172 + 28 + 0 + 3 + + + 0 + H + B + + combo + 2007-11-30 01:32:17 + + + 445 + 7 + + + + + + + + + + 150 + 10th + 8 + 913 + 1332 + A + 7 + + 340 + 29 + + + 4 + H + + cleared + 2011-04-02 02:17:23 + + + 387 + L7 + + + + + + + + + + 175 + 10th,djt + 5 + 546 + 887 + AA + 8 + + 369 + 149 + 25 + 1 + 5 + + + 3 + H + B + + cleared + 2007-12-22 14:53:01 + + + 404 + L7 + + + + + + + + + + 160 + 10th + 3 + 387 + 663 + AA + 9 + + 291 + 81 + 15 + 0 + 1 + + + 4 + H + B + + combo + 2007-12-22 15:02:09 + + + 601 + L7 + + + + + + + + + + 180 + dd + 2 + 283 + 505 + AAA + 10 + + 226 + 53 + 3 + 0 + 1 + + + 3 + H + B + + comboed + 2008-01-16 22:14:01 + + + 679 + A + + + + + + + + + + 129 + 3rd + 6 + 576 + 853 + A + 7 + + 310 + 233 + 27 + 1 + 8 + + + 3 + + cleared + 2008-03-24 18:03:53 + + + 192 + 7 + + + + + + + + + + 134 + 3rd + 5 + 438 + 633 + A + 7 + + 238 + 157 + 32 + 4 + 13 + + + 3 + B + + cleared + + + + 2008-03-24 18:15:43 + + + 186 + 7 + + + + + + + + + + 126 + 3rd + 5 + 428 + 729 + AA + 9 + + 310 + 109 + 9 + 0 + 0 + + + 3 + + combo + + + + 2010-11-09 01:44:42 + + + 163 + 7 + + + + + + + + + + 127 + 3rd + 5 + 568 + 875 + A + 7 + + 369 + 137 + 58 + 1 + 17 + + + 3 + B + + cleared + 2008-03-24 18:37:25 + + + 165 + 7 + + + + + + + + + + 126 + 3rd + 5 + 525 + 751 + A + 7 + + 291 + 169 + 55 + 1 + 9 + + + 3 + B + + cleared + + + + 2008-03-24 18:40:16 + + + 109 + 7 + + + + + + + + + + 179 + 3rd,5th,7th,8th,us,dd,pb + 8 + 555 + 897 + AA + 8 + + 373 + 151 + 20 + 1 + 15 + + + 4 + H + + cleared + 2011-09-05 05:42:11 + + + 201 + A + + + + + + + + + + 118 + 3rd + 4 + 254 + 410 + AA + 9 + + 158 + 94 + 2 + 0 + 1 + + + 3 + B + + combo + + + + 2008-06-26 01:28:08 + + + 131 + 7 + + + + + + + + + + 141 + 4th,9th + 8 + 555 + 918 + AA + 8 + + 392 + 134 + 26 + 1 + 2 + + + 3 + T + H + + cleared + + + + 2012-05-26 03:28:54 + + + 3 + A + + + + + + + + + + 128 + 6th,hs + 7 + 703 + 1041 + A + 7 + + 426 + 189 + 76 + 3 + 24 + + + 0 + H + B + + cleared + 2009-03-21 20:18:05 + + + 91 + A + + + + + + + + + + 142 + 5th,7th,us + 7 + 798 + 1169 + A + 7 + + 490 + 189 + 113 + 3 + 3 + + + 3 + B + + cleared + 2011-04-02 01:19:30 + + + 234 + L7 + + + + + + + + + + 130 + 7th,8th,djt + 5 + 522 + 877 + AA + 8 + + 379 + 119 + 17 + 2 + 9 + + + 4 + T + H + B + + cleared + + + + 2008-06-27 16:56:46 + + + 280 + L7 + + + + + + + + + + 130 + 8th + 4 + 464 + 743 + AA + 9 + + 307 + 129 + 28 + 0 + 1 + + + 4 + T + H + B + + combo + + + + 2008-06-27 16:59:54 + + + 347 + 7 + + + + + + + + + + 140 + 9th + 7 + 487 + 695 + A + 7 + + 256 + 7 + + + 4 + H + + cleared + + + + 2011-04-02 01:57:43 + + + 97 + 7 + + + + + + + + + + 130 + 5th,7th,9th,us + 7 + 659 + 946 + A + 7 + + 370 + 206 + 74 + 5 + 10 + + + 4 + H + + cleared + 2011-09-05 05:42:12 + + + 381 + 7 + + + + + + + + + + 133 + 9th + 6 + 494 + 742 + A + 7 + + 134 + 11 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 402 + L7 + + + + + + + + + + 170 + 10th,emp + 4 + 478 + 829 + AA + 8 + + 370 + 89 + 15 + 1 + 5 + + + 3.5 + H + B + + cleared + 2008-06-27 23:21:16 + + + 429 + L7 + + + + + + + + + + 150 + 10th + 3 + 298 + 497 + AA + 9 + + 209 + 79 + 10 + 0 + 0 + + + 4 + H + B + + combo + 2008-06-27 23:30:10 + + + 444 + 7 + + + + + + + + + + 154 + 10th + 9 + 871 + 1183 + A + 7 + + 300 + 14 + + + 4 + H + + cleared + + + + 2011-04-02 02:17:23 + + + 744 + A + + + + + + + + + + 178 + gold + 6 + 382 + 695 + AAA + 10 + + 324 + 47 + 11 + 0 + 1 + + + 3 + S+ + H + B + + combo + + + + 2008-07-17 23:21:43 + + + 349 + 7 + + + + + + + + + + 155 + 9th,red + 9 + 979 + 1465 + A + 7 + + 598 + 269 + 100 + 4 + 15 + + + 3 + H + + cleared + 2011-04-02 02:39:54 + + + 373 + 7 + + + + + + + + + + 136 + 9th + 6 + 729 + 1087 + A + 7 + + 409 + 269 + 39 + 2 + 17 + + + 4 + T + H + B + + cleared + 2008-07-24 03:04:36 + + + 749 + L7 + + + + + + + + + + 183 + gold + 4 + 266 + 475 + AAA + 10 + + 213 + 49 + 4 + 0 + 0 + + + 3 + S+ + B + + combo + + + + 2008-09-03 19:49:55 + + + 744 + L7 + + + + + + + + + + 178 + gold + 3 + 202 + 360 + AAA + 10 + + 158 + 44 + 0 + 0 + 0 + + + 3 + S+ + H + M + + perfect + + + + 2009-07-20 05:02:31 + + + 696 + 7 + + + + + + + + + + 165 + gold,pb + 9 + 1039 + 1374 + B + 6 + + 519 + 336 + 161 + 17 + 18 + + + 3 + H + + cleared + 2011-09-05 06:04:31 + + + 748 + 7 + + + + + + + + + + 173 + gold + 10 + 1284 + 1788 + A + 7 + + 722 + 344 + 183 + 9 + 45 + + + 3 + H + + cleared + + + + 2011-09-05 06:04:44 + + + 626 + L7 + + + + + + + + + + 155 + dd + 5 + 520 + 873 + AA + 8 + + 382 + 109 + 25 + 4 + 3 + + + 0 + H + B + + cleared + 2009-03-22 11:18:31 + + + 607 + L7 + + + + + + + + + + 129 + dd + 4 + 352 + 539 + A + 7 + + 217 + 105 + 29 + 0 + 1 + + + 0 + H + B + + cleared + 2009-03-22 11:18:31 + + + 640 + L7 + + + + + + + + + + 155 + dd + 5 + 460 + 498 + C + 5 + + 116 + 266 + 69 + 3 + 15 + + + 0 + H + B + + cleared + 2009-03-21 17:51:42 + + + 650 + L7 + + + + + + + + + + 180 + dd,pb + 8 + 648 + 994 + A + 7 + + 418 + 158 + 58 + 3 + 12 + + + 0 + H + + cleared + 2009-03-22 11:18:31 + + + 609 + L7 + + + + + + + + + + 165 + dd + 4 + 503 + 93 + F + 0 + + 29 + 35 + 98 + 48 + 318 + + + 0 + + played + 2009-03-21 17:51:42 + + + 651 + L7 + + + + + + + + + + 82 + dd,pb + 6 + 571 + 845 + A + 7 + + 344 + 157 + 61 + 2 + 13 + + + 0 + H + B + + cleared + 2009-03-22 11:18:31 + + + 613 + L7 + + + + + + + + + + 150 + dd + 4 + 354 + 584 + AA + 8 + + 247 + 90 + 16 + 0 + 1 + + + 0 + H + + cleared + 2009-03-22 11:18:31 + + + 636 + L7 + + + + + + + + + + 135 + dd + 6 + 686 + 626 + C + 5 + + 196 + 234 + 240 + 13 + 11 + + + 0 + H + B + + cleared + 2009-03-21 17:51:43 + + + 632 + L7 + + + + + + + + + + 149 + dd + 5 + 556 + 892 + AA + 8 + + 391 + 110 + 42 + 6 + 11 + + + 0 + H + B + + cleared + 2009-03-22 11:18:31 + + + 638 + L7 + + + + + + + + + + 165 + dd,pb + 7 + 740 + 1055 + A + 7 + + 416 + 223 + 92 + 5 + 17 + + + 0 + H + B + + cleared + 2009-03-22 11:18:31 + + + 647 + L7 + + + + + + + + + + 187 + dd + 6 + 646 + 809 + B + 6 + + 307 + 195 + 121 + 5 + 34 + + + 0 + + cleared + 2009-03-22 11:18:32 + + + 648 + L7 + + + + + + + + + + 191 + dd,pb + 7 + 658 + 1071 + AA + 8 + + 455 + 161 + 37 + 1 + 10 + + + 0 + H + B + + cleared + 2009-03-22 11:18:32 + + + 649 + L7 + + + + + + + + + + 199 + dd,pb + 6 + 638 + 704 + C + 3 + + 262 + 180 + 180 + 7 + 17 + + + 0 + + played + 2009-03-21 17:51:43 + + + 652 + L7 + + + + + + + + + + 160 + dd,emp + 8 + 902 + 1286 + A + 7 + + 508 + 270 + 101 + 14 + 18 + + + 0 + H + + cleared + 2009-03-22 11:18:32 + + + 262 + L7 + + + + + + + + + + 155 + 7th,8th,dd,pb + 8 + 874 + 1289 + A + 7 + + 477 + 335 + 42 + 6 + 21 + + + 3 + H + + cleared + 2011-04-02 01:19:30 + + + 670 + L7 + + + + + + + + + + 250 + red,dd + 7 + 787 + 1135 + A + 7 + + 443 + 249 + 84 + 3 + 12 + + + 0 + H + B + + cleared + 2009-03-22 11:18:32 + + + 676 + L7 + + + + + + + + + + 210 + dd + 7 + 436 + 566 + B + 6 + + 210 + 146 + 66 + 8 + 10 + + + 0 + H + B + + cleared + 2009-03-22 11:18:33 + + + 677 + L7 + + + + + + + + + + 145 + dd + 7 + 524 + 678 + B + 6 + + 247 + 184 + 74 + 16 + 11 + + + 0 + H + B + + cleared + 2009-03-22 11:18:33 + + + 669 + L7 + + + + + + + + + + 160 + dd + 4 + 349 + 609 + AA + 9 + + 269 + 71 + 9 + 0 + 0 + + + 0 + H + + combo + 2009-03-22 11:18:33 + + + 658 + L7 + + + + + + + + + + 162 + dd + 4 + 490 + 695 + A + 5 + + 275 + 145 + 68 + 1 + 1 + + + 0 + + played + 2009-03-22 11:18:33 + + + 657 + L7 + + + + + + + + + + 200 + dd,emp + 6 + 547 + 778 + A + 7 + + 293 + 192 + 60 + 0 + 8 + + + 2 + H + + cleared + 2011-04-02 04:35:14 + + + 659 + L7 + + + + + + + + + + 155 + dd + 5 + 539 + 873 + AA + 8 + + 358 + 157 + 20 + 1 + 5 + + + 0 + H + B + + cleared + 2009-03-22 11:18:33 + + + 664 + L7 + + + + + + + + + + 150 + dd + 3 + 295 + 511 + AA + 9 + + 220 + 71 + 4 + 0 + 1 + + + 3 + H + B + + combo + 2011-04-02 04:35:15 + + + 623 + 7 + + + + + + + + + + 170 + dd,pb + 7 + 838 + 1384 + AA + 8 + + 594 + 196 + 43 + 1 + 9 + + + 2 + H + B + + cleared + 2012-05-06 03:48:00 + + + 624 + 7 + + + + + + + + + + 170 + dd,pb + 9 + 921 + 1304 + A + 7 + + 540 + 224 + 124 + 21 + 25 + + + 2 + H + B + + cleared + 2012-05-06 03:48:00 + + + 653 + 7 + + + + + + + + + + 180 + dd + 9 + 805 + 1203 + A + 7 + + 495 + 213 + 79 + 11 + 24 + + + 2 + H + B + + cleared + 2012-05-06 03:48:00 + + + 605 + 7 + + + + + + + + + + 132 + dd + 6 + 554 + 937 + AA + 8 + + 408 + 121 + 21 + 0 + 9 + + + 0 + H + B + + cleared + 2009-03-22 11:18:33 + + + 625 + 7 + + + + + + + + + + 170 + dd + 9 + 1012 + 1491 + A + 7 + + 613 + 265 + 113 + 13 + 36 + + + 2 + H + B + + cleared + 2012-05-06 03:48:00 + + + 606 + 7 + + + + + + + + + + 140 + dd + 7 + 867 + 1275 + A + 7 + + 519 + 237 + 96 + 12 + 14 + + + 4 + H + B + + cleared + 2012-05-06 03:48:00 + + + 626 + 7 + + + + + + + + + + 155 + dd + 8 + 938 + 1335 + A + 7 + + 527 + 281 + 119 + 6 + 12 + + + 4 + H + B + + cleared + 2011-04-02 04:35:13 + + + 607 + 7 + + + + + + + + + + 129 + dd + 7 + 642 + 1032 + AA + 9 + + 439 + 154 + 49 + 0 + 4 + + + 0 + H + + combo + 2009-03-22 11:18:34 + + + 608 + 7 + + + + + + + + + + 140 + dd + 8 + 726 + 1089 + A + 7 + + 449 + 191 + 79 + 2 + 14 + + + 4 + H + B + + cleared + 2012-05-06 03:48:00 + + + 640 + 7 + + + + + + + + + + 155 + dd + 10 + 915 + 1337 + A + 7 + + 485 + 367 + 50 + 5 + 22 + + + 4 + H + B + + cleared + + + + 2011-09-05 05:58:55 + + + 650 + 7 + + + + + + + + + + 180 + dd,pb + 10 + 863 + 1242 + A + 7 + + 500 + 242 + 106 + 4 + 24 + + + 2 + H + B + + cleared + 2012-02-05 05:32:21 + + + 627 + 7 + + + + + + + + + + 145 + dd + 7 + 596 + 945 + AA + 8 + + 389 + 167 + 34 + 2 + 7 + + + 3 + H + B + + cleared + 2012-05-06 03:48:00 + + + 639 + 7 + + + + + + + + + + 155 + dd + 9 + 998 + 1465 + A + 7 + + 584 + 297 + 103 + 9 + 21 + + + 3 + H + B + + cleared + 2012-05-06 03:48:00 + + + 609 + 7 + + + + + + + + + + 165 + dd + 7 + 726 + 1157 + AA + 8 + + 476 + 205 + 40 + 3 + 9 + + + 3 + H + B + + cleared + 2012-05-06 03:48:00 + + + 602 + 7 + + + + + + + + + + 138 + dd + 6 + 671 + 1152 + AA + 8 + + 503 + 146 + 20 + 1 + 3 + + + 4 + H + B + + cleared + 2012-05-06 03:48:00 + + + 655 + 7 + + + + + + + + + + 400 + dd + 9 + 791 + 796 + C + 5 + + 297 + 202 + 226 + 17 + 65 + + + 0 + H + M + + cleared + 2012-05-06 03:48:00 + + + 610 + 7 + + + + + + + + + + 160 + dd + 6 + 554 + 837 + A + 7 + + 338 + 161 + 53 + 0 + 7 + + + 0 + H + B + + cleared + 2012-05-06 03:48:00 + + + 628 + 7 + + + + + + + + + + 161 + dd + 8 + 933 + 1471 + AA + 8 + + 623 + 225 + 71 + 5 + 18 + + + 3 + H + B + + cleared + 2012-05-06 03:48:00 + + + 651 + 7 + + + + + + + + + + 82 + dd,pb + 10 + 884 + 1296 + A + 7 + + 545 + 206 + 106 + 19 + 18 + + + 5 + H + B + + cleared + 2012-02-05 05:32:21 + + + 611 + 7 + + + + + + + + + + 135 + dd + 8 + 902 + 1417 + AA + 8 + + 589 + 239 + 72 + 2 + 7 + + + 4 + H + + cleared + 2012-05-06 03:48:00 + + + 612 + 7 + + + + + + + + + + 130 + dd + 7 + 806 + 1288 + AA + 8 + + 534 + 220 + 50 + 0 + 3 + + + 4 + H + B + + cleared + 2012-05-06 03:48:00 + + + 613 + 7 + + + + + + + + + + 150 + dd + 6 + 585 + 983 + AA + 8 + + 424 + 135 + 20 + 2 + 8 + + + 4 + H + B + + cleared + 2012-05-06 03:48:00 + + + 629 + 7 + + + + + + + + + + 135 + dd,emp + 7 + 828 + 1277 + A + 7 + + 525 + 227 + 69 + 3 + 8 + + + 4 + H + + cleared + 2012-03-17 07:17:57 + + + 614 + 7 + + + + + + + + + + 145 + dd + 8 + 714 + 1117 + AA + 8 + + 479 + 159 + 61 + 8 + 15 + + + 4 + H + + cleared + 2011-04-02 04:35:14 + + + 630 + 7 + + + + + + + + + + 145 + dd + 8 + 959 + 1377 + A + 7 + + 548 + 281 + 120 + 5 + 19 + + + 3 + H + B + + cleared + 2012-05-06 03:48:00 + + + 615 + 7 + + + + + + + + + + 172 + dd + 6 + 673 + 1127 + AA + 8 + + 493 + 141 + 31 + 6 + 7 + + + 2 + H + B + + cleared + 2012-05-06 03:48:00 + + + 635 + 7 + + + + + + + + + + 150 + dd + 10 + 917 + 1071 + B + 6 + + 405 + 261 + 195 + 23 + 47 + + + 0 + + cleared + 2009-03-22 11:18:37 + + + 641 + 7 + + + + + + + + + + 156 + dd + 9 + 1067 + 1632 + A + 7 + + 639 + 354 + 50 + 12 + 42 + + + 4 + H + B + + cleared + 2012-05-06 03:48:00 + + + 636 + 7 + + + + + + + + + + 135 + dd + 9 + 966 + 1318 + A + 7 + + 510 + 298 + 136 + 13 + 33 + + + 4 + H + B + + cleared + 2012-05-06 03:48:00 + + + 631 + 7 + + + + + + + + + + 135 + dd + 7 + 848 + 1317 + A + 7 + + 551 + 215 + 68 + 11 + 16 + + + 4 + H + B + + cleared + 2012-05-06 03:48:00 + + + 616 + 7 + + + + + + + + + + 143 + dd + 7 + 748 + 1188 + AA + 8 + + 504 + 180 + 51 + 10 + 15 + + + 4 + H + B + + cleared + 2012-05-06 03:48:00 + + + 632 + 7 + + + + + + + + + + 149 + dd + 8 + 784 + 1208 + A + 7 + + 506 + 196 + 73 + 6 + 11 + + + 4 + H + B + + cleared + 2011-04-02 04:35:15 + + + 617 + 7 + + + + + + + + + + 145 + dd + 7 + 680 + 1055 + A + 8 + + 434 + 187 + 59 + 0 + 2 + + + 4 + H + + combo + 2012-02-05 05:32:22 + + + 603 + 7 + + + + + + + + + + 152 + dd + 8 + 777 + 1231 + AA + 8 + + 517 + 197 + 48 + 6 + 15 + + + 3 + H + B + + cleared + 2012-05-06 03:48:00 + + + 638 + 7 + + + + + + + + + + 165 + dd,pb + 10 + 1154 + 1536 + B + 6 + + 609 + 318 + 198 + 11 + 40 + + + 3 + + cleared + 2011-04-02 04:35:15 + + + 618 + 7 + + + + + + + + + + 175 + dd + 9 + 910 + 1441 + AA + 8 + + 612 + 217 + 68 + 3 + 14 + + + 2 + H + B + + cleared + 2012-05-06 03:48:00 + + + 619 + 7 + + + + + + + + + + 150 + dd + 7 + 712 + 1145 + AA + 8 + + 470 + 205 + 33 + 1 + 10 + + + 3 + H + B + + cleared + 2012-05-06 03:48:00 + + + 604 + 7 + + + + + + + + + + 135 + dd + 6 + 590 + 1015 + AA + 9 + + 442 + 131 + 17 + 0 + 0 + + + 4 + H + B + + combo + 2012-05-06 03:48:00 + + + 637 + 7 + + + + + + + + + + 182 + dd + 9 + 989 + 1328 + A + 7 + + 514 + 300 + 162 + 6 + 18 + + + 2 + H + B + + cleared + 2012-05-06 03:48:00 + + + 647 + 7 + + + + + + + + + + 187 + dd + 10 + 1020 + 1360 + A + 7 + + 549 + 262 + 165 + 21 + 50 + + + 2 + + cleared + 2011-04-02 04:35:15 + + + 633 + 7 + + + + + + + + + + 159 + dd + 9 + 974 + 1404 + A + 7 + + 553 + 298 + 104 + 6 + 22 + + + 3 + H + + cleared + 2011-04-02 04:35:15 + + + 620 + 7 + + + + + + + + + + 172 + dd + 7 + 628 + 1054 + AA + 8 + + 448 + 158 + 19 + 2 + 4 + + + 2 + H + + cleared + + + + 2012-05-06 03:48:00 + + + 648 + 7 + + + + + + + + + + 191 + dd,pb + 10 + 997 + 1512 + A + 7 + + 639 + 234 + 92 + 19 + 51 + + + 2 + + cleared + 2012-02-05 05:45:51 + + + 645 + 7 + + + + + + + + + + 160 + dd + 8 + 904 + 1500 + AA + 8 + + 633 + 234 + 33 + 2 + 8 + + + 3 + H + + cleared + 2011-04-02 04:35:15 + + + 621 + 7 + + + + + + + + + + 140 + dd + 7 + 730 + 1132 + A + 7 + + 462 + 208 + 54 + 2 + 8 + + + 4 + H + B + + cleared + 2012-05-06 03:48:00 + + + 622 + 7 + + + + + + + + + + 115 + dd + 6 + 600 + 982 + AA + 8 + + 413 + 156 + 29 + 1 + 3 + + + 5 + H + B + + cleared + + + + 2012-05-06 03:48:00 + + + 646 + 7 + + + + + + + + + + 155 + dd + 8 + 824 + 1299 + AA + 8 + + 545 + 209 + 64 + 4 + 9 + + + 3 + H + B + + cleared + 2012-05-06 03:48:00 + + + 654 + 7 + + + + + + + + + + 135 + dd + 6 + 580 + 1014 + AA + 9 + + 448 + 118 + 12 + 2 + 1 + + + 4 + H + B + + comboed + 2012-05-06 03:48:00 + + + 634 + 7 + + + + + + + + + + 160 + dd,pb + 7 + 790 + 1264 + AA + 8 + + 529 + 206 + 48 + 2 + 9 + + + 3 + H + B + + cleared + 2012-05-06 03:48:00 + + + 642 + 7 + + + + + + + + + + 140 + dd + 9 + 944 + 1395 + A + 7 + + 586 + 223 + 126 + 3 + 15 + + + 4 + H + B + + cleared + 2012-02-05 05:32:21 + + + 643 + 7 + + + + + + + + + + 180 + dd + 7 + 726 + 1221 + AA + 8 + + 542 + 137 + 36 + 6 + 12 + + + 2 + H + B + + cleared + 2012-05-06 03:48:00 + + + 649 + 7 + + + + + + + + + + 199 + dd,pb + 10 + 1064 + 1761 + AA + 8 + + 759 + 243 + 50 + 4 + 17 + + + 2 + H + B + + cleared + 2012-02-05 05:32:21 + + + 652 + 7 + + + + + + + + + + 160 + dd,emp + 11 + 1281 + 1676 + B + 4 + + 666 + 344 + 206 + 36 + 71 + + + 3 + + played + 2011-09-05 06:18:29 + + + 644 + 7 + + + + + + + + + + 160 + dd + 8 + 792 + 1164 + A + 7 + + 474 + 216 + 85 + 8 + 14 + + + 3 + H + + cleared + 2011-04-02 04:35:14 + + + 601 + 7 + + + + + + + + + + 180 + dd + 8 + 777 + 1196 + A + 7 + + 489 + 218 + 52 + 10 + 22 + + + 2 + H + B + + cleared + 2012-05-06 03:48:00 + + + 562 + 7 + + + + + + + + + + 200 + hs,dd,emp + 10 + 1111 + 1416 + B + 6 + + 560 + 296 + 205 + 16 + 57 + + + 2 + B + + cleared + 2011-04-27 00:24:30 + + + 514 + 7 + + + + + + + + + + 164 + red,dd,pb + 9 + 975 + 1436 + A + 7 + + 585 + 266 + 103 + 9 + 21 + + + 3 + H + B + + cleared + 2011-04-02 02:39:54 + + + 341 + 7 + + + + + + + + + + 200 + 9th,dd + 9 + 839 + 1360 + AA + 8 + + 561 + 238 + 27 + 0 + 19 + + + 2 + H + + cleared + 2011-04-02 04:35:14 + + + 306 + 7 + + + + + + + + + + 300 + 8th,dd,pb + 10 + 819 + 981 + B + 6 + + 181 + 69 + + + 2 + + cleared + 2011-04-02 01:30:33 + + + 670 + 7 + + + + + + + + + + 250 + red,dd + 10 + 1340 + 1584 + B + 4 + + 590 + 404 + 270 + 49 + 53 + + + 1 + + played + 2011-04-02 04:35:14 + + + 293 + 7 + + + + + + + + + + 160 + 8th,dd + 8 + 713 + 980 + A + 7 + + 383 + 214 + 112 + 2 + 5 + + + 3 + H + + cleared + 2012-05-06 03:48:00 + + + 674 + 7 + + + + + + + + + + 144 + dd + 8 + 1012 + 1519 + A + 7 + + 620 + 279 + 95 + 11 + 18 + + + 3 + H + B + + cleared + 2012-05-06 03:48:00 + + + 675 + 7 + + + + + + + + + + 144 + dd + 9 + 1075 + 1596 + A + 7 + + 663 + 270 + 130 + 7 + 16 + + + 3 + H + B + + cleared + 2012-05-06 03:48:00 + + + 656 + 7 + + + + + + + + + + 180 + dd,gold,pb + 8 + 912 + 1443 + AA + 8 + + 619 + 205 + 71 + 13 + 17 + + + 2 + H + B + + cleared + 2012-05-06 03:48:00 + + + 666 + 7 + + + + + + + + + + 192 + dd + 8 + 413 + 673 + AA + 8 + + 282 + 109 + 17 + 2 + 8 + + + 2 + H + B + + cleared + 2012-05-06 03:48:00 + + + 667 + 7 + + + + + + + + + + 140 + dd + 5 + 323 + 524 + AA + 9 + + 220 + 84 + 16 + 2 + 2 + + + 4 + H + B + + comboed + 2012-05-06 03:48:00 + + + 676 + 7 + + + + + + + + + + 210 + dd + 10 + 686 + 746 + C + 5 + + 287 + 172 + 150 + 52 + 48 + + + 2 + + cleared + 2012-02-05 05:32:21 + + + 677 + 7 + + + + + + + + + + 145 + dd + 10 + 833 + 916 + C + 3 + + 352 + 212 + 200 + 47 + 42 + + + 4 + + played + 2011-04-02 04:35:13 + + + 668 + 7 + + + + + + + + + + 152 + dd + 6 + 486 + 757 + AA + 8 + + 306 + 145 + 32 + 0 + 5 + + + 3 + H + B + + cleared + 2012-05-06 03:48:00 + + + 669 + 7 + + + + + + + + + + 160 + dd + 7 + 395 + 694 + AA + 9 + + 305 + 84 + 6 + 0 + 1 + + + 3 + H + B + + combo + 2012-02-05 05:32:22 + + + 658 + 7 + + + + + + + + + + 162 + dd + 9 + 926 + 1416 + A + 7 + + 595 + 226 + 82 + 8 + 25 + + + 3 + H + B + + cleared + + + + 2012-05-06 03:48:00 + + + 657 + 7 + + + + + + + + + + 200 + dd,emp + 10 + 899 + 1162 + B + 6 + + 458 + 246 + 134 + 25 + 50 + + + 2 + + cleared + 2012-02-05 05:45:51 + + + 659 + 7 + + + + + + + + + + 155 + dd + 10 + 1188 + 1637 + A + 7 + + 636 + 365 + 137 + 28 + 49 + + + 3 + B + + cleared + + + + 2011-09-05 05:58:55 + + + 663 + 7 + + + + + + + + + + 170 + dd + 8 + 829 + 1253 + A + 7 + + 503 + 247 + 72 + 4 + 8 + + + 2 + H + B + + cleared + 2012-05-06 03:48:00 + + + 661 + 7 + + + + + + + + + + 175 + dd + 7 + 763 + 1196 + AA + 8 + + 501 + 194 + 60 + 4 + 9 + + + 2 + H + B + + cleared + 2012-05-06 03:48:00 + + + 664 + 7 + + + + + + + + + + 150 + dd + 7 + 700 + 1029 + A + 7 + + 414 + 201 + 76 + 1 + 10 + + + 0 + H + + cleared + 2009-03-22 11:18:42 + + + 662 + 7 + + + + + + + + + + 152 + dd + 7 + 748 + 1266 + AA + 9 + + 548 + 170 + 30 + 0 + 2 + + + 4 + H + B + + combo + 2012-02-05 05:32:22 + + + 672 + 7 + + + + + + + + + + 190 + dd + 9 + 786 + 1264 + AA + 8 + + 534 + 196 + 48 + 4 + 22 + + + 2 + H + + cleared + 2012-05-06 03:48:00 + + + 673 + 7 + + + + + + + + + + 152 + dd + 10 + 1216 + 1599 + B + 6 + + 612 + 375 + 203 + 14 + 22 + + + 4 + H + + cleared + 2012-02-05 05:32:22 + + + 671 + 7 + + + + + + + + + + 170 + dd + 8 + 686 + 991 + A + 7 + + 391 + 209 + 71 + 3 + 20 + + + 0 + H + + cleared + 2009-03-22 11:18:43 + + + 623 + A + + + + + + + + + + 170 + dd,pb + 10 + 1049 + 1620 + A + 7 + + 676 + 268 + 82 + 8 + 31 + + + 2 + H + + cleared + 2011-09-05 05:58:55 + + + 653 + A + + + + + + + + + + 180 + dd + 10 + 975 + 1124 + B + 6 + + 413 + 298 + 217 + 14 + 53 + + + 0 + + cleared + + + + 2009-03-21 17:51:54 + + + 605 + A + + + + + + + + + + 132 + dd + 8 + 764 + 952 + B + 6 + + 377 + 198 + 167 + 9 + 26 + + + 4 + H + + cleared + 2011-04-02 04:35:13 + + + 625 + A + + + + + + + + + + 170 + dd + 10 + 1094 + 1358 + B + 6 + + 501 + 356 + 218 + 10 + 29 + + + 2 + H + + cleared + 2011-04-02 04:35:13 + + + 607 + A + + + + + + + + + + 129 + dd + 9 + 888 + 1347 + A + 7 + + 550 + 247 + 88 + 0 + 5 + + + 4 + H + + cleared + 2012-02-05 05:32:21 + + + 610 + A + + + + + + + + + + 160 + dd + 8 + 738 + 921 + B + 6 + + 339 + 243 + 139 + 5 + 24 + + + 0 + H + + cleared + 2009-03-22 11:18:43 + + + 613 + A + + + + + + + + + + 150 + dd + 8 + 854 + 1334 + AA + 8 + + 561 + 212 + 78 + 1 + 4 + + + 3 + H + + cleared + 2011-04-02 04:35:14 + + + 629 + A + + + + + + + + + + 135 + dd,emp + 9 + 1008 + 1536 + A + 7 + + 642 + 252 + 106 + 3 + 9 + + + 4 + H + + cleared + 2012-02-05 05:45:51 + + + 632 + A + + + + + + + + + + 149 + dd + 10 + 1191 + 1612 + A + 7 + + 660 + 292 + 192 + 24 + 49 + + + 4 + + cleared + + + + 2012-02-05 05:32:22 + + + 617 + A + + + + + + + + + + 145 + dd + 8 + 905 + 1207 + A + 7 + + 472 + 263 + 155 + 7 + 17 + + + 4 + H + B + + cleared + 2011-04-02 04:35:15 + + + 619 + A + + + + + + + + + + 150 + dd + 9 + 951 + 1370 + A + 7 + + 545 + 280 + 110 + 4 + 23 + + + 3 + H + + cleared + 2011-04-02 04:35:15 + + + 604 + A + + + + + + + + + + 135 + dd + 8 + 748 + 1093 + A + 7 + + 426 + 241 + 76 + 3 + 4 + + + 4 + H + + cleared + 2012-02-05 05:32:22 + + + 620 + A + + + + + + + + + + 172 + dd + 8 + 835 + 1195 + A + 7 + + 468 + 259 + 93 + 7 + 18 + + + 2 + H + + cleared + 2011-04-02 04:35:15 + + + 622 + A + + + + + + + + + + 115 + dd + 7 + 758 + 1143 + A + 7 + + 470 + 203 + 76 + 1 + 13 + + + 0 + H + + cleared + 2009-03-22 11:18:44 + + + 678 + A + + + + + + + + + + 171 + dd + 10 + 1363 + 1712 + B + 6 + + 637 + 438 + 234 + 28 + 69 + + + 2 + + cleared + 2011-04-02 04:35:15 + + + 229 + A + + + + + + + + + + 142 + 7th,dd + 7 + 606 + 979 + AA + 8 + + 387 + 205 + 7 + 1 + 15 + + + 3 + H + + cleared + 2011-04-02 01:19:30 + + + 193 + A + + + + + + + + + + 114 + 3rd,dd + 5 + 445 + 739 + AA + 8 + + 297 + 145 + 1 + 0 + 2 + + + 5 + H + B + + cleared + 2011-04-02 04:35:14 + + + 214 + A + + + + + + + + + + 125 + 3rd,8th,dd + 8 + 848 + 1137 + A + 7 + + 230 + 23 + + + 4 + H + + cleared + 2011-09-05 05:45:14 + + + 173 + A + + + + + + + + + + 154 + 3rd,us,dd + 6 + 573 + 798 + A + 7 + + 280 + 238 + 41 + 8 + 16 + + + 0 + H + B + + cleared + 2009-03-22 11:18:45 + + + 665 + A + + + + + + + + + + 168 + dd + 9 + 556 + 792 + A + 7 + + 317 + 158 + 58 + 13 + 20 + + + 3 + H + B + + cleared + 2011-04-02 04:35:15 + + + 667 + A + + + + + + + + + + 140 + dd + 6 + 397 + 513 + B + 6 + + 191 + 131 + 65 + 7 + 6 + + + 4 + H + B + + cleared + 2011-04-02 04:35:13 + + + 668 + A + + + + + + + + + + 152 + dd + 8 + 532 + 798 + A + 7 + + 317 + 164 + 44 + 1 + 10 + + + 4 + H + B + + cleared + 2012-02-05 05:32:21 + + + 669 + A + + + + + + + + + + 160 + dd + 8 + 483 + 816 + AA + 9 + + 352 + 112 + 19 + 0 + 0 + + + 3 + H + B + + combo + 2012-02-05 05:32:22 + + + 661 + A + + + + + + + + + + 175 + dd + 9 + 1017 + 1341 + B + 6 + + 530 + 281 + 180 + 12 + 25 + + + 2 + H + B + + cleared + 2012-02-05 05:32:21 + + + 672 + A + + + + + + + + + + 190 + dd + 10 + 1044 + 1633 + AA + 8 + + 685 + 263 + 80 + 4 + 23 + + + 2 + H + + cleared + + + + 2012-02-05 05:32:21 + + + 665 + L14 + + + + + + + + + + 168 + dd + 3 + 186 + 169 + C + 3 + + 64 + 41 + 40 + 5 + 40 + + + 0 + + played + 2009-03-22 11:18:46 + + + 667 + L14 + + + + + + + + + + 140 + dd + 4 + 324 + 243 + D + 2 + + 77 + 89 + 98 + 11 + 54 + + + 0 + + played + 2009-03-22 11:18:46 + + + 664 + L14 + + + + + + + + + + 150 + dd + 3 + 351 + 319 + C + 3 + + 111 + 97 + 84 + 16 + 48 + + + 0 + + played + 2009-03-22 11:18:46 + + + 539 + L7 + + + + + + + + + + 140 + hs + 4 + 409 + 612 + A + 7 + + 231 + 150 + 26 + 2 + 2 + + + 0 + H + B + + cleared + 2009-03-21 20:17:50 + + + 542 + L7 + + + + + + + + + + 117 + hs + 4 + 409 + 689 + AA + 9 + + 299 + 91 + 19 + 0 + 0 + + + 3 + H + + combo + 2012-02-05 05:28:39 + + + 543 + L7 + + + + + + + + + + 115 + hs + 5 + 405 + 538 + B + 6 + + 208 + 122 + 66 + 3 + 10 + + + 0 + H + + cleared + 2009-03-21 20:17:51 + + + 545 + L7 + + + + + + + + + + 166 + hs + 6 + 527 + 760 + A + 7 + + 308 + 144 + 69 + 4 + 8 + + + 0 + H + + cleared + 2009-03-21 20:17:51 + + + 548 + L7 + + + + + + + + + + 150 + hs + 5 + 421 + 645 + A + 8 + + 252 + 141 + 28 + 0 + 0 + + + 0 + H + B + + combo + 2009-03-21 20:17:51 + + + 551 + L7 + + + + + + + + + + 155 + hs,emp + 5 + 455 + 697 + A + 7 + + 284 + 129 + 36 + 3 + 7 + + + 0 + H + + cleared + 2009-03-21 20:17:51 + + + 552 + L7 + + + + + + + + + + 145 + hs + 5 + 599 + 935 + AA + 8 + + 370 + 195 + 33 + 1 + 4 + + + 0 + H + B + + cleared + 2009-03-21 20:17:51 + + + 553 + L7 + + + + + + + + + + 170 + hs + 6 + 507 + 837 + AA + 8 + + 354 + 129 + 23 + 0 + 1 + + + 4 + H + B + + cleared + + + + 2009-07-20 04:25:29 + + + 557 + L7 + + + + + + + + + + 138 + hs + 5 + 432 + 608 + A + 7 + + 238 + 132 + 59 + 1 + 5 + + + 0 + H + + cleared + 2009-03-21 20:17:52 + + + 448 + L7 + + + + + + + + + + 152 + 10th,hs + 5 + 654 + 897 + A + 7 + + 342 + 213 + 83 + 6 + 15 + + + 0 + H + + cleared + 2009-03-21 20:17:52 + + + 559 + L7 + + + + + + + + + + 133 + hs + 5 + 501 + 749 + A + 7 + + 303 + 143 + 47 + 1 + 10 + + + 0 + H + B + + cleared + 2009-03-21 20:17:52 + + + 561 + L7 + + + + + + + + + + 170 + hs + 5 + 515 + 739 + A + 7 + + 282 + 175 + 44 + 6 + 11 + + + 0 + H + B + + cleared + 2009-03-21 20:17:52 + + + 563 + L7 + + + + + + + + + + 147 + hs + 4 + 395 + 501 + B + 6 + + 200 + 101 + 88 + 4 + 5 + + + 3 + H + B + + cleared + 2009-07-20 04:25:29 + + + 566 + L7 + + + + + + + + + + 180 + hs + 4 + 390 + 514 + B + 6 + + 195 + 124 + 56 + 1 + 15 + + + 0 + H + B + + cleared + 2009-03-21 20:17:53 + + + 568 + L7 + + + + + + + + + + 148 + hs + 4 + 479 + 796 + AA + 9 + + 333 + 130 + 16 + 0 + 0 + + + 0 + H + + combo + 2009-03-21 20:17:53 + + + 569 + L7 + + + + + + + + + + 145 + hs + 4 + 405 + 545 + A + 7 + + 204 + 137 + 58 + 1 + 16 + + + 0 + H + B + + cleared + 2009-03-21 20:17:53 + + + 570 + L7 + + + + + + + + + + 160 + hs,emp + 5 + 492 + 806 + AA + 8 + + 332 + 142 + 16 + 1 + 3 + + + 3 + H + B + + cleared + 2009-07-20 04:25:29 + + + 572 + L7 + + + + + + + + + + 198 + hs + 4 + 369 + 356 + C + 5 + + 127 + 102 + 129 + 8 + 4 + + + 0 + H + B + + cleared + 2009-03-21 20:17:53 + + + 573 + L7 + + + + + + + + + + 220 + hs,pb + 7 + 609 + 873 + A + 7 + + 354 + 165 + 77 + 3 + 13 + + + 0 + H + B + + cleared + 2009-03-21 20:17:53 + + + 577 + L7 + + + + + + + + + + 140 + hs + 5 + 418 + 688 + AA + 8 + + 296 + 96 + 24 + 0 + 5 + + + 0 + H + B + + cleared + 2009-03-21 20:17:53 + + + 583 + L7 + + + + + + + + + + 160 + hs + 4 + 393 + 591 + A + 8 + + 236 + 119 + 38 + 0 + 0 + + + 4 + H + B + + combo + 2009-07-20 04:25:29 + + + 584 + L7 + + + + + + + + + + 160 + hs + 6 + 630 + 849 + A + 7 + + 325 + 199 + 98 + 7 + 16 + + + 0 + H + + cleared + 2009-03-21 20:17:54 + + + 586 + L7 + + + + + + + + + + 147 + hs + 4 + 413 + 609 + A + 8 + + 240 + 129 + 42 + 0 + 6 + + + 4 + H + + comboed + 2009-07-20 04:25:29 + + + 181 + L7 + + + + + + + + + + 124 + 3rd,hs,pb + 4 + 390 + 632 + AA + 8 + + 252 + 128 + 8 + 1 + 1 + + + 4 + H + B + + cleared + 2009-07-20 04:25:28 + + + 292 + L7 + + + + + + + + + + 135 + 8th,hs,pb + 5 + 505 + 677 + A + 7 + + 195 + 14 + + + 4 + H + + cleared + 2011-04-02 01:30:33 + + + 600 + L7 + + + + + + + + + + 140 + hs,pb + 6 + 622 + 926 + A + 7 + + 382 + 162 + 65 + 11 + 21 + + + 4 + H + + cleared + 2011-04-02 05:48:23 + + + 574 + L7 + + + + + + + + + + 151 + hs,pb + 6 + 674 + 825 + B + 6 + + 301 + 223 + 129 + 11 + 19 + + + 0 + H + + cleared + 2009-03-21 20:17:55 + + + 575 + L7 + + + + + + + + + + 151 + hs,pb + 7 + 875 + 1131 + B + 6 + + 442 + 247 + 164 + 10 + 21 + + + 0 + H + + cleared + 2009-03-21 20:17:55 + + + 576 + L7 + + + + + + + + + + 151 + hs,pb + 7 + 865 + 1020 + B + 6 + + 390 + 240 + 206 + 9 + 34 + + + 0 + H + + cleared + 2009-03-21 20:17:56 + + + 596 + L7 + + + + + + + + + + 111 + hs + 4 + 476 + 693 + A + 7 + + 238 + 217 + 18 + 0 + 6 + + + 0 + H + + cleared + 2009-03-21 20:17:56 + + + 589 + L7 + + + + + + + + + + 170 + hs + 5 + 596 + 774 + B + 6 + + 294 + 186 + 91 + 17 + 21 + + + 0 + H + B + + cleared + 2009-03-21 20:17:56 + + + 537 + 7 + + + + + + + + + + 252 + hs + 10 + 871 + 1191 + A + 7 + + 461 + 269 + 114 + 13 + 20 + + + 1 + H + B + + cleared + 2011-04-02 03:35:39 + + + 540 + 7 + + + + + + + + + + 181 + hs,pb + 10 + 1100 + 1514 + A + 7 + + 584 + 346 + 145 + 6 + 30 + + + 3 + H + + cleared + 2011-04-02 05:48:23 + + + 541 + 7 + + + + + + + + + + 160 + hs,emp + 9 + 946 + 1381 + A + 7 + + 549 + 283 + 107 + 5 + 16 + + + 0 + H + B + + cleared + 2011-04-27 00:24:30 + + + 544 + 7 + + + + + + + + + + 160 + hs + 7 + 647 + 723 + B + 6 + + 263 + 197 + 167 + 14 + 24 + + + 0 + H + + cleared + 2009-03-21 20:17:57 + + + 548 + 7 + + + + + + + + + + 150 + hs + 7 + 808 + 1115 + A + 7 + + 418 + 279 + 91 + 8 + 24 + + + 3 + H + B + + cleared + 2009-07-20 04:25:28 + + + 549 + 7 + + + + + + + + + + 133 + hs + 7 + 840 + 1148 + A + 7 + + 452 + 244 + 129 + 4 + 16 + + + 0 + H + B + + cleared + 2009-03-21 20:17:57 + + + 554 + 7 + + + + + + + + + + 180 + hs + 7 + 782 + 1195 + A + 7 + + 481 + 233 + 57 + 4 + 19 + + + 3 + H + B + + cleared + 2009-07-20 04:25:29 + + + 555 + 7 + + + + + + + + + + 185 + hs + 9 + 947 + 1531 + AA + 8 + + 657 + 217 + 63 + 4 + 17 + + + 2 + H + B + + cleared + 2011-05-12 08:43:06 + + + 557 + 7 + + + + + + + + + + 138 + hs + 6 + 545 + 863 + AA + 8 + + 362 + 139 + 42 + 0 + 3 + + + 4 + H + B + + cleared + 2009-07-20 04:25:29 + + + 558 + 7 + + + + + + + + + + 148 + hs + 9 + 930 + 1269 + A + 7 + + 510 + 249 + 155 + 6 + 21 + + + 3 + H + B + + cleared + 2011-04-27 00:24:30 + + + 559 + 7 + + + + + + + + + + 133 + hs + 8 + 742 + 1089 + A + 7 + + 447 + 195 + 88 + 7 + 17 + + + 0 + H + B + + cleared + 2009-03-21 20:17:58 + + + 563 + 7 + + + + + + + + + + 147 + hs + 7 + 550 + 664 + B + 6 + + 248 + 168 + 120 + 6 + 13 + + + 3 + H + B + + cleared + 2009-07-20 04:25:29 + + + 564 + 7 + + + + + + + + + + 147 + hs + 7 + 598 + 875 + A + 7 + + 349 + 177 + 64 + 2 + 10 + + + 4 + H + B + + cleared + 2009-07-20 04:25:29 + + + 567 + 7 + + + + + + + + + + 146 + hs + 5 + 486 + 794 + AA + 9 + + 326 + 142 + 18 + 0 + 0 + + + 4 + H + B + + combo + 2009-07-20 04:25:29 + + + 568 + 7 + + + + + + + + + + 148 + hs + 8 + 848 + 1259 + A + 7 + + 521 + 217 + 89 + 10 + 20 + + + 0 + H + B + + cleared + 2009-03-21 20:17:59 + + + 569 + 7 + + + + + + + + + + 145 + hs + 6 + 590 + 924 + AA + 8 + + 384 + 156 + 48 + 0 + 6 + + + 4 + H + B + + cleared + 2009-07-20 04:25:29 + + + 571 + 7 + + + + + + + + + + 152 + hs,emp + 10 + 1060 + 1433 + A + 7 + + 561 + 311 + 155 + 9 + 41 + + + 4 + H + + cleared + 2012-02-05 05:45:51 + + + 572 + 7 + + + + + + + + + + 198 + hs + 6 + 498 + 607 + B + 6 + + 220 + 167 + 101 + 4 + 14 + + + 3 + H + B + + cleared + 2009-07-20 04:25:29 + + + 573 + 7 + + + + + + + + + + 220 + hs,pb + 10 + 869 + 1139 + B + 6 + + 441 + 257 + 146 + 11 + 23 + + + 2 + + cleared + 2011-04-27 00:24:30 + + + 577 + 7 + + + + + + + + + + 140 + hs + 6 + 582 + 890 + A + 7 + + 370 + 150 + 54 + 1 + 14 + + + 0 + H + B + + cleared + 2009-03-21 20:17:59 + + + 579 + 7 + + + + + + + + + + 126 + hs + 7 + 681 + 999 + A + 7 + + 412 + 175 + 73 + 4 + 21 + + + 0 + H + + cleared + 2009-03-21 20:17:59 + + + 582 + 7 + + + + + + + + + + 265 + hs + 9 + 1000 + 1339 + A + 7 + + 524 + 291 + 164 + 7 + 33 + + + 1 + H + B + + cleared + 2011-04-02 03:35:39 + + + 447 + 7 + + + + + + + + + + 170 + 10th,hs + 7 + 710 + 1123 + AA + 8 + + 470 + 183 + 46 + 5 + 11 + + + 3 + H + B + + cleared + 2009-07-20 04:25:29 + + + 585 + 7 + + + + + + + + + + 160 + hs + 8 + 728 + 1114 + A + 7 + + 459 + 196 + 69 + 1 + 6 + + + 3 + H + B + + cleared + 2011-04-27 00:24:30 + + + 586 + 7 + + + + + + + + + + 147 + hs + 9 + 857 + 977 + B + 6 + + 367 + 243 + 213 + 13 + 33 + + + 4 + H + + cleared + 2012-02-05 05:28:39 + + + 588 + 7 + + + + + + + + + + 170 + hs,pb + 10 + 1135 + 1359 + B + 6 + + 518 + 323 + 255 + 21 + 37 + + + 2 + + cleared + 2011-04-27 00:24:30 + + + 449 + 7 + + + + + + + + + + 101 + 10th,hs,pb + 6 + 511 + 803 + AA + 8 + + 237 + 9 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 181 + 7 + + + + + + + + + + 124 + 3rd,hs,pb + 5 + 483 + 638 + B + 6 + + 228 + 182 + 63 + 2 + 22 + + + 4 + H + + cleared + 2009-07-20 04:25:28 + + + 54 + 7 + + + + + + + + + + 134 + 3rd,6th,7th,hs + 6 + 610 + 997 + AA + 8 + + 408 + 181 + 17 + 1 + 4 + + + 4 + H + + cleared + 2011-09-05 05:42:12 + + + 132 + 7 + + + + + + + + + + 148 + 4th,hs,pb + 5 + 479 + 766 + AA + 8 + + 316 + 134 + 28 + 0 + 3 + + + 3 + T + H + + cleared + + + + 2012-05-26 00:29:50 + + + 145 + 7 + + + + + + + + + + 160 + 4th,hs + 6 + 620 + 942 + A + 7 + + 392 + 158 + 60 + 5 + 12 + + + 3 + H + B + + cleared + 2009-07-20 04:25:29 + + + 55 + 7 + + + + + + + + + + 182 + 4th,6th,7th,8th,hs,pb + 8 + 719 + 1002 + A + 7 + + 402 + 198 + 96 + 7 + 20 + + + 3 + H + + cleared + 2011-09-05 05:42:12 + + + 130 + 7 + + + + + + + + + + 120 + 4th,hs + 5 + 335 + 497 + A + 7 + + 199 + 99 + 31 + 1 + 7 + + + 4 + H + + cleared + 2012-02-05 05:28:39 + + + 74 + 7 + + + + + + + + + + 128 + 5th,7th,hs + 5 + 573 + 914 + AA + 8 + + 380 + 154 + 35 + 2 + 5 + + + 4 + H + + cleared + 2011-09-05 05:42:12 + + + 61 + 7 + + + + + + + + + + 150 + 5th,6th,7th,8th,9th,10th,us,hs,pb + 10 + 1272 + 1805 + A + 7 + + 735 + 335 + 164 + 17 + 52 + + + 3 + H + B + + cleared + + + + + + + 2012-02-05 05:28:39 + + + 1 + 7 + + + + + + + + + + 138 + 6th,7th,hs,pb + 7 + 770 + 1091 + A + 7 + + 428 + 235 + 97 + 3 + 17 + + + 4 + H + + cleared + 2011-09-05 05:42:10 + + + 9 + 7 + + + + + + + + + + 145 + 6th,hs + 8 + 811 + 1107 + A + 7 + + 445 + 217 + 125 + 12 + 23 + + + 4 + H + B + + cleared + 2011-04-27 00:24:30 + + + 263 + 7 + + + + + + + + + + 144 + 7th,hs,pb + 9 + 1000 + 1274 + B + 6 + + 495 + 284 + 191 + 14 + 32 + + + 4 + H + + cleared + 2012-02-05 05:28:39 + + + 266 + 7 + + + + + + + + + + 148 + 8th,hs + 4 + 402 + 609 + A + 7 + + 242 + 125 + 32 + 2 + 3 + + + 4 + H + B + + cleared + 2009-07-20 04:25:28 + + + 292 + 7 + + + + + + + + + + 135 + 8th,hs,pb + 7 + 715 + 1015 + A + 7 + + 397 + 221 + 88 + 7 + 14 + + + 4 + H + + cleared + 2012-02-05 05:45:51 + + + 424 + 7 + + + + + + + + + + 200 + 10th,hs,emp + 9 + 832 + 1341 + AA + 8 + + 583 + 175 + 55 + 6 + 23 + + + 2 + H + + cleared + 2012-02-05 05:45:51 + + + 576 + 7 + + + + + + + + + + 151 + hs,pb + 10 + 1155 + 1442 + B + 6 + + 553 + 336 + 224 + 22 + 36 + + + 0 + + cleared + 2011-04-27 00:24:30 + + + 597 + 7 + + + + + + + + + + 136 + hs,emp + 8 + 683 + 1002 + A + 7 + + 396 + 210 + 65 + 9 + 10 + + + 4 + H + B + + cleared + 2009-07-20 04:25:29 + + + 595 + 7 + + + + + + + + + + 110 + hs + 6 + 740 + 1070 + A + 7 + + 421 + 228 + 79 + 6 + 15 + + + 5 + H + B + + cleared + 2009-07-20 04:25:29 + + + 589 + 7 + + + + + + + + + + 170 + hs + 10 + 1091 + 967 + D + 4 + + 320 + 327 + 369 + 36 + 60 + + + 3 + + cleared + 2011-04-02 03:35:39 + + + 592 + 7 + + + + + + + + + + 120 + hs + 5 + 550 + 777 + A + 7 + + 299 + 179 + 67 + 2 + 6 + + + 4 + H + B + + cleared + 2009-07-20 04:25:29 + + + 598 + 7 + + + + + + + + + + 180 + hs + 10 + 1079 + 1634 + A + 7 + + 648 + 338 + 76 + 3 + 24 + + + 2 + H + + cleared + 2011-04-27 00:24:30 + + + 550 + A + + + + + + + + + + 220 + hs,emp + 10 + 1100 + 1569 + A + 7 + + 628 + 313 + 136 + 7 + 55 + + + 2 + + cleared + 2011-09-05 06:18:29 + + + 554 + A + + + + + + + + + + 180 + hs + 10 + 1052 + 1510 + A + 7 + + 604 + 302 + 125 + 8 + 25 + + + 2 + H + B + + cleared + 2012-02-05 05:28:39 + + + 557 + A + + + + + + + + + + 138 + hs + 7 + 661 + 850 + B + 6 + + 318 + 214 + 108 + 6 + 23 + + + 4 + H + B + + cleared + 2009-07-20 04:25:29 + + + 564 + A + + + + + + + + + + 147 + hs + 9 + 957 + 1328 + A + 7 + + 536 + 256 + 144 + 7 + 24 + + + 4 + H + B + + cleared + 2011-04-02 03:35:39 + + + 565 + A + + + + + + + + + + 123 + hs + 9 + 873 + 1299 + A + 7 + + 519 + 261 + 79 + 7 + 14 + + + 4 + H + B + + cleared + 2011-04-27 00:24:30 + + + 566 + A + + + + + + + + + + 180 + hs + 9 + 929 + 1358 + A + 7 + + 541 + 276 + 95 + 6 + 19 + + + 3 + H + + cleared + 2011-04-02 03:35:39 + + + 580 + A + + + + + + + + + + 138 + hs + 10 + 862 + 1081 + B + 6 + + 425 + 231 + 155 + 29 + 55 + + + 4 + + cleared + 2009-07-20 04:25:29 + + + 584 + A + + + + + + + + + + 160 + hs + 10 + 1033 + 1265 + B + 6 + + 485 + 295 + 191 + 24 + 65 + + + 3 + B + + cleared + 2011-04-02 03:35:39 + + + 447 + A + + + + + + + + + + 170 + 10th,hs + 9 + 875 + 1174 + A + 7 + + 434 + 306 + 119 + 5 + 18 + + + 2 + H + B + + cleared + 2012-02-05 05:28:39 + + + 587 + A + + + + + + + + + + 129 + hs + 9 + 837 + 1254 + A + 7 + + 497 + 260 + 76 + 0 + 8 + + + 4 + H + B + + cleared + 2011-04-27 00:24:30 + + + 181 + A + + + + + + + + + + 124 + 3rd,hs,pb + 6 + 537 + 810 + A + 7 + + 308 + 194 + 28 + 1 + 15 + + + 4 + H + + cleared + + + + 2012-02-05 05:45:51 + + + 55 + A + + + + + + + + + + 182 + 4th,6th,7th,8th,hs,pb + 9 + 800 + 1234 + A + 7 + + 504 + 226 + 60 + 1 + 14 + + + 2 + T + H + + cleared + + + + 2012-05-26 04:49:31 + + + 28 + A + + + + + + + + + + 141 + 6th,hs + 8 + 972 + 1391 + A + 7 + + 501 + 389 + 64 + 2 + 27 + + + 4 + H + B + + cleared + 2011-04-27 00:24:30 + + + 266 + A + + + + + + + + + + 148 + 8th,hs + 7 + 721 + 1045 + A + 7 + + 443 + 159 + 85 + 13 + 42 + + + 4 + H + + cleared + 2009-07-20 04:25:28 + + + 596 + A + + + + + + + + + + 111 + hs + 8 + 855 + 1182 + A + 7 + + 412 + 358 + 64 + 9 + 32 + + + 0 + H + B + + cleared + 2009-03-21 20:18:06 + + + 594 + A + + + + + + + + + + 182 + hs + 9 + 1118 + 1584 + A + 7 + + 647 + 290 + 135 + 24 + 47 + + + 2 + H + + cleared + 2011-04-02 03:35:39 + + + 591 + A + + + + + + + + + + 95 + hs + 8 + 766 + 1329 + AA + 8 + + 593 + 143 + 24 + 3 + 7 + + + 0 + H + B + + cleared + 2011-04-27 00:24:30 + + + 593 + A + + + + + + + + + + 149 + hs + 9 + 933 + 1271 + A + 7 + + 501 + 269 + 136 + 22 + 18 + + + 4 + H + B + + cleared + 2012-02-05 05:28:39 + + + 592 + A + + + + + + + + + + 120 + hs + 7 + 902 + 1131 + B + 6 + + 433 + 265 + 164 + 13 + 37 + + + 0 + H + + cleared + 2009-03-21 20:18:07 + + + 587 + L14 + + + + + + + + + + 129 + hs + 3 + 336 + 312 + C + 3 + + 106 + 100 + 79 + 12 + 43 + + + 0 + + played + 2009-03-21 20:18:07 + + + 449 + L14 + + + + + + + + + + 101 + 10th,hs,pb + 1 + 99 + 96 + C + 5 + + 36 + 24 + 36 + 0 + 3 + + + 0 + + cleared + 2009-03-21 20:18:07 + + + 266 + L14 + + + + + + + + + + 148 + 8th,hs + 3 + 293 + 199 + D + 2 + + 67 + 65 + 85 + 35 + 54 + + + 0 + + played + 2009-03-21 20:18:07 + + + 594 + L14 + + + + + + + + + + 182 + hs + 3 + 598 + 231 + F + 0 + + 76 + 79 + 109 + 24 + 324 + + + 0 + + played + 2009-03-21 20:18:07 + + + 591 + L14 + + + + + + + + + + 95 + hs + 2 + 251 + 201 + D + 2 + + 70 + 61 + 89 + 12 + 20 + + + 0 + + played + 2009-03-21 20:18:07 + + + 258 + 7 + + + + + + + + + + 93 + 7th,8th,red,pb + 10 + 1111 + 1540 + A + 7 + + 621 + 298 + 167 + 9 + 30 + + + 3 + H + B + + cleared + 2012-02-05 05:23:46 + + + 480 + 7 + + + + + + + + + + 150 + red,pb + 8 + 973 + 1266 + B + 6 + + 492 + 282 + 171 + 17 + 22 + + + 4 + H + B + + cleared + 2009-07-20 04:09:10 + + + 283 + A + + + + + + + + + + 145 + 8th,red + 8 + 803 + 1049 + B + 6 + + 414 + 221 + 127 + 17 + 43 + + + 4 + H + + cleared + 2009-07-20 04:09:10 + + + 481 + 7 + + + + + + + + + + 143 + red + 7 + 750 + 903 + B + 6 + + 340 + 223 + 170 + 12 + 27 + + + 4 + H + B + + cleared + 2009-07-20 04:09:10 + + + 483 + 7 + + + + + + + + + + 150 + red + 9 + 894 + 1246 + A + 7 + + 498 + 250 + 127 + 8 + 21 + + + 4 + H + + cleared + 2011-04-02 02:39:54 + + + 486 + 7 + + + + + + + + + + 160 + red + 7 + 663 + 939 + A + 7 + + 392 + 155 + 96 + 10 + 17 + + + 4 + H + B + + cleared + 2009-07-20 04:09:10 + + + 486 + A + + + + + + + + + + 160 + red + 10 + 875 + 1164 + B + 6 + + 477 + 210 + 149 + 24 + 31 + + + 4 + + cleared + 2012-02-05 05:23:46 + + + 488 + 7 + + + + + + + + + + 137 + red + 6 + 737 + 1076 + A + 7 + + 433 + 210 + 72 + 5 + 32 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 489 + 7 + + + + + + + + + + 132 + red + 8 + 755 + 1056 + A + 7 + + 398 + 260 + 80 + 17 + 10 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 490 + A + + + + + + + + + + 116 + red,emp + 10 + 826 + 1154 + A + 7 + + 457 + 240 + 101 + 15 + 32 + + + 5 + + cleared + 2012-02-05 05:45:51 + + + 490 + L14 + + + + + + + + + + 116 + red,emp + 3 + 298 + 262 + D + 4 + + 92 + 78 + 97 + 12 + 23 + + + 3 + + cleared + + + + 2009-07-20 04:09:11 + + + 43 + 7 + + + + + + + + + + 148 + 4th,5th,6th,7th,red,pb + 9 + 968 + 1278 + B + 6 + + 433 + 412 + 97 + 3 + 30 + + + 3 + H + B + + cleared + 2011-04-02 02:39:54 + + + 491 + L14 + + + + + + + + + + 94 + red + 2 + 230 + 234 + C + 5 + + 89 + 56 + 65 + 6 + 15 + + + 3 + + cleared + 2009-07-20 04:09:11 + + + 491 + 14 + + + + + + + + + + 94 + red + 6 + 507 + 526 + C + 5 + + 186 + 154 + 146 + 6 + 30 + + + 3 + + cleared + 2009-07-20 04:09:11 + + + 83 + 7 + + + + + + + + + + 114 + 5th,red + 6 + 559 + 738 + B + 6 + + 279 + 180 + 97 + 3 + 5 + + + 3 + H + B + + cleared + 2011-04-02 02:39:54 + + + 492 + 7 + + + + + + + + + + 135 + red + 7 + 817 + 1174 + A + 7 + + 475 + 224 + 98 + 11 + 16 + + + 4 + H + B + + cleared + 2009-07-20 04:09:11 + + + 492 + A + + + + + + + + + + 135 + red + 9 + 1000 + 1487 + A + 7 + + 618 + 251 + 115 + 8 + 14 + + + 4 + H + B + + cleared + 2012-02-05 05:23:47 + + + 494 + A + + + + + + + + + + 133 + red + 7 + 712 + 954 + A + 7 + + 371 + 212 + 101 + 18 + 24 + + + 4 + H + B + + cleared + 2009-07-20 04:09:11 + + + 494 + L14 + + + + + + + + + + 133 + red + 4 + 344 + 437 + B + 4 + + 175 + 87 + 48 + 10 + 29 + + + 2 + + played + 2009-07-20 04:09:11 + + + 530 + L14 + + + + + + + + + + 102 + red,pb + 1 + 137 + 115 + D + 4 + + 36 + 43 + 42 + 4 + 13 + + + 3 + + cleared + 2009-07-20 04:09:11 + + + 335 + 7 + + + + + + + + + + 160 + 9th,red + 8 + 646 + 935 + A + 7 + + 212 + 30 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 497 + A + + + + + + + + + + 160 + red + 7 + 848 + 1263 + A + 7 + + 521 + 221 + 89 + 4 + 20 + + + 3 + H + B + + cleared + 2011-04-02 02:39:54 + + + 499 + A + + + + + + + + + + 160 + red + 9 + 769 + 1188 + A + 7 + + 480 + 228 + 56 + 2 + 7 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 501 + 7 + + + + + + + + + + 212 + red + 8 + 950 + 1492 + AA + 8 + + 624 + 244 + 71 + 4 + 15 + + + 3 + H + B + + cleared + 2011-04-02 02:39:54 + + + 501 + L14 + + + + + + + + + + 212 + red + 5 + 573 + 646 + B + 4 + + 234 + 178 + 102 + 15 + 52 + + + 1 + + played + 2009-07-20 04:09:11 + + + 503 + 7 + + + + + + + + + + 135 + red + 7 + 822 + 1241 + A + 7 + + 507 + 227 + 70 + 7 + 16 + + + 4 + H + B + + cleared + 2009-07-20 04:09:11 + + + 502 + 7 + + + + + + + + + + 155 + red + 6 + 671 + 864 + B + 6 + + 347 + 170 + 126 + 11 + 20 + + + 3 + H + B + + cleared + 2009-07-20 04:09:11 + + + 302 + 7 + + + + + + + + + + 180 + 8th,red,pb + 9 + 1029 + 1368 + B + 6 + + 535 + 298 + 163 + 12 + 30 + + + 3 + H + + cleared + 2011-04-02 02:39:54 + + + 505 + 7 + + + + + + + + + + 130 + red + 7 + 613 + 940 + A + 7 + + 375 + 190 + 45 + 0 + 6 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 505 + A + + + + + + + + + + 130 + red + 10 + 1071 + 1483 + A + 7 + + 603 + 277 + 157 + 22 + 36 + + + 4 + + cleared + 2011-05-12 08:38:54 + + + 526 + 7 + + + + + + + + + + 110 + red,gold + 4 + 400 + 681 + AA + 8 + + 294 + 93 + 11 + 1 + 2 + + + 5 + H + B + + cleared + 2009-07-20 04:09:11 + + + 526 + 14 + + + + + + + + + + 110 + red,gold + 5 + 533 + 593 + B + 4 + + 219 + 155 + 98 + 20 + 52 + + + 3 + + played + 2009-07-20 04:09:11 + + + 278 + A + + + + + + + + + + 180 + 8th,red,emp + 8 + 903 + 1492 + AA + 8 + + 619 + 254 + 19 + 1 + 16 + + + 3 + H + + cleared + 2012-02-05 05:45:51 + + + 311 + 7 + + + + + + + + + + 180 + 8th,red + 7 + 773 + 1188 + A + 7 + + 485 + 218 + 53 + 7 + 25 + + + 3 + H + B + + cleared + 2011-04-02 02:39:54 + + + 506 + 7 + + + + + + + + + + 93 + red + 6 + 615 + 848 + A + 7 + + 318 + 212 + 71 + 5 + 13 + + + 3 + H + B + + cleared + 2009-07-20 04:09:11 + + + 506 + A + + + + + + + + + + 93 + red + 8 + 837 + 1185 + A + 7 + + 459 + 267 + 99 + 4 + 11 + + + 3 + H + + cleared + + + + + + + 2012-02-05 05:23:47 + + + 314 + 7 + + + + + + + + + + 152 + 8th,red + 9 + 1029 + 1382 + A + 7 + + 531 + 320 + 158 + 6 + 21 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 4 + 7 + + + + + + + + + + 164 + 6th,7th,us,red,pb + 9 + 839 + 1079 + B + 6 + + 420 + 239 + 154 + 10 + 29 + + + 3 + H + B + + cleared + 2011-04-02 02:39:54 + + + 507 + 7 + + + + + + + + + + 152 + red + 8 + 879 + 1235 + A + 7 + + 487 + 261 + 107 + 10 + 33 + + + 4 + H + + cleared + 2009-07-20 04:09:11 + + + 134 + L14 + + + + + + + + + + 138 + 4th,red + 5 + 402 + 582 + A + 7 + + 221 + 140 + 28 + 2 + 12 + + + 2 + + cleared + 2009-07-20 04:09:11 + + + 509 + L14 + + + + + + + + + + 84 + red + 3 + 247 + 260 + C + 5 + + 92 + 76 + 36 + 9 + 38 + + + 2 + + cleared + 2009-07-20 04:09:11 + + + 510 + A + + + + + + + + + + 151 + red + 7 + 751 + 1276 + AA + 8 + + 574 + 128 + 36 + 10 + 13 + + + 4 + H + B + + cleared + 2011-05-12 08:38:54 + + + 512 + 7 + + + + + + + + + + 188 + red,gold,emp + 11 + 1111 + 1525 + A + 7 + + 549 + 427 + 95 + 10 + 69 + + + 3 + + cleared + + + + + + + 2011-09-05 06:19:44 + + + 512 + L14 + + + + + + + + + + 188 + red,gold,emp + 5 + 473 + 483 + C + 5 + + 130 + 223 + 93 + 2 + 35 + + + 2 + + cleared + 2009-07-20 04:09:11 + + + 360 + 7 + + + + + + + + + + 150 + 9th,red + 9 + 875 + 1249 + A + 7 + + 331 + 31 + + + 4 + H + + cleared + 2011-09-05 05:51:41 + + + 365 + A + + + + + + + + + + 129 + 9th,10th,pb + 9 + 1049 + 1382 + B + 6 + + 134 + 32 + + + 4 + H + + cleared + 2011-09-05 05:51:41 + + + 308 + 7 + + + + + + + + + + 148 + 8th,red,pb + 9 + 859 + 1162 + A + 7 + + 461 + 240 + 140 + 6 + 17 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 513 + 7 + + + + + + + + + + 160 + red + 8 + 797 + 1215 + A + 7 + + 512 + 191 + 81 + 2 + 14 + + + 4 + H + + cleared + 2011-04-02 02:39:54 + + + 527 + 7 + + + + + + + + + + 155 + red + 8 + 887 + 1263 + A + 7 + + 504 + 255 + 105 + 3 + 26 + + + 4 + H + + cleared + 2011-04-02 02:39:54 + + + 515 + 7 + + + + + + + + + + 160 + red + 10 + 745 + 1042 + A + 7 + + 402 + 238 + 86 + 14 + 12 + + + 4 + H + B + + cleared + + + + + + + 2012-02-05 05:23:47 + + + 85 + 7 + + + + + + + + + + 130 + 5th,red + 7 + 625 + 918 + A + 7 + + 381 + 156 + 77 + 3 + 10 + + + 4 + H + B + + cleared + 2012-02-05 05:23:47 + + + 85 + 14 + + + + + + + + + + 130 + 5th,red + 6 + 625 + 532 + D + 2 + + 185 + 162 + 216 + 18 + 51 + + + 3 + + played + 2009-07-20 04:09:11 + + + 517 + L14 + + + + + + + + + + 162 + red + 5 + 496 + 594 + B + 6 + + 229 + 136 + 103 + 5 + 26 + + + 2 + + cleared + 2009-07-20 04:09:11 + + + 518 + 7 + + + + + + + + + + 155 + red + 8 + 861 + 1293 + A + 7 + + 524 + 245 + 83 + 5 + 13 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 518 + A + + + + + + + + + + 155 + red + 9 + 1028 + 1530 + A + 7 + + 624 + 282 + 95 + 15 + 23 + + + 4 + H + + cleared + 2011-04-02 02:39:54 + + + 316 + 7 + + + + + + + + + + 154 + 8th,red,djt + 9 + 1061 + 1537 + A + 7 + + 615 + 307 + 118 + 11 + 24 + + + 4 + H + + cleared + 2012-03-17 02:02:05 + + + 317 + 7 + + + + + + + + + + 155 + 8th,red + 8 + 725 + 1140 + AA + 8 + + 476 + 188 + 55 + 2 + 9 + + + 3 + H + B + + cleared + 2011-04-02 02:39:54 + + + 532 + L14 + + + + + + + + + + 84 + red + 1 + 151 + 156 + C + 5 + + 58 + 40 + 32 + 2 + 20 + + + 3 + + cleared + 2009-07-20 04:09:11 + + + 520 + 7 + + + + + + + + + + 130 + red + 5 + 494 + 677 + A + 7 + + 259 + 159 + 75 + 0 + 1 + + + 3 + H + B + + cleared + 2011-04-02 02:39:54 + + + 520 + A + + + + + + + + + + 130 + red + 6 + 594 + 835 + A + 7 + + 326 + 183 + 75 + 4 + 10 + + + 3 + H + B + + cleared + 2009-07-20 04:09:11 + + + 89 + 7 + + + + + + + + + + 178 + 5th,us,red + 6 + 644 + 1023 + AA + 8 + + 437 + 149 + 55 + 0 + 6 + + + 3 + H + B + + cleared + 2009-07-20 04:09:11 + + + 521 + 7 + + + + + + + + + + 144 + red,pb + 7 + 874 + 1246 + A + 7 + + 513 + 220 + 121 + 4 + 20 + + + 4 + H + + cleared + 2011-04-02 02:39:54 + + + 456 + A + + + + + + + + + + 143 + us,red + 7 + 705 + 1134 + AA + 8 + + 473 + 188 + 39 + 3 + 6 + + + 4 + H + B + + cleared + 2011-05-12 08:38:54 + + + 456 + L14 + + + + + + + + + + 143 + us,red + 2 + 260 + 318 + B + 6 + + 116 + 86 + 45 + 2 + 11 + + + 3 + + cleared + 2009-07-20 04:09:11 + + + 281 + A + + + + + + + + + + 148 + 8th,red + 8 + 1000 + 1511 + A + 7 + + 327 + 17 + + + 4 + H + + cleared + 2011-09-05 05:45:15 + + + 458 + L14 + + + + + + + + + + 138 + us,red + 2 + 228 + 255 + B + 6 + + 92 + 71 + 58 + 1 + 7 + + + 4 + + cleared + 2009-07-20 04:09:11 + + + 538 + A + + + + + + + + + + 168 + hs + 10 + 1051 + 1313 + B + 6 + + 471 + 371 + 176 + 11 + 35 + + + 3 + + cleared + 2012-02-05 05:28:39 + + + 539 + A + + + + + + + + + + 140 + hs + 10 + 1103 + 1541 + A + 5 + + 617 + 307 + 143 + 15 + 43 + + + 4 + B + + played + 2011-04-27 00:24:30 + + + 1 + A + + + + + + + + + + 138 + 6th,7th,hs,pb + 8 + 846 + 1213 + A + 7 + + 480 + 253 + 96 + 2 + 36 + + + 4 + H + B + + cleared + 2011-04-27 00:24:30 + + + 542 + A + + + + + + + + + + 117 + hs + 10 + 1079 + 1415 + B + 6 + + 571 + 273 + 198 + 6 + 38 + + + 3 + + cleared + 2012-02-05 05:28:39 + + + 177 + 7 + + + + + + + + + + 122 + 3rd,hs,pb + 3 + 261 + 8 + F + 3 + + 1 + 6 + 254 + 0 + 1 + + + 4 + H + B + + combo + 2009-07-20 04:25:28 + + + 177 + A + + + + + + + + + + 122 + 3rd,hs,pb + 3 + 290 + 10 + F + 3 + + 3 + 4 + 283 + 0 + 0 + + + 4 + H + B + + combo + 2009-07-20 04:25:28 + + + 549 + A + + + + + + + + + + 133 + hs + 9 + 1040 + 1280 + B + 6 + + 455 + 370 + 199 + 6 + 20 + + + 4 + H + B + + cleared + + + + 2012-02-05 05:28:39 + + + 552 + 7 + + + + + + + + + + 145 + hs + 8 + 892 + 1297 + A + 7 + + 520 + 257 + 73 + 5 + 37 + + + 4 + H + B + + cleared + 2009-07-20 04:25:29 + + + 552 + A + + + + + + + + + + 145 + hs + 10 + 1158 + 1333 + B + 6 + + 495 + 343 + 268 + 33 + 59 + + + 4 + B + + cleared + 2011-04-02 03:35:39 + + + 553 + 7 + + + + + + + + + + 170 + hs + 8 + 827 + 1059 + B + 6 + + 400 + 259 + 148 + 11 + 21 + + + 4 + H + B + + cleared + + + + 2011-04-02 03:35:39 + + + 555 + A + + + + + + + + + + 185 + hs + 10 + 1042 + 1470 + A + 7 + + 560 + 350 + 108 + 13 + 25 + + + 3 + H + + cleared + 2011-04-02 03:35:39 + + + 419 + 7 + + + + + + + + + + 140 + 10th,hs,pb + 9 + 1016 + 1487 + A + 7 + + 584 + 319 + 104 + 4 + 13 + + + 4 + H + B + + cleared + 2011-05-12 08:43:06 + + + 353 + 7 + + + + + + + + + + 146 + 9th,hs,emp + 10 + 1026 + 1412 + A + 7 + + 534 + 344 + 118 + 1 + 63 + + + 3 + H + + cleared + + + + 2011-09-05 05:51:41 + + + 74 + A + + + + + + + + + + 128 + 5th,7th,hs + 7 + 765 + 1042 + A + 7 + + 397 + 248 + 104 + 5 + 24 + + + 4 + H + B + + cleared + 2009-07-20 04:25:29 + + + 568 + A + + + + + + + + + + 148 + hs + 9 + 1145 + 1420 + B + 6 + + 524 + 372 + 220 + 13 + 36 + + + 4 + H + + cleared + 2012-02-05 05:28:39 + + + 577 + A + + + + + + + + + + 140 + hs + 8 + 913 + 1254 + A + 7 + + 496 + 262 + 130 + 6 + 27 + + + 4 + H + B + + cleared + + + + 2011-04-02 03:35:39 + + + 54 + A + + + + + + + + + + 134 + 3rd,6th,7th,hs + 7 + 629 + 845 + A + 7 + + 257 + 331 + 34 + 5 + 4 + + + 4 + H + B + + cleared + 2009-07-20 04:25:29 + + + 130 + A + + + + + + + + + + 120 + 4th,hs + 6 + 382 + 551 + A + 7 + + 205 + 141 + 32 + 2 + 2 + + + 3 + T + H + + cleared + + + + 2012-05-26 04:52:36 + + + 583 + 7 + + + + + + + + + + 160 + hs + 8 + 704 + 939 + A + 7 + + 369 + 201 + 114 + 12 + 25 + + + 4 + H + B + + cleared + 2011-04-02 03:35:39 + + + 28 + 7 + + + + + + + + + + 141 + 6th,hs + 7 + 893 + 1185 + B + 6 + + 420 + 345 + 105 + 6 + 39 + + + 4 + H + B + + cleared + 2009-07-20 04:25:29 + + + 666 + A + + + + + + + + + + 192 + dd + 10 + 588 + 738 + B + 6 + + 308 + 122 + 91 + 36 + 61 + + + 3 + + cleared + 2011-04-02 04:35:13 + + + 660 + 7 + + + + + + + + + + 214 + dd + 8 + 982 + 1364 + A + 7 + + 565 + 234 + 62 + 15 + 106 + + + 2 + + cleared + 2009-07-20 04:30:57 + + + 602 + L7 + + + + + + + + + + 138 + dd + 3 + 292 + 521 + AAA + 10 + + 232 + 57 + 3 + 0 + 0 + + + 4 + H + B + + combo + 2011-04-02 04:35:13 + + + 602 + A + + + + + + + + + + 138 + dd + 9 + 909 + 1262 + A + 7 + + 496 + 270 + 134 + 3 + 9 + + + 4 + H + + cleared + 2009-07-20 04:30:57 + + + 610 + L7 + + + + + + + + + + 160 + dd + 4 + 348 + 622 + AAA + 9 + + 278 + 66 + 3 + 1 + 1 + + + 3 + H + B + + cleared + 2009-07-20 04:30:57 + + + 612 + A + + + + + + + + + + 130 + dd + 10 + 1060 + 1208 + B + 4 + + 458 + 292 + 159 + 7 + 144 + + + 4 + + played + 2011-04-02 04:35:14 + + + 671 + A + + + + + + + + + + 170 + dd + 9 + 858 + 924 + C + 5 + + 317 + 290 + 193 + 33 + 47 + + + 3 + + cleared + 2009-07-20 04:30:57 + + + 614 + A + + + + + + + + + + 145 + dd + 10 + 1071 + 1445 + A + 5 + + 577 + 291 + 144 + 4 + 55 + + + 4 + + played + 2012-02-05 05:32:21 + + + 615 + A + + + + + + + + + + 172 + dd + 9 + 933 + 1308 + A + 7 + + 521 + 266 + 123 + 11 + 17 + + + 3 + H + + cleared + 2009-07-20 04:30:57 + + + 641 + A + + + + + + + + + + 156 + dd + 10 + 1118 + 1604 + A + 7 + + 576 + 452 + 67 + 3 + 30 + + + 3 + H + B + + cleared + 2011-04-02 04:35:14 + + + 631 + A + + + + + + + + + + 135 + dd + 10 + 1077 + 1582 + A + 7 + + 658 + 266 + 128 + 9 + 29 + + + 4 + H + B + + cleared + 2012-02-05 05:32:21 + + + 616 + A + + + + + + + + + + 143 + dd + 10 + 982 + 1380 + A + 7 + + 544 + 292 + 125 + 7 + 34 + + + 3 + H + + cleared + 2011-04-02 04:35:15 + + + 665 + 7 + + + + + + + + + + 168 + dd + 3 + 201 + 361 + AAA + 10 + + 162 + 37 + 2 + 0 + 0 + + + 3 + H + B + + combo + 2011-04-02 04:35:15 + + + 604 + L7 + + + + + + + + + + 135 + dd + 3 + 321 + 574 + AAA + 10 + + 255 + 64 + 2 + 0 + 0 + + + 4 + H + B + + combo + 2011-04-02 04:35:15 + + + 645 + A + + + + + + + + + + 160 + dd + 10 + 1166 + 1429 + B + 4 + + 522 + 385 + 218 + 15 + 50 + + + 3 + B + + played + 2011-04-02 04:35:15 + + + 26 + A + + + + + + + + + + 125 + 6th,gold + 8 + 910 + 1414 + A + 7 + + 555 + 304 + 34 + 8 + 16 + + + 4 + H + + cleared + 2011-09-05 06:04:19 + + + 40 + 7 + + + + + + + + + + 130 + 6th,gold + 8 + 698 + 606 + D + 4 + + 207 + 192 + 265 + 11 + 37 + + + 0 + + cleared + 2009-07-20 05:02:31 + + + 40 + A + + + + + + + + + + 130 + 6th,gold + 8 + 629 + 873 + A + 7 + + 360 + 153 + 93 + 16 + 14 + + + 4 + H + + cleared + 2011-04-02 05:18:40 + + + 681 + 7 + + + + + + + + + + 155 + gold + 7 + 612 + 784 + B + 4 + + 312 + 160 + 117 + 14 + 26 + + + 4 + + played + 2009-07-20 05:02:31 + + + 682 + 7 + + + + + + + + + + 171 + gold + 6 + 687 + 847 + B + 4 + + 299 + 249 + 133 + 5 + 5 + + + 3 + + played + 2009-07-20 05:02:31 + + + 727 + 7 + + + + + + + + + + 152 + gold + 9 + 982 + 1345 + A + 7 + + 538 + 269 + 148 + 9 + 35 + + + 4 + + cleared + 2011-04-02 05:18:40 + + + 243 + 7 + + + + + + + + + + 125 + 7th,8th,gold + 8 + 882 + 1286 + A + 7 + + 480 + 326 + 60 + 5 + 27 + + + 4 + H + + cleared + 2009-07-20 05:02:31 + + + 741 + L7 + + + + + + + + + + 110 + gold + 1 + 57 + 95 + AA + 9 + + 40 + 15 + 2 + 0 + 0 + + + 5 + + combo + 2009-07-20 05:02:31 + + + 741 + 7 + + + + + + + + + + 110 + gold + 2 + 80 + 133 + AA + 9 + + 56 + 21 + 3 + 0 + 0 + + + 5 + + combo + 2009-07-20 05:02:31 + + + 741 + A + + + + + + + + + + 110 + gold + 3 + 96 + 157 + AA + 9 + + 64 + 29 + 3 + 0 + 1 + + + 5 + + combo + 2009-07-20 05:02:31 + + + 751 + 7 + + + + + + + + + + 140 + gold + 8 + 675 + 760 + B + 6 + + 297 + 166 + 155 + 26 + 44 + + + 4 + + cleared + 2009-07-20 05:02:31 + + + 683 + L7 + + + + + + + + + + 165 + gold,pb + 6 + 679 + 772 + B + 6 + + 269 + 234 + 151 + 16 + 31 + + + 3 + + cleared + 2009-07-20 05:02:31 + + + 683 + 7 + + + + + + + + + + 165 + gold,pb + 8 + 1001 + 1542 + A + 7 + + 659 + 224 + 87 + 13 + 30 + + + 3 + H + + cleared + 2012-02-05 05:45:51 + + + 716 + 7 + + + + + + + + + + 119 + gold + 7 + 629 + 794 + B + 4 + + 297 + 200 + 121 + 7 + 12 + + + 5 + + played + 2009-07-20 05:02:31 + + + 685 + 7 + + + + + + + + + + 160 + gold + 9 + 1017 + 1649 + AA + 8 + + 669 + 311 + 29 + 0 + 12 + + + 4 + H + + cleared + 2011-04-02 05:18:40 + + + 684 + L7 + + + + + + + + + + 180 + gold + 5 + 435 + 453 + C + 3 + + 161 + 131 + 115 + 12 + 28 + + + 3 + + played + 2009-07-20 05:02:31 + + + 684 + 7 + + + + + + + + + + 180 + gold + 8 + 663 + 563 + D + 4 + + 193 + 177 + 256 + 21 + 32 + + + 3 + + cleared + 2009-07-20 05:02:31 + + + 735 + 7 + + + + + + + + + + 153 + gold + 8 + 789 + 1118 + A + 7 + + 441 + 236 + 103 + 2 + 12 + + + 4 + + cleared + 2009-07-20 05:02:31 + + + 686 + A + + + + + + + + + + 147 + gold + 8 + 922 + 1469 + AA + 8 + + 634 + 201 + 72 + 5 + 14 + + + 4 + H + + cleared + 2011-09-05 06:04:27 + + + 687 + 7 + + + + + + + + + + 170 + gold,pb + 8 + 883 + 1499 + AA + 8 + + 649 + 201 + 27 + 3 + 6 + + + 3 + H + + cleared + 2012-02-05 05:45:51 + + + 718 + 7 + + + + + + + + + + 185 + gold + 8 + 766 + 1208 + AA + 8 + + 517 + 174 + 63 + 2 + 16 + + + 3 + H + + cleared + 2012-02-05 05:33:49 + + + 742 + 7 + + + + + + + + + + 150 + gold + 8 + 670 + 864 + B + 6 + + 336 + 192 + 121 + 11 + 21 + + + 4 + H + + cleared + 2012-02-05 05:33:49 + + + 689 + 7 + + + + + + + + + + 140 + gold + 8 + 805 + 1207 + A + 7 + + 490 + 227 + 76 + 3 + 15 + + + 4 + H + + cleared + 2011-04-02 05:18:40 + + + 287 + A + + + + + + + + + + 155 + 8th,gold + 10 + 897 + 1123 + B + 6 + + 119 + 68 + + + 3 + + cleared + 2011-04-02 01:30:33 + + + 690 + 7 + + + + + + + + + + 150 + gold + 7 + 675 + 1061 + AA + 6 + + 447 + 167 + 55 + 4 + 6 + + + 4 + + played + 2009-07-20 05:02:31 + + + 690 + A + + + + + + + + + + 150 + gold + 10 + 1048 + 1333 + B + 6 + + 522 + 289 + 197 + 18 + 44 + + + 4 + + cleared + 2009-07-20 05:02:31 + + + 747 + 7 + + + + + + + + + + 140 + gold + 8 + 733 + 1038 + A + 7 + + 429 + 180 + 115 + 5 + 13 + + + 4 + + cleared + 2009-07-20 05:02:31 + + + 734 + L7 + + + + + + + + + + 400 + gold + 8 + 508 + 599 + B + 6 + + 235 + 129 + 95 + 25 + 31 + + + 1 + + cleared + 2011-04-02 05:18:40 + + + 734 + 7 + + + + + + + + + + 400 + gold + 11 + 876 + 913 + C + 3 + + 349 + 215 + 221 + 52 + 66 + + + 0 + + played + 2009-07-20 05:02:31 + + + 743 + L7 + + + + + + + + + + 136 + gold + 2 + 202 + 357 + AA + 9 + + 158 + 41 + 3 + 0 + 0 + + + 4 + + combo + 2011-04-02 05:18:40 + + + 743 + A + + + + + + + + + + 136 + gold + 9 + 899 + 1402 + AA + 8 + + 596 + 210 + 77 + 8 + 23 + + + 4 + H + + cleared + 2011-09-05 06:04:29 + + + 691 + L7 + + + + + + + + + + 150 + gold,pb + 7 + 616 + 911 + A + 7 + + 366 + 179 + 54 + 8 + 16 + + + 4 + H + + cleared + 2009-07-20 05:02:31 + + + 691 + 7 + + + + + + + + + + 150 + gold,pb + 10 + 927 + 1336 + A + 7 + + 537 + 262 + 107 + 18 + 20 + + + 4 + H + + cleared + 2012-02-05 05:33:49 + + + 693 + 7 + + + + + + + + + + 125 + gold + 5 + 524 + 836 + AA + 8 + + 351 + 134 + 36 + 0 + 4 + + + 4 + H + + cleared + 2009-07-20 05:02:31 + + + 693 + A + + + + + + + + + + 125 + gold + 7 + 742 + 1226 + AA + 9 + + 524 + 178 + 40 + 0 + 3 + + + 4 + H + + combo + 2012-02-05 05:33:49 + + + 729 + 7 + + + + + + + + + + 162 + gold,pb + 9 + 764 + 1082 + A + 7 + + 430 + 222 + 95 + 11 + 26 + + + 3 + H + + cleared + 2011-04-02 05:18:40 + + + 745 + L7 + + + + + + + + + + 150 + gold + 4 + 559 + 933 + AA + 8 + + 407 + 119 + 27 + 2 + 5 + + + 3 + H + + cleared + 2009-07-20 05:02:31 + + + 745 + 7 + + + + + + + + + + 150 + gold + 9 + 1072 + 1351 + B + 6 + + 522 + 307 + 214 + 12 + 24 + + + 3 + H + + cleared + 2011-04-02 05:18:40 + + + 694 + 7 + + + + + + + + + + 160 + gold + 8 + 1012 + 1427 + A + 7 + + 549 + 329 + 123 + 3 + 11 + + + 3 + H + + cleared + 2011-04-02 05:18:40 + + + 736 + 7 + + + + + + + + + + 170 + gold + 9 + 948 + 1253 + B + 6 + + 503 + 247 + 156 + 27 + 48 + + + 3 + H + + cleared + 2011-04-02 05:18:40 + + + 288 + 7 + + + + + + + + + + 140 + 8th,gold + 8 + 781 + 1140 + A + 7 + + 473 + 194 + 79 + 16 + 29 + + + 4 + + cleared + 2011-04-02 01:30:33 + + + 720 + 7 + + + + + + + + + + 150 + gold,emp + 6 + 573 + 987 + AA + 8 + + 433 + 121 + 18 + 1 + 2 + + + 4 + H + + cleared + 2012-03-17 07:17:57 + + + 725 + 7 + + + + + + + + + + 132 + gold + 7 + 711 + 1086 + A + 7 + + 443 + 200 + 66 + 1 + 5 + + + 4 + H + + cleared + 2011-04-02 05:18:40 + + + 722 + L7 + + + + + + + + + + 180 + gold + 4 + 438 + 512 + B + 6 + + 188 + 136 + 107 + 6 + 6 + + + 3 + + cleared + 2009-07-20 05:02:31 + + + 722 + 7 + + + + + + + + + + 180 + gold + 6 + 788 + 1132 + A + 7 + + 454 + 224 + 88 + 8 + 24 + + + 3 + H + + cleared + 2009-07-20 05:02:31 + + + 723 + 7 + + + + + + + + + + 175 + gold + 7 + 723 + 1106 + A + 7 + + 455 + 196 + 46 + 8 + 22 + + + 3 + H + + cleared + 2009-07-20 05:02:31 + + + 721 + 7 + + + + + + + + + + 165 + gold + 9 + 933 + 1349 + A + 7 + + 552 + 245 + 112 + 8 + 27 + + + 3 + H + + cleared + 2011-04-02 05:18:40 + + + 152 + L7 + + + + + + + + + + 170 + 4th,gold + 5 + 531 + 518 + C + 5 + + 172 + 174 + 131 + 12 + 51 + + + 4 + + cleared + 2011-04-02 05:18:40 + + + 152 + 7 + + + + + + + + + + 170 + 4th,gold + 8 + 884 + 1322 + A + 7 + + 536 + 250 + 83 + 9 + 18 + + + 4 + H + + cleared + 2012-02-05 05:33:49 + + + 249 + 7 + + + + + + + + + + 155 + 7th,gold + 8 + 682 + 999 + A + 7 + + 374 + 251 + 44 + 0 + 24 + + + 3 + + cleared + 2011-09-05 05:42:12 + + + 698 + 7 + + + + + + + + + + 130 + gold + 9 + 836 + 1099 + B + 6 + + 451 + 197 + 92 + 14 + 82 + + + 4 + + cleared + 2009-07-20 05:02:31 + + + 698 + A + + + + + + + + + + 130 + gold + 10 + 1086 + 1502 + A + 7 + + 595 + 312 + 134 + 21 + 52 + + + 4 + + cleared + 2011-09-05 06:04:33 + + + 699 + 7 + + + + + + + + + + 150 + gold + 8 + 735 + 1083 + A + 7 + + 450 + 183 + 69 + 19 + 36 + + + 4 + + cleared + 2009-07-20 05:02:31 + + + 700 + 7 + + + + + + + + + + 130 + gold + 7 + 691 + 826 + B + 4 + + 294 + 238 + 127 + 6 + 34 + + + 4 + + played + 2009-07-20 05:02:31 + + + 728 + L7 + + + + + + + + + + 350 + gold + 4 + 319 + 352 + C + 5 + + 128 + 96 + 86 + 7 + 4 + + + 3 + + cleared + 2009-07-20 05:02:31 + + + 749 + 7 + + + + + + + + + + 183 + gold + 7 + 775 + 1293 + AA + 8 + + 556 + 181 + 27 + 3 + 12 + + + 3 + H + + cleared + 2011-09-05 06:04:37 + + + 754 + 7 + + + + + + + + + + 175 + gold + 10 + 1002 + 1346 + A + 7 + + 531 + 284 + 166 + 12 + 19 + + + 3 + H + + cleared + 2011-09-05 06:04:38 + + + 739 + 7 + + + + + + + + + + 140 + gold + 5 + 470 + 696 + A + 5 + + 286 + 124 + 55 + 3 + 6 + + + 4 + + played + 2009-07-20 05:02:31 + + + 739 + A + + + + + + + + + + 140 + gold + 7 + 693 + 1200 + AA + 8 + + 540 + 120 + 28 + 3 + 3 + + + 4 + H + + cleared + 2011-09-05 06:04:39 + + + 96 + A + + + + + + + + + + 155 + 5th,7th,gold + 10 + 1091 + 1527 + A + 7 + + 553 + 421 + 87 + 7 + 35 + + + 3 + + cleared + + + + 2009-07-20 05:02:31 + + + 69 + 7 + + + + + + + + + + 179 + 3rd,6th,8th,gold + 8 + 588 + 902 + A + 7 + + 372 + 158 + 45 + 3 + 15 + + + 3 + H + + cleared + 2009-07-20 05:02:31 + + + 702 + 7 + + + + + + + + + + 155 + gold + 7 + 734 + 1160 + AA + 8 + + 482 + 196 + 46 + 0 + 12 + + + 3 + + cleared + 2009-07-20 05:02:31 + + + 703 + 7 + + + + + + + + + + 160 + gold + 8 + 741 + 1133 + A + 7 + + 471 + 191 + 65 + 2 + 21 + + + 3 + H + + cleared + 2011-04-02 05:18:40 + + + 704 + 7 + + + + + + + + + + 149 + gold,pb + 8 + 787 + 1248 + AA + 8 + + 530 + 188 + 50 + 12 + 20 + + + 4 + H + + cleared + 2011-09-05 06:04:41 + + + 732 + L7 + + + + + + + + + + 140 + gold + 9 + 788 + 1154 + A + 7 + + 464 + 226 + 86 + 0 + 22 + + + 4 + H + + cleared + 2011-04-02 05:18:40 + + + 746 + L7 + + + + + + + + + + 145 + gold + 5 + 551 + 934 + AA + 8 + + 408 + 118 + 21 + 1 + 4 + + + 4 + H + + cleared + 2009-07-20 05:02:31 + + + 746 + 7 + + + + + + + + + + 145 + gold + 10 + 1128 + 1523 + A + 7 + + 609 + 305 + 189 + 9 + 31 + + + 4 + H + + cleared + 2011-04-02 05:18:40 + + + 433 + 7 + + + + + + + + + + 151 + 10th,gold,pb + 10 + 979 + 1366 + A + 7 + + 545 + 276 + 109 + 16 + 573 + + + 3.5 + S+ + H + B + + cleared + + + + 2011-04-02 05:24:33 + + + 750 + 7 + + + + + + + + + + 175 + gold + 8 + 596 + 744 + B + 6 + + 280 + 184 + 84 + 8 + 40 + + + 3 + H + + cleared + 2011-04-02 05:27:35 + + + 705 + 7 + + + + + + + + + + 189 + gold + 9 + 1107 + 1678 + A + 7 + + 700 + 278 + 111 + 9 + 22 + + + 3 + + cleared + 2011-09-05 06:04:43 + + + 706 + 7 + + + + + + + + + + 145 + gold,pb + 9 + 1173 + 1681 + A + 7 + + 675 + 331 + 148 + 11 + 28 + + + 4 + H + + cleared + 2011-09-05 06:04:43 + + + 707 + 7 + + + + + + + + + + 128 + gold + 6 + 676 + 965 + A + 5 + + 380 + 205 + 86 + 1 + 8 + + + 4 + + played + 2009-07-20 05:02:31 + + + 707 + A + + + + + + + + + + 128 + gold + 8 + 860 + 1374 + AA + 8 + + 583 + 208 + 57 + 6 + 13 + + + 4 + H + + cleared + 2012-02-05 05:33:49 + + + 708 + L7 + + + + + + + + + + 145 + gold + 5 + 554 + 513 + C + 5 + + 106 + 301 + 124 + 13 + 26 + + + 4 + + cleared + 2009-07-20 05:02:31 + + + 708 + 7 + + + + + + + + + + 145 + gold + 8 + 874 + 1251 + A + 7 + + 445 + 361 + 47 + 4 + 33 + + + 4 + H + + cleared + 2009-07-20 05:02:31 + + + 752 + 7 + + + + + + + + + + 263 + gold + 9 + 762 + 1106 + A + 7 + + 430 + 246 + 77 + 7 + 9 + + + 2 + H + + cleared + 2012-02-05 05:33:49 + + + 709 + 7 + + + + + + + + + + 156 + gold,pb + 9 + 1084 + 1493 + A + 7 + + 598 + 297 + 159 + 10 + 24 + + + 3 + H + + cleared + 2011-04-02 05:27:35 + + + 710 + 7 + + + + + + + + + + 136 + gold + 7 + 658 + 1141 + AA + 9 + + 500 + 141 + 17 + 0 + 0 + + + 4 + + combo + 2009-07-20 05:02:31 + + + 737 + 7 + + + + + + + + + + 150 + gold + 8 + 925 + 1285 + A + 7 + + 517 + 251 + 133 + 9 + 32 + + + 4 + + cleared + 2009-07-20 05:02:31 + + + 711 + L7 + + + + + + + + + + 190 + gold + 5 + 414 + 542 + B + 7 + + 201 + 140 + 73 + 0 + 1 + + + 3 + + combo + 2009-07-20 05:02:31 + + + 711 + 7 + + + + + + + + + + 190 + gold + 10 + 929 + 1235 + B + 6 + + 484 + 267 + 157 + 5 + 27 + + + 3 + H + + cleared + 2011-04-02 05:27:35 + + + 738 + 7 + + + + + + + + + + 171 + gold + 9 + 884 + 1325 + A + 7 + + 529 + 267 + 79 + 0 + 12 + + + 3 + H + + cleared + 2011-04-02 05:27:35 + + + 744 + 7 + + + + + + + + + + 178 + gold + 5 + 247 + 430 + AA + 6 + + 189 + 52 + 4 + 2 + 0 + + + 3 + + played + 2009-07-20 05:02:31 + + + 733 + L7 + + + + + + + + + + 185 + gold,pb + 8 + 591 + 732 + B + 6 + + 269 + 194 + 117 + 5 + 14 + + + 3 + H + + cleared + 2009-07-20 05:02:31 + + + 712 + 7 + + + + + + + + + + 121 + gold + 6 + 544 + 780 + A + 7 + + 303 + 174 + 54 + 10 + 11 + + + 4 + H + + cleared + 2011-04-02 05:27:35 + + + 740 + 7 + + + + + + + + + + 170 + gold + 10 + 919 + 1433 + AA + 8 + + 605 + 223 + 62 + 25 + 11 + + + 3 + H + + cleared + 2011-04-02 05:27:35 + + + 713 + 7 + + + + + + + + + + 135 + gold + 6 + 597 + 960 + AA + 6 + + 403 + 154 + 37 + 0 + 6 + + + 4 + + played + 2009-07-20 05:02:31 + + + 714 + 7 + + + + + + + + + + 140 + gold + 8 + 811 + 1190 + A + 7 + + 464 + 262 + 77 + 4 + 8 + + + 4 + H + + cleared + 2009-07-20 05:02:31 + + + 715 + 7 + + + + + + + + + + 168 + gold + 8 + 727 + 1182 + AA + 8 + + 506 + 170 + 38 + 6 + 12 + + + 3 + H + + cleared + 2011-09-05 06:04:45 + + + 726 + 7 + + + + + + + + + + 150 + gold + 7 + 728 + 1196 + AA + 9 + + 506 + 184 + 38 + 0 + 3 + + + 4 + + combo + 2009-07-20 05:02:31 + + + 387 + 7 + + + + + + + + + + 175 + 10th,djt + 10 + 1016 + 1300 + B + 6 + + 485 + 330 + 181 + 2 + 33 + + + 2 + H + + cleared + 2011-09-05 06:10:02 + + + 755 + 7 + + + + + + + + + + 140 + djt + 7 + 751 + 1017 + A + 7 + + 408 + 201 + 118 + 9 + 25 + + + 0 + H + + cleared + 2009-07-20 05:58:54 + + + 756 + 7 + + + + + + + + + + 185 + djt,pb + 9 + 1089 + 1594 + A + 7 + + 647 + 300 + 117 + 8 + 30 + + + 3 + H + + cleared + 2011-04-02 05:38:30 + + + 756 + L14 + + + + + + + + + + 185 + djt,pb + 6 + 637 + 577 + C + 5 + + 198 + 181 + 219 + 8 + 41 + + + 0 + + cleared + 2009-07-20 05:58:54 + + + 757 + 7 + + + + + + + + + + 146 + djt + 7 + 694 + 984 + A + 7 + + 394 + 196 + 99 + 1 + 10 + + + 0 + H + + cleared + 2009-07-20 05:58:54 + + + 234 + 7 + + + + + + + + + + 130 + 7th,8th,djt + 7 + 716 + 1061 + A + 7 + + 442 + 177 + 81 + 8 + 12 + + + 4 + H + + cleared + 2011-09-05 05:42:10 + + + 814 + 7 + + + + + + + + + + 160 + djt + 9 + 1302 + 1706 + B + 6 + + 642 + 422 + 224 + 2 + 23 + + + 3 + H + + cleared + 2011-04-02 05:38:30 + + + 758 + 7 + + + + + + + + + + 160 + djt + 8 + 902 + 1156 + B + 6 + + 425 + 306 + 151 + 9 + 19 + + + 0 + H + + cleared + + + + 2009-07-20 05:58:54 + + + 759 + 7 + + + + + + + + + + 165 + djt + 8 + 955 + 1545 + AA + 8 + + 654 + 237 + 56 + 7 + 9 + + + 3 + H + + cleared + 2012-03-17 02:02:05 + + + 815 + 7 + + + + + + + + + + 172 + djt + 8 + 921 + 1468 + AA + 8 + + 613 + 242 + 59 + 3 + 9 + + + 2 + H + + cleared + 2012-03-17 02:02:05 + + + 760 + 7 + + + + + + + + + + 144 + djt,pb + 8 + 812 + 1059 + B + 6 + + 406 + 247 + 141 + 8 + 18 + + + 0 + H + + cleared + 2009-07-20 05:58:54 + + + 829 + 7 + + + + + + + + + + 180 + djt + 9 + 1032 + 1411 + A + 7 + + 563 + 285 + 141 + 30 + 32 + + + 2 + H + + cleared + 2012-02-05 05:36:30 + + + 817 + L7 + + + + + + + + + + 165 + djt + 2 + 173 + 304 + AA + 9 + + 133 + 38 + 2 + 0 + 0 + + + 0 + + combo + + + + 2009-07-20 05:58:54 + + + 817 + A + + + + + + + + + + 165 + djt + 9 + 1052 + 1677 + AA + 8 + + 703 + 271 + 68 + 3 + 11 + + + 3 + H + + cleared + 2011-09-05 06:10:03 + + + 2 + 7 + + + + + + + + + + 150 + 6th,7th,8th,10th,us,djt,pb + 9 + 1011 + 1515 + A + 7 + + 630 + 255 + 109 + 7 + 25 + + + 4 + H + + cleared + 2012-02-05 05:36:30 + + + 818 + 7 + + + + + + + + + + 205 + djt + 9 + 1076 + 1770 + AA + 8 + + 740 + 290 + 39 + 1 + 7 + + + 2 + H + + cleared + 2011-09-05 06:10:03 + + + 761 + L7 + + + + + + + + + + 100 + djt + 4 + 354 + 561 + AA + 9 + + 230 + 101 + 23 + 0 + 1 + + + 0 + + combo + + + + 2009-07-20 05:58:54 + + + 761 + A + + + + + + + + + + 100 + djt + 8 + 695 + 1185 + AA + 8 + + 506 + 173 + 11 + 1 + 5 + + + 5 + H + + cleared + 2011-09-05 06:10:03 + + + 762 + L7 + + + + + + + + + + 149 + djt,pb + 4 + 455 + 745 + AA + 9 + + 316 + 113 + 26 + 0 + 0 + + + 0 + + combo + 2009-07-20 05:58:54 + + + 762 + 7 + + + + + + + + + + 149 + djt,pb + 7 + 704 + 1220 + AA + 8 + + 537 + 146 + 20 + 1 + 0 + + + 4 + H + + cleared + 2012-02-05 05:45:51 + + + 762 + A + + + + + + + + + + 149 + djt,pb + 10 + 1115 + 1729 + A + 7 + + 730 + 269 + 73 + 24 + 50 + + + 4 + + cleared + 2012-02-05 05:36:30 + + + 400 + 7 + + + + + + + + + + 155 + 10th,djt + 9 + 1008 + 1447 + A + 7 + + 260 + 42 + + + 3 + H + + cleared + 2011-04-02 02:17:23 + + + 763 + 7 + + + + + + + + + + 128 + djt,pb + 9 + 815 + 1066 + B + 6 + + 402 + 262 + 107 + 20 + 45 + + + 4 + + cleared + 2012-02-05 05:45:51 + + + 808 + L7 + + + + + + + + + + 300 + djt + 8 + 538 + 645 + B + 6 + + 218 + 209 + 83 + 19 + 26 + + + 0 + + cleared + 2009-07-20 05:58:54 + + + 808 + 7 + + + + + + + + + + 300 + djt + 10 + 816 + 984 + B + 6 + + 384 + 216 + 179 + 20 + 22 + + + 1 + + cleared + + + + 2011-09-05 06:10:04 + + + 788 + L7 + + + + + + + + + + 125 + djt + 4 + 424 + 703 + AA + 9 + + 305 + 93 + 26 + 0 + 5 + + + 0 + + combo + + + + 2009-07-20 05:58:54 + + + 788 + A + + + + + + + + + + 125 + djt + 9 + 923 + 1334 + A + 7 + + 539 + 256 + 114 + 8 + 15 + + + 4 + H + + cleared + 2011-04-02 05:38:30 + + + 764 + 7 + + + + + + + + + + 162 + djt + 9 + 924 + 1358 + A + 7 + + 547 + 264 + 99 + 3 + 16 + + + 3 + H + + cleared + 2012-03-17 02:02:05 + + + 765 + 7 + + + + + + + + + + 133 + djt + 7 + 720 + 1042 + A + 7 + + 411 + 220 + 79 + 2 + 16 + + + 0 + H + + cleared + 2009-07-20 05:58:54 + + + 831 + L7 + + + + + + + + + + 138 + djt + 4 + 431 + 717 + AA + 8 + + 311 + 95 + 21 + 1 + 3 + + + 0 + + cleared + 2009-07-20 05:58:54 + + + 831 + 7 + + + + + + + + + + 138 + djt + 10 + 1109 + 1294 + B + 6 + + 472 + 350 + 240 + 7 + 57 + + + 0 + + cleared + 2009-07-20 05:58:54 + + + 810 + L7 + + + + + + + + + + 195 + djt + 5 + 481 + 739 + A + 7 + + 308 + 123 + 45 + 3 + 2 + + + 0 + + cleared + + + + 2009-07-20 05:58:54 + + + 766 + L7 + + + + + + + + + + 145 + djt + 4 + 411 + 642 + AA + 9 + + 261 + 120 + 30 + 0 + 0 + + + 0 + + combo + 2009-07-20 05:58:54 + + + 766 + 7 + + + + + + + + + + 145 + djt + 7 + 650 + 968 + A + 7 + + 390 + 188 + 64 + 6 + 10 + + + 0 + H + + cleared + 2009-07-20 05:58:54 + + + 19 + L7 + + + + + + + + + + 170 + 6th,8th,djt,pb + 8 + 752 + 964 + B + 6 + + 369 + 226 + 144 + 5 + 27 + + + 0 + H + + cleared + 2009-07-20 05:58:54 + + + 187 + L7 + + + + + + + + + + 174 + 3rd,djt,pb + 3 + 232 + 416 + AAA + 10 + + 186 + 44 + 2 + 0 + 1 + + + 0 + + combo + + + + 2009-07-20 05:58:54 + + + 187 + A + + + + + + + + + + 174 + 3rd,djt,pb + 9 + 728 + 1192 + AA + 8 + + 508 + 176 + 43 + 1 + 1 + + + 3 + H + + cleared + 2011-09-05 06:10:05 + + + 824 + 7 + + + + + + + + + + 148 + djt + 8 + 798 + 1118 + A + 7 + + 464 + 190 + 129 + 9 + 16 + + + 3 + H + + cleared + 2012-03-17 02:02:05 + + + 801 + 7 + + + + + + + + + + 160 + djt + 8 + 804 + 1201 + A + 7 + + 498 + 205 + 83 + 7 + 26 + + + 3 + H + + cleared + 2011-04-02 05:38:30 + + + 819 + 7 + + + + + + + + + + 180 + djt + 8 + 911 + 1321 + A + 7 + + 523 + 275 + 104 + 3 + 11 + + + 2 + H + + cleared + 2011-09-05 06:10:05 + + + 811 + L7 + + + + + + + + + + 251 + djt + 7 + 694 + 908 + B + 6 + + 341 + 226 + 122 + 3 + 6 + + + 0 + H + + cleared + 2009-07-20 05:58:54 + + + 830 + L7 + + + + + + + + + + 145 + djt + 5 + 335 + 519 + A + 7 + + 211 + 97 + 21 + 0 + 6 + + + 0 + + cleared + 2009-07-20 05:58:54 + + + 415 + L7 + + + + + + + + + + 155 + 10th,djt,pb + 8 + 847 + 1201 + A + 7 + + 444 + 313 + 80 + 2 + 23 + + + 3 + H + + cleared + + + + 2011-04-02 05:48:23 + + + 415 + 7 + + + + + + + + + + 155 + 10th,djt,pb + 12 + 1281 + 1604 + B + 4 + + 549 + 506 + 169 + 17 + 82 + + + 3 + + played + 2012-03-17 02:02:05 + + + 767 + L7 + + + + + + + + + + 260 + djt + 4 + 437 + 728 + AA + 9 + + 305 + 118 + 14 + 0 + 2 + + + 0 + + combo + 2009-07-20 05:58:54 + + + 767 + 7 + + + + + + + + + + 260 + djt + 8 + 648 + 1059 + AA + 8 + + 452 + 155 + 39 + 0 + 2 + + + 0 + H + + cleared + 2009-07-20 05:58:54 + + + 768 + A + + + + + + + + + + 160 + djt + 9 + 1022 + 1657 + AA + 8 + + 730 + 197 + 78 + 4 + 16 + + + 3 + H + + cleared + 2011-04-02 05:38:30 + + + 832 + L7 + + + + + + + + + + 280 + djt + 6 + 471 + 693 + A + 7 + + 284 + 125 + 58 + 4 + 3 + + + 0 + + cleared + 2009-07-20 05:58:54 + + + 790 + 7 + + + + + + + + + + 150 + djt + 7 + 777 + 1138 + A + 7 + + 450 + 238 + 83 + 3 + 11 + + + 0 + H + + cleared + 2009-07-20 05:58:54 + + + 790 + A + + + + + + + + + + 150 + djt + 9 + 1005 + 1535 + A + 7 + + 631 + 273 + 92 + 5 + 9 + + + 3 + H + + cleared + 2011-09-05 06:10:05 + + + 797 + A + + + + + + + + + + 152 + djt + 8 + 901 + 1453 + AA + 8 + + 619 + 215 + 49 + 4 + 22 + + + 3 + H + + cleared + 2011-04-02 05:38:30 + + + 769 + A + + + + + + + + + + 125 + djt + 9 + 906 + 1326 + A + 7 + + 532 + 262 + 101 + 4 + 13 + + + 4 + H + + cleared + 2011-04-02 05:38:30 + + + 770 + 7 + + + + + + + + + + 180 + djt + 8 + 1100 + 1556 + A + 7 + + 604 + 348 + 124 + 6 + 31 + + + 2 + H + + cleared + 2011-04-02 05:38:30 + + + 812 + L7 + + + + + + + + + + 168 + djt,pb + 6 + 573 + 934 + AA + 9 + + 388 + 158 + 22 + 3 + 10 + + + 3 + H + + comboed + 2012-02-05 05:45:51 + + + 804 + L7 + + + + + + + + + + 144 + djt + 5 + 575 + 878 + A + 7 + + 340 + 198 + 32 + 3 + 4 + + + 0 + + cleared + 2009-07-20 05:58:54 + + + 804 + 7 + + + + + + + + + + 144 + djt + 9 + 1097 + 1675 + A + 7 + + 694 + 287 + 104 + 5 + 17 + + + 4 + H + + cleared + 2012-03-17 02:02:05 + + + 804 + A + + + + + + + + + + 144 + djt + 10 + 1345 + 1788 + B + 6 + + 699 + 390 + 211 + 23 + 49 + + + 4 + + cleared + 2011-09-05 06:10:05 + + + 794 + L7 + + + + + + + + + + 165 + djt + 5 + 541 + 806 + A + 8 + + 310 + 186 + 45 + 0 + 0 + + + 0 + + combo + 2009-07-20 05:58:54 + + + 794 + 7 + + + + + + + + + + 165 + djt + 9 + 1011 + 1361 + A + 7 + + 550 + 261 + 172 + 14 + 40 + + + 3 + H + + cleared + 2011-04-02 05:38:30 + + + 772 + 7 + + + + + + + + + + 146 + djt + 8 + 861 + 1315 + A + 7 + + 537 + 241 + 77 + 1 + 9 + + + 4 + H + + cleared + 2012-02-05 05:36:30 + + + 773 + 7 + + + + + + + + + + 162 + djt + 10 + 1056 + 1477 + A + 7 + + 588 + 301 + 142 + 12 + 31 + + + 3 + H + + cleared + 2011-09-05 06:10:05 + + + 803 + 7 + + + + + + + + + + 300 + djt + 11 + 954 + 1142 + B + 6 + + 456 + 230 + 195 + 22 + 66 + + + 1 + + cleared + + + + 2012-02-05 05:36:30 + + + 833 + L7 + + + + + + + + + + 270 + djt + 8 + 499 + 448 + C + 5 + + 152 + 144 + 179 + 21 + 7 + + + 0 + + cleared + 2009-07-20 05:58:54 + + + 774 + L7 + + + + + + + + + + 70 + djt + 3 + 305 + 518 + AA + 9 + + 218 + 82 + 5 + 0 + 0 + + + 0 + + combo + 2009-07-20 05:58:54 + + + 774 + A + + + + + + + + + + 70 + djt + 8 + 875 + 1448 + AA + 8 + + 622 + 204 + 45 + 2 + 7 + + + 5 + H + + cleared + 2011-04-02 05:38:30 + + + 825 + L7 + + + + + + + + + + 145 + djt + 1 + 80 + 138 + AA + 9 + + 58 + 22 + 0 + 0 + 0 + + + 0 + + perfect + 2009-07-20 05:58:54 + + + 825 + 7 + + + + + + + + + + 145 + djt + 3 + 178 + 266 + A + 8 + + 102 + 62 + 14 + 0 + 2 + + + 0 + + combo + 2009-07-20 05:58:54 + + + 94 + A + + + + + + + + + + 114 + 5th,8th,djt + 7 + 660 + 1068 + AA + 9 + + 425 + 218 + 13 + 1 + 11 + + + 5 + + comboed + 2011-09-05 06:10:05 + + + 795 + 7 + + + + + + + + + + 150 + djt + 8 + 736 + 962 + B + 6 + + 365 + 232 + 121 + 7 + 14 + + + 0 + H + + cleared + 2009-07-20 05:58:54 + + + 775 + 7 + + + + + + + + + + 171 + djt + 9 + 939 + 1506 + AA + 8 + + 629 + 248 + 58 + 1 + 7 + + + 3 + H + + cleared + 2012-03-17 02:02:05 + + + 827 + 7 + + + + + + + + + + 140 + djt + 8 + 840 + 1287 + A + 7 + + 505 + 277 + 57 + 1 + 1 + + + 4 + H + + cleared + 2012-02-05 05:36:30 + + + 834 + L7 + + + + + + + + + + 144 + djt + 7 + 764 + 1099 + A + 7 + + 447 + 205 + 99 + 4 + 20 + + + 0 + H + + cleared + 2009-07-20 05:58:54 + + + 834 + 7 + + + + + + + + + + 144 + djt + 8 + 917 + 1335 + A + 7 + + 547 + 241 + 108 + 8 + 25 + + + 4 + H + + cleared + 2011-04-02 05:38:30 + + + 776 + 7 + + + + + + + + + + 172 + djt + 9 + 865 + 1246 + A + 7 + + 503 + 240 + 107 + 6 + 15 + + + 2 + H + + cleared + 2011-04-02 05:38:30 + + + 777 + 7 + + + + + + + + + + 160 + djt,pb + 9 + 1032 + 1601 + A + 7 + + 655 + 291 + 79 + 1 + 9 + + + 3 + H + + cleared + 2011-09-05 06:10:05 + + + 778 + 7 + + + + + + + + + + 220 + djt + 9 + 843 + 1281 + A + 7 + + 519 + 243 + 66 + 4 + 23 + + + 2 + H + + cleared + 2011-09-05 06:10:05 + + + 799 + L7 + + + + + + + + + + 154 + djt + 6 + 680 + 963 + A + 7 + + 350 + 263 + 56 + 7 + 13 + + + 0 + H + + cleared + 2009-07-20 05:58:54 + + + 799 + 7 + + + + + + + + + + 154 + djt + 9 + 983 + 1378 + A + 7 + + 495 + 388 + 79 + 7 + 41 + + + 3 + H + + cleared + 2012-03-17 02:02:05 + + + 779 + L7 + + + + + + + + + + 180 + djt + 5 + 548 + 986 + AAA + 10 + + 448 + 90 + 9 + 0 + 1 + + + 3 + + comboed + 2011-09-05 06:10:05 + + + 779 + 7 + + + + + + + + + + 180 + djt + 7 + 722 + 1149 + AA + 8 + + 497 + 155 + 55 + 4 + 17 + + + 2 + H + + cleared + 2011-04-02 05:38:30 + + + 828 + L7 + + + + + + + + + + 155 + djt + 7 + 693 + 911 + B + 6 + + 345 + 221 + 110 + 10 + 14 + + + 3 + H + + cleared + 2011-04-02 05:38:30 + + + 828 + 7 + + + + + + + + + + 155 + djt + 10 + 1040 + 1468 + A + 7 + + 609 + 250 + 163 + 5 + 25 + + + 3 + H + + cleared + 2012-03-17 02:02:05 + + + 780 + L7 + + + + + + + + + + 141 + djt + 3 + 335 + 567 + AA + 9 + + 245 + 77 + 13 + 0 + 0 + + + 0 + + combo + 2009-07-20 05:58:54 + + + 780 + A + + + + + + + + + + 141 + djt + 8 + 766 + 1281 + AA + 8 + + 560 + 161 + 41 + 2 + 7 + + + 4 + H + + cleared + 2011-04-02 05:38:30 + + + 798 + A + + + + + + + + + + 170 + djt + 8 + 827 + 1421 + AA + 8 + + 626 + 169 + 31 + 0 + 2 + + + 3 + H + + cleared + 2011-09-05 06:10:05 + + + 781 + 7 + + + + + + + + + + 130 + djt + 8 + 725 + 1225 + AA + 8 + + 529 + 167 + 27 + 0 + 3 + + + 4 + H + + cleared + 2012-03-17 02:02:05 + + + 791 + L7 + + + + + + + + + + 138 + djt + 4 + 380 + 658 + AA + 9 + + 294 + 70 + 16 + 0 + 1 + + + 0 + + combo + 2009-07-20 05:58:54 + + + 791 + A + + + + + + + + + + 138 + djt + 8 + 841 + 1247 + A + 7 + + 514 + 219 + 84 + 12 + 20 + + + 4 + H + + cleared + 2011-04-02 05:38:30 + + + 820 + 7 + + + + + + + + + + 140 + djt + 8 + 1026 + 1440 + A + 7 + + 565 + 310 + 129 + 16 + 14 + + + 4 + H + + cleared + 2012-03-17 02:02:05 + + + 820 + A + + + + + + + + + + 140 + djt + 10 + 1238 + 1551 + B + 6 + + 609 + 333 + 251 + 22 + 38 + + + 4 + + cleared + 2011-04-02 05:38:30 + + + 822 + L7 + + + + + + + + + + 177 + djt,emp + 4 + 418 + 740 + AA + 9 + + 330 + 80 + 8 + 0 + 0 + + + 0 + + combo + 2009-07-20 05:58:54 + + + 822 + 7 + + + + + + + + + + 177 + djt,emp + 8 + 830 + 1365 + AA + 8 + + 582 + 201 + 37 + 5 + 8 + + + 2 + H + + cleared + 2012-03-17 07:17:57 + + + 822 + A + + + + + + + + + + 177 + djt,emp + 10 + 1089 + 1667 + A + 7 + + 705 + 257 + 99 + 16 + 38 + + + 3 + H + + cleared + 2011-09-05 06:10:05 + + + 792 + L7 + + + + + + + + + + 85 + djt + 3 + 258 + 406 + AA + 9 + + 168 + 70 + 20 + 0 + 0 + + + 0 + + combo + 2009-07-20 05:58:54 + + + 792 + A + + + + + + + + + + 85 + djt + 7 + 673 + 1075 + AA + 8 + + 439 + 197 + 34 + 0 + 3 + + + 5 + H + + cleared + 2011-09-05 06:10:05 + + + 796 + 7 + + + + + + + + + + 155 + djt + 8 + 790 + 1268 + AA + 8 + + 530 + 208 + 45 + 2 + 8 + + + 3 + H + + cleared + 2012-03-17 02:02:05 + + + 809 + L7 + + + + + + + + + + 205 + djt + 6 + 560 + 712 + B + 6 + + 250 + 212 + 92 + 4 + 8 + + + 0 + H + + cleared + 2009-07-20 05:58:54 + + + 369 + A + + + + + + + + + + 114 + 9th,djt + 8 + 755 + 1143 + A + 7 + + 467 + 209 + 66 + 8 + 18 + + + 4 + H + + cleared + 2011-04-02 05:38:30 + + + 784 + L7 + + + + + + + + + + 152 + djt + 4 + 407 + 687 + AA + 9 + + 288 + 111 + 8 + 0 + 0 + + + 0 + + combo + 2009-07-20 05:58:54 + + + 784 + 7 + + + + + + + + + + 152 + djt + 9 + 790 + 1149 + A + 7 + + 464 + 221 + 86 + 13 + 18 + + + 4 + H + + cleared + 2012-03-17 02:02:05 + + + 841 + L7 + + + + + + + + + + 135 + djt + 5 + 537 + 629 + B + 4 + + 236 + 157 + 112 + 6 + 29 + + + 0 + + played + 2009-07-20 05:58:54 + + + 841 + 7 + + + + + + + + + + 135 + djt + 6 + 662 + 982 + A + 7 + + 390 + 202 + 65 + 4 + 11 + + + 0 + H + + cleared + 2009-07-20 05:58:54 + + + 841 + A + + + + + + + + + + 135 + djt + 9 + 880 + 1265 + A + 7 + + 491 + 283 + 94 + 7 + 15 + + + 4 + H + + cleared + 2011-09-05 06:10:06 + + + 821 + 7 + + + + + + + + + + 170 + djt + 9 + 1008 + 1564 + A + 7 + + 646 + 272 + 88 + 0 + 8 + + + 3 + H + + cleared + 2012-03-17 02:02:05 + + + 785 + L7 + + + + + + + + + + 173 + djt,pb + 6 + 556 + 805 + A + 7 + + 320 + 165 + 69 + 0 + 3 + + + 0 + H + + cleared + 2009-07-20 05:58:54 + + + 785 + 7 + + + + + + + + + + 173 + djt,pb + 10 + 1150 + 1350 + B + 6 + + 515 + 320 + 184 + 24 + 107 + + + 2 + + cleared + 2012-03-17 02:02:05 + + + 843 + L7 + + + + + + + + + + 185 + djt + 6 + 721 + 1093 + A + 7 + + 437 + 219 + 61 + 1 + 6 + + + 0 + + cleared + 2009-07-20 05:58:54 + + + 843 + 7 + + + + + + + + + + 185 + djt + 8 + 995 + 1340 + A + 7 + + 532 + 276 + 163 + 8 + 37 + + + 0 + H + + cleared + 2009-07-20 05:58:54 + + + 786 + 7 + + + + + + + + + + 150 + djt + 7 + 592 + 958 + AA + 8 + + 399 + 160 + 32 + 0 + 1 + + + 0 + H + + cleared + 2009-07-20 05:58:54 + + + 802 + 7 + + + + + + + + + + 191 + djt,pb + 10 + 1064 + 1611 + A + 7 + + 671 + 269 + 97 + 9 + 28 + + + 2 + H + + cleared + 2011-09-05 06:10:06 + + + 806 + L7 + + + + + + + + + + 320 + djt + 4 + 347 + 529 + A + 7 + + 207 + 115 + 24 + 1 + 1 + + + 0 + H + + cleared + 2009-07-20 05:58:54 + + + 806 + 7 + + + + + + + + + + 320 + djt + 9 + 792 + 1141 + A + 7 + + 456 + 229 + 86 + 8 + 25 + + + 1 + H + + cleared + 2011-09-05 06:10:06 + + + 807 + L7 + + + + + + + + + + 177 + djt + 6 + 625 + 1011 + AA + 8 + + 414 + 183 + 25 + 1 + 3 + + + 0 + H + + cleared + 2009-07-20 05:58:54 + + + 805 + L7 + + + + + + + + + + 174 + djt + 6 + 555 + 908 + AA + 8 + + 386 + 136 + 30 + 1 + 5 + + + 0 + + cleared + 2009-07-20 05:58:54 + + + 842 + L7 + + + + + + + + + + 202 + djt + 8 + 858 + 1181 + A + 7 + + 436 + 309 + 93 + 6 + 22 + + + 2 + H + + cleared + 2011-04-02 05:38:30 + + + 842 + 7 + + + + + + + + + + 202 + djt + 11 + 1473 + 1563 + C + 3 + + 574 + 415 + 339 + 46 + 152 + + + 2 + + played + 2011-04-02 05:38:30 + + + 787 + 7 + + + + + + + + + + 128 + djt + 7 + 599 + 687 + B + 6 + + 253 + 181 + 144 + 14 + 15 + + + 0 + H + + cleared + 2009-07-20 05:58:54 + + + 787 + A + + + + + + + + + + 128 + djt + 8 + 762 + 1124 + A + 7 + + 442 + 240 + 70 + 3 + 14 + + + 4 + H + + cleared + 2011-04-02 05:38:31 + + + 826 + 7 + + + + + + + + + + 145 + djt + 9 + 665 + 874 + B + 6 + + 329 + 216 + 104 + 7 + 22 + + + 4 + H + + cleared + 2011-04-02 05:38:31 + + + 105 + 7 + + + + + + + + + + 250 + 4th,5th + 8 + 528 + 801 + A + 7 + + 320 + 161 + 46 + 0 + 5 + + + 1 + T + B + + cleared + + + + 2010-05-16 02:21:42 + + + 112 + 7 + + + + + + + + + + 63 + 5th + 2 + 148 + 186 + B + 6 + + 71 + 44 + 30 + 2 + 1 + + + 3 + T + + cleared + 2010-05-16 01:29:51 + + + 77 + 7 + + + + + + + + + + 125 + 5th,7th + 5 + 483 + 771 + AA + 8 + + 303 + 165 + 13 + 1 + 3 + + + 4 + + cleared + 2011-09-05 05:42:10 + + + 73 + 7 + + + + + + + + + + 137 + 5th + 5 + 626 + 965 + A + 8 + + 395 + 175 + 56 + 0 + 2 + + + 3 + T + B + + combo + 2010-05-16 02:38:49 + + + 116 + 7 + + + + + + + + + + 100 + 5th + 4 + 383 + 594 + A + 8 + + 241 + 112 + 30 + 0 + 0 + + + 3 + T + B + + combo + 2010-05-16 02:00:20 + + + 103 + 7 + + + + + + + + + + 190 + 4th,5th + 6 + 546 + 915 + AA + 8 + + 390 + 135 + 19 + 2 + 4 + + + 2 + T + + cleared + 2012-05-26 00:36:04 + + + 115 + 7 + + + + + + + + + + 78 + 5th + 5 + 469 + 735 + AA + 8 + + 298 + 139 + 31 + 0 + 2 + + + 3 + T + B + + cleared + 2010-05-16 02:25:16 + + + 120 + 7 + + + + + + + + + + 180 + 5th,7th + 7 + 740 + 908 + B + 6 + + 344 + 220 + 133 + 28 + 41 + + + 3 + T + B + + cleared + 2010-05-16 02:19:13 + + + 84 + 7 + + + + + + + + + + 126 + 5th,8th + 6 + 650 + 894 + A + 7 + + 337 + 220 + 84 + 4 + 7 + + + 3 + T + B + + cleared + 2010-05-16 01:33:47 + + + 102 + 7 + + + + + + + + + + 137 + 4th,5th + 6 + 609 + 862 + A + 7 + + 343 + 176 + 78 + 7 + 14 + + + 3 + T + B + + cleared + 2010-05-16 01:34:14 + + + 72 + 7 + + + + + + + + + + 110 + 5th,7th + 4 + 428 + 725 + AA + 8 + + 310 + 105 + 12 + 0 + 2 + + + 4 + + cleared + 2011-09-05 05:42:12 + + + 91 + 7 + + + + + + + + + + 142 + 5th,7th,us + 6 + 739 + 1086 + A + 7 + + 442 + 202 + 89 + 5 + 2 + + + 4 + + cleared + 2011-09-05 05:42:12 + + + 107 + 7 + + + + + + + + + + 119 + 3rd,5th + 4 + 432 + 715 + AA + 8 + + 289 + 137 + 5 + 0 + 2 + + + 3 + T + B + + cleared + 2010-05-16 02:08:41 + + + 118 + 7 + + + + + + + + + + 133 + 5th,7th + 5 + 557 + 874 + AA + 8 + + 363 + 148 + 35 + 3 + 9 + + + 4 + + cleared + 2011-09-05 05:42:12 + + + 119 + 7 + + + + + + + + + + 134 + 5th + 5 + 580 + 797 + A + 7 + + 308 + 181 + 80 + 1 + 14 + + + 3 + T + + cleared + 2010-05-16 01:37:23 + + + 96 + 7 + + + + + + + + + + 155 + 5th,7th,gold + 8 + 961 + 1408 + A + 7 + + 519 + 370 + 51 + 5 + 22 + + + 3 + + cleared + 2011-09-05 05:42:12 + + + 94 + 7 + + + + + + + + + + 114 + 5th,8th,djt + 6 + 768 + 1189 + A + 7 + + 464 + 261 + 37 + 3 + 20 + + + 5 + H + + cleared + 2012-03-17 02:02:05 + + + 95 + 7 + + + + + + + + + + 200 + 5th,8th + 8 + 866 + 980 + B + 6 + + 390 + 200 + 195 + 24 + 69 + + + 3 + + cleared + 2010-05-16 01:38:29 + + + 98 + 7 + + + + + + + + + + 128 + 5th,7th + 9 + 788 + 994 + B + 6 + + 379 + 236 + 152 + 8 + 20 + + + 4 + + cleared + 2011-09-05 05:42:12 + + + 71 + 7 + + + + + + + + + + 105 + 5th,7th + 4 + 409 + 682 + AA + 9 + + 288 + 106 + 15 + 0 + 0 + + + 4 + + combo + 2011-09-05 05:42:12 + + + 15 + 7 + + + + + + + + + + 150 + 5th,6th + 7 + 688 + 887 + B + 6 + + 339 + 209 + 130 + 7 + 11 + + + 3 + T + B + + cleared + 2010-05-16 01:58:08 + + + 81 + 7 + + + + + + + + + + 150 + 5th,10th + 5 + 539 + 875 + AA + 8 + + 356 + 8 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 88 + 7 + + + + + + + + + + 150 + 5th,7th + 6 + 705 + 956 + A + 7 + + 376 + 204 + 110 + 7 + 13 + + + 3 + + cleared + 2011-09-05 05:42:12 + + + 58 + 7 + + + + + + + + + + 147 + 4th,5th,6th + 9 + 871 + 1247 + A + 7 + + 521 + 205 + 100 + 18 + 54 + + + 3 + T + B + + cleared + 2010-05-16 01:42:53 + + + 60 + 7 + + + + + + + + + + 147 + 4th,5th,6th,us,emp + 6 + 667 + 1053 + AA + 8 + + 445 + 163 + 52 + 0 + 9 + + + 3 + T + H + B + + cleared + + + + 2012-05-26 04:57:48 + + + 105 + A + + + + + + + + + + 250 + 4th,5th + 10 + 726 + 845 + B + 6 + + 317 + 211 + 123 + 69 + 38 + + + 1 + T + B + + cleared + 2010-05-16 02:43:48 + + + 77 + A + + + + + + + + + + 125 + 5th,7th + 6 + 679 + 942 + A + 7 + + 312 + 318 + 39 + 3 + 13 + + + 4 + B + + cleared + 2011-04-02 01:19:30 + + + 115 + A + + + + + + + + + + 78 + 5th + 6 + 508 + 731 + A + 7 + + 279 + 173 + 50 + 5 + 1 + + + 3 + T + B + + cleared + 2010-05-16 01:48:23 + + + 102 + A + + + + + + + + + + 137 + 4th,5th + 7 + 665 + 1080 + AA + 8 + + 452 + 176 + 33 + 3 + 8 + + + 3 + T + + cleared + 2012-05-26 02:45:15 + + + 72 + A + + + + + + + + + + 110 + 5th,7th + 7 + 550 + 669 + B + 6 + + 240 + 189 + 110 + 6 + 11 + + + 3 + T + B + + cleared + 2010-05-16 01:49:34 + + + 92 + A + + + + + + + + + + 155 + 5th + 7 + 746 + 1123 + A + 7 + + 449 + 225 + 68 + 3 + 9 + + + 3 + T + B + + cleared + 2010-05-16 01:50:00 + + + 93 + A + + + + + + + + + + 172 + 5th,7th,us + 7 + 592 + 954 + AA + 8 + + 401 + 152 + 29 + 6 + 8 + + + 3 + B + + cleared + 2011-04-02 01:19:30 + + + 119 + A + + + + + + + + + + 134 + 5th + 6 + 650 + 938 + A + 7 + + 363 + 212 + 66 + 7 + 10 + + + 3 + T + B + + cleared + 2010-05-16 01:50:46 + + + 98 + A + + + + + + + + + + 128 + 5th,7th + 10 + 881 + 1178 + A + 7 + + 454 + 270 + 134 + 11 + 33 + + + 4 + + cleared + 2011-04-02 01:19:30 + + + 81 + A + + + + + + + + + + 150 + 5th,10th + 7 + 672 + 1019 + A + 7 + + 206 + 22 + + + 3 + H + + cleared + 2011-09-05 05:55:08 + + + 75 + A + + + + + + + + + + 150 + 5th + 7 + 781 + 1106 + A + 7 + + 440 + 226 + 96 + 12 + 31 + + + 3 + T + B + + cleared + 2010-05-16 01:51:50 + + + 76 + A + + + + + + + + + + 128 + 5th + 10 + 806 + 1036 + B + 6 + + 385 + 266 + 123 + 13 + 37 + + + 3 + T + B + + cleared + 2010-05-16 01:52:45 + + + 82 + 7 + + + + + + + + + + 88 + 5th + 6 + 562 + 821 + A + 7 + + 317 + 187 + 56 + 2 + 3 + + + 3 + T + B + + cleared + 2010-05-16 01:55:30 + + + 90 + A + + + + + + + + + + 142 + 5th,7th,pb + 8 + 945 + 1402 + A + 7 + + 591 + 220 + 90 + 29 + 38 + + + 3 + + cleared + 2012-02-05 05:45:51 + + + 197 + 7 + + + + + + + + + + 110 + 3rd + 2 + 192 + 341 + AA + 9 + + 149 + 43 + 0 + 0 + 0 + + + 3 + T + B + + perfect + + + + + + + 2010-06-17 05:21:28 + + + 204 + 7 + + + + + + + + + + 112 + 3rd + 3 + 230 + 402 + AA + 9 + + 172 + 58 + 0 + 0 + 1 + + + 3 + + perfect + 2010-10-19 05:02:39 + + + 139 + A + + + + + + + + + + 169 + 4th + 7 + 487 + 792 + AA + 8 + + 337 + 118 + 28 + 1 + 10 + + + 2 + T + + cleared + 2012-05-26 05:02:36 + + + 225 + L7 + + + + + + + + + + 132 + 7th + 4 + 423 + 623 + A + 5 + + 242 + 139 + 40 + 0 + 2 + + + 4 + + played + 2011-04-02 01:19:30 + + + 225 + A + + + + + + + + + + 132 + 7th + 7 + 746 + 1108 + A + 7 + + 456 + 196 + 87 + 4 + 15 + + + 4 + B + + cleared + 2011-04-02 01:19:30 + + + 242 + L7 + + + + + + + + + + 95 + 7th + 4 + 409 + 629 + A + 5 + + 260 + 109 + 39 + 1 + 0 + + + 4 + + played + 2011-04-02 01:19:30 + + + 242 + A + + + + + + + + + + 95 + 7th + 8 + 816 + 1155 + A + 7 + + 458 + 239 + 109 + 5 + 7 + + + 4 + + cleared + 2011-04-02 01:19:30 + + + 90 + L7 + + + + + + + + + + 142 + 5th,7th,pb + 5 + 639 + 1058 + AA + 9 + + 464 + 130 + 45 + 0 + 0 + + + 3 + + combo + 2011-04-02 01:19:30 + + + 243 + A + + + + + + + + + + 125 + 7th,8th,gold + 9 + 934 + 1390 + A + 7 + + 513 + 364 + 43 + 1 + 27 + + + 4 + H + + cleared + 2011-04-02 05:18:40 + + + 42 + A + + + + + + + + + + 155 + 4th,6th,7th,8th + 10 + 1014 + 1344 + B + 6 + + 188 + 68 + + + 3 + + cleared + 2011-04-02 01:30:33 + + + 162 + L7 + + + + + + + + + + 94 + 3rd,7th + 2 + 249 + 388 + AA + 6 + + 154 + 80 + 14 + 1 + 11 + + + 4 + + played + 2011-04-02 01:19:30 + + + 244 + L7 + + + + + + + + + + 132 + 7th + 5 + 533 + 842 + AA + 9 + + 327 + 188 + 18 + 0 + 1 + + + 4 + + combo + 2011-04-02 01:19:30 + + + 244 + 7 + + + + + + + + + + 132 + 7th + 8 + 745 + 1100 + A + 7 + + 421 + 258 + 47 + 6 + 20 + + + 4 + + cleared + 2011-09-05 05:42:10 + + + 244 + A + + + + + + + + + + 132 + 7th + 10 + 900 + 1251 + A + 7 + + 428 + 395 + 64 + 5 + 14 + + + 4 + B + + cleared + 2011-04-02 01:19:30 + + + 27 + A + + + + + + + + + + 108 + 6th,7th + 10 + 932 + 1293 + A + 7 + + 454 + 385 + 68 + 10 + 30 + + + 4 + + cleared + 2011-04-02 01:19:30 + + + 226 + L7 + + + + + + + + + + 166 + 7th,10th + 3 + 361 + 583 + AA + 6 + + 238 + 107 + 15 + 1 + 2 + + + 3 + + played + 2011-04-02 01:19:30 + + + 226 + 7 + + + + + + + + + + 166 + 7th,10th + 5 + 494 + 757 + A + 7 + + 332 + 4 + + + 3 + H + + cleared + 2012-02-05 05:20:49 + + + 226 + A + + + + + + + + + + 166 + 7th,10th + 7 + 755 + 1100 + A + 7 + + 446 + 208 + 90 + 2 + 18 + + + 3 + H + B + + cleared + 2011-04-02 02:17:23 + + + 223 + L7 + + + + + + + + + + 156 + 7th + 2 + 208 + 381 + AAA + 10 + + 178 + 25 + 5 + 0 + 0 + + + 3 + + combo + 2011-04-02 01:19:30 + + + 223 + A + + + + + + + + + + 156 + 7th + 6 + 735 + 1151 + AA + 8 + + 477 + 197 + 59 + 2 + 4 + + + 3 + + cleared + 2011-04-02 01:19:30 + + + 227 + A + + + + + + + + + + 120 + 7th + 9 + 880 + 1264 + A + 7 + + 440 + 384 + 47 + 5 + 24 + + + 4 + B + + cleared + 2011-04-02 01:19:30 + + + 235 + L7 + + + + + + + + + + 190 + 7th + 4 + 422 + 612 + A + 5 + + 242 + 128 + 48 + 4 + 1 + + + 2 + + played + 2011-04-02 01:19:30 + + + 235 + 7 + + + + + + + + + + 190 + 7th + 6 + 620 + 909 + A + 7 + + 364 + 181 + 65 + 8 + 8 + + + 2 + B + + cleared + 2011-04-02 01:19:30 + + + 236 + L7 + + + + + + + + + + 160 + 7th + 5 + 494 + 697 + A + 5 + + 260 + 177 + 54 + 0 + 5 + + + 3 + + played + 2011-04-02 01:19:30 + + + 236 + A + + + + + + + + + + 160 + 7th + 8 + 823 + 1154 + A + 7 + + 449 + 256 + 108 + 5 + 24 + + + 3 + + cleared + 2011-04-02 01:19:30 + + + 237 + L7 + + + + + + + + + + 155 + 7th + 5 + 546 + 862 + AA + 9 + + 353 + 156 + 37 + 0 + 0 + + + 3 + + combo + 2011-04-02 01:19:30 + + + 237 + 7 + + + + + + + + + + 155 + 7th + 6 + 700 + 1053 + A + 7 + + 421 + 211 + 57 + 5 + 13 + + + 3 + + cleared + 2011-09-05 05:42:11 + + + 237 + A + + + + + + + + + + 155 + 7th + 8 + 925 + 1292 + A + 7 + + 515 + 262 + 111 + 18 + 34 + + + 3 + + cleared + 2011-04-02 01:19:30 + + + 179 + A + + + + + + + + + + 149 + 3rd,7th,8th + 7 + 614 + 968 + AA + 8 + + 394 + 180 + 33 + 6 + 6 + + + 3 + H + B + + cleared + 2011-04-02 01:30:33 + + + 120 + L7 + + + + + + + + + + 180 + 5th,7th + 4 + 480 + 713 + A + 5 + + 295 + 123 + 52 + 3 + 9 + + + 2 + + played + 2011-04-02 01:19:30 + + + 109 + A + + + + + + + + + + 179 + 3rd,5th,7th,8th,us,dd,pb + 9 + 786 + 1029 + B + 6 + + 367 + 295 + 78 + 8 + 49 + + + 3 + + cleared + 2012-02-05 05:45:51 + + + 245 + L7 + + + + + + + + + + 140 + 7th + 4 + 357 + 535 + A + 5 + + 211 + 113 + 31 + 0 + 3 + + + 4 + + played + 2011-04-02 01:19:30 + + + 245 + A + + + + + + + + + + 140 + 7th + 8 + 684 + 942 + A + 7 + + 379 + 184 + 95 + 16 + 31 + + + 3 + + cleared + 2011-04-02 01:19:30 + + + 229 + L7 + + + + + + + + + + 142 + 7th,dd + 3 + 416 + 720 + AA + 9 + + 307 + 106 + 3 + 0 + 1 + + + 3 + H + B + + combo + 2011-04-02 04:35:14 + + + 53 + A + + + + + + + + + + 150 + 6th,7th,gold + 10 + 1094 + 1180 + C + 3 + + 448 + 284 + 275 + 34 + 73 + + + 4 + + played + 2012-03-17 01:58:53 + + + 230 + L7 + + + + + + + + + + 82 + 7th,10th + 3 + 262 + 421 + AA + 9 + + 170 + 81 + 11 + 0 + 4 + + + 4 + + combo + 2011-04-02 01:19:30 + + + 230 + A + + + + + + + + + + 82 + 7th,10th + 6 + 463 + 683 + A + 7 + + 244 + 20 + + + 4 + + cleared + 2011-04-02 02:17:23 + + + 246 + 7 + + + + + + + + + + 125 + 7th,8th,10th + 7 + 820 + 1300 + AA + 8 + + 336 + 11 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 247 + L7 + + + + + + + + + + 126 + 7th + 6 + 620 + 1008 + AA + 9 + + 422 + 164 + 34 + 0 + 2 + + + 4 + + combo + 2011-04-02 01:19:30 + + + 247 + 7 + + + + + + + + + + 126 + 7th + 7 + 872 + 1260 + A + 7 + + 501 + 258 + 99 + 5 + 9 + + + 4 + + cleared + 2011-09-05 05:42:11 + + + 247 + A + + + + + + + + + + 126 + 7th + 8 + 940 + 1320 + A + 7 + + 517 + 286 + 117 + 7 + 17 + + + 4 + B + + cleared + 2011-04-02 01:19:30 + + + 248 + L7 + + + + + + + + + + 155 + 7th + 5 + 494 + 770 + AA + 6 + + 309 + 152 + 29 + 2 + 4 + + + 3 + + played + 2011-04-02 01:19:30 + + + 248 + A + + + + + + + + + + 155 + 7th + 10 + 807 + 1150 + A + 7 + + 461 + 228 + 92 + 16 + 27 + + + 3 + + cleared + 2011-04-02 01:19:30 + + + 44 + A + + + + + + + + + + 154 + 3rd,6th,7th,8th,us,hs,emp + 11 + 880 + 1019 + B + 4 + + 355 + 309 + 151 + 38 + 100 + + + 4 + + played + 2012-02-05 05:45:51 + + + 231 + L7 + + + + + + + + + + 141 + 7th + 4 + 454 + 785 + AA + 6 + + 342 + 101 + 10 + 0 + 1 + + + 4 + + played + 2011-04-02 01:19:30 + + + 231 + A + + + + + + + + + + 141 + 7th + 7 + 626 + 909 + A + 7 + + 342 + 225 + 58 + 1 + 3 + + + 3 + + cleared + 2011-04-02 01:19:30 + + + 72 + L7 + + + + + + + + + + 110 + 5th,7th + 3 + 283 + 444 + AA + 9 + + 169 + 106 + 8 + 0 + 1 + + + 4 + + combo + 2011-04-02 01:19:30 + + + 46 + A + + + + + + + + + + 154 + 3rd,5th,6th,7th + 8 + 617 + 635 + C + 3 + + 250 + 135 + 35 + 6 + 191 + + + 3 + B + + played + 2011-04-02 01:19:30 + + + 249 + L7 + + + + + + + + + + 155 + 7th,gold + 5 + 513 + 880 + AA + 8 + + 378 + 124 + 9 + 0 + 4 + + + 3 + H + + cleared + 2011-04-02 05:18:40 + + + 249 + A + + + + + + + + + + 155 + 7th,gold + 9 + 819 + 1227 + A + 7 + + 456 + 315 + 42 + 0 + 15 + + + 3 + H + + cleared + 2012-02-05 05:33:49 + + + 238 + L7 + + + + + + + + + + 130 + 7th + 4 + 431 + 684 + AA + 9 + + 278 + 128 + 25 + 0 + 0 + + + 4 + + combo + 2011-04-02 01:19:30 + + + 238 + A + + + + + + + + + + 130 + 7th + 7 + 624 + 956 + A + 7 + + 365 + 226 + 27 + 2 + 7 + + + 4 + + cleared + 2011-04-02 01:19:30 + + + 250 + L7 + + + + + + + + + + 152 + 7th + 5 + 500 + 829 + AA + 6 + + 355 + 119 + 24 + 0 + 2 + + + 3 + + played + 2011-04-02 01:19:30 + + + 250 + 7 + + + + + + + + + + 152 + 7th + 8 + 743 + 1117 + A + 7 + + 444 + 229 + 66 + 2 + 9 + + + 3 + + cleared + 2011-09-05 05:42:12 + + + 250 + A + + + + + + + + + + 152 + 7th + 10 + 881 + 1203 + A + 7 + + 474 + 255 + 122 + 12 + 27 + + + 3 + B + + cleared + 2011-04-02 01:19:30 + + + 251 + L7 + + + + + + + + + + 167 + 7th,10th + 5 + 571 + 987 + AA + 6 + + 440 + 107 + 17 + 2 + 7 + + + 2 + + played + 2011-04-02 01:19:30 + + + 251 + 7 + + + + + + + + + + 167 + 7th,10th + 7 + 857 + 1389 + AA + 8 + + 575 + 239 + 36 + 4 + 8 + + + 3 + H + + cleared + 2012-02-05 05:20:49 + + + 251 + A + + + + + + + + + + 167 + 7th,10th + 9 + 1058 + 1486 + A + 7 + + 594 + 298 + 122 + 25 + 41 + + + 3 + + cleared + 2011-04-02 01:19:30 + + + 99 + A + + + + + + + + + + 144 + 4th,5th,7th,8th,emp + 7 + 732 + 1264 + AA + 8 + + 555 + 154 + 22 + 0 + 4 + + + 4 + H + + cleared + 2012-02-05 05:45:51 + + + 232 + A + + + + + + + + + + 170 + 7th,pb + 7 + 638 + 1074 + AA + 9 + + 441 + 192 + 5 + 0 + 3 + + + 3 + H + B + + combo + 2012-02-05 05:45:51 + + + 260 + 7 + + + + + + + + + + 300 + 7th,red + 10 + 982 + 1203 + B + 6 + + 473 + 257 + 189 + 28 + 49 + + + 1 + + cleared + 2011-05-12 08:38:54 + + + 118 + L7 + + + + + + + + + + 133 + 5th,7th + 3 + 370 + 569 + A + 5 + + 225 + 119 + 22 + 3 + 4 + + + 4 + + played + 2011-04-02 01:19:30 + + + 118 + A + + + + + + + + + + 133 + 5th,7th + 6 + 594 + 919 + A + 7 + + 365 + 189 + 36 + 0 + 14 + + + 4 + B + + cleared + 2011-04-02 01:19:30 + + + 126 + A + + + + + + + + + + 128 + 4th,7th,us + 10 + 889 + 1137 + B + 4 + + 430 + 277 + 142 + 21 + 28 + + + 4 + + played + 2011-04-02 01:19:30 + + + 265 + A + + + + + + + + + + 174 + 7th,8th,9th,red,pb + 11 + 1207 + 1630 + A + 7 + + 661 + 308 + 198 + 13 + 79 + + + 2 + B + + cleared + 2012-02-05 05:23:47 + + + 252 + L7 + + + + + + + + + + 140 + 7th + 5 + 527 + 692 + B + 4 + + 273 + 146 + 106 + 2 + 0 + + + 3 + + played + 2011-04-02 01:19:30 + + + 252 + 7 + + + + + + + + + + 140 + 7th + 8 + 714 + 1030 + A + 7 + + 418 + 194 + 100 + 2 + 3 + + + 4 + + cleared + 2011-09-05 05:42:12 + + + 224 + L7 + + + + + + + + + + 136 + 7th + 3 + 338 + 566 + AA + 6 + + 241 + 84 + 8 + 2 + 3 + + + 4 + + played + 2011-04-02 01:19:30 + + + 224 + 7 + + + + + + + + + + 136 + 7th + 4 + 388 + 640 + AA + 8 + + 271 + 98 + 16 + 0 + 6 + + + 3 + + cleared + 2011-09-05 05:42:12 + + + 224 + A + + + + + + + + + + 136 + 7th + 7 + 678 + 998 + A + 7 + + 407 + 184 + 72 + 13 + 7 + + + 4 + + cleared + 2011-04-02 01:19:30 + + + 122 + L14 + + + + + + + + + + 128 + 4th,7th,8th,us + 1 + 247 + 276 + B + 6 + + 83 + 110 + 29 + 6 + 25 + + + 1 + + cleared + 2011-04-02 01:19:30 + + + 96 + L7 + + + + + + + + + + 155 + 5th,7th,gold + 5 + 621 + 1020 + AA + 6 + + 416 + 188 + 13 + 1 + 3 + + + 3 + + played + 2011-04-02 01:19:30 + + + 98 + L7 + + + + + + + + + + 128 + 5th,7th + 6 + 551 + 865 + AA + 9 + + 360 + 145 + 46 + 0 + 3 + + + 4 + + combo + 2011-04-02 01:19:30 + + + 253 + L7 + + + + + + + + + + 152 + 7th + 5 + 460 + 752 + AA + 8 + + 312 + 128 + 19 + 0 + 1 + + + 3 + + cleared + 2011-04-02 01:19:30 + + + 253 + 7 + + + + + + + + + + 152 + 7th + 8 + 793 + 1197 + A + 7 + + 505 + 187 + 78 + 7 + 24 + + + 3 + + cleared + 2011-09-05 05:42:12 + + + 71 + L7 + + + + + + + + + + 105 + 5th,7th + 2 + 187 + 303 + AA + 9 + + 125 + 53 + 9 + 0 + 0 + + + 4 + + combo + 2011-04-02 01:19:30 + + + 79 + L7 + + + + + + + + + + 180 + 5th,7th,gold + 4 + 452 + 718 + AA + 6 + + 296 + 126 + 28 + 0 + 2 + + + 2 + + played + 2011-04-02 01:19:30 + + + 233 + L7 + + + + + + + + + + 158 + 7th + 3 + 396 + 712 + AAA + 9 + + 320 + 72 + 3 + 1 + 0 + + + 3 + + cleared + 2011-04-02 01:19:30 + + + 233 + 7 + + + + + + + + + + 158 + 7th + 5 + 572 + 943 + AA + 8 + + 408 + 127 + 30 + 1 + 10 + + + 3 + + cleared + 2011-09-05 05:42:12 + + + 233 + A + + + + + + + + + + 158 + 7th + 7 + 750 + 1270 + AA + 8 + + 574 + 122 + 32 + 14 + 19 + + + 3 + B + + cleared + 2011-04-02 01:19:30 + + + 239 + 7 + + + + + + + + + + 158 + 7th + 6 + 780 + 1105 + A + 7 + + 425 + 255 + 96 + 0 + 12 + + + 3 + + cleared + 2011-09-05 05:42:12 + + + 239 + A + + + + + + + + + + 158 + 7th + 7 + 865 + 1295 + A + 7 + + 523 + 249 + 89 + 3 + 4 + + + 3 + B + + cleared + 2011-04-02 01:19:30 + + + 254 + A + + + + + + + + + + 125 + 7th,9th + 8 + 761 + 1140 + A + 7 + + 339 + 24 + + + 4 + H + + cleared + 2012-02-05 05:16:38 + + + 97 + A + + + + + + + + + + 130 + 5th,7th,9th,us + 8 + 674 + 927 + A + 7 + + 204 + 27 + + + 4 + + cleared + 2012-02-05 05:16:38 + + + 240 + A + + + + + + + + + + 140 + 7th,9th + 8 + 833 + 1190 + A + 7 + + 438 + 314 + 61 + 10 + 33 + + + 3 + H + + cleared + 2011-04-02 01:57:43 + + + 88 + L7 + + + + + + + + + + 150 + 5th,7th + 5 + 517 + 786 + A + 5 + + 313 + 160 + 38 + 1 + 10 + + + 3 + + played + 2011-04-02 01:19:30 + + + 88 + A + + + + + + + + + + 150 + 5th,7th + 9 + 971 + 1229 + B + 4 + + 484 + 261 + 165 + 20 + 50 + + + 4 + + played + 2011-04-02 01:19:30 + + + 262 + 7 + + + + + + + + + + 155 + 7th,8th,dd,pb + 10 + 1250 + 1642 + B + 4 + + 565 + 512 + 137 + 10 + 65 + + + 3 + + played + 2012-02-05 05:32:22 + + + 17 + 7 + + + + + + + + + + 135 + 6th,7th,us + 9 + 949 + 1307 + A + 7 + + 454 + 399 + 79 + 7 + 36 + + + 4 + H + + cleared + 2011-09-05 05:42:12 + + + 241 + L7 + + + + + + + + + + 140 + 7th + 5 + 442 + 744 + AA + 9 + + 315 + 114 + 13 + 0 + 1 + + + 3 + + combo + 2011-04-02 01:19:30 + + + 241 + A + + + + + + + + + + 140 + 7th + 7 + 818 + 1061 + B + 6 + + 394 + 273 + 137 + 11 + 15 + + + 4 + B + + cleared + 2011-04-02 01:19:30 + + + 221 + L7 + + + + + + + + + + 145 + 3rd,7th,8th,pb + 4 + 398 + 571 + A + 5 + + 204 + 163 + 17 + 6 + 11 + + + 3 + + played + 2011-04-02 01:19:30 + + + 255 + L7 + + + + + + + + + + 140 + 7th + 4 + 477 + 717 + A + 5 + + 282 + 153 + 40 + 0 + 2 + + + 3 + + played + 2011-04-02 01:19:30 + + + 255 + A + + + + + + + + + + 140 + 7th + 10 + 963 + 1328 + A + 7 + + 521 + 286 + 141 + 7 + 17 + + + 4 + B + + cleared + 2011-04-02 01:19:30 + + + 256 + L7 + + + + + + + + + + 152 + 7th,10th + 6 + 778 + 1163 + A + 7 + + 450 + 263 + 54 + 1 + 15 + + + 3 + + cleared + 2011-04-02 02:17:23 + + + 256 + 7 + + + + + + + + + + 152 + 7th,10th + 9 + 982 + 1345 + A + 7 + + 472 + 401 + 88 + 8 + 37 + + + 3 + + cleared + 2011-09-05 05:42:13 + + + 256 + A + + + + + + + + + + 152 + 7th,10th + 10 + 1083 + 1253 + B + 6 + + 408 + 437 + 187 + 8 + 57 + + + 3 + + cleared + 2011-04-02 01:19:30 + + + 61 + A + + + + + + + + + + 150 + 5th,6th,7th,8th,9th,10th,us,hs,pb + 12 + 1519 + 1628 + C + 3 + + 637 + 354 + 323 + 147 + 190 + + + 3 + + played + 2011-04-02 01:19:30 + + + 18 + 7 + + + + + + + + + + 168 + 6th,7th + 8 + 793 + 1251 + AA + 8 + + 492 + 267 + 29 + 1 + 7 + + + 3 + + cleared + 2011-09-05 05:42:13 + + + 18 + A + + + + + + + + + + 168 + 6th,7th + 9 + 969 + 1394 + A + 7 + + 531 + 332 + 60 + 9 + 90 + + + 2 + + cleared + 2011-04-02 01:19:30 + + + 257 + 7 + + + + + + + + + + 160 + 7th,10th,pb + 9 + 874 + 1160 + B + 6 + + 453 + 254 + 150 + 9 + 13 + + + 3 + H + + cleared + 2012-02-05 05:20:49 + + + 257 + A + + + + + + + + + + 160 + 7th,10th,pb + 10 + 1132 + 1464 + B + 6 + + 584 + 296 + 225 + 9 + 27 + + + 3 + + cleared + 2012-02-05 05:45:51 + + + 111 + A + + + + + + + + + + 101 + 3rd,5th,7th,8th,10th,us,hs,pb + 10 + 786 + 1126 + A + 7 + + 437 + 252 + 85 + 3 + 14 + + + 5 + H + B + + cleared + 2012-02-05 05:28:39 + + + 298 + 7 + + + + + + + + + + 125 + 8th + 9 + 831 + 1241 + A + 7 + + 187 + 18 + + + 4 + + cleared + 2011-09-05 05:45:13 + + + 298 + A + + + + + + + + + + 125 + 8th + 9 + 960 + 1312 + A + 7 + + 216 + 41 + + + 4 + + cleared + 2011-04-02 01:30:33 + + + 273 + L7 + + + + + + + + + + 145 + 8th + 5 + 473 + 632 + A + 7 + + 201 + 7 + + + 3 + + cleared + 2011-04-02 01:30:33 + + + 273 + A + + + + + + + + + + 145 + 8th + 7 + 722 + 1057 + A + 7 + + 438 + 5 + + + 3 + + cleared + 2011-04-02 01:30:33 + + + 284 + 7 + + + + + + + + + + 180 + 8th + 8 + 658 + 843 + B + 6 + + 205 + 27 + + + 2 + + cleared + 2011-04-02 01:30:33 + + + 284 + A + + + + + + + + + + 180 + 8th + 10 + 815 + 1109 + A + 7 + + 571 + 12 + + + 2 + + cleared + 2011-04-02 01:30:33 + + + 285 + A + + + + + + + + + + 145 + 8th,10th,us + 9 + 881 + 1229 + A + 7 + + 281 + 27 + + + 4 + H + + cleared + 2011-09-05 05:45:13 + + + 267 + 7 + + + + + + + + + + 148 + 8th + 5 + 643 + 922 + A + 7 + + 278 + 19 + + + 3 + + cleared + 2011-04-02 01:30:33 + + + 286 + 7 + + + + + + + + + + 155 + 8th,emp + 7 + 796 + 1239 + AA + 8 + + 491 + 257 + 36 + 0 + 20 + + + 3 + H + + cleared + 2012-03-17 07:17:56 + + + 286 + A + + + + + + + + + + 155 + 8th,emp + 11 + 980 + 1385 + A + 7 + + 524 + 337 + 79 + 4 + 36 + + + 3 + + cleared + + + + 2012-03-17 07:17:56 + + + 268 + A + + + + + + + + + + 124 + 8th + 7 + 824 + 1266 + A + 7 + + 367 + 9 + + + 4 + H + + cleared + 2011-09-05 05:45:13 + + + 274 + A + + + + + + + + + + 144 + 8th + 8 + 714 + 1091 + A + 7 + + 229 + 14 + + + 4 + H + + cleared + 2011-09-05 05:45:13 + + + 299 + A + + + + + + + + + + 155 + 8th + 10 + 1100 + 1445 + B + 6 + + 228 + 56 + + + 3 + + cleared + 2011-04-02 01:30:33 + + + 269 + A + + + + + + + + + + 149 + 8th + 7 + 712 + 1015 + A + 7 + + 223 + 37 + + + 3 + + cleared + 2011-04-02 01:30:33 + + + 318 + A + + + + + + + + + + 165 + 8th,red + 10 + 1155 + 1622 + A + 7 + + 670 + 282 + 155 + 24 + 49 + + + 3 + B + + cleared + 2011-05-12 08:38:53 + + + 300 + A + + + + + + + + + + 131 + 8th,dd + 9 + 961 + 1180 + B + 6 + + 150 + 75 + + + 4 + H + + cleared + 2011-04-02 04:35:14 + + + 312 + A + + + + + + + + + + 133 + 8th + 7 + 931 + 1356 + A + 7 + + 283 + 26 + + + 4 + H + + cleared + 2011-09-05 05:45:13 + + + 270 + A + + + + + + + + + + 130 + 8th + 7 + 553 + 740 + A + 7 + + 211 + 9 + + + 4 + + cleared + 2011-04-02 01:30:33 + + + 275 + 7 + + + + + + + + + + 140 + 8th + 6 + 672 + 967 + A + 7 + + 365 + 23 + + + 4 + H + + cleared + 2011-04-02 01:30:33 + + + 275 + A + + + + + + + + + + 140 + 8th + 7 + 817 + 1145 + A + 7 + + 672 + 13 + + + 4 + + cleared + 2011-04-02 01:30:33 + + + 276 + A + + + + + + + + + + 133 + 8th + 8 + 855 + 1183 + A + 7 + + 188 + 50 + + + 4 + + cleared + 2011-04-02 01:30:33 + + + 288 + A + + + + + + + + + + 140 + 8th,gold + 11 + 940 + 1356 + A + 7 + + 543 + 270 + 77 + 25 + 41 + + + 4 + + cleared + 2011-09-05 06:04:31 + + + 277 + A + + + + + + + + + + 130 + 8th + 8 + 913 + 1355 + A + 7 + + 382 + 13 + + + 4 + H + + cleared + 2011-09-05 05:45:13 + + + 289 + 7 + + + + + + + + + + 172 + 8th + 7 + 831 + 1321 + AA + 8 + + 344 + 9 + + + 2 + H + + cleared + 2011-09-05 05:45:14 + + + 289 + A + + + + + + + + + + 172 + 8th + 8 + 911 + 1452 + AA + 8 + + 306 + 21 + + + 2 + H + + cleared + 2011-09-05 05:45:14 + + + 908 + A + + + + + + + + + + 130 + pb + 10 + 1155 + 1201 + C + 3 + + 436 + 329 + 316 + 52 + 88 + + + 4 + + played + 2012-02-05 05:45:51 + + + 271 + A + + + + + + + + + + 134 + 8th,gold + 8 + 839 + 1206 + A + 7 + + 434 + 338 + 49 + 3 + 29 + + + 4 + H + + cleared + 2011-09-05 06:04:31 + + + 303 + 7 + + + + + + + + + + 188 + 8th + 9 + 1056 + 1401 + B + 6 + + 199 + 53 + + + 2 + + cleared + 2011-04-02 01:30:33 + + + 303 + A + + + + + + + + + + 188 + 8th + 9 + 1157 + 1471 + B + 6 + + 151 + 70 + + + 2 + + cleared + 2011-04-02 01:30:33 + + + 290 + A + + + + + + + + + + 155 + 8th,10th,emp + 9 + 997 + 1463 + A + 7 + + 607 + 249 + 106 + 12 + 31 + + + 3 + + cleared + 2012-03-17 07:17:57 + + + 291 + A + + + + + + + + + + 144 + 8th,9th,us,pb + 9 + 849 + 1030 + B + 6 + + 112 + 84 + + + 4 + + cleared + 2011-04-02 01:30:33 + + + 314 + A + + + + + + + + + + 152 + 8th,red + 10 + 1241 + 1197 + C + 3 + + 196 + 154 + + + 4 + + played + 2011-04-02 01:30:33 + + + 69 + A + + + + + + + + + + 179 + 3rd,6th,8th,gold + 11 + 889 + 1184 + B + 6 + + 491 + 202 + 144 + 34 + 41 + + + 3 + + cleared + + + + 2012-02-05 05:33:49 + + + 304 + A + + + + + + + + + + 140 + 8th,red + 9 + 739 + 838 + B + 6 + + 319 + 200 + 184 + 17 + 31 + + + 4 + + cleared + 2011-04-02 02:39:54 + + + 279 + 7 + + + + + + + + + + 145 + 8th + 6 + 587 + 790 + A + 7 + + 166 + 34 + + + 4 + + cleared + 2011-04-02 01:30:33 + + + 279 + A + + + + + + + + + + 145 + 8th + 8 + 622 + 939 + A + 7 + + 352 + 13 + + + 4 + H + + cleared + 2011-09-05 05:45:14 + + + 293 + A + + + + + + + + + + 160 + 8th,dd + 10 + 879 + 1060 + B + 6 + + 131 + 50 + + + 3 + + cleared + 2011-09-05 05:45:14 + + + 294 + 7 + + + + + + + + + + 140 + 8th + 7 + 721 + 1089 + A + 7 + + 360 + 9 + + + 4 + H + + cleared + 2011-04-02 01:30:33 + + + 294 + A + + + + + + + + + + 140 + 8th + 8 + 770 + 1042 + A + 7 + + 128 + 47 + + + 4 + + cleared + 2011-04-02 01:30:33 + + + 295 + A + + + + + + + + + + 148 + 8th + 9 + 725 + 1058 + A + 7 + + 101 + 37 + + + 4 + + cleared + 2011-04-02 01:30:33 + + + 315 + L7 + + + + + + + + + + 177 + 8th + 6 + 627 + 622 + C + 5 + + 163 + 68 + + + 3 + + cleared + 2011-04-02 01:30:33 + + + 315 + 7 + + + + + + + + + + 177 + 8th + 9 + 943 + 903 + C + 5 + + 192 + 66 + + + 3 + + cleared + 2011-04-02 01:30:33 + + + 315 + A + + + + + + + + + + 177 + 8th + 10 + 1037 + 1266 + B + 6 + + 221 + 58 + + + 2 + + cleared + 2011-04-02 01:30:33 + + + 309 + 7 + + + + + + + + + + 177 + 8th + 6 + 743 + 905 + B + 6 + + 139 + 41 + + + 2 + + cleared + 2011-04-02 01:30:33 + + + 309 + A + + + + + + + + + + 177 + 8th + 8 + 858 + 1447 + AA + 8 + + 244 + 10 + + + 2 + H + + cleared + 2011-09-05 05:45:14 + + + 305 + 7 + + + + + + + + + + 155 + 8th + 9 + 952 + 1262 + B + 6 + + 599 + 39 + + + 3 + + cleared + 2011-04-02 01:30:33 + + + 317 + A + + + + + + + + + + 155 + 8th,red + 9 + 880 + 1371 + AA + 8 + + 569 + 233 + 70 + 4 + 8 + + + 3 + H + + cleared + 2012-03-17 01:57:10 + + + 221 + 7 + + + + + + + + + + 145 + 3rd,7th,8th,pb + 7 + 530 + 664 + B + 4 + + 233 + 198 + 58 + 13 + 34 + + + 4 + + played + 2011-09-05 05:42:12 + + + 59 + 7 + + + + + + + + + + 150 + 6th,7th,8th,red,emp + 10 + 900 + 1183 + B + 6 + + 484 + 215 + 135 + 29 + 80 + + + 3 + B + + cleared + 2011-10-07 12:29:51 + + + 296 + L7 + + + + + + + + + + 135 + 8th,gold + 6 + 609 + 869 + A + 7 + + 323 + 17 + + + 4 + H + + cleared + 2011-04-02 01:30:33 + + + 296 + A + + + + + + + + + + 135 + 8th,gold + 9 + 959 + 1436 + A + 7 + + 580 + 276 + 100 + 1 + 4 + + + 4 + H + + cleared + 2012-03-17 01:58:53 + + + 280 + 7 + + + + + + + + + + 130 + 8th + 6 + 643 + 851 + B + 6 + + 224 + 18 + + + 4 + H + + cleared + 2011-09-05 05:45:14 + + + 280 + A + + + + + + + + + + 130 + 8th + 7 + 794 + 989 + B + 6 + + 170 + 46 + + + 4 + + cleared + 2011-04-02 01:30:33 + + + 153 + 7 + + + + + + + + + + 125 + 4th,7th,8th,us + 7 + 630 + 897 + A + 7 + + 328 + 241 + 45 + 8 + 13 + + + 4 + + cleared + 2011-09-05 05:42:13 + + + 297 + A + + + + + + + + + + 93 + 8th,djt + 10 + 1077 + 1434 + B + 6 + + 547 + 340 + 144 + 15 + 46 + + + 5 + + cleared + 2011-04-02 05:38:31 + + + 272 + A + + + + + + + + + + 122 + 8th,pb + 5 + 559 + 1000 + AAA + 9 + + 454 + 92 + 10 + 0 + 4 + + + 4 + H + + cleared + 2012-02-05 05:45:51 + + + 282 + 7 + + + + + + + + + + 125 + 8th + 6 + 666 + 832 + B + 6 + + 198 + 46 + + + 4 + + cleared + 2011-04-02 01:30:33 + + + 282 + A + + + + + + + + + + 125 + 8th + 8 + 968 + 1476 + A + 7 + + 301 + 26 + + + 4 + H + + cleared + 2011-09-05 05:45:15 + + + 379 + 7 + + + + + + + + + + 180 + 9th + 9 + 858 + 1153 + A + 7 + + 161 + 37 + + + 3 + H + + cleared + 2011-04-02 01:57:43 + + + 380 + A + + + + + + + + + + 125 + 9th + 9 + 984 + 1458 + A + 7 + + 406 + 22 + + + 4 + H + + cleared + 2012-02-05 05:16:38 + + + 319 + A + + + + + + + + + + 180 + 9th + 9 + 935 + 1176 + B + 6 + + 164 + 48 + + + 3 + + cleared + 2011-09-05 05:51:41 + + + 320 + A + + + + + + + + + + 100 + 9th + 9 + 673 + 961 + A + 7 + + 424 + 18 + + + 4 + H + + cleared + 2011-09-05 05:51:41 + + + 322 + A + + + + + + + + + + 148 + 9th,us + 8 + 908 + 1355 + A + 7 + + 286 + 28 + + + 4 + H + + cleared + 2012-02-05 05:16:38 + + + 324 + A + + + + + + + + + + 150 + 9th + 9 + 936 + 1393 + A + 7 + + 314 + 19 + + + 4 + H + + cleared + 2011-09-05 05:51:41 + + + 383 + 7 + + + + + + + + + + 140 + 9th + 10 + 1102 + 1502 + A + 7 + + 191 + 38 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 325 + 7 + + + + + + + + + + 150 + 9th + 6 + 732 + 1027 + A + 7 + + 168 + 28 + + + 3 + H + + cleared + 2011-04-02 01:57:43 + + + 325 + A + + + + + + + + + + 150 + 9th + 7 + 778 + 1213 + AA + 8 + + 419 + 22 + + + 3 + H + + cleared + 2011-09-05 05:51:41 + + + 327 + A + + + + + + + + + + 150 + 9th + 7 + 732 + 1247 + AA + 8 + + 408 + 1 + + + 4 + H + + cleared + 2011-09-05 05:51:41 + + + 146 + 7 + + + + + + + + + + 108 + 4th,9th,pb + 9 + 481 + 545 + B + 6 + + 198 + 149 + 87 + 39 + 28 + + + 2 + + cleared + + + + 2011-04-02 05:48:23 + + + 146 + A + + + + + + + + + + 108 + 4th,9th,pb + 11 + 700 + 727 + C + 3 + + 130 + 73 + + + 2 + + played + 2012-02-05 05:16:38 + + + 328 + 7 + + + + + + + + + + 160 + 9th + 8 + 751 + 1088 + A + 7 + + 265 + 28 + + + 3 + H + + cleared + 2011-04-02 01:57:43 + + + 328 + A + + + + + + + + + + 160 + 9th + 10 + 803 + 1195 + A + 7 + + 407 + 29 + + + 3 + + cleared + 2011-09-05 05:51:41 + + + 329 + 7 + + + + + + + + + + 125 + 9th + 10 + 937 + 1289 + A + 7 + + 528 + 31 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 8 + 7 + + + + + + + + + + 155 + 6th,7th,9th + 8 + 945 + 1387 + A + 7 + + 240 + 35 + + + 3 + H + + cleared + 2011-04-02 01:57:43 + + + 175 + 7 + + + + + + + + + + 135 + 3rd,9th + 8 + 623 + 970 + AA + 8 + + 154 + 18 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 330 + 7 + + + + + + + + + + 152 + 9th + 7 + 947 + 1191 + B + 6 + + 221 + 27 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 330 + A + + + + + + + + + + 152 + 9th + 8 + 1066 + 1253 + B + 4 + + 233 + 84 + + + 3 + + played + 2012-02-05 05:16:38 + + + 331 + 7 + + + + + + + + + + 145 + 9th + 8 + 824 + 1125 + A + 7 + + 275 + 32 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 147 + 7 + + + + + + + + + + 170 + 4th,9th + 7 + 703 + 1048 + A + 7 + + 162 + 31 + + + 3 + H + + cleared + 2011-04-02 01:57:43 + + + 333 + A + + + + + + + + + + 130 + 9th + 8 + 859 + 1221 + A + 7 + + 228 + 21 + + + 4 + H + + cleared + 2012-02-05 05:16:38 + + + 334 + 7 + + + + + + + + + + 100 + 9th + 7 + 586 + 766 + B + 6 + + 324 + 21 + + + 2 + H + + cleared + + + + 2011-04-02 01:57:43 + + + 189 + 7 + + + + + + + + + + 149 + 9th,us + 6 + 417 + 538 + B + 6 + + 242 + 7 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 189 + A + + + + + + + + + + 149 + 9th,us + 9 + 536 + 700 + B + 6 + + 299 + 14 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 337 + 7 + + + + + + + + + + 152 + 9th + 8 + 843 + 1227 + A + 7 + + 604 + 17 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 338 + A + + + + + + + + + + 88 + 9th + 9 + 716 + 1125 + AA + 8 + + 364 + 11 + + + 4 + H + + cleared + + + + 2011-09-05 05:51:41 + + + 339 + A + + + + + + + + + + 142 + 9th,gold + 7 + 727 + 1119 + A + 7 + + 210 + 14 + + + 4 + H + + cleared + 2011-09-05 05:51:41 + + + 340 + A + + + + + + + + + + 150 + 9th + 9 + 897 + 1318 + A + 7 + + 380 + 23 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 384 + 7 + + + + + + + + + + 159 + 9th + 9 + 1077 + 1608 + A + 7 + + 159 + 29 + + + 3 + H + + cleared + 2011-09-05 05:51:41 + + + 342 + A + + + + + + + + + + 132 + 9th + 10 + 910 + 1339 + A + 7 + + 475 + 23 + + + 4 + H + + cleared + 2012-02-05 05:16:38 + + + 343 + A + + + + + + + + + + 130 + 9th + 7 + 841 + 964 + B + 6 + + 280 + 33 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 344 + A + + + + + + + + + + 142 + 9th,emp + 8 + 910 + 1418 + AA + 8 + + 591 + 236 + 75 + 1 + 13 + + + 4 + H + + cleared + + + + 2012-02-05 05:45:51 + + + 346 + A + + + + + + + + + + 130 + 9th + 11 + 1173 + 1684 + A + 7 + + 183 + 86 + + + 4 + + cleared + + + + 2012-02-05 05:16:38 + + + 348 + A + + + + + + + + + + 177 + 9th,10th + 10 + 1046 + 1388 + B + 6 + + 252 + 39 + + + 2 + H + + cleared + + + + 2011-04-02 01:57:43 + + + 352 + 7 + + + + + + + + + + 158 + 9th + 8 + 804 + 1271 + AA + 8 + + 405 + 13 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 291 + 7 + + + + + + + + + + 144 + 8th,9th,us,pb + 8 + 743 + 1098 + A + 7 + + 211 + 27 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 385 + 7 + + + + + + + + + + 172 + 9th,10th,gold,pb + 10 + 1376 + 1852 + A + 7 + + 257 + 47 + + + 2 + H + + cleared + 2012-02-05 05:16:38 + + + 354 + 7 + + + + + + + + + + 155 + 9th,10th,emp + 10 + 985 + 1268 + B + 6 + + 189 + 78 + + + 3 + + cleared + 2011-04-02 01:57:43 + + + 382 + 7 + + + + + + + + + + 175 + 9th + 8 + 1001 + 1413 + A + 7 + + 471 + 25 + + + 2 + H + + cleared + 2011-09-05 05:51:41 + + + 357 + 7 + + + + + + + + + + 142 + 9th + 8 + 818 + 1023 + B + 6 + + 151 + 33 + + + 4 + H + + cleared + 2011-09-05 05:51:41 + + + 361 + A + + + + + + + + + + 100 + 9th,emp + 10 + 898 + 1307 + A + 7 + + 216 + 39 + + + 4 + H + + cleared + + + + 2012-02-05 05:16:38 + + + 362 + A + + + + + + + + + + 132 + 9th + 11 + 959 + 1172 + B + 6 + + 218 + 69 + + + 4 + + cleared + + + + 2011-09-05 05:51:41 + + + 363 + 7 + + + + + + + + + + 200 + 9th,10th + 9 + 963 + 1291 + A + 7 + + 165 + 63 + + + 3 + + cleared + 2011-04-02 01:57:43 + + + 365 + 7 + + + + + + + + + + 129 + 9th,10th,pb + 8 + 790 + 1246 + AA + 8 + + 368 + 3 + + + 4 + H + + cleared + 2012-03-17 01:55:30 + + + 366 + 7 + + + + + + + + + + 180 + 9th,us,djt + 8 + 704 + 1119 + AA + 8 + + 482 + 155 + 63 + 3 + 6 + + + 2 + H + + cleared + 2012-02-05 05:36:30 + + + 368 + 7 + + + + + + + + + + 180 + 9th + 8 + 784 + 1001 + B + 6 + + 265 + 26 + + + 2 + H + + cleared + 2011-04-02 01:57:43 + + + 370 + A + + + + + + + + + + 135 + 9th + 10 + 828 + 1192 + A + 7 + + 313 + 27 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 372 + A + + + + + + + + + + 110 + 9th + 7 + 656 + 1119 + AA + 8 + + 484 + 1 + + + 4 + H + + cleared + 2011-09-05 05:51:41 + + + 375 + A + + + + + + + + + + 124 + 9th + 8 + 727 + 972 + A + 7 + + 497 + 5 + + + 4 + H + + cleared + 2011-09-05 05:51:42 + + + 378 + 7 + + + + + + + + + + 139 + 9th + 8 + 764 + 1138 + A + 7 + + 322 + 25 + + + 4 + H + + cleared + 2012-02-05 05:16:38 + + + 376 + 7 + + + + + + + + + + 132 + 9th + 8 + 699 + 1006 + A + 7 + + 229 + 16 + + + 4 + H + + cleared + 2011-04-02 01:57:43 + + + 377 + A + + + + + + + + + + 125 + 9th + 9 + 1136 + 1648 + A + 7 + + 182 + 41 + + + 4 + H + + cleared + 2011-09-05 05:51:42 + + + 755 + A + + + + + + + + + + 140 + djt + 9 + 918 + 1358 + A + 7 + + 542 + 274 + 92 + 1 + 14 + + + 4 + H + + cleared + 2011-04-02 05:38:30 + + + 388 + 7 + + + + + + + + + + 95 + 10th + 4 + 400 + 652 + AA + 9 + + 400 + 0 + + + 4 + H + + combo + 2012-02-05 05:20:49 + + + 389 + 7 + + + + + + + + + + 62 + 10th + 8 + 680 + 822 + B + 6 + + 314 + 25 + + + 2 + H + + cleared + 2011-05-12 08:37:36 + + + 389 + A + + + + + + + + + + 62 + 10th + 10 + 1066 + 1261 + B + 6 + + 90 + 75 + + + 2 + + cleared + + + + 2011-05-12 08:37:36 + + + 446 + 7 + + + + + + + + + + 182 + 10th + 8 + 845 + 1315 + AA + 8 + + 278 + 28 + + + 2 + H + + cleared + 2012-03-17 01:55:29 + + + 390 + 7 + + + + + + + + + + 145 + 10th + 7 + 839 + 1210 + A + 7 + + 236 + 32 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 390 + L14 + + + + + + + + + + 145 + 10th + 5 + 649 + 737 + B + 6 + + 156 + 32 + + + 2 + + cleared + 2011-04-02 02:17:23 + + + 391 + 7 + + + + + + + + + + 136 + 10th + 6 + 727 + 1173 + AA + 8 + + 542 + 9 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 392 + 7 + + + + + + + + + + 160 + 10th + 7 + 865 + 1327 + A + 7 + + 169 + 30 + + + 3 + H + + cleared + 2012-02-05 05:20:49 + + + 392 + A + + + + + + + + + + 160 + 10th + 10 + 1089 + 1454 + A + 7 + + 148 + 54 + + + 3 + + cleared + 2011-04-02 02:17:23 + + + 392 + L14 + + + + + + + + + + 160 + 10th + 6 + 596 + 673 + B + 6 + + 91 + 49 + + + 2 + + cleared + 2011-04-02 02:17:23 + + + 393 + 7 + + + + + + + + + + 144 + 10th + 7 + 835 + 1243 + A + 7 + + 443 + 17 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 394 + 7 + + + + + + + + + + 160 + 10th + 9 + 930 + 1418 + A + 7 + + 264 + 43 + + + 3 + H + + cleared + 2012-03-17 01:55:29 + + + 395 + L7 + + + + + + + + + + 158 + 10th + 5 + 510 + 608 + B + 4 + + 119 + 50 + + + 3 + + played + 2011-04-02 02:17:23 + + + 395 + 7 + + + + + + + + + + 158 + 10th + 7 + 702 + 1095 + AA + 8 + + 284 + 14 + + + 3 + H + + cleared + 2012-02-05 05:20:49 + + + 395 + L14 + + + + + + + + + + 158 + 10th + 5 + 522 + 580 + B + 6 + + 153 + 34 + + + 2 + + cleared + 2011-04-02 02:17:23 + + + 396 + 7 + + + + + + + + + + 155 + 10th + 9 + 986 + 1474 + A + 7 + + 401 + 18 + + + 3 + H + + cleared + 2012-03-17 01:55:29 + + + 397 + 7 + + + + + + + + + + 170 + 10th + 8 + 570 + 827 + A + 7 + + 240 + 20 + + + 3 + H + + cleared + 2012-02-05 05:20:49 + + + 398 + A + + + + + + + + + + 129 + 10th + 10 + 885 + 1276 + A + 7 + + 212 + 33 + + + 4 + + cleared + 2011-04-02 02:17:23 + + + 399 + A + + + + + + + + + + 157 + 10th,pb + 10 + 1205 + 1551 + B + 4 + + 197 + 64 + + + 3 + + played + 2011-05-12 08:37:36 + + + 400 + L7 + + + + + + + + + + 155 + 10th,djt + 5 + 533 + 624 + B + 4 + + 157 + 38 + + + 3 + + played + 2011-04-02 02:17:23 + + + 401 + 7 + + + + + + + + + + 72 + 10th + 4 + 331 + 537 + AA + 9 + + 331 + 0 + + + 4 + H + + combo + + + + 2012-02-05 05:20:49 + + + 401 + A + + + + + + + + + + 72 + 10th + 5 + 386 + 668 + AA + 8 + + 273 + 1 + + + 4 + H + + cleared + + + + 2011-05-12 08:37:36 + + + 402 + 7 + + + + + + + + + + 170 + 10th,emp + 6 + 626 + 1124 + AAA + 10 + + 626 + 0 + + + 3 + H + + combo + + + + 2012-02-05 05:20:49 + + + 403 + A + + + + + + + + + + 160 + 10th + 7 + 826 + 1383 + AA + 8 + + 564 + 9 + + + 3 + H + + cleared + 2011-05-12 08:37:36 + + + 404 + A + + + + + + + + + + 160 + 10th + 9 + 982 + 1374 + A + 7 + + 110 + 52 + + + 3 + + cleared + 2011-04-02 02:17:23 + + + 405 + L7 + + + + + + + + + + 130 + 10th + 4 + 426 + 630 + A + 7 + + 345 + 10 + + + 4 + + cleared + 2011-04-02 02:17:23 + + + 405 + 7 + + + + + + + + + + 130 + 10th + 7 + 866 + 1235 + A + 7 + + 314 + 26 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 406 + 7 + + + + + + + + + + 158 + 10th + 8 + 829 + 1234 + A + 7 + + 353 + 14 + + + 3 + H + + cleared + 2012-02-05 05:20:49 + + + 406 + A + + + + + + + + + + 158 + 10th + 10 + 1131 + 1440 + B + 6 + + 202 + 75 + + + 3 + + cleared + 2011-04-02 02:17:23 + + + 407 + 7 + + + + + + + + + + 140 + 10th + 8 + 836 + 1251 + A + 7 + + 240 + 25 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 407 + A + + + + + + + + + + 140 + 10th + 10 + 1010 + 1285 + B + 6 + + 173 + 41 + + + 4 + + cleared + 2011-04-02 02:17:23 + + + 6 + A + + + + + + + + + + 140 + 6th,10th,us + 8 + 863 + 1167 + A + 7 + + 209 + 43 + + + 4 + H + + cleared + 2011-04-02 02:17:23 + + + 409 + A + + + + + + + + + + 135 + 10th + 9 + 775 + 1081 + A + 7 + + 180 + 39 + + + 4 + + cleared + 2011-04-02 02:17:23 + + + 410 + 7 + + + + + + + + + + 148 + 10th + 9 + 1049 + 1527 + A + 7 + + 282 + 25 + + + 4 + H + + cleared + 2012-03-17 01:55:30 + + + 230 + L14 + + + + + + + + + + 82 + 7th,10th + 6 + 395 + 405 + C + 5 + + 75 + 30 + + + 3 + + cleared + 2011-04-02 02:17:23 + + + 411 + L7 + + + + + + + + + + 160 + 10th + 4 + 385 + 541 + A + 7 + + 296 + 10 + + + 3 + + cleared + 2011-04-02 02:17:23 + + + 411 + 7 + + + + + + + + + + 160 + 10th + 8 + 643 + 768 + B + 6 + + 259 + 20 + + + 3 + H + + cleared + 2011-04-02 02:17:23 + + + 411 + L14 + + + + + + + + + + 160 + 10th + 3 + 385 + 490 + B + 6 + + 284 + 5 + + + 2 + + cleared + 2011-04-02 02:17:23 + + + 412 + 7 + + + + + + + + + + 145 + 10th,pb + 7 + 729 + 1142 + AA + 8 + + 155 + 34 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 412 + A + + + + + + + + + + 145 + 10th,pb + 10 + 915 + 1267 + A + 7 + + 169 + 62 + + + 4 + + cleared + 2011-05-12 08:37:36 + + + 412 + L14 + + + + + + + + + + 145 + 10th,pb + 5 + 597 + 645 + C + 5 + + 102 + 28 + + + 2 + + cleared + 2011-04-02 02:17:23 + + + 413 + L7 + + + + + + + + + + 180 + 10th + 5 + 470 + 755 + AA + 8 + + 166 + 3 + + + 2 + + cleared + 2011-04-02 02:17:23 + + + 413 + A + + + + + + + + + + 180 + 10th + 9 + 1088 + 1727 + AA + 8 + + 298 + 31 + + + 2 + H + + cleared + 2011-09-05 05:55:03 + + + 443 + 7 + + + + + + + + + + 190 + 10th + 9 + 1044 + 1373 + B + 6 + + 202 + 35 + + + 2 + + cleared + 2011-05-12 08:37:36 + + + 445 + A + + + + + + + + + + 150 + 10th + 9 + 1086 + 1620 + A + 7 + + 312 + 31 + + + 4 + H + + cleared + 2011-09-05 05:55:06 + + + 445 + L14 + + + + + + + + + + 150 + 10th + 5 + 621 + 717 + B + 6 + + 73 + 31 + + + 0 + + cleared + 2011-04-02 02:17:23 + + + 416 + 7 + + + + + + + + + + 225 + 10th + 7 + 767 + 1228 + AA + 8 + + 320 + 10 + + + 1 + H + + cleared + 2012-02-05 05:20:49 + + + 416 + L14 + + + + + + + + + + 225 + 10th + 6 + 600 + 511 + D + 2 + + 71 + 78 + + + 0 + + played + 2011-04-02 02:17:23 + + + 440 + 7 + + + + + + + + + + 135 + 10th + 7 + 687 + 1105 + AA + 8 + + 205 + 18 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 440 + A + + + + + + + + + + 135 + 10th + 10 + 1079 + 1251 + B + 6 + + 266 + 53 + + + 0 + + cleared + 2011-04-02 02:17:23 + + + 417 + 7 + + + + + + + + + + 133 + 10th + 5 + 402 + 673 + AA + 8 + + 332 + 3 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 417 + A + + + + + + + + + + 133 + 10th + 7 + 765 + 1043 + A + 7 + + 218 + 24 + + + 0 + H + + cleared + 2011-04-02 02:17:23 + + + 418 + 7 + + + + + + + + + + 150 + 10th + 9 + 677 + 869 + B + 6 + + 218 + 29 + + + 0 + H + + cleared + 2011-04-02 02:17:23 + + + 419 + L7 + + + + + + + + + + 140 + 10th,hs,pb + 6 + 557 + 849 + A + 7 + + 275 + 2 + + + 0 + + cleared + 2011-04-02 02:17:23 + + + 420 + 7 + + + + + + + + + + 160 + 10th + 8 + 767 + 1114 + A + 7 + + 243 + 34 + + + 3 + H + + cleared + 2012-02-05 05:20:49 + + + 421 + 7 + + + + + + + + + + 156 + 10th,emp + 9 + 903 + 1480 + AA + 8 + + 616 + 248 + 34 + 1 + 23 + + + 3 + H + + cleared + 2011-09-05 06:18:29 + + + 421 + L14 + + + + + + + + + + 156 + 10th,emp + 4 + 484 + 613 + B + 6 + + 91 + 19 + + + 0 + + cleared + 2011-04-02 02:17:23 + + + 422 + 7 + + + + + + + + + + 170 + 10th + 10 + 807 + 1062 + B + 6 + + 294 + 99 + + + 0 + + cleared + 2011-04-02 02:17:23 + + + 423 + 7 + + + + + + + + + + 100 + 10th + 6 + 484 + 787 + AA + 8 + + 338 + 13 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 423 + A + + + + + + + + + + 100 + 10th + 8 + 502 + 807 + AA + 8 + + 442 + 3 + + + 4 + H + + cleared + 2011-09-05 05:55:07 + + + 385 + L14 + + + + + + + + + + 172 + 9th,10th,gold,pb + 6 + 778 + 474 + E + 1 + + 33 + 143 + + + 0 + + played + 2011-04-02 02:17:23 + + + 424 + L14 + + + + + + + + + + 200 + 10th,hs,emp + 4 + 444 + 288 + E + 1 + + 102 + 59 + + + 0 + + played + 2011-04-02 02:17:23 + + + 425 + A + + + + + + + + + + 148 + 10th + 9 + 931 + 1254 + A + 7 + + 433 + 37 + + + 0 + + cleared + 2011-04-02 02:17:23 + + + 425 + L14 + + + + + + + + + + 148 + 10th + 6 + 509 + 518 + C + 3 + + 140 + 44 + + + 0 + + played + 2011-04-02 02:17:23 + + + 426 + 7 + + + + + + + + + + 98 + 10th + 6 + 552 + 935 + AA + 8 + + 473 + 2 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 426 + A + + + + + + + + + + 98 + 10th + 8 + 747 + 1166 + AA + 8 + + 507 + 10 + + + 4 + H + + cleared + 2011-09-05 05:55:07 + + + 427 + 7 + + + + + + + + + + 160 + 10th + 7 + 727 + 1148 + AA + 8 + + 259 + 19 + + + 3 + H + + cleared + 2012-02-05 05:20:49 + + + 428 + L7 + + + + + + + + + + 177 + 10th,pb + 7 + 799 + 1067 + A + 7 + + 244 + 15 + + + 2 + H + + cleared + 2011-04-02 05:48:23 + + + 428 + 7 + + + + + + + + + + 177 + 10th,pb + 10 + 1156 + 1536 + B + 6 + + 143 + 44 + + + 0 + H + + cleared + 2011-04-02 02:17:23 + + + 429 + A + + + + + + + + + + 150 + 10th + 6 + 613 + 986 + AA + 8 + + 286 + 8 + + + 0 + H + + cleared + 2011-04-02 02:17:23 + + + 209 + A + + + + + + + + + + 144 + 3rd,10th + 7 + 643 + 916 + A + 7 + + 367 + 7 + + + 4 + H + + cleared + 2011-09-05 05:55:08 + + + 430 + L7 + + + + + + + + + + 144 + 10th + 6 + 652 + 803 + B + 6 + + 92 + 42 + + + 0 + + cleared + 2011-04-02 02:17:23 + + + 430 + 7 + + + + + + + + + + 144 + 10th + 9 + 841 + 1168 + A + 7 + + 276 + 32 + + + 3 + H + + cleared + 2012-03-17 01:55:30 + + + 430 + L14 + + + + + + + + + + 144 + 10th + 6 + 683 + 591 + D + 2 + + 105 + 80 + + + 0 + + played + 2011-04-02 02:17:23 + + + 444 + L7 + + + + + + + + + + 154 + 10th + 5 + 640 + 740 + B + 6 + + 112 + 44 + + + 0 + + cleared + 2011-04-02 02:17:23 + + + 444 + L14 + + + + + + + + + + 154 + 10th + 5 + 833 + 611 + D + 2 + + 95 + 152 + + + 0 + + played + 2011-04-02 02:17:23 + + + 431 + 7 + + + + + + + + + + 130 + 10th + 8 + 765 + 1102 + A + 7 + + 313 + 16 + + + 4 + H + + cleared + 2012-03-17 01:55:30 + + + 431 + A + + + + + + + + + + 130 + 10th + 9 + 835 + 1290 + A + 7 + + 480 + 6 + + + 4 + H + + cleared + 2011-05-12 08:37:36 + + + 432 + L14 + + + + + + + + + + 140 + 10th + 5 + 597 + 597 + C + 3 + + 97 + 65 + + + 0 + + played + 2011-04-02 02:17:23 + + + 434 + 7 + + + + + + + + + + 132 + 10th + 7 + 789 + 1235 + AA + 8 + + 388 + 18 + + + 4 + H + + cleared + 2012-03-17 01:55:30 + + + 434 + A + + + + + + + + + + 132 + 10th + 8 + 983 + 1271 + B + 6 + + 214 + 32 + + + 0 + H + + cleared + 2011-04-02 02:17:23 + + + 434 + L14 + + + + + + + + + + 132 + 10th + 6 + 646 + 669 + C + 3 + + 46 + 85 + + + 0 + + played + 2011-04-02 02:17:23 + + + 435 + L14 + + + + + + + + + + 140 + 10th + 6 + 624 + 631 + C + 3 + + 78 + 39 + + + 0 + + played + 2011-04-02 02:17:23 + + + 436 + 7 + + + + + + + + + + 145 + 10th + 7 + 685 + 1065 + A + 7 + + 260 + 10 + + + 3 + H + + cleared + 2012-03-17 01:55:30 + + + 436 + A + + + + + + + + + + 145 + 10th + 8 + 852 + 1242 + A + 7 + + 275 + 34 + + + 4 + H + + cleared + 2011-09-05 05:55:08 + + + 436 + L14 + + + + + + + + + + 145 + 10th + 6 + 532 + 493 + C + 3 + + 51 + 58 + + + 0 + + played + 2011-04-02 02:17:23 + + + 437 + 7 + + + + + + + + + + 139 + 10th,pb + 8 + 768 + 1043 + A + 7 + + 419 + 205 + 123 + 12 + 29 + + + 4 + H + + cleared + 2011-04-02 05:48:23 + + + 437 + A + + + + + + + + + + 139 + 10th,pb + 11 + 1134 + 1266 + B + 4 + + 276 + 102 + + + 4 + + played + 2011-09-05 05:55:09 + + + 441 + L7 + + + + + + + + + + 92 + 10th + 4 + 252 + 307 + B + 6 + + 147 + 11 + + + 0 + + cleared + 2011-04-02 02:17:23 + + + 441 + 7 + + + + + + + + + + 92 + 10th + 6 + 366 + 581 + AA + 8 + + 232 + 6 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 441 + A + + + + + + + + + + 92 + 10th + 9 + 649 + 1080 + AA + 8 + + 368 + 12 + + + 4 + H + + cleared + 2011-09-05 05:55:09 + + + 438 + 7 + + + + + + + + + + 148 + 10th + 7 + 901 + 1370 + A + 7 + + 173 + 29 + + + 3 + H + + cleared + 2012-03-17 01:55:30 + + + 442 + L7 + + + + + + + + + + 180 + 10th + 2 + 250 + 420 + AA + 9 + + 250 + 0 + + + 0 + H + + combo + 2011-04-02 02:17:23 + + + 442 + 7 + + + + + + + + + + 180 + 10th + 4 + 386 + 640 + AA + 8 + + 354 + 1 + + + 0 + H + + cleared + 2011-04-02 02:17:23 + + + 442 + A + + + + + + + + + + 180 + 10th + 10 + 914 + 1254 + A + 7 + + 218 + 37 + + + 2 + H + + cleared + 2012-03-17 01:55:30 + + + 20 + A + + + + + + + + + + 205 + 6th,10th + 11 + 1282 + 1613 + B + 6 + + 280 + 53 + + + 0 + + cleared + 2011-04-02 02:17:23 + + + 20 + L14 + + + + + + + + + + 205 + 6th,10th + 6 + 745 + 471 + E + 1 + + 54 + 88 + + + 0 + + played + 2011-04-02 02:17:23 + + + 439 + 7 + + + + + + + + + + 100 + 10th + 5 + 399 + 705 + AA + 9 + + 399 + 0 + + + 4 + H + + combo + 2012-02-05 05:20:49 + + + 478 + 7 + + + + + + + + + + 154 + red,dd,emp + 10 + 1386 + 1752 + B + 6 + + 688 + 376 + 261 + 31 + 56 + + + 3 + B + + cleared + 2012-02-05 05:32:21 + + + 479 + A + + + + + + + + + + 180 + red + 9 + 948 + 1347 + A + 7 + + 563 + 221 + 139 + 7 + 24 + + + 2 + H + + cleared + 2011-04-02 02:39:54 + + + 484 + A + + + + + + + + + + 135 + red + 8 + 909 + 1432 + AA + 8 + + 598 + 236 + 69 + 1 + 9 + + + 4 + H + B + + cleared + 2012-02-05 05:23:46 + + + 485 + A + + + + + + + + + + 141 + red + 11 + 1000 + 1234 + B + 4 + + 490 + 254 + 188 + 43 + 69 + + + 4 + + played + 2012-02-05 05:23:46 + + + 488 + A + + + + + + + + + + 137 + red + 11 + 1097 + 1444 + B + 4 + + 569 + 306 + 150 + 44 + 66 + + + 4 + + played + 2012-02-05 05:23:47 + + + 489 + A + + + + + + + + + + 132 + red + 9 + 948 + 1200 + B + 6 + + 449 + 302 + 153 + 15 + 29 + + + 4 + B + + cleared + 2012-03-17 01:57:10 + + + 493 + 7 + + + + + + + + + + 200 + red + 11 + 916 + 1351 + A + 5 + + 584 + 183 + 94 + 25 + 62 + + + 2 + B + + played + 2012-02-05 05:23:47 + + + 495 + 7 + + + + + + + + + + 175 + red,emp + 10 + 1103 + 1239 + B + 4 + + 481 + 277 + 258 + 44 + 75 + + + 3 + + played + 2011-04-02 02:39:54 + + + 496 + 7 + + + + + + + + + + 173 + red,emp + 12 + 1116 + 1348 + B + 4 + + 522 + 304 + 204 + 51 + 60 + + + 3 + + played + + + + 2011-09-05 06:18:29 + + + 335 + A + + + + + + + + + + 160 + 9th,red + 9 + 763 + 1053 + A + 7 + + 419 + 215 + 111 + 8 + 25 + + + 3 + H + B + + cleared + 2011-04-02 02:39:54 + + + 498 + A + + + + + + + + + + 171 + red + 8 + 990 + 1561 + AA + 8 + + 668 + 225 + 71 + 10 + 24 + + + 3 + H + + cleared + 2011-04-02 02:39:54 + + + 525 + 7 + + + + + + + + + + 146 + red + 9 + 1330 + 1875 + A + 7 + + 726 + 423 + 167 + 8 + 15 + + + 4 + H + B + + cleared + 2012-02-05 05:23:47 + + + 501 + A + + + + + + + + + + 212 + red + 11 + 1436 + 1755 + B + 4 + + 673 + 409 + 276 + 23 + 83 + + + 2 + + played + 2011-04-02 02:39:54 + + + 503 + A + + + + + + + + + + 135 + red + 9 + 1089 + 1544 + A + 7 + + 610 + 324 + 141 + 9 + 13 + + + 4 + H + B + + cleared + 2012-02-05 05:23:47 + + + 502 + A + + + + + + + + + + 155 + red + 8 + 969 + 1292 + A + 7 + + 507 + 278 + 153 + 10 + 28 + + + 3 + H + + cleared + 2011-04-02 02:39:54 + + + 349 + A + + + + + + + + + + 155 + 9th,red + 10 + 1144 + 1460 + B + 6 + + 560 + 340 + 207 + 20 + 39 + + + 3 + + cleared + 2011-04-02 02:39:54 + + + 507 + A + + + + + + + + + + 152 + red + 9 + 1186 + 1725 + A + 7 + + 698 + 329 + 129 + 13 + 35 + + + 4 + H + + cleared + 2011-05-12 08:38:54 + + + 508 + 7 + + + + + + + + + + 140 + red + 8 + 938 + 1288 + A + 7 + + 522 + 244 + 146 + 17 + 22 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 508 + A + + + + + + + + + + 140 + red + 9 + 1080 + 1336 + B + 6 + + 507 + 322 + 209 + 32 + 32 + + + 4 + B + + cleared + 2011-04-02 02:39:54 + + + 509 + A + + + + + + + + + + 84 + red + 9 + 937 + 1311 + A + 7 + + 541 + 229 + 137 + 14 + 23 + + + 3 + H + B + + cleared + 2012-02-05 05:23:47 + + + 48 + A + + + + + + + + + + 149 + 5th,6th,red,pb + 8 + 892 + 1186 + B + 6 + + 477 + 232 + 131 + 22 + 54 + + + 4 + H + + cleared + 2012-02-05 05:45:51 + + + 511 + A + + + + + + + + + + 110 + red + 7 + 699 + 1015 + A + 7 + + 405 + 205 + 86 + 1 + 4 + + + 5 + H + + cleared + 2011-04-02 02:39:54 + + + 308 + A + + + + + + + + + + 148 + 8th,red,pb + 11 + 1081 + 1276 + B + 6 + + 498 + 280 + 232 + 45 + 67 + + + 4 + B + + cleared + + + + 2012-03-17 01:57:10 + + + 513 + A + + + + + + + + + + 160 + red + 9 + 932 + 1453 + AA + 8 + + 611 + 231 + 73 + 8 + 20 + + + 3 + H + B + + cleared + 2012-03-17 01:57:10 + + + 304 + 7 + + + + + + + + + + 140 + 8th,red + 8 + 684 + 874 + B + 6 + + 330 + 214 + 115 + 15 + 16 + + + 4 + H + B + + cleared + 2011-04-02 02:39:54 + + + 514 + A + + + + + + + + + + 164 + red,dd,pb + 11 + 1184 + 1437 + B + 4 + + 550 + 337 + 221 + 29 + 70 + + + 3 + + played + 2012-03-17 01:57:10 + + + 527 + A + + + + + + + + + + 155 + red + 10 + 1223 + 1738 + A + 7 + + 687 + 364 + 148 + 14 + 27 + + + 3 + H + B + + cleared + 2012-03-17 01:57:10 + + + 528 + 7 + + + + + + + + + + 152 + red + 9 + 1071 + 1487 + A + 7 + + 586 + 315 + 132 + 23 + 29 + + + 4 + H + B + + cleared + 2012-02-05 05:23:47 + + + 519 + A + + + + + + + + + + 160 + red,dd + 10 + 1111 + 760 + D + 2 + + 247 + 266 + 394 + 139 + 121 + + + 3 + + played + 2011-04-02 02:39:54 + + + 529 + A + + + + + + + + + + 140 + red + 10 + 1073 + 1287 + B + 6 + + 483 + 321 + 228 + 11 + 42 + + + 4 + + cleared + 2011-04-02 02:39:54 + + + 522 + A + + + + + + + + + + 180 + red + 9 + 1006 + 1638 + AA + 8 + + 712 + 214 + 62 + 10 + 17 + + + 2 + H + B + + cleared + 2012-03-17 01:57:10 + + + 523 + A + + + + + + + + + + 126 + red,pb + 11 + 1062 + 1280 + B + 4 + + 480 + 320 + 175 + 60 + 55 + + + 4 + + played + + + + 2011-04-02 02:39:54 + + + 543 + A + + + + + + + + + + 115 + hs + 10 + 925 + 1040 + B + 6 + + 354 + 332 + 202 + 18 + 46 + + + 5 + + cleared + 2011-04-02 03:35:39 + + + 544 + A + + + + + + + + + + 160 + hs + 8 + 852 + 967 + B + 6 + + 330 + 307 + 195 + 10 + 20 + + + 3 + H + B + + cleared + 2012-02-05 05:28:39 + + + 545 + 7 + + + + + + + + + + 166 + hs + 10 + 1066 + 731 + D + 4 + + 207 + 317 + 462 + 41 + 69 + + + 3 + + cleared + 2011-04-02 03:35:39 + + + 546 + A + + + + + + + + + + 200 + hs,pb + 10 + 1363 + 1655 + B + 6 + + 598 + 459 + 263 + 8 + 51 + + + 2 + + cleared + 2011-04-02 03:35:39 + + + 597 + A + + + + + + + + + + 136 + hs,emp + 11 + 1272 + 1467 + B + 4 + + 563 + 341 + 280 + 49 + 91 + + + 4 + + played + 2012-02-05 05:45:51 + + + 145 + A + + + + + + + + + + 160 + 4th,hs + 11 + 873 + 1246 + A + 5 + + 523 + 200 + 101 + 24 + 72 + + + 3 + T + B + + played + + + + 2012-05-26 03:25:56 + + + 292 + A + + + + + + + + + + 135 + 8th,hs,pb + 12 + 1251 + 1364 + C + 3 + + 566 + 232 + 229 + 90 + 199 + + + 4 + + played + 2011-04-27 00:24:30 + + + 570 + A + + + + + + + + + + 160 + hs,emp + 10 + 1156 + 1612 + A + 7 + + 641 + 330 + 152 + 13 + 34 + + + 4 + H + B + + cleared + 2012-02-05 05:28:39 + + + 575 + 7 + + + + + + + + + + 151 + hs,pb + 10 + 1059 + 1269 + B + 6 + + 461 + 347 + 233 + 12 + 35 + + + 3 + H + + cleared + 2012-02-05 05:28:39 + + + 56 + A + + + + + + + + + + 167 + 5th,6th,7th,hs,pb + 10 + 1204 + 1640 + A + 5 + + 598 + 444 + 115 + 3 + 61 + + + 3 + + played + + + + 2012-02-05 05:28:39 + + + 585 + A + + + + + + + + + + 160 + hs + 10 + 1010 + 1257 + B + 6 + + 491 + 275 + 211 + 7 + 36 + + + 3 + + cleared + 2011-04-02 03:35:39 + + + 586 + A + + + + + + + + + + 147 + hs + 10 + 1017 + 1104 + C + 5 + + 395 + 314 + 269 + 10 + 50 + + + 4 + + cleared + 2011-04-02 03:35:39 + + + 675 + A + + + + + + + + + + 144 + dd + 10 + 1344 + 1639 + B + 6 + + 618 + 403 + 273 + 26 + 43 + + + 4 + + cleared + 2011-04-02 04:35:13 + + + 606 + A + + + + + + + + + + 140 + dd + 10 + 1174 + 1563 + B + 6 + + 605 + 353 + 180 + 11 + 51 + + + 4 + B + + cleared + 2011-09-05 05:58:55 + + + 608 + A + + + + + + + + + + 140 + dd + 11 + 1019 + 1282 + B + 4 + + 514 + 254 + 185 + 40 + 42 + + + 4 + + played + + + + 2012-02-05 05:32:21 + + + 627 + A + + + + + + + + + + 145 + dd + 9 + 836 + 1321 + AA + 8 + + 558 + 205 + 62 + 1 + 14 + + + 4 + H + + cleared + 2011-04-02 04:35:13 + + + 639 + A + + + + + + + + + + 155 + dd + 11 + 1178 + 1555 + B + 4 + + 645 + 265 + 202 + 30 + 59 + + + 3 + B + + played + 2012-02-05 05:32:21 + + + 609 + A + + + + + + + + + + 165 + dd + 9 + 976 + 1351 + A + 7 + + 547 + 257 + 147 + 8 + 23 + + + 3 + H + + cleared + 2011-04-02 04:35:13 + + + 655 + A + + + + + + + + + + 400 + dd + 12 + 1073 + 1014 + C + 3 + + 353 + 308 + 322 + 28 + 96 + + + 0 + + played + 2011-09-05 05:58:55 + + + 193 + L7 + + + + + + + + + + 114 + 3rd,dd + 3 + 300 + 527 + AA + 9 + + 227 + 73 + 0 + 0 + 0 + + + 5 + H + B + + perfect + 2012-02-05 05:32:21 + + + 614 + L7 + + + + + + + + + + 145 + dd + 4 + 396 + 605 + A + 7 + + 249 + 107 + 35 + 2 + 6 + + + 4 + H + B + + cleared + 2011-04-02 04:35:14 + + + 630 + A + + + + + + + + + + 145 + dd + 9 + 1216 + 1589 + B + 6 + + 621 + 347 + 228 + 7 + 20 + + + 4 + H + + cleared + 2011-04-02 04:35:14 + + + 644 + A + + + + + + + + + + 160 + dd + 9 + 934 + 1320 + A + 7 + + 513 + 294 + 122 + 0 + 9 + + + 3 + H + + cleared + 2011-04-02 04:35:14 + + + 636 + A + + + + + + + + + + 135 + dd + 10 + 1194 + 1728 + A + 7 + + 702 + 324 + 134 + 15 + 32 + + + 4 + + cleared + 2011-09-05 05:58:55 + + + 662 + A + + + + + + + + + + 152 + dd + 11 + 1264 + 1662 + B + 4 + + 646 + 370 + 212 + 12 + 45 + + + 3 + B + + played + 2011-09-05 05:58:55 + + + 643 + A + + + + + + + + + + 180 + dd + 9 + 1026 + 1483 + A + 7 + + 589 + 305 + 102 + 14 + 32 + + + 2 + H + + cleared + 2011-04-02 04:35:15 + + + 663 + A + + + + + + + + + + 170 + dd + 10 + 1261 + 1803 + A + 7 + + 712 + 379 + 141 + 16 + 27 + + + 3 + H + + cleared + 2012-02-05 05:32:22 + + + 664 + A + + + + + + + + + + 150 + dd + 10 + 1120 + 1329 + B + 4 + + 495 + 339 + 221 + 30 + 63 + + + 3 + + played + 2011-04-02 04:35:15 + + + 621 + A + + + + + + + + + + 140 + dd + 9 + 868 + 1138 + B + 6 + + 443 + 252 + 159 + 10 + 19 + + + 4 + H + + cleared + 2011-04-02 04:35:15 + + + 654 + A + + + + + + + + + + 135 + dd + 9 + 891 + 1377 + A + 7 + + 570 + 237 + 81 + 3 + 5 + + + 4 + H + + cleared + 2011-04-02 04:35:15 + + + 634 + A + + + + + + + + + + 160 + dd,pb + 10 + 1209 + 1469 + B + 6 + + 574 + 321 + 255 + 33 + 57 + + + 3 + + cleared + 2011-04-02 04:35:15 + + + 656 + L7 + + + + + + + + + + 180 + dd,gold,pb + 6 + 596 + 916 + A + 7 + + 372 + 172 + 43 + 5 + 9 + + + 2 + H + B + + cleared + 2011-04-02 04:35:15 + + + 686 + L7 + + + + + + + + + + 147 + gold + 4 + 489 + 763 + AA + 9 + + 304 + 155 + 30 + 0 + 0 + + + 4 + + combo + 2012-02-05 05:33:49 + + + 681 + L7 + + + + + + + + + + 155 + gold + 4 + 307 + 496 + AA + 9 + + 205 + 86 + 16 + 0 + 0 + + + 3 + + combo + 2011-04-02 05:18:40 + + + 682 + A + + + + + + + + + + 171 + gold + 8 + 868 + 1241 + A + 7 + + 495 + 251 + 103 + 8 + 24 + + + 3 + H + + cleared + 2011-04-02 05:18:40 + + + 716 + L7 + + + + + + + + + + 119 + gold + 3 + 323 + 549 + AA + 9 + + 237 + 75 + 11 + 0 + 0 + + + 4 + + combo + 2011-04-02 05:18:40 + + + 716 + A + + + + + + + + + + 119 + gold + 10 + 981 + 1372 + A + 7 + + 543 + 286 + 125 + 14 + 26 + + + 4 + H + + cleared + 2012-03-17 01:58:53 + + + 730 + L7 + + + + + + + + + + 184 + gold + 7 + 800 + 1196 + A + 7 + + 495 + 206 + 83 + 3 + 19 + + + 2 + H + + cleared + 2011-04-02 05:18:40 + + + 730 + 7 + + + + + + + + + + 184 + gold + 10 + 1308 + 1605 + B + 4 + + 634 + 337 + 199 + 12 + 126 + + + 2 + + played + 2011-09-05 06:04:24 + + + 685 + A + + + + + + + + + + 160 + gold + 10 + 1127 + 1740 + A + 7 + + 706 + 328 + 77 + 2 + 26 + + + 3 + + cleared + 2012-03-17 01:58:53 + + + 684 + A + + + + + + + + + + 180 + gold + 9 + 897 + 1270 + A + 7 + + 505 + 260 + 118 + 2 + 15 + + + 2 + H + + cleared + 2011-04-02 05:18:40 + + + 735 + L7 + + + + + + + + + + 153 + gold + 4 + 396 + 627 + AA + 9 + + 269 + 89 + 37 + 0 + 2 + + + 3 + H + + comboed + 2012-02-05 05:33:48 + + + 735 + A + + + + + + + + + + 153 + gold + 10 + 1130 + 1521 + A + 7 + + 594 + 333 + 182 + 11 + 22 + + + 3 + + cleared + 2012-02-05 05:33:49 + + + 719 + 7 + + + + + + + + + + 145 + gold + 7 + 676 + 898 + B + 6 + + 345 + 208 + 112 + 3 + 14 + + + 4 + H + + cleared + 2011-04-02 05:18:40 + + + 688 + 7 + + + + + + + + + + 146 + gold + 9 + 980 + 1373 + A + 7 + + 549 + 275 + 134 + 8 + 24 + + + 4 + + cleared + 2011-04-02 05:18:40 + + + 688 + A + + + + + + + + + + 146 + gold + 10 + 1200 + 1415 + B + 4 + + 574 + 267 + 146 + 8 + 205 + + + 4 + + played + 2012-03-17 01:58:53 + + + 731 + L7 + + + + + + + + + + 165 + gold + 7 + 785 + 1089 + A + 7 + + 420 + 249 + 102 + 9 + 15 + + + 3 + H + + cleared + 2011-04-02 05:18:40 + + + 731 + 7 + + + + + + + + + + 165 + gold + 10 + 1255 + 1533 + B + 4 + + 593 + 347 + 248 + 50 + 53 + + + 3 + + played + 2011-09-05 06:04:29 + + + 690 + L7 + + + + + + + + + + 150 + gold + 4 + 394 + 652 + AA + 8 + + 268 + 116 + 9 + 0 + 1 + + + 3 + H + + cleared + 2011-04-02 05:18:40 + + + 692 + L7 + + + + + + + + + + 157 + gold + 4 + 386 + 669 + AA + 9 + + 293 + 83 + 10 + 0 + 0 + + + 3 + + combo + 2011-04-02 05:18:40 + + + 53 + 7 + + + + + + + + + + 150 + 6th,7th,gold + 9 + 918 + 1024 + B + 6 + + 385 + 254 + 217 + 42 + 63 + + + 3 + + cleared + 2011-04-02 05:18:40 + + + 693 + L7 + + + + + + + + + + 125 + gold + 3 + 322 + 565 + AA + 9 + + 245 + 75 + 2 + 0 + 0 + + + 4 + + combo + 2011-04-02 05:18:40 + + + 695 + A + + + + + + + + + + 140 + gold + 10 + 953 + 1075 + B + 6 + + 391 + 293 + 215 + 28 + 48 + + + 4 + + cleared + 2011-04-02 05:18:40 + + + 720 + A + + + + + + + + + + 150 + gold,emp + 8 + 719 + 1133 + AA + 8 + + 467 + 199 + 41 + 6 + 15 + + + 4 + H + + cleared + 2011-09-05 06:04:31 + + + 725 + A + + + + + + + + + + 132 + gold + 9 + 928 + 1129 + B + 6 + + 420 + 289 + 197 + 3 + 31 + + + 4 + H + + cleared + 2011-04-02 05:18:40 + + + 723 + A + + + + + + + + + + 175 + gold + 9 + 1036 + 1632 + AA + 8 + + 679 + 274 + 61 + 6 + 29 + + + 3 + H + + cleared + 2011-04-02 05:18:40 + + + 721 + A + + + + + + + + + + 165 + gold + 10 + 1099 + 1499 + A + 7 + + 604 + 291 + 178 + 10 + 22 + + + 3 + H + + cleared + 2012-03-17 01:58:53 + + + 384 + A + + + + + + + + + + 159 + 9th + 10 + 1312 + 1515 + B + 4 + + 95 + 147 + + + 3 + + played + 2011-09-05 05:51:41 + + + 152 + A + + + + + + + + + + 170 + 4th,gold + 10 + 1120 + 1398 + B + 6 + + 531 + 336 + 201 + 30 + 50 + + + 2 + + cleared + 2011-04-02 05:18:40 + + + 717 + 7 + + + + + + + + + + 250 + gold + 8 + 792 + 1216 + A + 7 + + 488 + 240 + 60 + 2 + 8 + + + 1 + H + + cleared + 2011-04-02 05:18:40 + + + 697 + L7 + + + + + + + + + + 152 + gold,pb + 7 + 732 + 1179 + AA + 8 + + 496 + 187 + 38 + 8 + 10 + + + 3 + H + + cleared + 2011-04-02 05:18:40 + + + 599 + L7 + + + + + + + + + + 178 + hs,gold + 6 + 679 + 1006 + A + 7 + + 413 + 180 + 77 + 3 + 17 + + + 2 + H + + cleared + 2011-04-02 05:18:40 + + + 753 + L7 + + + + + + + + + + 111 + gold + 3 + 269 + 472 + AA + 9 + + 207 + 58 + 4 + 0 + 0 + + + 5 + + combo + 2011-04-02 05:18:40 + + + 753 + A + + + + + + + + + + 111 + gold + 8 + 658 + 1074 + AA + 9 + + 456 + 162 + 30 + 8 + 13 + + + 5 + H + + comboed + 2011-09-05 06:04:34 + + + 724 + L7 + + + + + + + + + + 155 + gold + 5 + 590 + 621 + C + 5 + + 239 + 143 + 69 + 10 + 129 + + + 3 + H + + cleared + + + + 2011-04-02 05:18:40 + + + 700 + A + + + + + + + + + + 130 + gold + 8 + 915 + 1403 + A + 7 + + 591 + 221 + 93 + 4 + 11 + + + 4 + H + + cleared + 2011-04-02 05:18:40 + + + 749 + A + + + + + + + + + + 183 + gold + 9 + 1069 + 1570 + A + 7 + + 619 + 332 + 101 + 8 + 20 + + + 2 + H + + cleared + 2011-04-02 05:18:40 + + + 754 + L7 + + + + + + + + + + 175 + gold + 7 + 701 + 895 + B + 6 + + 362 + 171 + 150 + 12 + 16 + + + 2 + H + + cleared + 2011-04-02 05:18:40 + + + 512 + A + + + + + + + + + + 188 + red,gold,emp + 12 + 1414 + 1275 + C + 3 + + 403 + 469 + 304 + 72 + 344 + + + 2 + + played + 2011-04-02 05:18:40 + + + 701 + 7 + + + + + + + + + + 142 + gold + 8 + 876 + 1283 + A + 7 + + 525 + 233 + 108 + 6 + 12 + + + 4 + H + + cleared + 2011-04-02 05:18:40 + + + 702 + L7 + + + + + + + + + + 155 + gold + 5 + 415 + 486 + B + 6 + + 182 + 122 + 77 + 8 + 29 + + + 3 + + cleared + 2011-04-02 05:18:40 + + + 702 + A + + + + + + + + + + 155 + gold + 10 + 1114 + 1530 + A + 7 + + 616 + 298 + 166 + 10 + 37 + + + 3 + + cleared + + + + 2011-04-02 05:18:40 + + + 79 + A + + + + + + + + + + 180 + 5th,7th,gold + 8 + 862 + 1262 + A + 7 + + 520 + 222 + 98 + 14 + 21 + + + 2 + H + + cleared + 2011-04-02 05:18:40 + + + 732 + 7 + + + + + + + + + + 140 + gold + 11 + 1179 + 1432 + B + 4 + + 558 + 316 + 198 + 83 + 77 + + + 4 + + played + 2012-02-05 05:33:49 + + + 705 + L7 + + + + + + + + + + 189 + gold + 7 + 744 + 1227 + AA + 8 + + 532 + 163 + 47 + 2 + 4 + + + 2 + H + + cleared + 2011-04-02 05:27:35 + + + 707 + L7 + + + + + + + + + + 128 + gold + 4 + 388 + 666 + AA + 9 + + 293 + 80 + 15 + 0 + 3 + + + 4 + + combo + 2011-04-02 05:27:35 + + + 748 + L7 + + + + + + + + + + 173 + gold + 6 + 836 + 1288 + A + 7 + + 527 + 234 + 67 + 5 + 7 + + + 3 + H + + cleared + 2011-04-02 05:27:35 + + + 737 + A + + + + + + + + + + 150 + gold + 10 + 1232 + 1536 + B + 6 + + 586 + 364 + 241 + 9 + 45 + + + 3 + + cleared + 2011-04-02 05:27:35 + + + 738 + L7 + + + + + + + + + + 171 + gold + 4 + 374 + 670 + AAA + 10 + + 301 + 68 + 5 + 0 + 0 + + + 2 + + combo + 2011-04-02 05:27:35 + + + 733 + 7 + + + + + + + + + + 185 + gold,pb + 11 + 938 + 1122 + B + 4 + + 444 + 234 + 186 + 49 + 53 + + + 2 + + played + 2011-09-05 06:04:45 + + + 712 + A + + + + + + + + + + 121 + gold + 9 + 837 + 1082 + B + 6 + + 410 + 262 + 115 + 34 + 39 + + + 4 + + cleared + 2011-04-02 05:27:35 + + + 713 + A + + + + + + + + + + 135 + gold + 8 + 788 + 1315 + AA + 8 + + 572 + 171 + 36 + 4 + 12 + + + 4 + H + + cleared + 2011-09-05 06:04:45 + + + 715 + A + + + + + + + + + + 168 + gold + 10 + 1139 + 1570 + A + 7 + + 616 + 338 + 128 + 20 + 53 + + + 3 + + cleared + 2011-04-02 05:27:35 + + + 757 + L7 + + + + + + + + + + 146 + djt + 4 + 390 + 620 + AA + 9 + + 259 + 102 + 29 + 0 + 1 + + + 4 + + combo + 2011-04-02 05:38:30 + + + 757 + A + + + + + + + + + + 146 + djt + 10 + 982 + 1163 + B + 6 + + 427 + 309 + 232 + 7 + 24 + + + 4 + H + + cleared + 2011-04-02 05:38:30 + + + 234 + A + + + + + + + + + + 130 + 7th,8th,djt + 9 + 964 + 1460 + A + 7 + + 608 + 244 + 92 + 5 + 27 + + + 4 + H + + cleared + 2011-04-02 05:38:30 + + + 816 + 7 + + + + + + + + + + 215 + djt + 10 + 1299 + 1825 + A + 7 + + 714 + 397 + 155 + 11 + 40 + + + 2 + + cleared + 2011-09-05 06:10:03 + + + 761 + 7 + + + + + + + + + + 100 + djt + 6 + 512 + 799 + AA + 9 + + 317 + 165 + 30 + 0 + 0 + + + 5 + + combo + 2011-04-02 05:38:30 + + + 763 + A + + + + + + + + + + 128 + djt,pb + 11 + 1096 + 1387 + B + 4 + + 529 + 329 + 148 + 43 + 81 + + + 4 + + played + 2011-09-05 06:10:04 + + + 765 + A + + + + + + + + + + 133 + djt + 10 + 997 + 1227 + B + 6 + + 484 + 259 + 219 + 15 + 36 + + + 4 + + cleared + 2011-04-02 05:38:30 + + + 766 + A + + + + + + + + + + 145 + djt + 10 + 949 + 1349 + A + 7 + + 546 + 257 + 123 + 15 + 23 + + + 4 + H + + cleared + 2012-02-05 05:36:30 + + + 824 + A + + + + + + + + + + 148 + djt + 10 + 966 + 1027 + C + 5 + + 363 + 301 + 262 + 23 + 39 + + + 3 + + cleared + 2011-04-02 05:38:30 + + + 819 + A + + + + + + + + + + 180 + djt + 11 + 1458 + 1582 + C + 3 + + 568 + 446 + 353 + 33 + 91 + + + 2 + + played + 2011-04-02 05:38:30 + + + 811 + 7 + + + + + + + + + + 251 + djt + 10 + 1097 + 1369 + B + 6 + + 537 + 295 + 232 + 13 + 48 + + + 2 + + cleared + 2012-02-05 05:36:30 + + + 830 + 7 + + + + + + + + + + 145 + djt + 10 + 885 + 950 + C + 5 + + 356 + 238 + 243 + 26 + 40 + + + 4 + + cleared + 2011-09-05 06:10:05 + + + 789 + A + + + + + + + + + + 140 + djt + 9 + 988 + 1398 + A + 7 + + 549 + 300 + 134 + 2 + 14 + + + 4 + H + + cleared + 2011-09-05 06:10:05 + + + 832 + 7 + + + + + + + + + + 280 + djt + 10 + 1018 + 1309 + B + 6 + + 510 + 289 + 159 + 43 + 31 + + + 1 + + cleared + 2011-09-05 06:10:05 + + + 790 + L7 + + + + + + + + + + 150 + djt + 4 + 466 + 700 + A + 8 + + 274 + 152 + 40 + 0 + 0 + + + 3 + + combo + 2011-04-02 05:38:30 + + + 812 + 7 + + + + + + + + + + 168 + djt,pb + 11 + 1353 + 1510 + B + 6 + + 588 + 334 + 338 + 53 + 93 + + + 3 + + cleared + + + + 2012-03-17 08:51:37 + + + 771 + 7 + + + + + + + + + + 145 + djt + 10 + 1176 + 1444 + B + 6 + + 544 + 356 + 232 + 22 + 55 + + + 4 + + cleared + 2011-04-02 05:38:30 + + + 794 + A + + + + + + + + + + 165 + djt + 10 + 1342 + 1764 + B + 4 + + 712 + 340 + 237 + 17 + 66 + + + 3 + + played + 2011-09-05 06:10:05 + + + 772 + A + + + + + + + + + + 146 + djt + 10 + 1159 + 1559 + A + 7 + + 615 + 329 + 178 + 17 + 48 + + + 4 + + cleared + 2012-02-05 05:36:30 + + + 795 + A + + + + + + + + + + 150 + djt + 9 + 990 + 1506 + A + 7 + + 628 + 250 + 102 + 6 + 17 + + + 3 + H + + cleared + 2011-09-05 06:10:05 + + + 827 + A + + + + + + + + + + 140 + djt + 10 + 1141 + 1551 + A + 7 + + 632 + 287 + 186 + 11 + 50 + + + 4 + H + + cleared + 2011-09-05 06:10:05 + + + 776 + A + + + + + + + + + + 172 + djt + 10 + 998 + 1359 + A + 7 + + 539 + 281 + 158 + 12 + 20 + + + 2 + + cleared + 2011-04-02 05:38:30 + + + 777 + L7 + + + + + + + + + + 160 + djt,pb + 6 + 609 + 676 + C + 5 + + 253 + 170 + 156 + 11 + 26 + + + 3 + + cleared + 2011-04-02 05:38:30 + + + 779 + A + + + + + + + + + + 180 + djt + 9 + 963 + 1506 + AA + 8 + + 623 + 260 + 63 + 4 + 24 + + + 2 + H + + cleared + 2011-04-02 05:38:30 + + + 780 + 7 + + + + + + + + + + 141 + djt + 5 + 565 + 901 + AA + 8 + + 369 + 163 + 31 + 1 + 1 + + + 4 + H + + cleared + 2011-04-02 05:38:30 + + + 798 + 7 + + + + + + + + + + 170 + djt + 6 + 577 + 959 + AA + 8 + + 424 + 111 + 34 + 6 + 5 + + + 2 + H + + cleared + 2011-04-02 05:38:30 + + + 781 + A + + + + + + + + + + 130 + djt + 10 + 1000 + 1409 + A + 7 + + 581 + 247 + 134 + 14 + 29 + + + 4 + + cleared + + + + 2011-04-02 05:38:30 + + + 782 + 7 + + + + + + + + + + 186 + djt + 9 + 735 + 1032 + A + 7 + + 412 + 208 + 107 + 4 + 13 + + + 2 + H + + cleared + 2011-04-02 05:38:30 + + + 792 + 7 + + + + + + + + + + 85 + djt + 4 + 464 + 800 + AA + 9 + + 352 + 96 + 16 + 0 + 0 + + + 5 + + combo + 2011-04-02 05:38:30 + + + 796 + A + + + + + + + + + + 155 + djt + 9 + 1056 + 1602 + A + 7 + + 670 + 262 + 109 + 5 + 12 + + + 3 + H + + cleared + 2011-09-05 06:10:06 + + + 369 + B + + + + + + + + + + 114 + 9th,djt + 10 + 930 + 1209 + B + 4 + + 470 + 269 + 142 + 21 + 64 + + + 5 + + played + 2011-09-05 06:10:06 + + + 802 + L7 + + + + + + + + + + 191 + djt,pb + 6 + 640 + 803 + B + 6 + + 313 + 177 + 116 + 8 + 38 + + + 2 + + cleared + 2011-04-02 05:38:30 + + + 807 + 7 + + + + + + + + + + 177 + djt + 10 + 1216 + 1517 + B + 6 + + 573 + 371 + 242 + 11 + 36 + + + 2 + + cleared + 2011-04-02 05:38:30 + + + 805 + 7 + + + + + + + + + + 174 + djt + 10 + 1019 + 1414 + A + 7 + + 554 + 306 + 140 + 7 + 25 + + + 2 + H + + cleared + 2012-02-05 05:36:30 + + + 826 + A + + + + + + + + + + 145 + djt + 10 + 870 + 1099 + B + 6 + + 413 + 273 + 148 + 13 + 55 + + + 4 + + cleared + + + + 2011-09-05 06:10:06 + + + 858 + 7 + + + + + + + + + + 191 + emp + 10 + 1306 + 1751 + A + 7 + + 714 + 323 + 211 + 41 + 48 + + + 2 + + cleared + + + + 2011-09-05 06:18:29 + + + 861 + L7 + + + + + + + + + + 180 + emp + 6 + 655 + 1126 + AA + 9 + + 497 + 132 + 26 + 0 + 2 + + + 2 + + combo + 2011-04-02 05:48:23 + + + 922 + 7 + + + + + + + + + + 144 + pb + 9 + 1157 + 1293 + B + 6 + + 498 + 297 + 328 + 17 + 41 + + + 4 + + cleared + 2011-04-02 05:48:23 + + + 921 + 7 + + + + + + + + + + 195 + emp + 10 + 989 + 1389 + A + 7 + + 557 + 275 + 143 + 5 + 27 + + + 2 + H + + cleared + 2011-09-05 06:18:29 + + + 132 + A + + + + + + + + + + 148 + 4th,hs,pb + 10 + 811 + 1132 + A + 7 + + 453 + 226 + 112 + 11 + 21 + + + 4 + H + + cleared + + + + 2012-02-05 05:45:51 + + + 2 + A + + + + + + + + + + 150 + 6th,7th,8th,10th,us,djt,pb + 12 + 1258 + 1068 + D + 2 + + 394 + 280 + 437 + 52 + 170 + + + 3 + + played + 2011-04-02 05:48:23 + + + 920 + L7 + + + + + + + + + + 196 + emp + 7 + 635 + 922 + A + 7 + + 347 + 228 + 58 + 2 + 2 + + + 2 + H + + cleared + 2011-04-02 05:48:23 + + + 909 + 7 + + + + + + + + + + 135 + emp + 9 + 987 + 1489 + A + 7 + + 624 + 241 + 105 + 11 + 27 + + + 4 + H + + cleared + 2011-09-05 06:18:29 + + + 909 + A + + + + + + + + + + 135 + emp + 10 + 1285 + 1818 + A + 7 + + 727 + 364 + 161 + 22 + 22 + + + 4 + H + + cleared + 2011-09-05 06:18:29 + + + 148 + 7 + + + + + + + + + + 180 + 4th,8th,pb + 8 + 733 + 810 + C + 3 + + 264 + 282 + 147 + 12 + 43 + + + 3 + + played + 2011-04-02 05:48:23 + + + 923 + L7 + + + + + + + + + + 177 + pb + 5 + 446 + 764 + AA + 8 + + 328 + 108 + 9 + 1 + 1 + + + 2 + H + + cleared + 2011-04-02 05:48:23 + + + 923 + 7 + + + + + + + + + + 177 + pb + 10 + 1098 + 1416 + B + 6 + + 561 + 294 + 209 + 16 + 51 + + + 2 + + cleared + 2012-02-05 05:45:51 + + + 870 + 7 + + + + + + + + + + 155 + emp + 8 + 964 + 1490 + A + 7 + + 616 + 258 + 83 + 2 + 10 + + + 3 + H + + cleared + 2012-03-17 07:17:57 + + + 870 + A + + + + + + + + + + 155 + emp + 10 + 1179 + 1728 + A + 7 + + 715 + 298 + 127 + 9 + 42 + + + 3 + H + + cleared + 2011-09-05 06:18:29 + + + 871 + L7 + + + + + + + + + + 150 + emp + 5 + 482 + 678 + A + 5 + + 263 + 152 + 62 + 1 + 4 + + + 3 + + played + 2011-04-02 05:48:23 + + + 924 + 7 + + + + + + + + + + 140 + emp + 9 + 983 + 1487 + A + 7 + + 636 + 215 + 118 + 7 + 13 + + + 4 + H + + cleared + 2012-03-17 07:17:57 + + + 924 + A + + + + + + + + + + 140 + emp + 10 + 1293 + 1740 + A + 7 + + 682 + 376 + 214 + 8 + 27 + + + 4 + H + + cleared + 2011-09-05 06:18:29 + + + 915 + 7 + + + + + + + + + + 200 + emp + 8 + 770 + 1247 + AA + 8 + + 531 + 185 + 47 + 2 + 9 + + + 2 + H + + cleared + 2011-04-02 05:48:23 + + + 412 + L7 + + + + + + + + + + 145 + 10th,pb + 5 + 471 + 767 + AA + 8 + + 322 + 123 + 21 + 4 + 4 + + + 4 + H + + cleared + 2011-04-02 05:48:23 + + + 874 + L7 + + + + + + + + + + 185 + emp + 6 + 643 + 907 + A + 7 + + 367 + 173 + 96 + 5 + 4 + + + 2 + H + + cleared + 2011-04-02 05:48:23 + + + 875 + 7 + + + + + + + + + + 128 + emp + 7 + 802 + 1349 + AA + 8 + + 581 + 187 + 31 + 1 + 5 + + + 4 + H + + cleared + 2012-03-17 07:17:57 + + + 875 + A + + + + + + + + + + 128 + emp + 9 + 997 + 1619 + AA + 8 + + 679 + 261 + 51 + 3 + 6 + + + 5 + H + + cleared + 2011-09-05 06:18:29 + + + 877 + L7 + + + + + + + + + + 147 + emp + 4 + 308 + 430 + A + 5 + + 170 + 90 + 38 + 4 + 8 + + + 4 + + played + 2011-04-02 05:48:23 + + + 629 + L7 + + + + + + + + + + 135 + dd,emp + 5 + 601 + 782 + B + 6 + + 301 + 180 + 101 + 3 + 17 + + + 4 + + cleared + 2011-04-02 05:48:23 + + + 878 + 7 + + + + + + + + + + 116 + emp + 7 + 714 + 1145 + AA + 8 + + 456 + 233 + 18 + 0 + 14 + + + 5 + H + + cleared + + + + 2012-03-17 07:17:57 + + + 68 + A + + + + + + + + + + 135 + 6th,8th,us,pb + 8 + 656 + 1062 + AA + 8 + + 446 + 170 + 35 + 2 + 10 + + + 4 + H + + cleared + 2012-02-05 05:45:51 + + + 880 + L7 + + + + + + + + + + 177 + emp + 6 + 760 + 1313 + AA + 8 + + 580 + 153 + 24 + 1 + 3 + + + 2 + H + + cleared + 2011-04-02 05:48:23 + + + 421 + L7 + + + + + + + + + + 156 + 10th,emp + 4 + 485 + 858 + AA + 9 + + 376 + 106 + 3 + 0 + 1 + + + 3 + + combo + 2011-04-02 05:48:23 + + + 881 + 7 + + + + + + + + + + 149 + emp + 7 + 737 + 1243 + AA + 8 + + 536 + 171 + 28 + 1 + 3 + + + 3 + H + + cleared + 2012-03-17 07:17:57 + + + 881 + A + + + + + + + + + + 149 + emp + 9 + 1033 + 1493 + A + 7 + + 610 + 273 + 137 + 9 + 8 + + + 4 + H + + cleared + 2012-02-05 05:45:51 + + + 882 + L7 + + + + + + + + + + 205 + emp + 6 + 558 + 848 + A + 7 + + 334 + 180 + 42 + 1 + 3 + + + 2 + H + + cleared + 2011-04-02 05:48:23 + + + 884 + 7 + + + + + + + + + + 128 + emp + 7 + 627 + 1070 + AA + 8 + + 465 + 140 + 21 + 0 + 7 + + + 4 + H + + cleared + 2012-03-17 07:17:57 + + + 884 + A + + + + + + + + + + 128 + emp + 9 + 923 + 1392 + A + 7 + + 579 + 234 + 93 + 7 + 19 + + + 4 + H + + cleared + 2011-04-02 05:48:23 + + + 887 + A + + + + + + + + + + 145 + emp + 11 + 1088 + 1486 + A + 7 + + 586 + 314 + 136 + 27 + 51 + + + 4 + + cleared + + + + + + + 2011-09-05 06:21:56 + + + 889 + 7 + + + + + + + + + + 160 + emp + 7 + 736 + 1185 + AA + 8 + + 503 + 179 + 45 + 5 + 10 + + + 3 + H + + cleared + 2012-03-17 07:17:57 + + + 890 + A + + + + + + + + + + 136 + emp + 9 + 948 + 1551 + AA + 9 + + 659 + 233 + 56 + 0 + 2 + + + 4 + H + + combo + + + + 2011-09-05 06:18:29 + + + 891 + 7 + + + + + + + + + + 153 + emp + 9 + 910 + 1397 + A + 7 + + 577 + 243 + 89 + 1 + 2 + + + 4 + H + + cleared + + + + 2011-09-05 06:18:29 + + + 893 + 7 + + + + + + + + + + 172 + emp + 8 + 888 + 1376 + A + 7 + + 562 + 252 + 57 + 9 + 20 + + + 2 + H + + cleared + 2012-03-17 07:17:57 + + + 895 + 7 + + + + + + + + + + 163 + emp + 9 + 1087 + 1768 + AA + 8 + + 727 + 314 + 34 + 2 + 27 + + + 3 + H + + cleared + 2011-09-05 06:18:29 + + + 916 + 7 + + + + + + + + + + 177 + emp + 9 + 1080 + 1622 + A + 7 + + 669 + 284 + 104 + 10 + 20 + + + 2 + H + + cleared + 2012-03-17 07:17:57 + + + 925 + L7 + + + + + + + + + + 152 + emp + 6 + 741 + 1104 + A + 7 + + 446 + 212 + 75 + 6 + 11 + + + 3 + H + + cleared + 2011-04-02 05:48:23 + + + 913 + 7 + + + + + + + + + + 128 + emp + 7 + 913 + 1512 + AA + 8 + + 661 + 190 + 58 + 0 + 4 + + + 5 + H + + cleared + 2011-09-05 06:18:29 + + + 919 + 7 + + + + + + + + + + 180 + emp + 9 + 960 + 1471 + A + 7 + + 616 + 239 + 83 + 13 + 30 + + + 3 + H + + cleared + + + + 2011-09-05 06:18:29 + + + 60 + A + + + + + + + + + + 147 + 4th,5th,6th,us,emp + 7 + 799 + 1266 + AA + 8 + + 523 + 220 + 51 + 2 + 6 + + + 4 + H + + cleared + 2012-02-05 05:45:51 + + + 900 + 7 + + + + + + + + + + 172 + emp + 8 + 775 + 1167 + A + 7 + + 475 + 217 + 78 + 2 + 4 + + + 2 + H + + cleared + 2012-03-17 07:17:57 + + + 917 + L7 + + + + + + + + + + 148 + emp + 4 + 467 + 835 + AAA + 10 + + 374 + 87 + 6 + 0 + 0 + + + 4 + + combo + 2011-04-02 05:48:23 + + + 917 + 7 + + + + + + + + + + 148 + emp + 8 + 983 + 1446 + A + 7 + + 599 + 248 + 115 + 13 + 21 + + + 4 + H + + cleared + 2012-03-17 07:17:57 + + + 910 + 7 + + + + + + + + + + 165 + emp + 8 + 881 + 1389 + AA + 8 + + 594 + 201 + 77 + 4 + 12 + + + 3 + H + + cleared + 2012-03-17 07:17:57 + + + 903 + 7 + + + + + + + + + + 148 + emp + 9 + 1051 + 1632 + A + 7 + + 675 + 282 + 81 + 8 + 14 + + + 4 + H + + cleared + 2012-03-17 07:17:57 + + + 918 + 7 + + + + + + + + + + 170 + emp + 8 + 1046 + 1813 + AA + 8 + + 813 + 187 + 42 + 0 + 7 + + + 2 + H + + cleared + 2012-02-05 05:45:51 + + + 904 + L7 + + + + + + + + + + 150 + emp + 6 + 751 + 1089 + A + 7 + + 430 + 229 + 88 + 2 + 8 + + + 3 + H + + cleared + 2011-04-02 05:48:23 + + + 905 + 7 + + + + + + + + + + 145 + emp + 9 + 921 + 1317 + A + 7 + + 536 + 245 + 108 + 18 + 22 + + + 4 + H + + cleared + + + + 2012-03-17 07:17:57 + + + 907 + 7 + + + + + + + + + + 155 + emp + 10 + 962 + 1230 + B + 6 + + 488 + 254 + 186 + 23 + 48 + + + 4 + + cleared + 2011-09-05 06:18:29 + + + 537 + A + + + + + + + + + + 252 + hs + 11 + 903 + 946 + C + 3 + + 328 + 290 + 214 + 41 + 47 + + + 0 + + played + 2011-04-27 00:24:30 + + + 553 + A + + + + + + + + + + 170 + hs + 10 + 1123 + 1499 + A + 7 + + 599 + 301 + 181 + 15 + 47 + + + 3 + + cleared + 2012-02-05 05:28:39 + + + 556 + A + + + + + + + + + + 190 + hs + 10 + 1096 + 1500 + A + 7 + + 593 + 314 + 129 + 29 + 50 + + + 2 + + cleared + 2012-02-05 05:28:39 + + + 598 + A + + + + + + + + + + 180 + hs + 12 + 1279 + 1759 + A + 5 + + 733 + 293 + 148 + 58 + 88 + + + 2 + + played + 2011-04-27 00:24:30 + + + 559 + A + + + + + + + + + + 133 + hs + 9 + 1051 + 1471 + A + 7 + + 573 + 325 + 137 + 6 + 17 + + + 4 + H + + cleared + 2011-04-27 00:24:30 + + + 572 + A + + + + + + + + + + 198 + hs + 11 + 1034 + 1261 + B + 6 + + 467 + 327 + 175 + 30 + 44 + + + 2 + B + + cleared + + + + 2011-04-27 00:24:30 + + + 595 + A + + + + + + + + + + 110 + hs + 10 + 1100 + 1539 + A + 7 + + 612 + 315 + 139 + 9 + 41 + + + 5 + B + + cleared + 2012-02-05 05:28:39 + + + 578 + A + + + + + + + + + + 179 + hs,pb + 10 + 1309 + 1766 + A + 7 + + 704 + 358 + 179 + 35 + 67 + + + 3 + + cleared + 2011-04-27 00:24:30 + + + 581 + A + + + + + + + + + + 155 + hs + 11 + 972 + 1322 + A + 5 + + 522 + 278 + 124 + 21 + 40 + + + 3 + + played + 2011-04-27 00:24:30 + + + 582 + A + + + + + + + + + + 265 + hs + 10 + 1178 + 1525 + B + 6 + + 580 + 365 + 198 + 8 + 37 + + + 1 + + cleared + 2011-04-27 00:24:30 + + + 446 + A + + + + + + + + + + 182 + 10th + 9 + 934 + 1252 + A + 7 + + 167 + 40 + + + 2 + + cleared + 2011-05-12 08:37:36 + + + 390 + A + + + + + + + + + + 145 + 10th + 8 + 1021 + 1426 + A + 7 + + 179 + 57 + + + 4 + + cleared + 2011-05-12 08:37:36 + + + 391 + A + + + + + + + + + + 136 + 10th + 9 + 971 + 1423 + A + 7 + + 267 + 19 + + + 4 + + cleared + 2011-05-12 08:37:36 + + + 393 + A + + + + + + + + + + 144 + 10th + 9 + 1086 + 1352 + B + 6 + + 147 + 63 + + + 4 + + cleared + 2011-05-12 08:37:36 + + + 394 + A + + + + + + + + + + 160 + 10th + 9 + 1031 + 1523 + A + 7 + + 176 + 44 + + + 3 + + cleared + 2011-05-12 08:37:36 + + + 395 + A + + + + + + + + + + 158 + 10th + 9 + 1037 + 1484 + A + 7 + + 193 + 55 + + + 3 + + cleared + 2011-05-12 08:37:36 + + + 397 + A + + + + + + + + + + 170 + 10th + 9 + 689 + 895 + B + 6 + + 154 + 36 + + + 2 + + cleared + 2011-05-12 08:37:36 + + + 400 + A + + + + + + + + + + 155 + 10th,djt + 11 + 1371 + 1796 + B + 4 + + 144 + 110 + + + 3 + + played + 2011-09-05 05:55:03 + + + 405 + A + + + + + + + + + + 130 + 10th + 8 + 945 + 1319 + A + 7 + + 172 + 48 + + + 4 + H + + cleared + 2011-05-12 08:37:36 + + + 410 + A + + + + + + + + + + 148 + 10th + 10 + 1311 + 1720 + B + 4 + + 147 + 66 + + + 3 + + played + 2011-05-12 08:37:36 + + + 411 + A + + + + + + + + + + 160 + 10th + 10 + 1074 + 1183 + C + 5 + + 178 + 70 + + + 3 + + cleared + 2011-05-12 08:37:36 + + + 414 + A + + + + + + + + + + 150 + 10th + 7 + 794 + 1167 + A + 7 + + 226 + 32 + + + 3 + + cleared + 2011-05-12 08:37:36 + + + 416 + A + + + + + + + + + + 225 + 10th + 9 + 922 + 1374 + A + 7 + + 250 + 22 + + + 1 + + cleared + 2011-05-12 08:37:36 + + + 418 + A + + + + + + + + + + 150 + 10th + 9 + 753 + 1063 + A + 5 + + 273 + 17 + + + 3 + + played + 2011-05-12 08:37:36 + + + 420 + A + + + + + + + + + + 160 + 10th + 9 + 881 + 1122 + B + 6 + + 164 + 36 + + + 3 + + cleared + 2011-05-12 08:37:36 + + + 421 + A + + + + + + + + + + 156 + 10th,emp + 11 + 1167 + 1637 + A + 5 + + 204 + 104 + + + 3 + + played + 2011-05-12 08:37:36 + + + 427 + A + + + + + + + + + + 160 + 10th + 9 + 1110 + 1507 + A + 7 + + 138 + 73 + + + 3 + + cleared + 2011-05-12 08:37:36 + + + 428 + A + + + + + + + + + + 177 + 10th,pb + 11 + 1377 + 1575 + B + 4 + + 123 + 158 + + + 2 + + played + 2011-05-12 08:37:36 + + + 430 + A + + + + + + + + + + 144 + 10th + 10 + 1094 + 1350 + B + 4 + + 145 + 98 + + + 4 + + played + 2011-05-12 08:37:36 + + + 432 + A + + + + + + + + + + 140 + 10th + 10 + 1055 + 1424 + A + 7 + + 124 + 79 + + + 4 + + cleared + + + + 2011-09-05 05:55:08 + + + 435 + A + + + + + + + + + + 140 + 10th + 9 + 1146 + 1559 + A + 7 + + 334 + 52 + + + 4 + + cleared + 2011-05-12 08:37:36 + + + 438 + A + + + + + + + + + + 148 + 10th + 8 + 1023 + 1550 + A + 7 + + 256 + 27 + + + 3 + + cleared + 2011-05-12 08:37:36 + + + 439 + A + + + + + + + + + + 100 + 10th + 7 + 753 + 1310 + AA + 8 + + 553 + 5 + + + 4 + H + + cleared + 2011-05-12 08:37:37 + + + 481 + A + + + + + + + + + + 143 + red + 9 + 866 + 1240 + A + 7 + + 515 + 210 + 120 + 6 + 31 + + + 4 + H + B + + cleared + 2011-05-12 08:38:53 + + + 524 + 7 + + + + + + + + + + 172 + red + 10 + 1249 + 1721 + A + 7 + + 695 + 331 + 181 + 20 + 51 + + + 2 + + cleared + 2012-02-05 05:23:47 + + + 500 + A + + + + + + + + + + 139 + red + 11 + 1234 + 1688 + A + 7 + + 666 + 356 + 157 + 35 + 58 + + + 4 + + cleared + + + + + + + 2011-05-12 08:38:54 + + + 419 + A + + + + + + + + + + 140 + 10th,hs,pb + 11 + 1215 + 1542 + B + 4 + + 583 + 376 + 220 + 12 + 37 + + + 4 + + played + 2011-05-12 08:43:06 + + + 575 + A + + + + + + + + + + 151 + hs,pb + 11 + 1275 + 1435 + B + 4 + + 527 + 381 + 287 + 53 + 71 + + + 3 + + played + 2011-05-12 08:43:06 + + + 574 + A + + + + + + + + + + 151 + hs,pb + 10 + 1073 + 1409 + B + 6 + + 548 + 313 + 172 + 13 + 43 + + + 3 + + cleared + 2012-02-05 05:28:39 + + + 755 + B + + + + + + + + + + 140 + djt + 11 + 1402 + 1657 + B + 4 + + 637 + 383 + 307 + 29 + 95 + + + 3 + + played + 2012-03-17 08:51:36 + + + 27 + 7 + + + + + + + + + + 108 + 6th,7th + 7 + 744 + 1104 + A + 5 + + 396 + 312 + 31 + 1 + 7 + + + 4 + + played + 2011-09-05 05:42:10 + + + 223 + 7 + + + + + + + + + + 156 + 7th + 4 + 421 + 704 + AA + 9 + + 293 + 118 + 10 + 0 + 2 + + + 3 + + combo + 2011-09-05 05:42:10 + + + 245 + 7 + + + + + + + + + + 140 + 7th + 8 + 631 + 891 + A + 5 + + 362 + 167 + 85 + 4 + 17 + + + 4 + + played + 2011-09-05 05:42:11 + + + 230 + 7 + + + + + + + + + + 82 + 7th,10th + 5 + 411 + 679 + AA + 8 + + 351 + 3 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 231 + 7 + + + + + + + + + + 141 + 7th + 5 + 556 + 956 + AA + 6 + + 415 + 126 + 12 + 1 + 2 + + + 4 + + played + 2011-09-05 05:42:12 + + + 65 + 7 + + + + + + + + + + 152 + 6th,8th + 8 + 977 + 1434 + A + 7 + + 470 + 10 + + + 0 + H + + cleared + 2011-09-05 05:45:13 + + + 65 + A + + + + + + + + + + 152 + 6th,8th + 9 + 1115 + 1632 + A + 7 + + 316 + 16 + + + 0 + + cleared + 2011-09-05 05:45:14 + + + 302 + A + + + + + + + + + + 180 + 8th,red,pb + 10 + 1075 + 1321 + B + 4 + + 524 + 273 + 200 + 44 + 71 + + + 2 + B + + played + 2012-03-17 01:57:10 + + + 321 + A + + + + + + + + + + 130 + 9th + 9 + 628 + 1001 + AA + 8 + + 401 + 4 + + + 4 + H + + cleared + 2011-09-05 05:51:41 + + + 383 + A + + + + + + + + + + 140 + 9th + 11 + 1646 + 1818 + C + 3 + + 166 + 200 + + + 4 + + played + 2012-02-05 05:16:38 + + + 326 + A + + + + + + + + + + 150 + 9th + 9 + 889 + 1283 + A + 7 + + 433 + 22 + + + 4 + H + + cleared + 2011-09-05 05:51:41 + + + 143 + A + + + + + + + + + + 160 + 4th,9th + 9 + 914 + 1280 + A + 7 + + 502 + 276 + 113 + 12 + 31 + + + 2 + T + H + + cleared + 2012-05-26 00:23:41 + + + 331 + A + + + + + + + + + + 145 + 9th + 10 + 1001 + 1414 + A + 7 + + 167 + 33 + + + 4 + H + + cleared + 2012-02-05 05:16:38 + + + 332 + A + + + + + + + + + + 140 + 9th + 8 + 1028 + 1601 + AA + 8 + + 370 + 12 + + + 4 + H + + cleared + 2011-09-05 05:51:41 + + + 144 + A + + + + + + + + + + 130 + 4th,9th + 10 + 1157 + 1713 + A + 5 + + 196 + 137 + + + 4 + + played + 2011-09-05 05:51:41 + + + 347 + A + + + + + + + + + + 140 + 9th + 8 + 771 + 939 + B + 6 + + 112 + 29 + + + 4 + H + + cleared + 2011-09-05 05:51:41 + + + 200 + A + + + + + + + + + + 125 + 3rd,9th + 10 + 837 + 783 + C + 5 + + 147 + 91 + + + 4 + + cleared + 2011-09-05 05:51:41 + + + 381 + A + + + + + + + + + + 133 + 9th + 9 + 810 + 987 + B + 6 + + 120 + 69 + + + 4 + + cleared + 2011-09-05 05:51:41 + + + 356 + A + + + + + + + + + + 290 + 9th + 9 + 754 + 1024 + A + 7 + + 170 + 28 + + + 2 + H + + cleared + 2012-02-05 05:16:38 + + + 357 + A + + + + + + + + + + 142 + 9th + 9 + 939 + 1036 + C + 5 + + 88 + 63 + + + 4 + + cleared + 2011-09-05 05:51:41 + + + 358 + A + + + + + + + + + + 140 + 9th + 10 + 1034 + 1510 + A + 7 + + 290 + 32 + + + 4 + H + + cleared + 2012-02-05 05:16:38 + + + 359 + A + + + + + + + + + + 155 + 9th,10th,dd,emp + 11 + 1161 + 1471 + B + 4 + + 535 + 401 + 165 + 11 + 90 + + + 3 + + played + 2011-09-05 06:18:29 + + + 368 + A + + + + + + + + + + 180 + 9th + 10 + 1032 + 1417 + A + 7 + + 178 + 43 + + + 3 + + cleared + 2011-09-05 05:51:41 + + + 371 + A + + + + + + + + + + 135 + 9th + 7 + 583 + 932 + AA + 8 + + 208 + 9 + + + 4 + H + + cleared + 2011-09-05 05:51:41 + + + 376 + A + + + + + + + + + + 132 + 9th + 9 + 860 + 1243 + A + 7 + + 228 + 20 + + + 4 + H + + cleared + 2011-09-05 05:51:42 + + + 626 + A + + + + + + + + + + 155 + dd + 10 + 1151 + 1599 + A + 7 + + 641 + 317 + 167 + 16 + 31 + + + 3 + H + B + + cleared + 2012-02-05 05:32:21 + + + 681 + A + + + + + + + + + + 155 + gold + 9 + 854 + 1121 + B + 6 + + 445 + 231 + 154 + 6 + 33 + + + 3 + H + + cleared + 2011-09-05 06:04:21 + + + 751 + A + + + + + + + + + + 140 + gold + 11 + 860 + 1013 + B + 4 + + 403 + 207 + 175 + 32 + 66 + + + 4 + + played + + + + 2011-09-05 06:04:21 + + + 683 + A + + + + + + + + + + 165 + gold,pb + 11 + 1245 + 1799 + A + 5 + + 769 + 261 + 167 + 31 + 46 + + + 3 + + played + 2011-09-05 06:04:21 + + + 742 + A + + + + + + + + + + 150 + gold + 10 + 883 + 1073 + B + 4 + + 416 + 241 + 199 + 10 + 34 + + + 4 + + played + 2011-09-05 06:04:29 + + + 692 + A + + + + + + + + + + 157 + gold + 8 + 867 + 1301 + A + 7 + + 541 + 219 + 95 + 7 + 13 + + + 3 + H + + cleared + 2012-03-17 01:58:53 + + + 694 + A + + + + + + + + + + 160 + gold + 9 + 1255 + 1664 + B + 6 + + 641 + 382 + 200 + 23 + 24 + + + 3 + H + + cleared + 2011-09-05 06:04:31 + + + 724 + A + + + + + + + + + + 155 + gold + 9 + 957 + 1338 + A + 7 + + 535 + 268 + 125 + 11 + 30 + + + 3 + H + + cleared + 2011-09-05 06:04:35 + + + 382 + A + + + + + + + + + + 175 + 9th + 10 + 1163 + 1506 + B + 6 + + 245 + 76 + + + 3 + + cleared + 2012-02-05 05:16:38 + + + 728 + 7 + + + + + + + + + + 350 + gold + 9 + 699 + 533 + D + 4 + + 181 + 171 + 306 + 25 + 26 + + + 1 + + cleared + 2011-09-05 06:04:35 + + + 703 + A + + + + + + + + + + 160 + gold + 10 + 1073 + 1517 + A + 7 + + 636 + 245 + 154 + 17 + 46 + + + 3 + + cleared + 2011-09-05 06:04:39 + + + 704 + A + + + + + + + + + + 149 + gold,pb + 11 + 1069 + 1619 + A + 5 + + 691 + 237 + 100 + 21 + 37 + + + 4 + + played + 2011-09-05 06:04:41 + + + 750 + A + + + + + + + + + + 175 + gold + 10 + 881 + 951 + C + 5 + + 331 + 289 + 225 + 19 + 27 + + + 3 + + cleared + 2011-09-05 06:04:43 + + + 706 + A + + + + + + + + + + 145 + gold,pb + 10 + 1409 + 1638 + B + 6 + + 613 + 412 + 331 + 29 + 51 + + + 4 + + cleared + 2011-09-05 06:04:44 + + + 708 + A + + + + + + + + + + 145 + gold + 9 + 1081 + 1682 + AA + 8 + + 660 + 362 + 42 + 6 + 16 + + + 4 + H + + cleared + 2011-09-05 06:04:44 + + + 710 + A + + + + + + + + + + 136 + gold + 8 + 815 + 1395 + AA + 8 + + 614 + 167 + 30 + 3 + 3 + + + 4 + H + + cleared + 2011-09-05 06:04:45 + + + 738 + A + + + + + + + + + + 171 + gold + 10 + 1103 + 1669 + A + 7 + + 681 + 307 + 92 + 9 + 30 + + + 3 + H + + cleared + 2011-09-05 06:04:45 + + + 714 + A + + + + + + + + + + 140 + gold + 10 + 1063 + 1540 + A + 7 + + 625 + 290 + 135 + 5 + 22 + + + 4 + + cleared + 2011-09-05 06:04:45 + + + 726 + A + + + + + + + + + + 150 + gold + 9 + 987 + 1651 + AA + 8 + + 718 + 215 + 53 + 0 + 2 + + + 4 + H + + cleared + 2011-09-05 06:04:45 + + + 759 + A + + + + + + + + + + 165 + djt + 9 + 1093 + 1680 + A + 7 + + 697 + 286 + 94 + 7 + 17 + + + 3 + H + + cleared + 2011-09-05 06:10:03 + + + 815 + L7 + + + + + + + + + + 172 + djt + 4 + 321 + 572 + AAA + 10 + + 256 + 60 + 5 + 0 + 0 + + + 3 + + combo + 2011-09-05 06:10:03 + + + 823 + A + + + + + + + + + + 240 + djt + 9 + 503 + 715 + A + 7 + + 283 + 149 + 58 + 6 + 13 + + + 2 + H + + cleared + 2011-09-05 06:10:03 + + + 810 + 7 + + + + + + + + + + 195 + djt + 10 + 988 + 1251 + B + 6 + + 472 + 307 + 191 + 6 + 32 + + + 2 + H + + cleared + 2012-03-17 02:02:05 + + + 19 + 7 + + + + + + + + + + 170 + 6th,8th,djt,pb + 9 + 942 + 1270 + A + 7 + + 520 + 230 + 173 + 9 + 37 + + + 3 + H + + cleared + 2012-03-17 02:02:05 + + + 801 + A + + + + + + + + + + 160 + djt + 10 + 1029 + 1507 + A + 7 + + 599 + 309 + 99 + 6 + 28 + + + 3 + + cleared + 2011-09-05 06:10:05 + + + 767 + A + + + + + + + + + + 260 + djt + 9 + 952 + 1434 + A + 7 + + 589 + 256 + 89 + 10 + 18 + + + 2 + H + + cleared + 2011-09-05 06:10:05 + + + 770 + A + + + + + + + + + + 180 + djt + 10 + 1348 + 2107 + AA + 8 + + 894 + 319 + 103 + 12 + 35 + + + 2 + + cleared + 2011-09-05 06:10:05 + + + 825 + A + + + + + + + + + + 145 + djt + 4 + 264 + 460 + AA + 9 + + 200 + 60 + 4 + 0 + 0 + + + 4 + + combo + 2011-09-05 06:10:05 + + + 775 + A + + + + + + + + + + 171 + djt + 10 + 1183 + 1714 + A + 7 + + 704 + 306 + 143 + 16 + 42 + + + 3 + + cleared + 2011-09-05 06:10:05 + + + 783 + 7 + + + + + + + + + + 184 + djt + 10 + 1405 + 2058 + A + 7 + + 840 + 378 + 155 + 15 + 34 + + + 2 + + cleared + 2011-09-05 06:10:05 + + + 809 + 7 + + + + + + + + + + 205 + djt + 10 + 1121 + 1393 + B + 6 + + 543 + 307 + 214 + 15 + 65 + + + 2 + + cleared + 2012-03-17 02:02:05 + + + 786 + A + + + + + + + + + + 150 + djt + 9 + 924 + 1587 + AA + 8 + + 707 + 173 + 28 + 7 + 13 + + + 4 + H + + cleared + 2011-09-05 06:10:06 + + + 802 + A + + + + + + + + + + 191 + djt,pb + 11 + 1458 + 1774 + B + 4 + + 704 + 366 + 298 + 29 + 95 + + + 2 + + played + 2011-09-05 06:10:06 + + + 860 + 7 + + + + + + + + + + 170 + emp + 9 + 971 + 1338 + A + 7 + + 519 + 300 + 136 + 8 + 20 + + + 3 + H + + cleared + 2012-03-17 07:17:56 + + + 863 + 7 + + + + + + + + + + 170 + emp + 9 + 1205 + 1737 + A + 7 + + 699 + 339 + 148 + 8 + 22 + + + 3 + H + + cleared + 2012-03-17 07:17:56 + + + 868 + 7 + + + + + + + + + + 180 + emp + 10 + 1143 + 1926 + AA + 8 + + 839 + 248 + 43 + 6 + 11 + + + 3 + H + + cleared + 2011-09-05 06:18:29 + + + 920 + 7 + + + + + + + + + + 196 + emp + 10 + 1194 + 1892 + AA + 8 + + 810 + 272 + 78 + 15 + 34 + + + 2 + H + + cleared + 2011-09-05 06:18:29 + + + 871 + A + + + + + + + + + + 150 + emp + 8 + 1016 + 1786 + AA + 8 + + 793 + 200 + 22 + 1 + 1 + + + 4 + H + + cleared + 2011-09-05 06:18:29 + + + 915 + A + + + + + + + + + + 200 + emp + 10 + 994 + 1586 + AA + 8 + + 690 + 206 + 76 + 7 + 25 + + + 2 + H + + cleared + 2012-02-05 05:45:51 + + + 877 + A + + + + + + + + + + 147 + emp + 7 + 851 + 1495 + AA + 9 + + 667 + 161 + 23 + 0 + 0 + + + 4 + + combo + 2011-09-05 06:18:29 + + + 880 + 7 + + + + + + + + + + 177 + emp + 10 + 1327 + 1930 + A + 7 + + 792 + 346 + 160 + 9 + 41 + + + 3 + + cleared + 2012-02-05 05:45:51 + + + 278 + B + + + + + + + + + + 180 + 8th,red,emp + 10 + 1059 + 1688 + AA + 8 + + 696 + 296 + 44 + 3 + 26 + + + 3 + + cleared + 2011-09-05 06:18:29 + + + 882 + 7 + + + + + + + + + + 205 + emp + 9 + 1018 + 1482 + A + 7 + + 607 + 268 + 120 + 9 + 29 + + + 2 + H + + cleared + 2012-03-17 07:17:57 + + + 887 + 7 + + + + + + + + + + 145 + emp + 9 + 869 + 1209 + A + 7 + + 461 + 287 + 98 + 12 + 26 + + + 4 + H + + cleared + 2012-03-17 07:17:57 + + + 887 + B + + + + + + + + + + 145 + emp + 11 + 1380 + 1702 + B + 4 + + 652 + 398 + 226 + 57 + 99 + + + 4 + + played + 2011-09-05 06:18:29 + + + 888 + A + + + + + + + + + + 151 + emp + 9 + 864 + 1397 + AA + 8 + + 595 + 207 + 54 + 2 + 7 + + + 4 + H + + cleared + + + + 2012-02-05 05:45:51 + + + 889 + A + + + + + + + + + + 160 + emp + 9 + 951 + 1483 + AA + 8 + + 629 + 225 + 85 + 7 + 12 + + + 3 + + cleared + 2011-09-05 06:18:29 + + + 894 + A + + + + + + + + + + 152 + emp + 10 + 1135 + 1533 + A + 7 + + 603 + 327 + 173 + 11 + 33 + + + 4 + + cleared + 2011-09-05 06:18:29 + + + 895 + A + + + + + + + + + + 163 + emp + 10 + 1398 + 2079 + A + 5 + + 804 + 471 + 59 + 9 + 55 + + + 3 + + played + 2011-09-05 06:18:29 + + + 916 + L7 + + + + + + + + + + 177 + emp + 6 + 537 + 941 + AA + 9 + + 414 + 113 + 10 + 0 + 2 + + + 3 + + combo + 2011-09-05 06:18:29 + + + 896 + 7 + + + + + + + + + + 150 + emp + 9 + 1253 + 1747 + A + 7 + + 696 + 355 + 177 + 10 + 21 + + + 4 + H + + cleared + + + + 2012-03-17 07:17:57 + + + 913 + A + + + + + + + + + + 128 + emp + 9 + 1135 + 1719 + A + 7 + + 720 + 279 + 130 + 2 + 11 + + + 5 + H + + cleared + 2012-02-05 05:45:51 + + + 898 + 7 + + + + + + + + + + 150 + emp + 10 + 1115 + 1482 + B + 6 + + 566 + 350 + 181 + 5 + 22 + + + 4 + + cleared + 2011-09-05 06:18:29 + + + 898 + A + + + + + + + + + + 150 + emp + 11 + 1323 + 1448 + C + 3 + + 542 + 364 + 334 + 46 + 87 + + + 4 + + played + 2011-09-05 06:18:29 + + + 917 + A + + + + + + + + + + 148 + emp + 10 + 1324 + 1839 + A + 7 + + 741 + 357 + 192 + 16 + 39 + + + 4 + + cleared + 2011-09-05 06:18:29 + + + 902 + B + + + + + + + + + + 148 + emp + 10 + 1258 + 1906 + A + 7 + + 798 + 310 + 133 + 11 + 24 + + + 4 + + cleared + 2011-09-05 06:18:29 + + + 904 + 7 + + + + + + + + + + 150 + emp + 10 + 1620 + 2025 + B + 6 + + 789 + 447 + 263 + 91 + 99 + + + 4 + + cleared + 2011-09-05 06:18:29 + + + 379 + A + + + + + + + + + + 180 + 9th + 10 + 996 + 1307 + B + 4 + + 145 + 107 + + + 2 + + played + 2012-02-05 05:16:38 + + + 264 + A + + + + + + + + + + 171 + 7th,9th,hs,pb + 10 + 1188 + 1689 + A + 7 + + 241 + 61 + + + 3 + + cleared + 2012-02-05 05:16:38 + + + 8 + A + + + + + + + + + + 155 + 6th,7th,9th + 9 + 1066 + 1496 + A + 7 + + 121 + 78 + + + 3 + + cleared + 2012-02-05 05:16:38 + + + 147 + A + + + + + + + + + + 170 + 4th,9th + 8 + 743 + 1088 + A + 7 + + 186 + 25 + + + 3 + H + + cleared + 2012-02-05 05:16:38 + + + 334 + A + + + + + + + + + + 100 + 9th + 10 + 950 + 857 + C + 3 + + 146 + 92 + + + 2 + + played + 2012-02-05 05:16:38 + + + 337 + A + + + + + + + + + + 152 + 9th + 10 + 990 + 1387 + A + 7 + + 242 + 53 + + + 4 + + cleared + 2012-02-05 05:16:38 + + + 341 + A + + + + + + + + + + 200 + 9th,dd + 10 + 925 + 1383 + A + 5 + + 260 + 35 + + + 2 + + played + 2012-02-05 05:16:38 + + + 12 + A + + + + + + + + + + 176 + 6th,9th + 11 + 1105 + 1512 + A + 5 + + 106 + 107 + + + 2 + + played + 2012-02-05 05:16:38 + + + 352 + A + + + + + + + + + + 158 + 9th + 9 + 983 + 1523 + A + 7 + + 177 + 31 + + + 3 + + cleared + 2012-02-05 05:16:38 + + + 131 + A + + + + + + + + + + 141 + 4th,9th + 9 + 706 + 1021 + A + 7 + + 159 + 14 + + + 4 + H + + cleared + 2012-02-05 05:16:38 + + + 366 + A + + + + + + + + + + 180 + 9th,us,djt + 9 + 877 + 1089 + B + 6 + + 369 + 77 + + + 2 + + cleared + 2012-02-05 05:16:38 + + + 367 + A + + + + + + + + + + 140 + 9th,pb + 9 + 947 + 1475 + AA + 8 + + 398 + 19 + + + 4 + + cleared + 2012-02-05 05:16:38 + + + 378 + A + + + + + + + + + + 139 + 9th + 11 + 1364 + 1351 + C + 3 + + 85 + 239 + + + 4 + + played + 2012-02-05 05:16:38 + + + 398 + 7 + + + + + + + + + + 129 + 10th + 6 + 632 + 1006 + AA + 8 + + 289 + 7 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 403 + 7 + + + + + + + + + + 160 + 10th + 5 + 587 + 1043 + AA + 8 + + 432 + 6 + + + 3 + H + + cleared + 2012-02-05 05:20:49 + + + 409 + 7 + + + + + + + + + + 135 + 10th + 6 + 585 + 856 + A + 7 + + 296 + 12 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 414 + 7 + + + + + + + + + + 150 + 10th + 6 + 621 + 956 + A + 7 + + 214 + 11 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 425 + 7 + + + + + + + + + + 148 + 10th + 8 + 852 + 1258 + A + 7 + + 205 + 12 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 207 + 7 + + + + + + + + + + 144 + 3rd,10th + 5 + 428 + 743 + AA + 9 + + 428 + 0 + + + 4 + H + + combo + 2012-02-05 05:20:49 + + + 429 + 7 + + + + + + + + + + 150 + 10th + 5 + 533 + 909 + AA + 8 + + 163 + 5 + + + 4 + H + + cleared + 2012-02-05 05:20:49 + + + 209 + 7 + + + + + + + + + + 144 + 3rd,10th + 5 + 525 + 873 + AA + 9 + + 525 + 0 + + + 4 + H + + combo + 2012-02-05 05:20:49 + + + 524 + A + + + + + + + + + + 172 + red + 11 + 1396 + 1601 + B + 4 + + 626 + 349 + 291 + 102 + 143 + + + 2 + + played + 2012-02-05 05:23:47 + + + 316 + A + + + + + + + + + + 154 + 8th,red,djt + 11 + 1310 + 1723 + B + 4 + + 676 + 371 + 217 + 14 + 53 + + + 4 + + played + 2012-02-05 05:23:47 + + + 521 + A + + + + + + + + + + 144 + red,pb + 10 + 992 + 1287 + B + 6 + + 524 + 239 + 188 + 7 + 44 + + + 4 + + cleared + 2012-02-05 05:23:47 + + + 548 + A + + + + + + + + + + 150 + hs + 9 + 1077 + 1246 + B + 6 + + 422 + 402 + 225 + 19 + 24 + + + 4 + H + + cleared + 2012-02-05 05:28:39 + + + 5 + A + + + + + + + + + + 156 + 6th,7th,hs,pb + 9 + 909 + 1380 + A + 7 + + 566 + 248 + 88 + 3 + 14 + + + 3 + H + B + + cleared + 2012-02-05 05:28:39 + + + 551 + A + + + + + + + + + + 155 + hs,emp + 10 + 1246 + 1615 + B + 6 + + 655 + 305 + 221 + 28 + 76 + + + 4 + + cleared + 2012-02-05 05:45:51 + + + 448 + A + + + + + + + + + + 152 + 10th,hs + 10 + 1261 + 1677 + B + 6 + + 650 + 377 + 210 + 10 + 24 + + + 4 + H + + cleared + 2012-02-05 05:28:39 + + + 560 + A + + + + + + + + + + 212 + hs + 11 + 1420 + 1737 + B + 4 + + 570 + 597 + 193 + 14 + 95 + + + 1 + + played + 2012-02-05 05:28:39 + + + 561 + A + + + + + + + + + + 170 + hs + 10 + 991 + 1306 + B + 6 + + 499 + 308 + 162 + 9 + 27 + + + 2 + + cleared + 2012-02-05 05:28:39 + + + 599 + A + + + + + + + + + + 178 + hs,gold + 10 + 1429 + 1354 + C + 3 + + 448 + 458 + 451 + 22 + 80 + + + 2 + + played + 2012-02-05 05:28:39 + + + 569 + A + + + + + + + + + + 145 + hs + 11 + 1278 + 1253 + C + 3 + + 438 + 377 + 349 + 81 + 101 + + + 4 + + played + 2012-02-05 05:28:39 + + + 263 + A + + + + + + + + + + 144 + 7th,hs,pb + 9 + 1085 + 1237 + B + 6 + + 438 + 361 + 270 + 5 + 20 + + + 4 + H + + cleared + 2012-02-05 05:28:39 + + + 624 + A + + + + + + + + + + 170 + dd,pb + 10 + 1214 + 1523 + B + 4 + + 597 + 329 + 220 + 37 + 57 + + + 2 + + played + 2012-02-05 05:32:21 + + + 193 + 7 + + + + + + + + + + 114 + 3rd,dd + 4 + 441 + 734 + AA + 9 + + 299 + 136 + 3 + 0 + 4 + + + 5 + H + B + + comboed + 2012-05-06 03:48:00 + + + 628 + A + + + + + + + + + + 161 + dd + 10 + 1056 + 1638 + A + 7 + + 684 + 270 + 76 + 12 + 32 + + + 3 + H + + cleared + 2012-02-05 05:32:21 + + + 673 + A + + + + + + + + + + 152 + dd + 11 + 1490 + 1663 + B + 4 + + 618 + 427 + 382 + 34 + 81 + + + 4 + + played + 2012-02-05 05:32:22 + + + 603 + L7 + + + + + + + + + + 152 + dd + 3 + 287 + 451 + AA + 9 + + 179 + 93 + 15 + 0 + 0 + + + 4 + H + B + + combo + 2012-02-05 05:32:22 + + + 601 + A + + + + + + + + + + 180 + dd + 10 + 1231 + 1850 + A + 5 + + 790 + 270 + 99 + 46 + 66 + + + 2 + + played + 2012-02-05 05:32:22 + + + 689 + A + + + + + + + + + + 140 + gold + 10 + 1073 + 1444 + A + 7 + + 593 + 258 + 179 + 23 + 43 + + + 4 + + cleared + 2012-02-05 05:33:49 + + + 722 + A + + + + + + + + + + 180 + gold + 9 + 1106 + 1788 + AA + 8 + + 767 + 254 + 61 + 7 + 26 + + + 2 + H + + cleared + 2012-03-17 01:58:53 + + + 697 + 7 + + + + + + + + + + 152 + gold,pb + 11 + 1250 + 1348 + C + 3 + + 504 + 340 + 314 + 32 + 92 + + + 4 + + played + 2012-02-05 05:33:49 + + + 793 + 7 + + + + + + + + + + 192 + djt + 10 + 1144 + 1323 + B + 6 + + 489 + 345 + 249 + 34 + 69 + + + 2 + + cleared + 2012-02-05 05:36:30 + + + 261 + A + + + + + + + + + + 128 + 7th,8th,9th,djt,pb + 11 + 1167 + 1264 + C + 3 + + 477 + 310 + 300 + 20 + 114 + + + 4 + + played + 2012-02-05 05:36:30 + + + 41 + A + + + + + + + + + + 144 + 4th,5th,6th,7th,hs,pb + 10 + 1218 + 1450 + B + 4 + + 559 + 332 + 284 + 21 + 49 + + + 4 + + played + 2012-02-05 05:45:51 + + + 859 + A + + + + + + + + + + 145 + emp + 9 + 1081 + 1632 + A + 7 + + 668 + 296 + 102 + 7 + 17 + + + 4 + H + + cleared + 2012-02-05 05:45:51 + + + 862 + A + + + + + + + + + + 170 + emp + 9 + 1075 + 1571 + A + 7 + + 642 + 287 + 126 + 12 + 27 + + + 3 + H + + cleared + 2012-02-05 05:45:51 + + + 864 + A + + + + + + + + + + 155 + emp + 10 + 1314 + 1787 + A + 5 + + 737 + 313 + 210 + 25 + 52 + + + 4 + + played + 2012-02-05 05:45:51 + + + 865 + 7 + + + + + + + + + + 165 + emp + 10 + 1142 + 1589 + A + 7 + + 631 + 327 + 166 + 7 + 23 + + + 3 + H + + cleared + 2012-02-05 05:45:51 + + + 866 + A + + + + + + + + + + 138 + emp + 9 + 1077 + 1770 + AA + 8 + + 760 + 250 + 61 + 2 + 10 + + + 4 + H + + cleared + 2012-02-05 05:45:51 + + + 869 + A + + + + + + + + + + 146 + emp + 10 + 1278 + 1738 + A + 7 + + 683 + 372 + 183 + 22 + 36 + + + 4 + + cleared + 2012-02-05 05:45:51 + + + 62 + A + + + + + + + + + + 140 + 6th,8th,pb + 8 + 784 + 1004 + B + 6 + + 399 + 206 + 159 + 13 + 19 + + + 4 + + cleared + 2012-02-05 05:45:51 + + + 43 + A + + + + + + + + + + 148 + 4th,5th,6th,7th,red,pb + 10 + 1158 + 1248 + C + 3 + + 404 + 440 + 213 + 19 + 142 + + + 4 + + played + 2012-02-05 05:45:51 + + + 148 + A + + + + + + + + + + 180 + 4th,8th,pb + 9 + 875 + 1215 + A + 5 + + 445 + 325 + 94 + 3 + 22 + + + 2 + T + + played + + + + 2012-05-26 00:50:49 + + + 872 + 7 + + + + + + + + + + 188 + emp + 9 + 1014 + 1463 + A + 7 + + 604 + 255 + 131 + 5 + 36 + + + 2 + H + + cleared + 2012-03-17 07:17:57 + + + 873 + A + + + + + + + + + + 143 + emp + 10 + 1251 + 1725 + A + 7 + + 702 + 321 + 205 + 9 + 26 + + + 4 + + cleared + 2012-02-05 05:45:51 + + + 876 + 7 + + + + + + + + + + 150 + emp + 9 + 1072 + 1477 + A + 7 + + 578 + 321 + 159 + 2 + 22 + + + 4 + H + + cleared + 2012-03-17 07:17:57 + + + 878 + A + + + + + + + + + + 116 + emp + 10 + 1086 + 1373 + B + 4 + + 500 + 373 + 141 + 16 + 85 + + + 5 + + played + 2012-02-05 05:45:51 + + + 879 + A + + + + + + + + + + 176 + emp + 10 + 1284 + 1656 + B + 4 + + 667 + 322 + 227 + 35 + 55 + + + 3 + + played + 2012-02-05 05:45:51 + + + 259 + A + + + + + + + + + + 148 + 7th,8th,gold,pb + 10 + 1183 + 1182 + C + 3 + + 440 + 302 + 344 + 53 + 92 + + + 4 + + played + 2012-03-17 01:58:53 + + + 883 + A + + + + + + + + + + 150 + emp + 9 + 1037 + 1569 + A + 7 + + 654 + 261 + 110 + 6 + 13 + + + 4 + H + + cleared + 2012-02-05 05:45:51 + + + 884 + B + + + + + + + + + + 128 + emp + 10 + 1135 + 1688 + A + 7 + + 702 + 284 + 115 + 10 + 38 + + + 4 + + cleared + 2012-02-05 05:45:51 + + + 885 + A + + + + + + + + + + 155 + emp + 10 + 1142 + 1482 + B + 6 + + 597 + 288 + 211 + 23 + 32 + + + 3 + + cleared + 2012-02-05 05:45:51 + + + 886 + A + + + + + + + + + + 148 + emp + 9 + 1111 + 1685 + A + 7 + + 709 + 267 + 116 + 7 + 26 + + + 4 + + cleared + 2012-02-05 05:45:51 + + + 889 + B + + + + + + + + + + 160 + emp + 10 + 1211 + 1442 + B + 4 + + 553 + 336 + 271 + 24 + 43 + + + 4 + + played + 2012-02-05 05:45:51 + + + 892 + A + + + + + + + + + + 152 + emp + 10 + 1360 + 1697 + B + 6 + + 660 + 377 + 276 + 24 + 51 + + + 4 + + cleared + 2012-02-05 05:45:51 + + + 893 + A + + + + + + + + + + 172 + emp + 10 + 1269 + 1708 + A + 7 + + 686 + 336 + 205 + 17 + 61 + + + 2 + + cleared + 2012-02-05 05:45:51 + + + 52 + A + + + + + + + + + + 157 + 3rd,6th,pb + 6 + 454 + 563 + B + 6 + + 215 + 133 + 93 + 4 + 15 + + + 3 + H + + cleared + 2012-02-05 05:45:51 + + + 916 + A + + + + + + + + + + 177 + emp + 10 + 1295 + 1848 + A + 5 + + 756 + 336 + 155 + 22 + 49 + + + 2 + + played + 2012-02-05 05:45:51 + + + 365 + B + + + + + + + + + + 129 + 9th,10th,pb + 10 + 1286 + 1364 + C + 3 + + 509 + 346 + 340 + 55 + 106 + + + 4 + + played + 2012-02-05 05:45:51 + + + 925 + A + + + + + + + + + + 152 + emp + 10 + 1187 + 1421 + B + 4 + + 548 + 325 + 249 + 31 + 76 + + + 4 + + played + 2012-02-05 05:45:51 + + + 55 + B + + + + + + + + + + 182 + 4th,6th,7th,8th,hs,pb + 10 + 1039 + 1233 + B + 4 + + 478 + 277 + 219 + 32 + 82 + + + 2 + + played + 2012-02-05 05:45:51 + + + 897 + A + + + + + + + + + + 160 + emp + 10 + 1098 + 1530 + A + 7 + + 624 + 282 + 161 + 11 + 32 + + + 3 + + cleared + 2012-02-05 05:45:51 + + + 899 + A + + + + + + + + + + 170 + emp + 10 + 1090 + 1307 + B + 6 + + 539 + 229 + 265 + 22 + 52 + + + 3 + + cleared + 2012-02-05 05:45:51 + + + 221 + B + + + + + + + + + + 145 + 3rd,7th,8th,pb + 10 + 725 + 739 + C + 3 + + 238 + 263 + 116 + 56 + 103 + + + 4 + + played + 2012-02-05 05:45:51 + + + 900 + A + + + + + + + + + + 172 + emp + 9 + 1061 + 1557 + A + 7 + + 613 + 331 + 107 + 2 + 20 + + + 3 + + cleared + 2012-02-05 05:45:51 + + + 66 + A + + + + + + + + + + 155 + 6th,8th,pb + 10 + 1127 + 1195 + C + 5 + + 442 + 311 + 334 + 20 + 52 + + + 4 + + cleared + 2012-02-05 05:45:51 + + + 901 + A + + + + + + + + + + 128 + emp + 9 + 1242 + 1587 + B + 6 + + 607 + 373 + 228 + 12 + 31 + + + 4 + + cleared + 2012-02-05 05:45:51 + + + 911 + A + + + + + + + + + + 132 + emp + 10 + 1030 + 1266 + B + 6 + + 506 + 254 + 230 + 9 + 44 + + + 4 + + cleared + 2012-02-05 05:45:51 + + + 912 + A + + + + + + + + + + 180 + emp + 9 + 1153 + 1503 + B + 4 + + 593 + 317 + 204 + 19 + 42 + + + 2 + + played + 2012-02-05 05:45:51 + + + 656 + A + + + + + + + + + + 180 + dd,gold,pb + 9 + 1162 + 1661 + A + 7 + + 675 + 311 + 154 + 9 + 28 + + + 2 + H + + cleared + 2012-03-17 01:58:53 + + + 408 + 7 + + + + + + + + + + 180 + 10th + 9 + 888 + 1069 + B + 4 + + 294 + 103 + + + 2 + + played + + + + 2012-03-17 01:55:29 + + + 413 + 7 + + + + + + + + + + 180 + 10th + 9 + 975 + 1581 + AA + 8 + + 279 + 21 + + + 2 + H + + cleared + 2012-03-17 01:55:30 + + + 22 + 7 + + + + + + + + + + 200 + 6th,10th + 8 + 692 + 1061 + A + 7 + + 144 + 28 + + + 2 + H + + cleared + 2012-03-17 01:55:30 + + + 432 + 7 + + + + + + + + + + 140 + 10th + 7 + 829 + 1155 + A + 7 + + 190 + 41 + + + 4 + H + + cleared + 2012-03-17 01:55:30 + + + 435 + 7 + + + + + + + + + + 140 + 10th + 8 + 855 + 1327 + A + 7 + + 533 + 24 + + + 4 + H + + cleared + 2012-03-17 01:55:30 + + + 480 + A + + + + + + + + + + 150 + red,pb + 11 + 1446 + 1677 + B + 4 + + 651 + 375 + 305 + 59 + 101 + + + 3 + + played + 2012-03-17 01:57:10 + + + 482 + A + + + + + + + + + + 126 + red + 9 + 1076 + 1558 + A + 7 + + 633 + 292 + 136 + 5 + 24 + + + 5 + H + + cleared + + + + 2012-03-17 01:57:10 + + + 483 + A + + + + + + + + + + 150 + red + 11 + 1114 + 1383 + B + 4 + + 530 + 323 + 210 + 12 + 60 + + + 3 + + played + 2012-03-17 01:57:10 + + + 301 + A + + + + + + + + + + 155 + 8th,red + 11 + 1381 + 1374 + C + 3 + + 511 + 352 + 367 + 67 + 130 + + + 3 + + played + + + + 2012-03-17 01:57:10 + + + 515 + A + + + + + + + + + + 160 + red + 11 + 951 + 1196 + B + 4 + + 485 + 226 + 162 + 42 + 72 + + + 3 + B + + played + 2012-03-17 01:57:10 + + + 517 + A + + + + + + + + + + 162 + red + 11 + 1019 + 1341 + B + 4 + + 530 + 281 + 147 + 23 + 60 + + + 3 + + played + 2012-03-17 01:57:10 + + + 687 + A + + + + + + + + + + 170 + gold,pb + 10 + 1097 + 1866 + AA + 8 + + 815 + 236 + 33 + 5 + 16 + + + 3 + H + + cleared + 2012-03-17 01:58:53 + + + 747 + A + + + + + + + + + + 140 + gold + 10 + 947 + 1233 + B + 6 + + 473 + 287 + 168 + 10 + 32 + + + 3 + H + + cleared + 2012-03-17 01:58:53 + + + 728 + A + + + + + + + + + + 350 + gold + 10 + 836 + 722 + D + 2 + + 251 + 220 + 288 + 35 + 65 + + + 1 + + played + 2012-03-17 01:58:53 + + + 701 + A + + + + + + + + + + 142 + gold + 9 + 1115 + 1596 + A + 7 + + 645 + 306 + 142 + 11 + 23 + + + 3 + H + + cleared + 2012-03-17 01:58:53 + + + 813 + 7 + + + + + + + + + + 145 + djt + 7 + 1083 + 1596 + A + 7 + + 652 + 292 + 119 + 11 + 17 + + + 3 + H + + cleared + 2012-03-17 02:02:05 + + + 817 + 7 + + + + + + + + + + 165 + djt + 6 + 723 + 1264 + AA + 8 + + 560 + 144 + 16 + 0 + 3 + + + 3 + H + + cleared + 2012-03-17 02:02:05 + + + 823 + 7 + + + + + + + + + + 240 + djt + 6 + 385 + 633 + AA + 8 + + 269 + 95 + 15 + 3 + 8 + + + 1 + H + + cleared + 2012-03-17 02:02:05 + + + 788 + 7 + + + + + + + + + + 125 + djt + 6 + 678 + 1193 + AA + 8 + + 531 + 131 + 15 + 0 + 1 + + + 5 + H + + cleared + 2012-03-17 02:02:05 + + + 789 + 7 + + + + + + + + + + 140 + djt + 7 + 727 + 1171 + AA + 8 + + 482 + 207 + 36 + 0 + 5 + + + 3 + H + + cleared + 2012-03-17 02:02:05 + + + 768 + 7 + + + + + + + + + + 160 + djt + 7 + 800 + 1310 + AA + 8 + + 548 + 214 + 35 + 2 + 5 + + + 3 + H + + cleared + 2012-03-17 02:02:05 + + + 797 + 7 + + + + + + + + + + 152 + djt + 6 + 662 + 1103 + AA + 8 + + 460 + 183 + 15 + 2 + 3 + + + 3 + H + + cleared + 2012-03-17 02:02:05 + + + 769 + 7 + + + + + + + + + + 125 + djt + 7 + 631 + 1050 + AA + 8 + + 452 + 146 + 32 + 1 + 3 + + + 5 + H + + cleared + 2012-03-17 02:02:05 + + + 774 + 7 + + + + + + + + + + 70 + djt + 7 + 753 + 1315 + AA + 8 + + 583 + 149 + 19 + 2 + 2 + + + 5 + H + + cleared + 2012-03-17 02:02:05 + + + 791 + 7 + + + + + + + + + + 138 + djt + 5 + 586 + 1045 + AAA + 9 + + 477 + 91 + 13 + 3 + 5 + + + 4 + H + + cleared + 2012-03-17 02:02:05 + + + 805 + A + + + + + + + + + + 174 + djt + 11 + 1280 + 1350 + C + 3 + + 499 + 352 + 342 + 33 + 97 + + + 3 + + played + + + + 2012-03-17 02:02:05 + + + 859 + 7 + + + + + + + + + + 145 + emp + 7 + 873 + 1402 + AA + 8 + + 591 + 220 + 52 + 3 + 13 + + + 3 + H + + cleared + 2012-03-17 07:17:56 + + + 861 + 7 + + + + + + + + + + 180 + emp + 10 + 1166 + 1607 + A + 7 + + 634 + 339 + 175 + 8 + 28 + + + 2 + H + + cleared + 2012-03-17 07:17:56 + + + 862 + 7 + + + + + + + + + + 170 + emp + 7 + 680 + 1203 + AA + 8 + + 538 + 127 + 14 + 0 + 1 + + + 2 + H + + cleared + 2012-03-17 07:17:56 + + + 864 + 7 + + + + + + + + + + 155 + emp + 9 + 997 + 1581 + AA + 8 + + 675 + 231 + 81 + 7 + 10 + + + 3 + H + + cleared + 2012-03-17 07:17:56 + + + 866 + 7 + + + + + + + + + + 138 + emp + 7 + 764 + 1268 + AA + 8 + + 539 + 190 + 31 + 0 + 5 + + + 4 + H + + cleared + 2012-03-17 07:17:56 + + + 867 + 7 + + + + + + + + + + 175 + emp + 9 + 894 + 1329 + A + 7 + + 546 + 237 + 103 + 3 + 7 + + + 2 + H + + cleared + 2012-03-17 07:17:56 + + + 869 + 7 + + + + + + + + + + 146 + emp + 9 + 944 + 1430 + A + 7 + + 594 + 242 + 99 + 2 + 10 + + + 3 + H + + cleared + 2012-03-17 07:17:56 + + + 914 + 7 + + + + + + + + + + 170 + emp + 8 + 903 + 1487 + AA + 8 + + 632 + 223 + 45 + 0 + 5 + + + 2 + H + + cleared + 2012-03-17 07:17:57 + + + 871 + 7 + + + + + + + + + + 150 + emp + 6 + 815 + 1414 + AA + 8 + + 626 + 162 + 25 + 1 + 1 + + + 3 + H + + cleared + 2012-03-17 07:17:57 + + + 873 + 7 + + + + + + + + + + 143 + emp + 8 + 1078 + 1689 + AA + 8 + + 719 + 251 + 92 + 2 + 20 + + + 3 + H + + cleared + 2012-03-17 07:17:57 + + + 874 + 7 + + + + + + + + + + 185 + emp + 11 + 1442 + 1207 + D + 2 + + 434 + 339 + 474 + 101 + 208 + + + 2 + + played + 2012-03-17 07:17:57 + + + 877 + 7 + + + + + + + + + + 147 + emp + 6 + 666 + 1204 + AAA + 10 + + 549 + 106 + 11 + 0 + 0 + + + 3 + + combo + 2012-03-17 07:17:57 + + + 879 + 7 + + + + + + + + + + 176 + emp + 8 + 961 + 1497 + AA + 8 + + 631 + 235 + 74 + 12 + 18 + + + 2 + H + + cleared + 2012-03-17 07:17:57 + + + 883 + 7 + + + + + + + + + + 150 + emp + 7 + 827 + 1384 + AA + 8 + + 605 + 174 + 47 + 0 + 4 + + + 3 + H + + cleared + 2012-03-17 07:17:57 + + + 885 + 7 + + + + + + + + + + 155 + emp + 8 + 895 + 1279 + A + 7 + + 508 + 263 + 106 + 7 + 22 + + + 3 + H + + cleared + 2012-03-17 07:17:57 + + + 886 + 7 + + + + + + + + + + 148 + emp + 8 + 850 + 1219 + A + 7 + + 520 + 179 + 85 + 5 + 61 + + + 3 + H + + cleared + 2012-03-17 07:17:57 + + + 888 + 7 + + + + + + + + + + 151 + emp + 6 + 682 + 1173 + AA + 9 + + 511 + 151 + 20 + 0 + 0 + + + 3 + + combo + 2012-03-17 07:17:57 + + + 890 + 7 + + + + + + + + + + 136 + emp + 7 + 784 + 1286 + AA + 8 + + 543 + 200 + 36 + 2 + 4 + + + 4 + H + + cleared + 2012-03-17 07:17:57 + + + 892 + 7 + + + + + + + + + + 152 + emp + 9 + 1174 + 1660 + A + 7 + + 650 + 360 + 150 + 5 + 18 + + + 3 + H + + cleared + 2012-03-17 07:17:57 + + + 894 + 7 + + + + + + + + + + 152 + emp + 8 + 872 + 1339 + A + 7 + + 534 + 271 + 57 + 4 + 17 + + + 3 + H + + cleared + 2012-03-17 07:17:57 + + + 897 + 7 + + + + + + + + + + 160 + emp + 7 + 826 + 1331 + AA + 8 + + 567 + 197 + 57 + 3 + 4 + + + 3 + H + + cleared + 2012-03-17 07:17:57 + + + 899 + 7 + + + + + + + + + + 170 + emp + 9 + 858 + 1206 + A + 7 + + 500 + 206 + 139 + 7 + 12 + + + 2 + H + + cleared + 2012-03-17 07:17:57 + + + 901 + 7 + + + + + + + + + + 128 + emp + 7 + 838 + 1286 + A + 7 + + 541 + 204 + 89 + 0 + 8 + + + 4 + H + + cleared + 2012-03-17 07:17:57 + + + 911 + 7 + + + + + + + + + + 132 + emp + 6 + 662 + 1154 + AA + 9 + + 517 + 120 + 25 + 0 + 1 + + + 4 + + combo + 2012-03-17 07:17:57 + + + 912 + 7 + + + + + + + + + + 180 + emp + 7 + 789 + 1354 + AA + 8 + + 589 + 176 + 21 + 2 + 5 + + + 2 + H + + cleared + 2012-03-17 07:17:57 + + + 902 + 7 + + + + + + + + + + 148 + emp + 7 + 765 + 1373 + AAA + 10 + + 624 + 125 + 16 + 0 + 0 + + + 4 + + combo + 2012-03-17 07:17:57 + + + 906 + 7 + + + + + + + + + + 148 + emp + 7 + 700 + 1099 + AA + 8 + + 472 + 155 + 71 + 1 + 3 + + + 4 + H + + cleared + 2012-03-17 07:17:57 + + + 678 + 7 + + + + + + + + + + 171 + dd + 8 + 870 + 1406 + AA + 8 + + 598 + 210 + 50 + 7 + 19 + + + 2 + H + B + + cleared + 2012-05-06 03:48:00 + + + 155 + 7 + + + + + + + + + + 160 + 4th + 5 + 369 + 584 + AA + 8 + + 249 + 86 + 28 + 5 + 7 + + + 2 + T + + cleared + 2012-05-26 00:14:15 + + + 135 + A + + + + + + + + + + 155 + 4th + 7 + 721 + 1146 + AA + 8 + + 471 + 204 + 38 + 2 + 14 + + + 2 + T + + cleared + 2012-05-26 00:26:24 + + + 142 + A + + + + + + + + + + 122 + 4th + 7 + 692 + 1104 + AA + 8 + + 457 + 190 + 40 + 3 + 5 + + + 3 + T + + cleared + 2012-05-26 00:32:54 + + + 149 + A + + + + + + + + + + 180 + 4th + 9 + 1196 + 1836 + A + 7 + + 772 + 292 + 102 + 14 + 37 + + + 2 + T + + cleared + 2012-05-26 01:09:16 + + + 121 + 7 + + + + + + + + + + 92 + 4th + 6 + 222 + 321 + A + 7 + + 125 + 71 + 24 + 0 + 6 + + + 3 + T + + cleared + 2012-05-26 01:28:23 + + + 151 + A + + + + + + + + + + 134 + 4th + 10 + 1094 + 1278 + B + 6 + + 485 + 308 + 245 + 36 + 42 + + + 3 + T + M + + cleared + + + + 2012-05-26 01:31:54 + + + 127 + A + + + + + + + + + + 98 + 4th + 7 + 650 + 903 + A + 7 + + 334 + 235 + 76 + 4 + 7 + + + 3 + T + + cleared + 2012-05-26 01:39:12 + + + 124 + A + + + + + + + + + + 132 + 4th,8th + 6 + 641 + 1036 + AA + 8 + + 449 + 138 + 46 + 5 + 6 + + + 3 + T + + cleared + 2012-05-26 02:42:06 + + + 136 + A + + + + + + + + + + 137 + 4th + 8 + 739 + 1251 + AA + 8 + + 524 + 203 + 10 + 2 + 3 + + + 3 + T + B + + cleared + 2012-05-26 02:51:21 + + + 156 + A + + + + + + + + + + 120 + 4th + 5 + 546 + 857 + AA + 8 + + 357 + 143 + 38 + 4 + 9 + + + 3 + T + + cleared + 2012-05-26 02:54:50 + + + 137 + A + + + + + + + + + + 145 + 4th + 8 + 512 + 807 + AA + 8 + + 345 + 117 + 32 + 12 + 12 + + + 3 + T + B + + cleared + 2012-05-26 03:04:17 + + + 108 + A + + + + + + + + + + 149 + 3rd,4th,5th,pb + 7 + 645 + 971 + A + 7 + + 388 + 195 + 53 + 5 + 12 + + + 3 + T + + cleared + 2012-05-26 03:19:54 + + + 133 + 7 + + + + + + + + + + 170 + 4th + 5 + 643 + 1110 + AA + 8 + + 475 + 160 + 6 + 0 + 8 + + + 2 + T + B + + cleared + 2012-05-26 03:43:41 + + + 51 + A + + + + + + + + + + 190 + 4th,6th + 9 + 655 + 925 + A + 7 + + 379 + 167 + 86 + 13 + 30 + + + 1 + T + + cleared + + + + 2012-05-26 04:18:48 + + + 129 + A + + + + + + + + + + 90 + 4th + 5 + 473 + 756 + AA + 8 + + 308 + 140 + 23 + 0 + 8 + + + 3 + T + + cleared + 2012-05-26 04:26:42 + + + 158 + L7 + + + + + + + + + + 90 + 4th + 3 + 443 + 710 + AA + 9 + + 293 + 124 + 26 + 0 + 1 + + + 2 + T + + combo + + + + 2012-05-26 04:32:02 + + + 159 + A + + + + + + + + + + 129 + 3rd,4th + 6 + 658 + 1047 + AA + 8 + + 405 + 237 + 11 + 3 + 3 + + + 3 + T + + cleared + 2012-05-26 04:42:38 + + + 138 + A + + + + + + + + + + 126 + 4th + 6 + 585 + 944 + AA + 8 + + 390 + 164 + 27 + 2 + 5 + + + 3 + T + + cleared + 2012-05-26 04:46:15 + + + 141 + A + + + + + + + + + + 125 + 4th + 6 + 582 + 920 + AA + 8 + + 391 + 138 + 47 + 2 + 9 + + + 3 + T + + cleared + 2012-05-26 05:07:14 + + + 153 + A + + + + + + + + + + 125 + 4th,7th,8th,us + 8 + 670 + 992 + A + 7 + + 365 + 262 + 32 + 5 + 13 + + + 3 + T + + cleared + + + + 2012-05-26 05:12:07 + + + + + 1 + 7 + + + + 6th + 25 + 2367 + 5 + 2802 + B + + 986 + 830 + 452 + 27 + 107 + + + 4 + T + + cleared + 2006-09-25 13:18:48 + + + diff --git a/server/src/test-utils/test-data/s3/malicious-mods.xml b/server/src/test-utils/test-data/s3/malicious-mods.xml new file mode 100644 index 000000000..f36d3be13 --- /dev/null +++ b/server/src/test-utils/test-data/s3/malicious-mods.xml @@ -0,0 +1,43 @@ + + + 3 + + + + + + + + + + 187 + 7 + + + + + + + + + + 174 + 3rd + 1 + 137 + 100 + AA + 9 + + 50 + 50 + 0 + 0 + 4 + + 1 + perfect + 2010-10-19 04:54:22 + + + \ No newline at end of file diff --git a/server/src/test-utils/test-data/s3/malicious-scorebreakdown.xml b/server/src/test-utils/test-data/s3/malicious-scorebreakdown.xml new file mode 100644 index 000000000..9c39888cd --- /dev/null +++ b/server/src/test-utils/test-data/s3/malicious-scorebreakdown.xml @@ -0,0 +1,41 @@ + + + 3 + + + + + + + + + + 187 + 7 + + + + + + + + + + 174 + 3rd + 1 + 137 + 100 + AA + 9 + 1 + + 2 + T + B + + perfect + 2010-10-19 04:54:22 + + + \ No newline at end of file diff --git a/server/src/test-utils/test-data/s3/no-score-data.xml b/server/src/test-utils/test-data/s3/no-score-data.xml new file mode 100644 index 000000000..95551b138 --- /dev/null +++ b/server/src/test-utils/test-data/s3/no-score-data.xml @@ -0,0 +1,12 @@ + + + 3 + + + + + + + + + \ No newline at end of file diff --git a/server/src/test-utils/test-data/s3/one-score.xml b/server/src/test-utils/test-data/s3/one-score.xml new file mode 100644 index 000000000..cb5015a49 --- /dev/null +++ b/server/src/test-utils/test-data/s3/one-score.xml @@ -0,0 +1,47 @@ + + + 3 + + + + + + + + + + 187 + 7 + + + + + + + + + + 174 + 3rd + 1 + 137 + 100 + AA + 9 + + 50 + 50 + 0 + 0 + 4 + + + 2 + T + B + + perfect + 2010-10-19 04:54:22 + + + \ No newline at end of file diff --git a/server/src/test-utils/test-data/s3/point-five-nine.xml b/server/src/test-utils/test-data/s3/point-five-nine.xml new file mode 100644 index 000000000..63b9c76a0 --- /dev/null +++ b/server/src/test-utils/test-data/s3/point-five-nine.xml @@ -0,0 +1,47 @@ + + + 3 + + + + + + + + + + 187 + 7 + + + + + + + + + + 174 + 3rd + 1 + 137 + 100 + AA + 9 + + 50 + 50 + 0 + 0 + 4 + + + 2 + T + B + + perfect + 2010-10-19 04:54:22 + + + \ No newline at end of file diff --git a/server/src/test-utils/test-data/s3/valid.xml b/server/src/test-utils/test-data/s3/valid.xml new file mode 100644 index 000000000..ee506c648 --- /dev/null +++ b/server/src/test-utils/test-data/s3/valid.xml @@ -0,0 +1,82 @@ + + + 3 + + + + + + + + + + 187 + 7 + + + + + + + + + + 174 + 3rd + 1 + 137 + 100 + AA + 9 + + 25 + 50 + 0 + 0 + 4 + + + 2 + T + H + B + + cleared + 2010-10-19 04:54:22 + + + 187 + L7 + + + + + + + + + + 174 + 3rd + 1 + 137 + 100 + AA + 9 + + 25 + 50 + 0 + 0 + 4 + + + 2 + T + B + + perfect + 2010-10-19 04:54:22 + + + \ No newline at end of file diff --git a/server/src/test-utils/test-data/tachi/tachi-charts-iidx.json b/server/src/test-utils/test-data/tachi/tachi-charts-iidx.json new file mode 100644 index 000000000..819b68124 --- /dev/null +++ b/server/src/test-utils/test-data/tachi/tachi-charts-iidx.json @@ -0,0 +1,362117 @@ +[ + { + "rgcID": null, + "chartID": "92599eae8169756eb64f11af0c7781185a3aa8ed", + "difficulty": "ANOTHER", + "songID": 1, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 1000, + "notecount": 796, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "8-cs", + "7-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d4288c6a167f08248782c4421c43cd3b27be609", + "difficulty": "HYPER", + "songID": 1, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 1000, + "notecount": 511, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c2935e06698280575009c237fa1c5780823f41ec", + "difficulty": "NORMAL", + "songID": 1, + "playtype": "DP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 1000, + "notecount": 99, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c2311194e3897ddb5745b1760d2c0141f933e683", + "difficulty": "ANOTHER", + "songID": 1, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 1000, + "notecount": 786, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "8-cs", + "7-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "71865a2b6d3581decf076ae83c6621302c4bb271", + "difficulty": "BEGINNER", + "songID": 1, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 1000, + "notecount": 83, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c641238220d73faf82659513ba03bde71b0b45f0", + "difficulty": "HYPER", + "songID": 1, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 1000, + "notecount": 511, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "952805894d7d78257e87019426fa1d87aec834a5", + "difficulty": "NORMAL", + "songID": 1, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1000, + "notecount": 99, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8ca740fcd0079750421e353b3a3a724d9eb3a39", + "difficulty": "ANOTHER", + "songID": 2, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 1001, + "notecount": 631, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f4a59116d937e0d24372a423e72bf01edd7f129c", + "difficulty": "HYPER", + "songID": 2, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 1001, + "notecount": 556, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ead09b3e3c5a95aac39ece77c3faf17e5590b0c0", + "difficulty": "NORMAL", + "songID": 2, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1001, + "notecount": 409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82cc26771e8bae5d308b724b9ceae5f3278b5a2f", + "difficulty": "ANOTHER", + "songID": 2, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 1001, + "notecount": 609, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3455a69c1745e54a1c114753fe0e9afaf50d04a4", + "difficulty": "HYPER", + "songID": 2, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 1001, + "notecount": 508, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5b95bb27c1f7a19c165f60f5a9cea766170f1026", + "difficulty": "NORMAL", + "songID": 2, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1001, + "notecount": 442, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "909bcb3dd8ed5a4b6ebd32f36822f35ee9d11359", + "difficulty": "ANOTHER", + "songID": 3, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 1002, + "notecount": 823, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1fce6c494ab5f35e7b9a471eb076ba4c3ddb2a45", + "difficulty": "HYPER", + "songID": 3, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 1002, + "notecount": 715, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4037c5838a5a6dc4d4422b1bf01f93a051ed8de3", + "difficulty": "NORMAL", + "songID": 3, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1002, + "notecount": 592, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "75ff12a162a1e564687a81797662d227deaf3c6d", + "difficulty": "ANOTHER", + "songID": 3, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 1002, + "notecount": 499, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "014e32d4c824601a8b24539dde58e8f6c11422b3", + "difficulty": "HYPER", + "songID": 3, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1002, + "notecount": 428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a411de85175a804363c3682bda6d1451eb6fc0be", + "difficulty": "NORMAL", + "songID": 3, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1002, + "notecount": 332, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32bddffe202c0a84d2c298ae4a669a0d23a5d259", + "difficulty": "ANOTHER", + "songID": 4, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 1003, + "notecount": 475, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85960cd68d0aca754b775851fc8c5039050c49a2", + "difficulty": "HYPER", + "songID": 4, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 1003, + "notecount": 392, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb9a5fd43b323e7ec22cc5111eeded5e3da0cee4", + "difficulty": "NORMAL", + "songID": 4, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1003, + "notecount": 384, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a0e17a4e068047fcd27a67b02af12edcac619cf2", + "difficulty": "ANOTHER", + "songID": 4, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 1003, + "notecount": 454, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "886f040060e853d224f170ceb9010c75c1584c02", + "difficulty": "HYPER", + "songID": 4, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1003, + "notecount": 368, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6db1f5ba91619f69793025013d84fa04f58a641f", + "difficulty": "NORMAL", + "songID": 4, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1003, + "notecount": 330, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a4b1d048034a3c3eedd7e529c79a7152f9e96a1", + "difficulty": "ANOTHER", + "songID": 5, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 1004, + "notecount": 846, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a90ff5f6eb9555fc7cfbb4164d0a37586cbac8bf", + "difficulty": "HYPER", + "songID": 5, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 1004, + "notecount": 836, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e6193490a1abae43e7d5de3cce9608672b30929c", + "difficulty": "NORMAL", + "songID": 5, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1004, + "notecount": 262, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3e7f84103d68f9f27193f037f35d0bca8c6d607", + "difficulty": "ANOTHER", + "songID": 5, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 1004, + "notecount": 837, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc143b488d1af894fdd0c5be145e1d613aaf5214", + "difficulty": "BEGINNER", + "songID": 5, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 1004, + "notecount": 102, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5495b1f091ad877054634cfca3835511eee75302", + "difficulty": "HYPER", + "songID": 5, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 1004, + "notecount": 548, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "15df4b24e65517a84eed85ba7c05fcf7f20113d0", + "difficulty": "NORMAL", + "songID": 5, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1004, + "notecount": 191, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cc66bf184e92b83eacc7fe25324e4412f3beb35a", + "difficulty": "ANOTHER", + "songID": 6, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 1005, + "notecount": 581, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e56006c7d32a619d2ef49533ac1aad1af63fc41", + "difficulty": "HYPER", + "songID": 6, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 1005, + "notecount": 718, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "7-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "010a8fc14d55d43c41ffcf49e9b94c91a744d746", + "difficulty": "NORMAL", + "songID": 6, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1005, + "notecount": 456, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "7-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf8dccaf265a2a50b72f468bc5d70acf214fdf2a", + "difficulty": "ANOTHER", + "songID": 6, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 1005, + "notecount": 581, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "7-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b7ee1e6b586d5d03e04a16840423411ea5db9b6", + "difficulty": "HYPER", + "songID": 6, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 1005, + "notecount": 530, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "7-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3b5fa295d243c131752e2f1ad835998f6dad2e97", + "difficulty": "LEGGENDARIA", + "songID": 6, + "playtype": "SP", + "levelNum": 0, + "level": "10", + "data": { + "inGameID": 1005, + "notecount": 725, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ac8872db80df87dc98cc37b53704e2e9824dca64", + "difficulty": "NORMAL", + "songID": 6, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1005, + "notecount": 398, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "7-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de781c92ccf55146011f01fe75150fcec5adb550", + "difficulty": "HYPER", + "songID": 7, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1006, + "notecount": 137, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d06d2a2717c58109e0b8dae8b0c269d02a5c65f2", + "difficulty": "NORMAL", + "songID": 7, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1006, + "notecount": 137, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5e7128485017b67e85cc75432326c9656a33f310", + "difficulty": "BEGINNER", + "songID": 7, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 1006, + "notecount": 66, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc7edc6bcfa701a261c89c999ddbba3e2195597b", + "difficulty": "HYPER", + "songID": 7, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1006, + "notecount": 137, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a23d1699195aebcc488e384c79775a4b6b00dae", + "difficulty": "NORMAL", + "songID": 7, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1006, + "notecount": 137, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9bb6a2fef7fcfda136e069150a904d1a11348fb5", + "difficulty": "ANOTHER", + "songID": 8, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 1007, + "notecount": 772, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9321f641f933866ab6e59b3b3cfaee04ce4ad7ee", + "difficulty": "HYPER", + "songID": 8, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1007, + "notecount": 327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": false, + "versions": [ + "27-omni", + "27", + "26-omni", + "15-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "difficulty": "HYPER", + "songID": 8, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1007, + "notecount": 327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {}, + "chartID": "eeeb339dade353fbe3af728820b6f693d9d3b0cd" + }, + { + "rgcID": null, + "chartID": "e6a1ff08d1ed4462b1eb4b546c1c29a331823cd8", + "difficulty": "NORMAL", + "songID": 8, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1007, + "notecount": 198, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": false, + "versions": [ + "27-omni", + "27", + "26-omni", + "15-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "difficulty": "NORMAL", + "songID": 8, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1007, + "notecount": 199, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {}, + "chartID": "4b44f3edf36a9883293fca88667dbfefdbd09dbc" + }, + { + "rgcID": null, + "chartID": "b62a9cf8b300c69e7c77faacf1ce3f35827ffe38", + "difficulty": "ANOTHER", + "songID": 8, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 1007, + "notecount": 728, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aec089ca60bdadfbd698f390cb720a2b82a162ff", + "difficulty": "HYPER", + "songID": 8, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1007, + "notecount": 342, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": false, + "versions": [ + "27-omni", + "27", + "26-omni", + "15-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "difficulty": "HYPER", + "songID": 8, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1007, + "notecount": 342, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {}, + "chartID": "0d75c305fdb401e6693c58640d732cebcfe7b222" + }, + { + "rgcID": null, + "chartID": "0fe39283a6c72c8fef8c10a75e2b4be9fb93b0f3", + "difficulty": "NORMAL", + "songID": 8, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1007, + "notecount": 172, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": false, + "versions": [ + "27-omni", + "27", + "26-omni", + "15-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "difficulty": "NORMAL", + "songID": 8, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1007, + "notecount": 172, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {}, + "chartID": "538d137b7f82caf803ae9ef63f686163e7df4b8f" + }, + { + "rgcID": null, + "chartID": "5fbe9f3f42940b7902764eecf347c5ca4b409421", + "difficulty": "ANOTHER", + "songID": 9, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 1008, + "notecount": 538, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b77e344479f25e7cf071422e4d34fb8d95d39da2", + "difficulty": "HYPER", + "songID": 9, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 1008, + "notecount": 417, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9962904856025b8e52bdea415e0050822ba4b134", + "difficulty": "NORMAL", + "songID": 9, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1008, + "notecount": 211, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d225d530bf036e06b4f86704b62641d5a753a5a", + "difficulty": "ANOTHER", + "songID": 9, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 1008, + "notecount": 536, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fbfd63cf5d5152e8a51f89be4483965ade277d7e", + "difficulty": "HYPER", + "songID": 9, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 1008, + "notecount": 417, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "bmus", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "355a304ba417d14d6d25408665526823a39ca2fd", + "difficulty": "NORMAL", + "songID": 9, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1008, + "notecount": 211, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a218abf584d654dc597a886224628a6d2597d0e", + "difficulty": "ANOTHER", + "songID": 10, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1009, + "notecount": 329, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b3d401d73275f9aefa2f96d6652bb7b849ed4ad", + "difficulty": "HYPER", + "songID": 10, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1009, + "notecount": 334, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dddd666010d4fd550f335a2d98c90b67d5f20717", + "difficulty": "NORMAL", + "songID": 10, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1009, + "notecount": 333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ec1c8e67007b3065e1ef9acd27a813cb4141e91b", + "difficulty": "ANOTHER", + "songID": 10, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1009, + "notecount": 329, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26f3d3425662f837d5fe9d30b8194e7cad10ca96", + "difficulty": "HYPER", + "songID": 10, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1009, + "notecount": 323, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d0de2bb570925fb49f4dfbc5aa0dee046c6beb3", + "difficulty": "NORMAL", + "songID": 10, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1009, + "notecount": 265, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e601349353abcaf4a431aedb4c9af32afdb1963e", + "difficulty": "HYPER", + "songID": 11, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1010, + "notecount": 321, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6dc0d1be80a5df1bf44b8f7ca43b1e8b12571327", + "difficulty": "NORMAL", + "songID": 11, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1010, + "notecount": 259, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c4d523c8dcffb4489737baa6d1114f3105004772", + "difficulty": "ANOTHER", + "songID": 11, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1010, + "notecount": 290, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5798dd1c2a16e6ef3e4469f7a2bdea8a7bc1cd8f", + "difficulty": "BEGINNER", + "songID": 11, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 1010, + "notecount": 122, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a677e80264777b6e5bd97f2bb33b23adf0c39915", + "difficulty": "HYPER", + "songID": 11, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1010, + "notecount": 261, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94400d202adfccd5e74ef70158b4cb401f53384c", + "difficulty": "NORMAL", + "songID": 11, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1010, + "notecount": 204, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ebc4e0e2c9fd17238ccf29f43999ddaac7654f9", + "difficulty": "ANOTHER", + "songID": 12, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 1011, + "notecount": 590, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2151997414bf177e95e81c8dc7b1e862f78205a", + "difficulty": "HYPER", + "songID": 12, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 1011, + "notecount": 506, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aecb69103613fdf1fe81f85e1818d219ea14981a", + "difficulty": "NORMAL", + "songID": 12, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1011, + "notecount": 445, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "15ade4239e71b582b33d343d4ceb17287118b71e", + "difficulty": "ANOTHER", + "songID": 12, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 1011, + "notecount": 501, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "988bc31f2a2320038f187814f18afdca50d759a9", + "difficulty": "HYPER", + "songID": 12, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 1011, + "notecount": 469, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ec84adac72634d5013147a9e9efdc44dca1f03ff", + "difficulty": "NORMAL", + "songID": 12, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1011, + "notecount": 450, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3da03d3d9d21c7a46b2b2deb6ca72cfe8ac817a2", + "difficulty": "ANOTHER", + "songID": 13, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1012, + "notecount": 254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b8318af1b0f59b3484e4e2a2c96df6ad02d5e9d", + "difficulty": "HYPER", + "songID": 13, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1012, + "notecount": 254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df0fc3b9c5e46759a5c26ae2416b1baf27239683", + "difficulty": "NORMAL", + "songID": 13, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1012, + "notecount": 214, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85feb992dd01ca893c699cea9b3769f457ca97fe", + "difficulty": "ANOTHER", + "songID": 13, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1012, + "notecount": 254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e87e46174a8b4214db524a4f1a1e7dac98c1e515", + "difficulty": "HYPER", + "songID": 13, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1012, + "notecount": 234, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "687e8e2f95fae8c4795810dcd7ca1809b4618425", + "difficulty": "NORMAL", + "songID": 13, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1012, + "notecount": 203, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0c090d401c36398682bcabf966844b7b1db2d78", + "difficulty": "HYPER", + "songID": 14, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1013, + "notecount": 363, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8b29e34925ca08bcefb516c520d861912c46183", + "difficulty": "NORMAL", + "songID": 14, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1013, + "notecount": 288, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ac28893446214c9d58467ff40475a89b4a2d477", + "difficulty": "ANOTHER", + "songID": 14, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1013, + "notecount": 362, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72c1e0d85d57308050b17e40a8b80c69d401a4d4", + "difficulty": "HYPER", + "songID": 14, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1013, + "notecount": 330, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2fba72f17465c34097ce66a8bd565b402a4b9958", + "difficulty": "NORMAL", + "songID": 14, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1013, + "notecount": 270, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1cf3f44db29fc6d7349e8fe13dbfaa7b2115ea62", + "difficulty": "ANOTHER", + "songID": 15, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 1015, + "notecount": 364, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb93505dd3a08cda176c51cd3d553a5c6ce2a59e", + "difficulty": "HYPER", + "songID": 15, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1015, + "notecount": 293, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "638f639483c6abac016cf0adc8ac3c9edb53155a", + "difficulty": "NORMAL", + "songID": 15, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1015, + "notecount": 283, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3bc0eb1a67aabe466c12954794862e6295683c49", + "difficulty": "ANOTHER", + "songID": 15, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1015, + "notecount": 333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c96fb5024c50a2bdf5063a62b7706394314f00e", + "difficulty": "HYPER", + "songID": 15, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1015, + "notecount": 255, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "921bc97bcaa48d6a7a58de51828c57891241e71f", + "difficulty": "NORMAL", + "songID": 15, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1015, + "notecount": 250, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dbd8a5784bea0505a6730fb604d59c3848e6b09e", + "difficulty": "ANOTHER", + "songID": 16, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 1016, + "notecount": 409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e7b96f53db1f7a9e4eacabf649a46c2f8c0f046b", + "difficulty": "HYPER", + "songID": 16, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 1016, + "notecount": 570, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df7bb5403b0725cd835c3cb78a3eea0a8bee4b65", + "difficulty": "NORMAL", + "songID": 16, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1016, + "notecount": 303, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "88e47044838debbd1039e4a709a76cba07be22e1", + "difficulty": "ANOTHER", + "songID": 16, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1016, + "notecount": 409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0256c426b0afcdabdc226c64c1d72f28f2208c9", + "difficulty": "HYPER", + "songID": 16, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1016, + "notecount": 303, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f60a3a02c741df25e1d9e0c658c50f187433fe42", + "difficulty": "NORMAL", + "songID": 16, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1016, + "notecount": 251, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf4319ddfae43ef6fa21a8ac7ade0d1478b103ad", + "difficulty": "ANOTHER", + "songID": 17, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 1017, + "notecount": 624, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53606aba0f515e005adb0a2990facb1ba27b9e3e", + "difficulty": "HYPER", + "songID": 17, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1017, + "notecount": 201, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f737188fdc66b06249fabc5fc9d6e545aef3d64e", + "difficulty": "LEGGENDARIA", + "songID": 17, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 1017, + "notecount": 1203, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6a013c57578ddf809aa41621b19b1e86bd806700", + "difficulty": "NORMAL", + "songID": 17, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1017, + "notecount": 186, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6a763428015635afc14383722f5b240cbaf8cfac", + "difficulty": "ANOTHER", + "songID": 17, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 1017, + "notecount": 556, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dafa3f6511a3150015ffaaac3f4a008aacc0ebe1", + "difficulty": "BEGINNER", + "songID": 17, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 1017, + "notecount": 76, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "00f6e21b12d0a1bc01e39450b41003384381681f", + "difficulty": "HYPER", + "songID": 17, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1017, + "notecount": 201, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df38eaf472aa92323cf8beec173a5122e08f00a8", + "difficulty": "LEGGENDARIA", + "songID": 17, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 1017, + "notecount": 1058, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b26a15fc4db254cc48e6d5350fe2b4f74e99c54a", + "difficulty": "NORMAL", + "songID": 17, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1017, + "notecount": 185, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c8d794ff967542d0907f73e711dd640bee1874a2", + "difficulty": "ANOTHER", + "songID": 18, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1018, + "notecount": 324, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0470ed4e87cbfe885e646bd732651e1f89966742", + "difficulty": "HYPER", + "songID": 18, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1018, + "notecount": 242, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "abd81f288379b6e51b87bb3f86872bcc42b501c8", + "difficulty": "NORMAL", + "songID": 18, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1018, + "notecount": 147, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b6395877214b03f460ee6f68d970c992ff8ec6a", + "difficulty": "ANOTHER", + "songID": 18, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1018, + "notecount": 197, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "609d94b6cb567110a33b23ad0995fb421ef62ccd", + "difficulty": "HYPER", + "songID": 18, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1018, + "notecount": 197, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f33448511395904f484c8eedf3234651133a16dc", + "difficulty": "NORMAL", + "songID": 18, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1018, + "notecount": 131, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f68dfa605e3292fbcdc3e32aa7212c5a4504abdf", + "difficulty": "HYPER", + "songID": 19, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1019, + "notecount": 122, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c7884aec11053680132efe5574c2273c591e41c", + "difficulty": "NORMAL", + "songID": 19, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1019, + "notecount": 119, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2306408865ea4bc40651784b377dd653230d269c", + "difficulty": "HYPER", + "songID": 19, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1019, + "notecount": 122, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca6aa6f1286ce563680f64bfee96661243c8f265", + "difficulty": "NORMAL", + "songID": 19, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1019, + "notecount": 98, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "534ca367f49037f98f96e8d8ca520079a9cc761e", + "difficulty": "ANOTHER", + "songID": 20, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 1020, + "notecount": 581, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "bmus", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "923532ab97553f483a731869dafdfd77eb1ce3d9", + "difficulty": "HYPER", + "songID": 20, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 1020, + "notecount": 406, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "bmus", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d66dd2d25aecbcb6191603805d7193e861d6b3b0", + "difficulty": "NORMAL", + "songID": 20, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1020, + "notecount": 280, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "bmus", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12f22aaa085c6e5a4d810d4541443d51da8fec75", + "difficulty": "ANOTHER", + "songID": 20, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 1020, + "notecount": 562, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "bmus", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "92575b768616c575b25874dd6781422385d55016", + "difficulty": "HYPER", + "songID": 20, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 1020, + "notecount": 376, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "bmus", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a81cb592e647c654589191c73460af48093db5ef", + "difficulty": "NORMAL", + "songID": 20, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1020, + "notecount": 280, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "bmus", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "48f90a9290d0d7b4fd2cc497e67d8cee967ea23f", + "difficulty": "HYPER", + "songID": 21, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1201, + "notecount": 149, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "25bfeea7815f674765f97a065a8ba729d8616685", + "difficulty": "NORMAL", + "songID": 21, + "playtype": "DP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 1201, + "notecount": 139, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "62c5cb9228f39e2d6d222ecf84aa709c5e2271ce", + "difficulty": "BEGINNER", + "songID": 21, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 1201, + "notecount": 117, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d8ce7c2771163a52264332a791d6d8a88100787a", + "difficulty": "HYPER", + "songID": 21, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1201, + "notecount": 148, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2a9c613c7f6a2a04dec687278a3e7b500ccbfe7", + "difficulty": "NORMAL", + "songID": 21, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 1201, + "notecount": 117, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a7995b6ece78f9c18a9a7eead28dd82e566df096", + "difficulty": "HYPER", + "songID": 22, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1203, + "notecount": 115, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b5ea759764bdf66de33fc8b0783a9127e380189a", + "difficulty": "NORMAL", + "songID": 22, + "playtype": "DP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 1203, + "notecount": 99, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cefab2e14af39029096852870fa702a9614d7114", + "difficulty": "ANOTHER", + "songID": 22, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1203, + "notecount": 96, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94bf0f12f914ebac8a752fd7d3945a9131c8186b", + "difficulty": "HYPER", + "songID": 22, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1203, + "notecount": 80, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "518cc3bba96b40ec7e402fd11f5f61d6516bfc20", + "difficulty": "NORMAL", + "songID": 22, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 1203, + "notecount": 57, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eb676882577a7cb14f6d3d0b91d00ea039c3d792", + "difficulty": "ANOTHER", + "songID": 23, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 1204, + "notecount": 476, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1768f1bd9647f751fb724efda8b8de011e5462f", + "difficulty": "HYPER", + "songID": 23, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 1204, + "notecount": 417, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2df7a72b18f90f688318a8f8f268a77abb1b1eba", + "difficulty": "NORMAL", + "songID": 23, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 1204, + "notecount": 415, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "405541a4c3348a4dd3a5cd2c082a4221ec6dcfbc", + "difficulty": "ANOTHER", + "songID": 23, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 1204, + "notecount": 446, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d596f5c7dbffa60e9b5df435ca1e0e5be75fac33", + "difficulty": "HYPER", + "songID": 23, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 1204, + "notecount": 280, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4df4ab055b0ab85bf980803d4380c59f4d481ac9", + "difficulty": "NORMAL", + "songID": 23, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1204, + "notecount": 254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "00f0e5ee1b1d718d65aa95b753bfbd0ec6adbb3a", + "difficulty": "ANOTHER", + "songID": 24, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 1205, + "notecount": 247, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "272db6e347cfd6e80a51ba96f3a6a2a17bf4fce1", + "difficulty": "HYPER", + "songID": 24, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 1205, + "notecount": 307, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d1eb6fe7ac507b48d1b689101603cbdccfd7a79", + "difficulty": "ANOTHER", + "songID": 24, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1205, + "notecount": 247, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f7885d2654c33ba5b481786944170d9d9e4dc5b9", + "difficulty": "HYPER", + "songID": 24, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1205, + "notecount": 276, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "71917ee9300f0dd5396a7db1408f7ab687b3b662", + "difficulty": "HYPER", + "songID": 25, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1206, + "notecount": 252, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8c9491a265359969e43be2edb68df3923a9ce1b", + "difficulty": "HYPER", + "songID": 25, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1206, + "notecount": 155, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29f34d056f9707fcb14a5e60305e2ecfac8ba9fc", + "difficulty": "ANOTHER", + "songID": 26, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1207, + "notecount": 246, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11d8f200dba87733ca1729000a42e96620b5641d", + "difficulty": "HYPER", + "songID": 26, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1207, + "notecount": 123, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b09f59cf2d011badf466d23b93bef5a36565c5e", + "difficulty": "NORMAL", + "songID": 26, + "playtype": "DP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 1207, + "notecount": 123, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a375d909a24364dd5ffa95cce815023a5c64a84", + "difficulty": "ANOTHER", + "songID": 26, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1207, + "notecount": 192, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ec54aaeee0587ff0e4a23164c8c8b3528dc846c4", + "difficulty": "HYPER", + "songID": 26, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1207, + "notecount": 96, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4cf8e3fa5b644276c309b00ef14415e5cc50f62c", + "difficulty": "NORMAL", + "songID": 26, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 1207, + "notecount": 96, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "66df143bdf3d4686fbcf860247df113274a8fbc7", + "difficulty": "HYPER", + "songID": 27, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 1208, + "notecount": 211, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "feb8a0e944c20dffae648bc42c8ca83aa413b60d", + "difficulty": "NORMAL", + "songID": 27, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1208, + "notecount": 199, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0dc8f49ea0d184417fda98372ef45da35bc4e51a", + "difficulty": "ANOTHER", + "songID": 27, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1208, + "notecount": 184, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d48e13493e64761304bb56ee110f92ec2955d578", + "difficulty": "HYPER", + "songID": 27, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1208, + "notecount": 176, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus", + "5-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a5c8de468755ebe118c151bf1d70a0b201db674", + "difficulty": "NORMAL", + "songID": 27, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1208, + "notecount": 170, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13d1e5897480d5e31f28e3de62a3fa0ce246292b", + "difficulty": "HYPER", + "songID": 28, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1209, + "notecount": 176, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dcdbc4e19462a066baea526873da986854b21b70", + "difficulty": "HYPER", + "songID": 28, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1209, + "notecount": 153, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd3dcdfeb57c56e47b19586688b5192e4035e2a5", + "difficulty": "ANOTHER", + "songID": 29, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1210, + "notecount": 141, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e945b3a963aff6c8480fa33f0e3066782a3ad84c", + "difficulty": "HYPER", + "songID": 29, + "playtype": "DP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 1210, + "notecount": 62, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc3dcd78146c3a0bbe1baf25389e6bc05cfaa186", + "difficulty": "ANOTHER", + "songID": 29, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1210, + "notecount": 139, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a742a9dd35d9eb5eb5aa1a4f83b94248470ffee8", + "difficulty": "HYPER", + "songID": 29, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 1210, + "notecount": 62, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "822f648c4fe9fdd26fa671aa3daeb2ed697e69a9", + "difficulty": "HYPER", + "songID": 30, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1212, + "notecount": 224, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d373d16ca216e2c8246e7ce9a0f9a2575ee3b74", + "difficulty": "NORMAL", + "songID": 30, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1212, + "notecount": 204, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "169108d8cb6a849c9f30be3f9485fade35dfdd1d", + "difficulty": "ANOTHER", + "songID": 30, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1212, + "notecount": 164, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b90bb7c360bfaf844f350955d10bce576c258e49", + "difficulty": "HYPER", + "songID": 30, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1212, + "notecount": 164, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a2dd08aa9f14b1bd37695091db4b08f0d6395d7", + "difficulty": "NORMAL", + "songID": 30, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1212, + "notecount": 156, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "57c70188235eb842a7b6332df72b2cc072af99b4", + "difficulty": "HYPER", + "songID": 31, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 1213, + "notecount": 407, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4fa4b87e07a2806558911b315d209d0cfaba5325", + "difficulty": "NORMAL", + "songID": 31, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1213, + "notecount": 398, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0bd850481d80adf7e653e26052b294ad07ee83cb", + "difficulty": "HYPER", + "songID": 31, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1213, + "notecount": 393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "540f236f56405dcd04f1c4687258a0e8bfdd91d0", + "difficulty": "NORMAL", + "songID": 31, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1213, + "notecount": 352, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a082f3f96690de7b7c6b34f25b198a02861c134", + "difficulty": "ANOTHER", + "songID": 32, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1214, + "notecount": 329, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6bbd8ee37b80cb245ba1d4da95f0ebb4ac1b7ef3", + "difficulty": "HYPER", + "songID": 32, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1214, + "notecount": 310, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c25246328af3aeb0998caebb29dc594f31d0269a", + "difficulty": "NORMAL", + "songID": 32, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1214, + "notecount": 306, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cdd246030ee50b81431c5bd4cf52e88bdc8860ad", + "difficulty": "ANOTHER", + "songID": 32, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1214, + "notecount": 356, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "147e7c066c02a48c003d6d520ad9cd6bfc2ae104", + "difficulty": "HYPER", + "songID": 32, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1214, + "notecount": 268, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f693774220db459c0d8631b9aa2c3525d7031ed1", + "difficulty": "NORMAL", + "songID": 32, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1214, + "notecount": 254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3423d26f7c82fcdaef8f7b18622fa947c28c619d", + "difficulty": "HYPER", + "songID": 33, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1216, + "notecount": 177, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43d5c4c89d94a15b63524d2b2a54ac37292d2990", + "difficulty": "NORMAL", + "songID": 33, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1216, + "notecount": 173, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "634121d64f62fc3b23015d6c56f1f4aec8d8f143", + "difficulty": "ANOTHER", + "songID": 33, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1216, + "notecount": 171, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "743295f9a843552cce79db57e42d1cd65a0df85c", + "difficulty": "HYPER", + "songID": 33, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1216, + "notecount": 171, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c283df95b14dfb7a84b28f63ee385bb9c4a1fe4b", + "difficulty": "NORMAL", + "songID": 33, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1216, + "notecount": 157, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "899d5a8e62db2dd0f69c27f21ba6a3293c59dc4a", + "difficulty": "ANOTHER", + "songID": 34, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 1217, + "notecount": 575, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9e73e1c17551f91fe67b149b7efa68282da9cbed", + "difficulty": "HYPER", + "songID": 34, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 1217, + "notecount": 508, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "caf302ba98ae87fe56451cd980e54222a0100dfd", + "difficulty": "ANOTHER", + "songID": 34, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 1217, + "notecount": 456, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae32cd4339d2f8f7587581e4a5406a38d7a71b5b", + "difficulty": "HYPER", + "songID": 34, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 1217, + "notecount": 353, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e7f8638a9376d1ff8dca7af14d8a54ea2d73ac49", + "difficulty": "ANOTHER", + "songID": 35, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 1218, + "notecount": 376, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9490fe6733fb5be4750d7625b12e4a802fe12851", + "difficulty": "HYPER", + "songID": 35, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 1218, + "notecount": 329, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "443159c4909b444dff2aa3113b0718991c975cad", + "difficulty": "ANOTHER", + "songID": 35, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 1218, + "notecount": 357, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc9ddb81173e9b2bd3ec6f0cfb1ce24c1872f16e", + "difficulty": "HYPER", + "songID": 35, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1218, + "notecount": 308, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98305bf86ca9eaef18f6b451a628fdfb80fc82a6", + "difficulty": "HYPER", + "songID": 36, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1220, + "notecount": 352, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51ecd6df22d6bb907ec74bf0aa734f5049643e91", + "difficulty": "HYPER", + "songID": 36, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 1220, + "notecount": 194, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "683b97f5df193b89e31bd44e1d1ff5bc17483570", + "difficulty": "HYPER", + "songID": 37, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 1402, + "notecount": 341, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b5e645632b6298612debb4464dac7e1680491d8", + "difficulty": "HYPER", + "songID": 37, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1402, + "notecount": 318, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9344b66dc153d468f8029e747a5d525f5f714ca", + "difficulty": "ANOTHER", + "songID": 38, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 2000, + "notecount": 585, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff30f2d2853b3ae11cb6c9dbf102bdda0badc348", + "difficulty": "HYPER", + "songID": 38, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 2000, + "notecount": 514, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "7-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c1a9002cbfa266546b27e2d30c4bfa40fda1aa93", + "difficulty": "NORMAL", + "songID": 38, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2000, + "notecount": 444, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "7-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "01dcc71d64b04766a4f81b141f79bc61df0c132c", + "difficulty": "ANOTHER", + "songID": 38, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 2000, + "notecount": 584, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "7-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd8af0e4219bce4ad90bc4c3b0112e397fa81fcd", + "difficulty": "HYPER", + "songID": 38, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 2000, + "notecount": 514, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "7-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50195de3881a0ce0fa8223501221f53fd46df0b4", + "difficulty": "NORMAL", + "songID": 38, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2000, + "notecount": 360, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "7-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5556c38e1ad362bec1cf8640691d2ea35256ba33", + "difficulty": "HYPER", + "songID": 39, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2001, + "notecount": 337, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c9dbaf81ce5045fe31516f4a6ae5dd938c8dae3b", + "difficulty": "NORMAL", + "songID": 39, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 2001, + "notecount": 275, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9cbdf0b9f5dc522d82324becb760492bffbfce1", + "difficulty": "HYPER", + "songID": 39, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2001, + "notecount": 331, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca826354a3352c1a7edf3dbe2fb4244b9551d781", + "difficulty": "NORMAL", + "songID": 39, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 2001, + "notecount": 249, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8cb0588d4ecc739bc8a0f61e11fa931f8a0472ef", + "difficulty": "HYPER", + "songID": 40, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2002, + "notecount": 237, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "7-cs", + "bmus", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bbceaa7e582ff2c4f9713a10bebca531004524e3", + "difficulty": "NORMAL", + "songID": 40, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 2002, + "notecount": 224, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "7-cs", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "876710187b0c4aef151db42a5b1c6c0ff9498192", + "difficulty": "HYPER", + "songID": 40, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2002, + "notecount": 235, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "7-cs", + "bmus", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17f868ff2e743b58a37bb91ade2992c0c4d5b069", + "difficulty": "NORMAL", + "songID": 40, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 2002, + "notecount": 216, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "7-cs", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a5a05f2d45782db9c1fad815348850f9ab84f3c2", + "difficulty": "HYPER", + "songID": 41, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 2003, + "notecount": 597, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "bmus", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87c4805f60af14d747068e837f4b2245b466b66a", + "difficulty": "NORMAL", + "songID": 41, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2003, + "notecount": 374, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "bmus", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e5a034e110afa2199988320c5e043717747dfb6", + "difficulty": "ANOTHER", + "songID": 41, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 2003, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "bmus", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c4e2d44d0294cf81e54700e6b68a6b514bd16044", + "difficulty": "HYPER", + "songID": 41, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 2003, + "notecount": 542, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "bmus", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d58a28d1a6ebcda50eaec149f902b9e74de7640", + "difficulty": "NORMAL", + "songID": 41, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2003, + "notecount": 374, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "bmus", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "69773e82d29724302d191e11953bbcf2a0ae8a63", + "difficulty": "HYPER", + "songID": 42, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 2004, + "notecount": 624, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "902dcad51157158bf248f1bd55e9afb3db2379ca", + "difficulty": "NORMAL", + "songID": 42, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2004, + "notecount": 362, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d00e6b1a5e2fba1532e3c7d227aa60100d9e0dc8", + "difficulty": "HYPER", + "songID": 42, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 2004, + "notecount": 623, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "245e7d34fe495cffe1c5979074c1d8a77598114c", + "difficulty": "NORMAL", + "songID": 42, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 2004, + "notecount": 366, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ddc16e66dfbda104aa35b78a0c9566111f3845b", + "difficulty": "HYPER", + "songID": 43, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 2005, + "notecount": 569, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2637606d057b3766d296b9e8376070eccd1f6a1", + "difficulty": "NORMAL", + "songID": 43, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 2005, + "notecount": 469, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e419722fc29128a99f73f61b790ed61ea52d06a", + "difficulty": "ANOTHER", + "songID": 43, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 2005, + "notecount": 537, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13d049353ec8e328e0261908db4e5f9f0614104d", + "difficulty": "HYPER", + "songID": 43, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 2005, + "notecount": 483, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff4cbc4f0ba035345b0ca1d6995eb7a6947c3287", + "difficulty": "NORMAL", + "songID": 43, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2005, + "notecount": 390, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad91049fd084603811a7382da81a80b15bdf07cb", + "difficulty": "HYPER", + "songID": 44, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 2006, + "notecount": 270, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "7-cs", + "bmus", + "6-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24e8feeac7279f52e4633d16858bacd21c38f114", + "difficulty": "NORMAL", + "songID": 44, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 2006, + "notecount": 205, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4676cbcfb00e7f279f9995e9388513ffb105148a", + "difficulty": "ANOTHER", + "songID": 44, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2006, + "notecount": 348, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "7-cs", + "bmus", + "6-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17163283edc68e4f70b32327642ca817ce1d6946", + "difficulty": "HYPER", + "songID": 44, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2006, + "notecount": 326, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "7-cs", + "bmus", + "6-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0329a1f9c58cee5540dbd737ad2ccbda16db691b", + "difficulty": "NORMAL", + "songID": 44, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2006, + "notecount": 272, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "7-cs", + "bmus", + "6-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e31ebc81b39967ed9f5d82b8fb9a72321c4a6331", + "difficulty": "HYPER", + "songID": 45, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 2007, + "notecount": 447, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "44d8b29295c12203995291485879b6f8b7062fa4", + "difficulty": "NORMAL", + "songID": 45, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2007, + "notecount": 392, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80c57115990296e17d71116fff8ddf1f2cc2de85", + "difficulty": "HYPER", + "songID": 45, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 2007, + "notecount": 438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "639fd28fbe156e087fc98a40b7dfcdcd5f31b438", + "difficulty": "NORMAL", + "songID": 45, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2007, + "notecount": 370, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b0117703c7a7e3b943a8ef4b650f06908ae35ea2", + "difficulty": "HYPER", + "songID": 46, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 2008, + "notecount": 617, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "6-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b8028a25bb611554050bc94ba0e03c18de65b52b", + "difficulty": "NORMAL", + "songID": 46, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 2008, + "notecount": 455, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "6-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a953cee1b356536bcea7bf04ed6508a202db294e", + "difficulty": "ANOTHER", + "songID": 46, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 2008, + "notecount": 617, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "6-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f7f0191ca5e5191b627ae4012cfbffb7ce603c8", + "difficulty": "HYPER", + "songID": 46, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 2008, + "notecount": 569, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "6-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d211786552cdc4c0c75a3f74ff828519be291bf0", + "difficulty": "NORMAL", + "songID": 46, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2008, + "notecount": 442, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "6-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6dfa6ae0b7afc0c48770c584d53da5727e593607", + "difficulty": "HYPER", + "songID": 47, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 2009, + "notecount": 340, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e64447c9bd6beea29019f36c16f061fb3c737ea", + "difficulty": "NORMAL", + "songID": 47, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2009, + "notecount": 271, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73df62ff2acd258b163181230ac73e324cec9d7b", + "difficulty": "HYPER", + "songID": 47, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 2009, + "notecount": 338, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eb156f6bf9b808da38af18da35da604111dedf47", + "difficulty": "NORMAL", + "songID": 47, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2009, + "notecount": 271, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce6e69182057f7b56767d2ab9567d357b4556d43", + "difficulty": "HYPER", + "songID": 48, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2010, + "notecount": 428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c403c7e5b04d550631ce448a161a5a23454e424e", + "difficulty": "NORMAL", + "songID": 48, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 2010, + "notecount": 284, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b8945e701db98961d8fdf645273ffe7fb5173dce", + "difficulty": "HYPER", + "songID": 48, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2010, + "notecount": 336, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c5a2eeff022e085788c3cf891c97dd8e9970405", + "difficulty": "NORMAL", + "songID": 48, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 2010, + "notecount": 276, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a36b05070883bef058bedc91625448c926d14fb3", + "difficulty": "HYPER", + "songID": 49, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 2011, + "notecount": 469, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs", + "bmus", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "797ea682e4650594baee5bdf63b244f6ffdc3486", + "difficulty": "NORMAL", + "songID": 49, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2011, + "notecount": 372, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs", + "bmus", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a40d8aa4a37cd1fb375ac5c406ce64dfff3106b0", + "difficulty": "ANOTHER", + "songID": 49, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 2011, + "notecount": 469, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs", + "bmus", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c14271135b53d990afa1ff855f756e9c9c00affd", + "difficulty": "HYPER", + "songID": 49, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2011, + "notecount": 414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs", + "bmus", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26993a249d5f9ccb4768ca7bcd8296796c87b66c", + "difficulty": "NORMAL", + "songID": 49, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2011, + "notecount": 329, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs", + "bmus", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ee82173ec0d5cf25454adef01e6a5ba56841b55", + "difficulty": "HYPER", + "songID": 50, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 2012, + "notecount": 311, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "372f00a8331d482e55c2f99496a26d4317a3f264", + "difficulty": "NORMAL", + "songID": 50, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2012, + "notecount": 254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f488209f5534c21001426b5cda5e03768eacc31d", + "difficulty": "ANOTHER", + "songID": 50, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2012, + "notecount": 324, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1831f188f6a20ef3fb2ea8ce7e523369207beaed", + "difficulty": "HYPER", + "songID": 50, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2012, + "notecount": 313, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78742e195d0ac2785ef99016f6cd2f02569c12f2", + "difficulty": "NORMAL", + "songID": 50, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2012, + "notecount": 254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2a8f8118d0aca7ecbcd593cea168b73b6dddbca", + "difficulty": "HYPER", + "songID": 51, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 2013, + "notecount": 407, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b30dca07df94738d2595beb3a64fed322b7c6deb", + "difficulty": "NORMAL", + "songID": 51, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2013, + "notecount": 330, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1abf49021d76b79bdfda72faeb2505d99fdc850d", + "difficulty": "HYPER", + "songID": 51, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 2013, + "notecount": 398, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "850d259e40a8b6688d70e4fddc9ab31a90e6171a", + "difficulty": "NORMAL", + "songID": 51, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2013, + "notecount": 323, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8d958c0663ca111c2e54a8739530c02ad7ac6c7f", + "difficulty": "HYPER", + "songID": 52, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 2014, + "notecount": 602, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "44eb44a3b3f165e3c7349492fe2bad8227271201", + "difficulty": "NORMAL", + "songID": 52, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2014, + "notecount": 326, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5597f469c05bb8907d2acf0592f5aa3bb22d68fb", + "difficulty": "ANOTHER", + "songID": 52, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 2014, + "notecount": 479, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24955133c7a123b0b2c32ff0e6bdbcd3485b10a3", + "difficulty": "HYPER", + "songID": 52, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 2014, + "notecount": 457, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3e5509abee832ea2dee429ffeac0a2215e66817", + "difficulty": "NORMAL", + "songID": 52, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2014, + "notecount": 328, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4452f5ad64e487c2c210cdd7ab84aa3555824739", + "difficulty": "HYPER", + "songID": 53, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 2016, + "notecount": 434, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f8d76ad33a191711027a997212b7d8bc069c879", + "difficulty": "NORMAL", + "songID": 53, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2016, + "notecount": 288, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "47e0266b240bfaa3655509cb3636ac43bef4ed42", + "difficulty": "HYPER", + "songID": 53, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 2016, + "notecount": 434, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12e046acd0a059ee97313fdd46f3c354cd60dbe1", + "difficulty": "NORMAL", + "songID": 53, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2016, + "notecount": 291, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5dd06e5e5b91e5595e75611977f4e8fb79c05276", + "difficulty": "HYPER", + "songID": 54, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 2201, + "notecount": 693, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "598fb438d7905246f9e2248f369ac9f459adb02c", + "difficulty": "NORMAL", + "songID": 54, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 2201, + "notecount": 479, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "baf07591d733b6ab9d64090ae9efe6d458403cf1", + "difficulty": "HYPER", + "songID": 54, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 2201, + "notecount": 525, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "547607a35698c10fbb372429e446985dd68f1165", + "difficulty": "NORMAL", + "songID": 54, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2201, + "notecount": 426, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "393fe5b9a81fc480d1331afc5d5bf2747e405a1a", + "difficulty": "ANOTHER", + "songID": 55, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2202, + "notecount": 254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "462b5ee1699c13433c8a768c4f8b05871cb05a3d", + "difficulty": "HYPER", + "songID": 55, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2202, + "notecount": 253, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8cbc49c65e02a4c72eac746ae300cdfc24f84612", + "difficulty": "NORMAL", + "songID": 55, + "playtype": "DP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 2202, + "notecount": 253, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd562e433d297f838f5bb74b0da6123afc441e61", + "difficulty": "ANOTHER", + "songID": 55, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2202, + "notecount": 250, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c73270dc5f06e34d4a43e5f7dee4c756a865b5ec", + "difficulty": "HYPER", + "songID": 55, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2202, + "notecount": 239, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5fe8688fedae2bb08e0f8a82ce4101500610f248", + "difficulty": "NORMAL", + "songID": 55, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 2202, + "notecount": 239, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26350652a8bd696830e17de89ce9f7e56b6560c1", + "difficulty": "HYPER", + "songID": 56, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2203, + "notecount": 270, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cae0f62390dcbafa71e68197e342fa1bea73802d", + "difficulty": "NORMAL", + "songID": 56, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2203, + "notecount": 270, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "76ab68595c22487ac8e9caeebedb3d3b165eddc6", + "difficulty": "HYPER", + "songID": 56, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2203, + "notecount": 268, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5e2472c46f86737dd0cb157720a26ed29d632409", + "difficulty": "NORMAL", + "songID": 56, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2203, + "notecount": 268, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe47ead1b4548edab2d4ec3b428d688b156b8571", + "difficulty": "ANOTHER", + "songID": 57, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2204, + "notecount": 438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d9f005630522236718da4431362affe94a4838e", + "difficulty": "HYPER", + "songID": 57, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2204, + "notecount": 358, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f217e14065320a814171f57862148a2867b8762", + "difficulty": "NORMAL", + "songID": 57, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 2204, + "notecount": 252, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e759bd9af70a131ce757597842372406dd0d223c", + "difficulty": "ANOTHER", + "songID": 57, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2204, + "notecount": 437, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3610980c17444e3814543dcc44d77a92912d59c4", + "difficulty": "HYPER", + "songID": 57, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2204, + "notecount": 357, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1dabad7f72dd41d3be97f5b109ab129f9fe42860", + "difficulty": "NORMAL", + "songID": 57, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 2204, + "notecount": 251, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b2762f857938694b18dfbfc40abb7dbb8052dad0", + "difficulty": "HYPER", + "songID": 58, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 2205, + "notecount": 195, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7bae78d0ae7ec0c4b04d8eee5c8398ed48f7ed3f", + "difficulty": "NORMAL", + "songID": 58, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 2205, + "notecount": 195, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c2dc63fefb03bf94f4783be08f50b41350b50a1", + "difficulty": "HYPER", + "songID": 58, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 2205, + "notecount": 192, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c055985c74a040cf6834ebee693b1c6f56e32203", + "difficulty": "NORMAL", + "songID": 58, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 2205, + "notecount": 192, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5e61df72196d41f67ddde0540a463dda1f25ff26", + "difficulty": "HYPER", + "songID": 59, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2206, + "notecount": 325, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d20cf28323e3bbf27b3eb4a74b4137c8a569342a", + "difficulty": "NORMAL", + "songID": 59, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2206, + "notecount": 293, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f98f9ad927f6c3a534aa5bfc4c228c82282fd74", + "difficulty": "HYPER", + "songID": 59, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2206, + "notecount": 324, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74e9d6bc1b23b098f15670683d28958f814f7037", + "difficulty": "NORMAL", + "songID": 59, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2206, + "notecount": 293, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cfaad491b99913636cb86651a38251b7cf534a7e", + "difficulty": "HYPER", + "songID": 60, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2207, + "notecount": 288, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c8f57336a135fda84920e53e3d0aa9498deea8e6", + "difficulty": "ANOTHER", + "songID": 60, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2207, + "notecount": 295, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df0d0ffd41838d570ca3e12974958da145d149e5", + "difficulty": "HYPER", + "songID": 60, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2207, + "notecount": 243, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8d35a30e68c372de02c1e972f83a0d71b169ca8", + "difficulty": "ANOTHER", + "songID": 61, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2208, + "notecount": 208, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "618d61a2f09f59024f84243a5740bf6844be021a", + "difficulty": "HYPER", + "songID": 61, + "playtype": "DP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 2208, + "notecount": 139, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24d4384bea41f9b644ffd8e37bfbae859d3ae630", + "difficulty": "ANOTHER", + "songID": 61, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2208, + "notecount": 206, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c46ebde9d230660e3e7cde0e270df05c9e0b3f2d", + "difficulty": "HYPER", + "songID": 61, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 2208, + "notecount": 138, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e8478841973cb7a51cd262005a36ff565b309a7d", + "difficulty": "HYPER", + "songID": 62, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2209, + "notecount": 339, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "64d34952bf62ed09c0b2c4e94669d01eb490dd58", + "difficulty": "NORMAL", + "songID": 62, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2209, + "notecount": 323, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6a953087c5bc2f2ed90a288a53943b68ebb77fe6", + "difficulty": "HYPER", + "songID": 62, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2209, + "notecount": 230, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60e19ba1a7a56c0b9a88b3062a964af9e311493a", + "difficulty": "NORMAL", + "songID": 62, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 2209, + "notecount": 220, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e751c7779a4a0ef060abec16baf3685f6f3d1f21", + "difficulty": "HYPER", + "songID": 63, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 2210, + "notecount": 911, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53d348406cbd3016513fe8180ab57d74718736d6", + "difficulty": "NORMAL", + "songID": 63, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 2210, + "notecount": 530, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45abc31ba3b0cd7bb270c907c5eba5861cafa5e2", + "difficulty": "HYPER", + "songID": 63, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 2210, + "notecount": 640, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "104a13d56c2067dc88a8d673b9e0887cf0862ffb", + "difficulty": "NORMAL", + "songID": 63, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2210, + "notecount": 376, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17ee32b187c3ada362ddcd0342767f501b17237e", + "difficulty": "ANOTHER", + "songID": 64, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2211, + "notecount": 320, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea72d8b47ce3a7106725faeb0139adc007695e23", + "difficulty": "HYPER", + "songID": 64, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 2211, + "notecount": 316, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d32e0184fc05167a045b8ccf0ca8edd480d76588", + "difficulty": "ANOTHER", + "songID": 64, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 2211, + "notecount": 318, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33c875b8fec5d7356504d03ec2339ca48edfd31e", + "difficulty": "HYPER", + "songID": 64, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 2211, + "notecount": 287, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a66a2c9c6c8d5ba57668a20f46619d70a4635d0b", + "difficulty": "HYPER", + "songID": 65, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 2212, + "notecount": 753, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9643ac2ffe23decb004c816176dd663987be4a9f", + "difficulty": "NORMAL", + "songID": 65, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 2212, + "notecount": 482, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f50f69fc8d70ef2d947993a2125a8a93d3c3397", + "difficulty": "ANOTHER", + "songID": 65, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 2212, + "notecount": 691, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "36576c2113d612e217d53a71d61e35912f13d820", + "difficulty": "HYPER", + "songID": 65, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 2212, + "notecount": 659, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a3ab67f266c8399490f4e8ee37eab80e8facafb", + "difficulty": "NORMAL", + "songID": 65, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 2212, + "notecount": 488, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7aa41931c1b46144665f2adf1decbda906af910c", + "difficulty": "HYPER", + "songID": 66, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 3000, + "notecount": 620, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "7-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93747f98e0681e3ae8fac8efaa3b8e425e5b3df6", + "difficulty": "NORMAL", + "songID": 66, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3000, + "notecount": 313, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "7-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03c4bf93ef7b238e4ab608f547bad336431180c2", + "difficulty": "HYPER", + "songID": 66, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 3000, + "notecount": 632, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "7-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cc9ca9fa8ba1233effc54085936c707ef992cc82", + "difficulty": "NORMAL", + "songID": 66, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3000, + "notecount": 310, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "7-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5149d2657561b5d1e72382ddb75c4c247fbcd4f2", + "difficulty": "HYPER", + "songID": 67, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3001, + "notecount": 450, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "7-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b92c0f6c41f16b6eaa3cc5afbdd5fb1c3cc20c26", + "difficulty": "NORMAL", + "songID": 67, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3001, + "notecount": 391, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "7-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79390f675de92e3c04b10d7f594c5d4629ef1c73", + "difficulty": "ANOTHER", + "songID": 67, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3001, + "notecount": 453, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "7-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63b1b90aa426736cbada26800f3645a728f6dcc0", + "difficulty": "HYPER", + "songID": 67, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3001, + "notecount": 428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "7-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c5c3077fe7efa578058dd73590d0caae93ed11b", + "difficulty": "NORMAL", + "songID": 67, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3001, + "notecount": 389, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "7-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c223fdb49e7a98e3c32dd5c1fe2fc379f817513d", + "difficulty": "ANOTHER", + "songID": 68, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3002, + "notecount": 604, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "7-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6e8523b15f1665103fa593ce5cb81fc10f4c9af5", + "difficulty": "HYPER", + "songID": 68, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3002, + "notecount": 589, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "7-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e01cfbf43e1d20131090d93966c51a9b3005b233", + "difficulty": "NORMAL", + "songID": 68, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3002, + "notecount": 342, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "7-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f6fc2b24efe9c65d5ea8e91296cc0a861675304", + "difficulty": "ANOTHER", + "songID": 68, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 3002, + "notecount": 614, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "7-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "799547c72747b4949a9868454eda9777d5c2c626", + "difficulty": "HYPER", + "songID": 68, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3002, + "notecount": 598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "7-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "012e1222850ec10e46a0d697990a2afaaa6d6b18", + "difficulty": "NORMAL", + "songID": 68, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3002, + "notecount": 345, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "7-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2718a96ca61ec75f844e0c33951e40feb7d1f4e0", + "difficulty": "HYPER", + "songID": 69, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 3003, + "notecount": 729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e658720a8657292bfb822f86f3c1a78c415ba871", + "difficulty": "NORMAL", + "songID": 69, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3003, + "notecount": 588, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e217227959f645ce16944ae960a65960ca99d92", + "difficulty": "ANOTHER", + "songID": 69, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 3003, + "notecount": 718, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80f7aaf5b7a346e149fb4825e580de35b6feb671", + "difficulty": "HYPER", + "songID": 69, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3003, + "notecount": 692, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7d339f14990e99132e68103d50e643291a1739f8", + "difficulty": "NORMAL", + "songID": 69, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3003, + "notecount": 463, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3fc516f85573d70ef6f2bae10a56a77cde69b1d6", + "difficulty": "ANOTHER", + "songID": 70, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 3004, + "notecount": 1226, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "8-cs", + "7-cs", + "bmus", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b40f77236d6e9c6093d5003bb2fbf6c1f0e5de6", + "difficulty": "HYPER", + "songID": 70, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 3004, + "notecount": 952, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "8-cs", + "7-cs", + "bmus", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1dbaec07dd5c0e43b098c861ca3945055921eb97", + "difficulty": "NORMAL", + "songID": 70, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3004, + "notecount": 437, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "8-cs", + "7-cs", + "bmus", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30171e98a562966fa6b44aa4929f8385742f9365", + "difficulty": "ANOTHER", + "songID": 70, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 3004, + "notecount": 786, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "8-cs", + "7-cs", + "bmus", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e852f83964486ef81558b84dd4b554ffc9caf174", + "difficulty": "BEGINNER", + "songID": 70, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 3004, + "notecount": 137, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c3b5048927ecf76c96d2f809eb17e3039e8859a", + "difficulty": "HYPER", + "songID": 70, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 3004, + "notecount": 555, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "8-cs", + "7-cs", + "bmus", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5b5bb36a192b1d04bcfa001328d8bcec9d57edc9", + "difficulty": "NORMAL", + "songID": 70, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3004, + "notecount": 437, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "8-cs", + "7-cs", + "bmus", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "61d0df04878e75665fbd59b36d9aeb4e679d500c", + "difficulty": "ANOTHER", + "songID": 71, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 3005, + "notecount": 1136, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "8-cs", + "7-cs", + "bmus", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4fe1665b1c8c0c3a7c24c2eded115afef0f1cf60", + "difficulty": "HYPER", + "songID": 71, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 3005, + "notecount": 875, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "8-cs", + "7-cs", + "bmus", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b3ad73b650c68954799468d62c3ef2e9d5be932", + "difficulty": "NORMAL", + "songID": 71, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 3005, + "notecount": 680, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "8-cs", + "7-cs", + "bmus", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d5cfa00bdc3dd6aa2bc209672773699a27dcc1ee", + "difficulty": "ANOTHER", + "songID": 71, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 3005, + "notecount": 880, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "8-cs", + "7-cs", + "bmus", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1c3784d9a0b7df0a824402145010803d905ded84", + "difficulty": "HYPER", + "songID": 71, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 3005, + "notecount": 624, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "8-cs", + "7-cs", + "bmus", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "817e68dd2b27629af599542b9b0cb783538c4611", + "difficulty": "NORMAL", + "songID": 71, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3005, + "notecount": 395, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "8-cs", + "7-cs", + "bmus", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55682f03fe95b7b2925ff7405edbcdb174e37670", + "difficulty": "ANOTHER", + "songID": 72, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3006, + "notecount": 645, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b12fd133503ddb89d87f6a2165c0643ae426071", + "difficulty": "HYPER", + "songID": 72, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3006, + "notecount": 611, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "5-cs", + "4-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "95cba7dd3b7f140fdb68d611d46b0ce495f313f6", + "difficulty": "NORMAL", + "songID": 72, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3006, + "notecount": 478, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "5-cs", + "4-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c7f2f0aa18fde0de4abee3fcf5dec105b0546e2", + "difficulty": "ANOTHER", + "songID": 72, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 3006, + "notecount": 645, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ba88b60d90dc5eada28774aaf7969248a0db24d", + "difficulty": "HYPER", + "songID": 72, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3006, + "notecount": 611, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "5-cs", + "4-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ff46593e21ef14845abb519ee4c7438268f352b", + "difficulty": "NORMAL", + "songID": 72, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3006, + "notecount": 434, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "5-cs", + "4-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb073fd64790e86b5e198807ffbb4c66d5354eb1", + "difficulty": "HYPER", + "songID": 73, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 3007, + "notecount": 508, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "13-cs", + "8-cs", + "bmus", + "6-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aad854bd1237a83adecc46404b48d14a31cfc6bc", + "difficulty": "NORMAL", + "songID": 73, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3007, + "notecount": 274, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "13-cs", + "8-cs", + "bmus", + "6-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0aada2f39096fc2d3bb7c115b616c80f9889c707", + "difficulty": "ANOTHER", + "songID": 73, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 3007, + "notecount": 508, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "13-cs", + "8-cs", + "bmus", + "6-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63f768c2d8ae3cbbd7800e2ef07ffa75a4fca188", + "difficulty": "HYPER", + "songID": 73, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 3007, + "notecount": 498, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "13-cs", + "8-cs", + "bmus", + "6-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "47dd48e0867fc7ba3a24e44c64f0b21dc4e5f3cd", + "difficulty": "NORMAL", + "songID": 73, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3007, + "notecount": 273, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "13-cs", + "8-cs", + "bmus", + "6-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed37abdd0279d08a96756f297a637961d41d2941", + "difficulty": "ANOTHER", + "songID": 74, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 3008, + "notecount": 870, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "356086ba66c6a498e634b06014645425866fbb7a", + "difficulty": "HYPER", + "songID": 74, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 3008, + "notecount": 599, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22e0f2201f164a638e854b21edcbe09f92284a69", + "difficulty": "NORMAL", + "songID": 74, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3008, + "notecount": 430, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d81232632514dac071d6f99f21764db8e05df437", + "difficulty": "ANOTHER", + "songID": 74, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 3008, + "notecount": 889, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a350a9b8877707a4bbda5c9a7ca356dea6f14296", + "difficulty": "HYPER", + "songID": 74, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 3008, + "notecount": 588, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "65d8a737f39f1b6c8b21527b958f37bc9e123f50", + "difficulty": "NORMAL", + "songID": 74, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3008, + "notecount": 387, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60133992a4136e4377f7910bcde70e23750eb8b8", + "difficulty": "ANOTHER", + "songID": 75, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 3009, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "809e22f3813157480b21f0c86ecad44e75046aa1", + "difficulty": "HYPER", + "songID": 75, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3009, + "notecount": 525, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7caf13f8c6002921d21cdbb6af2aebed03a32a6f", + "difficulty": "NORMAL", + "songID": 75, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3009, + "notecount": 398, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4541740c11921b69d144c83647d8aab0aab194db", + "difficulty": "ANOTHER", + "songID": 75, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 3009, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf3b51e5e3ac2c9f0d39ebf4b7eadd34b99d3a4b", + "difficulty": "HYPER", + "songID": 75, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3009, + "notecount": 525, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0fe6ba4e2d640609d5680a4a82374be6f69c9ad", + "difficulty": "NORMAL", + "songID": 75, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3009, + "notecount": 424, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "40d581aaaefade2345beba0d73b78ed2be2b7080", + "difficulty": "ANOTHER", + "songID": 76, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 3010, + "notecount": 1090, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "8-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "708f020ebc402846321fc382daeec49252b8fe02", + "difficulty": "HYPER", + "songID": 76, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 3010, + "notecount": 1043, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "8-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea27da3999746381e258b2bf9510bd646c7fe529", + "difficulty": "NORMAL", + "songID": 76, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3010, + "notecount": 412, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "8-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ff9821c387423a16416b7520b3f186fe76cfcc9", + "difficulty": "ANOTHER", + "songID": 76, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 3010, + "notecount": 848, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "8-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50c130a8e2866aceb1258ee509bf51a316b581b4", + "difficulty": "HYPER", + "songID": 76, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3010, + "notecount": 663, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "8-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "58af9b63c8af3be388195b6e003019d3772650f1", + "difficulty": "NORMAL", + "songID": 76, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3010, + "notecount": 414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "8-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29b99124184c9ab479eb92ec3ce42e570133a8ff", + "difficulty": "HYPER", + "songID": 77, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 3011, + "notecount": 628, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "7-cs", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7145053128226c761508a699124e2522282066d5", + "difficulty": "NORMAL", + "songID": 77, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3011, + "notecount": 413, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "7-cs", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4556f0e22c68afed95825deb2577390e9e6bd4d", + "difficulty": "ANOTHER", + "songID": 77, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 3011, + "notecount": 629, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "7-cs", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8bf4d60aa9e39fb78ff39f8e81653148116282f3", + "difficulty": "HYPER", + "songID": 77, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3011, + "notecount": 610, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "7-cs", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d44a5f3cbf3703f5098682fdc9040bed48781b6", + "difficulty": "NORMAL", + "songID": 77, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3011, + "notecount": 372, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "7-cs", + "6-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e8214cd41085597efe81ebe68d0170b324332fa", + "difficulty": "HYPER", + "songID": 78, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3012, + "notecount": 199, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "01ceb447177cc52156702c57b5d2433d5a6ec8e1", + "difficulty": "NORMAL", + "songID": 78, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 3012, + "notecount": 151, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "963edf351b3c6f29c09c54e55ec2c3dd041340a9", + "difficulty": "BEGINNER", + "songID": 78, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 3012, + "notecount": 53, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3248e0ccf4858ab0535e0c2c5490c6c73f945ae", + "difficulty": "HYPER", + "songID": 78, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3012, + "notecount": 198, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "5-cs", + "3-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "05a1defb67163b79b53a9cc3d380ad9ab70ab504", + "difficulty": "NORMAL", + "songID": 78, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 3012, + "notecount": 141, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e96c38696d18146071e3ba54d6c5fdfe9eb4665", + "difficulty": "HYPER", + "songID": 79, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 3013, + "notecount": 900, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2532fca8bae74691f132923f4f0607d67bb6ba44", + "difficulty": "NORMAL", + "songID": 79, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 3013, + "notecount": 624, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17514921a23abf2b76983cf50e79b3ff600763b1", + "difficulty": "BEGINNER", + "songID": 79, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 3013, + "notecount": 183, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28ae4caf46d47bda5fb68d8d4520f2d7b642d4c3", + "difficulty": "HYPER", + "songID": 79, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 3013, + "notecount": 900, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "565cd2882f924ecbd56635076fdc3c8dcd237b29", + "difficulty": "NORMAL", + "songID": 79, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 3013, + "notecount": 618, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d2a880fd61481f342e1dee881c22bc313ba066f", + "difficulty": "ANOTHER", + "songID": 80, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3014, + "notecount": 465, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d8150ba36b493798fe24502d4c617e585598aeaa", + "difficulty": "HYPER", + "songID": 80, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3014, + "notecount": 462, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "caf3b523d32d4dd583b0e677fbd715fe98eb53dd", + "difficulty": "NORMAL", + "songID": 80, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3014, + "notecount": 439, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4d71e8ffc89c157b159c0a58f1f663cf6631ab17", + "difficulty": "ANOTHER", + "songID": 80, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3014, + "notecount": 465, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b0111fa1efb1142d8b709f4b193eccce18a9c00a", + "difficulty": "HYPER", + "songID": 80, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3014, + "notecount": 462, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f39de8b9a002f4162a8909340695b707e79e59bf", + "difficulty": "NORMAL", + "songID": 80, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3014, + "notecount": 338, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "260239473d600e1b5e9feafa133d0b16e39de7c8", + "difficulty": "HYPER", + "songID": 81, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3015, + "notecount": 426, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc3789a5583b02b299b3f833a93c140550f7e35a", + "difficulty": "NORMAL", + "songID": 81, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 3015, + "notecount": 292, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5546eb2892f0147390f66cd1ce8f058a0b624ba4", + "difficulty": "HYPER", + "songID": 81, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3015, + "notecount": 428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1cceee966ec0bbdeaffc886251cbb04bce246f7b", + "difficulty": "NORMAL", + "songID": 81, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3015, + "notecount": 293, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d19a6f295080d9e98013bb080e51fad3eface096", + "difficulty": "HYPER", + "songID": 82, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3016, + "notecount": 439, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1722b815974d234fce28528ba1943cff6cce7a93", + "difficulty": "NORMAL", + "songID": 82, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3016, + "notecount": 406, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "788cb35bc4192b989afc02fbcad18f8328fd3062", + "difficulty": "ANOTHER", + "songID": 82, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3016, + "notecount": 445, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ba807daf5259c4bee02ddce794ae072b79c94a9", + "difficulty": "HYPER", + "songID": 82, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3016, + "notecount": 441, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "871d75c4c2f41d45c1d88155c74a05dfa552c7f5", + "difficulty": "NORMAL", + "songID": 82, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3016, + "notecount": 300, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ea1aceab5576387d07a98df45972d11ae2dda79", + "difficulty": "ANOTHER", + "songID": 83, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3017, + "notecount": 645, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78e7e77e05fea414247799f9c36f3239a4b38d78", + "difficulty": "HYPER", + "songID": 83, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3017, + "notecount": 572, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c7f779201004935add1312f9620ff13d0fc7743f", + "difficulty": "NORMAL", + "songID": 83, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3017, + "notecount": 406, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c822c374d4845074013619e947dcb956f34656e9", + "difficulty": "ANOTHER", + "songID": 83, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3017, + "notecount": 658, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "699122819c21abfe2f6d1c7537474fbd910130e7", + "difficulty": "HYPER", + "songID": 83, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3017, + "notecount": 567, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a66a78156e6c71987159182bae7eccf3d0948d7", + "difficulty": "NORMAL", + "songID": 83, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3017, + "notecount": 438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4be286a345fbb47531ebd24f77d8edbc0cc083a1", + "difficulty": "HYPER", + "songID": 84, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3018, + "notecount": 577, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b2458a199862df28f2db4d9fe20d5564215b0b91", + "difficulty": "NORMAL", + "songID": 84, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3018, + "notecount": 465, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "603b2edd8e672ff2ee304893d4b9e86c67c7d53c", + "difficulty": "ANOTHER", + "songID": 84, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3018, + "notecount": 581, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0be5c0b00ec1c0db4b9b35ad51344749b82abbe4", + "difficulty": "HYPER", + "songID": 84, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3018, + "notecount": 575, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "37b5bb57f80938b59aa59fc93b8d8c64f867fafc", + "difficulty": "NORMAL", + "songID": 84, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3018, + "notecount": 408, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e59e52b31486a9c0370b3485fe79b2aaf065eaa1", + "difficulty": "HYPER", + "songID": 85, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3202, + "notecount": 331, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d63543d4969f857c1495f2c8e0575433db5980d1", + "difficulty": "NORMAL", + "songID": 85, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3202, + "notecount": 218, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8789e9ee3370482cbe7e68b290869a9b1821768", + "difficulty": "ANOTHER", + "songID": 85, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3202, + "notecount": 333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "964ab7e1e9f0ae8575aa579ef52d2b1ddeb284d2", + "difficulty": "HYPER", + "songID": 85, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3202, + "notecount": 309, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "128504a28ae5611f553568e071cad5e2b1bb052c", + "difficulty": "NORMAL", + "songID": 85, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3202, + "notecount": 218, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a0c0261ec9faf8e8efb60a6a4e3f47e68d379de1", + "difficulty": "HYPER", + "songID": 86, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3203, + "notecount": 568, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "136f5c92eddda2bb5db99ceebb126068f5d4d1f8", + "difficulty": "NORMAL", + "songID": 86, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3203, + "notecount": 467, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8968c467cee5c50c89161318f9f5c8f69d058ba4", + "difficulty": "HYPER", + "songID": 86, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3203, + "notecount": 568, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "99e72ae53f566d126ddcaf116f9656d074c23ba8", + "difficulty": "NORMAL", + "songID": 86, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3203, + "notecount": 382, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "75638b70fdd59409ddf00f32e3d89bfb199d8b56", + "difficulty": "HYPER", + "songID": 87, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 3204, + "notecount": 620, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89601748c0a70208156c0d710334963f0162a9c7", + "difficulty": "NORMAL", + "songID": 87, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3204, + "notecount": 525, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b1e3b7d582752e22f6890c0c883d673ad517b50", + "difficulty": "ANOTHER", + "songID": 87, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3204, + "notecount": 597, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1504be1c9960afc3a321546e03a85b43181c518a", + "difficulty": "HYPER", + "songID": 87, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3204, + "notecount": 489, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c153eac6b776fca81ffbc0fbe1191c9c2c394f6f", + "difficulty": "NORMAL", + "songID": 87, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3204, + "notecount": 422, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b873c9225d9d05eda38095cba8724c9102ed1714", + "difficulty": "HYPER", + "songID": 88, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3205, + "notecount": 414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3dae52f9a5af069e9d98018a8c0f537202865379", + "difficulty": "NORMAL", + "songID": 88, + "playtype": "DP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 3205, + "notecount": 170, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1083db3a02f91a5b07bff10d2692d142d1949046", + "difficulty": "HYPER", + "songID": 88, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3205, + "notecount": 416, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "593be92fa6e7f5e67d0e9e09c9f560f3e941c7eb", + "difficulty": "NORMAL", + "songID": 88, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 3205, + "notecount": 168, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11c248beca40faaee8a6dc83599aa1deb8c4fdda", + "difficulty": "HYPER", + "songID": 89, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3206, + "notecount": 362, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0bd2a07d0ae1862fbae6e0041bfd167e9a5f0acd", + "difficulty": "NORMAL", + "songID": 89, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3206, + "notecount": 294, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2eefb2a513456e2710eca4eb3f62672818fa3dd6", + "difficulty": "HYPER", + "songID": 89, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3206, + "notecount": 335, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7bac23b3aafc7be5cdb80034a838566b8d4c25d7", + "difficulty": "NORMAL", + "songID": 89, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 3206, + "notecount": 290, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "816575469ba793fc1601a5c4d1741d4e413a6532", + "difficulty": "HYPER", + "songID": 90, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3207, + "notecount": 328, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bddaed1f6bc87e3665721d2242d4139b3e21d8d2", + "difficulty": "NORMAL", + "songID": 90, + "playtype": "DP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 3207, + "notecount": 257, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "20c4e864b3a6df20a0de6ede3f80eefd87ebf1b5", + "difficulty": "HYPER", + "songID": 90, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3207, + "notecount": 328, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1900f75630309531fc27151f58ae36b997cc50c2", + "difficulty": "NORMAL", + "songID": 90, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 3207, + "notecount": 268, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f393ce463b6f94942b11c66495d61cffa46067e1", + "difficulty": "HYPER", + "songID": 91, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3208, + "notecount": 466, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6eb8f01e7fa3845e8a84317ca98a1f232a54ff2b", + "difficulty": "NORMAL", + "songID": 91, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3208, + "notecount": 411, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e3de118aeb0760ab43cb84e68429e4a35ff5a25", + "difficulty": "ANOTHER", + "songID": 91, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3208, + "notecount": 436, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e8b5c2bc59513d8e67bb2f06665c7068201bd9b3", + "difficulty": "HYPER", + "songID": 91, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3208, + "notecount": 377, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f534b11dbc1fd0dea90c86d5e566d96a4883c2a", + "difficulty": "NORMAL", + "songID": 91, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3208, + "notecount": 292, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "572e19e92e9a4151bdf72fc03f2c7cba57bb8f43", + "difficulty": "ANOTHER", + "songID": 92, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 3209, + "notecount": 522, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49c5f89e9a148a5de9e099c41a75d4366e6a9072", + "difficulty": "HYPER", + "songID": 92, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3209, + "notecount": 442, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e178b3c20c6e006ad20fb7e65764ff975d47d3e", + "difficulty": "NORMAL", + "songID": 92, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3209, + "notecount": 333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2db176cdf9c07235edca263094d0cc6f8fd4efc3", + "difficulty": "ANOTHER", + "songID": 92, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3209, + "notecount": 522, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f1eac616b5719163bfb20bbd0f08d924667a719", + "difficulty": "HYPER", + "songID": 92, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3209, + "notecount": 432, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eae126544f544186dce6e5d01c948b964153d533", + "difficulty": "NORMAL", + "songID": 92, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3209, + "notecount": 326, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "384defdd6146e15804c64b0bce8ad4cfa1b3645c", + "difficulty": "ANOTHER", + "songID": 93, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3210, + "notecount": 549, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19e46cad77679dc57ab644b8cc506bf3d9b3b504", + "difficulty": "HYPER", + "songID": 93, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3210, + "notecount": 510, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "783281662efe4dcf61195ed24126fd7bbdcb1d78", + "difficulty": "NORMAL", + "songID": 93, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3210, + "notecount": 406, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "933f2b4583f6e49cc15f65a6d275bf18dbbbd175", + "difficulty": "ANOTHER", + "songID": 93, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3210, + "notecount": 552, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c609fbc8ceeaf8a3b6255b0a2086d089909032cc", + "difficulty": "HYPER", + "songID": 93, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3210, + "notecount": 528, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "faf5c090a00b4608e6a03c4a4ed61bf5506bd196", + "difficulty": "NORMAL", + "songID": 93, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3210, + "notecount": 390, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1293ecf329f4187702636a06a8e44adb7e9a36a", + "difficulty": "HYPER", + "songID": 94, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 3211, + "notecount": 968, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2eddc2eaf68a8ef970e457db74db960d1aa85d63", + "difficulty": "NORMAL", + "songID": 94, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 3211, + "notecount": 831, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c6984fa53f7b2f527ad19544448720078fc524d", + "difficulty": "HYPER", + "songID": 94, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 3211, + "notecount": 954, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc5fbc949d3c52bb1cfaa408262b563b5e523357", + "difficulty": "NORMAL", + "songID": 94, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3211, + "notecount": 633, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a55c04ebc4a686f3fe7135fd30deed555bb4fe51", + "difficulty": "ANOTHER", + "songID": 95, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3213, + "notecount": 732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "caa98e36989683bd477643823a22d120c29451eb", + "difficulty": "HYPER", + "songID": 95, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3213, + "notecount": 719, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d83f5afdbbec32d8e4ee6ec789cb852ae6d53b8", + "difficulty": "NORMAL", + "songID": 95, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3213, + "notecount": 588, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c84c1f4633ae69f97ac922602169fa85e1afaf2c", + "difficulty": "ANOTHER", + "songID": 95, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3213, + "notecount": 732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a0a4e4cc8ad3e4541132cc960c444d8fe0e18c27", + "difficulty": "HYPER", + "songID": 95, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 3213, + "notecount": 729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f95a95a4ee3c74ff4a75620cfb2f85c9d2220ecb", + "difficulty": "NORMAL", + "songID": 95, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 3213, + "notecount": 637, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "08ef7a2d6a93a7b2178f3289c6bdb9a98713f8b2", + "difficulty": "ANOTHER", + "songID": 96, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4000, + "notecount": 672, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c0909092f3fec0d711cef74c82cce37229c51db", + "difficulty": "HYPER", + "songID": 96, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4000, + "notecount": 523, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f944bc20ec3412b240d86e406b17a0997954038", + "difficulty": "NORMAL", + "songID": 96, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4000, + "notecount": 351, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f7329ec0d45834c79360fea6751dc1d64a3943e4", + "difficulty": "ANOTHER", + "songID": 96, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 4000, + "notecount": 726, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca072ded28defc4ccda3b843bb5efefb0ef74ba4", + "difficulty": "HYPER", + "songID": 96, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4000, + "notecount": 528, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "668d930d4ed138f6457e5cbd020b92d3d55c9e3d", + "difficulty": "NORMAL", + "songID": 96, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4000, + "notecount": 353, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b7c20537c0e27a6848f840281aff496dd454c47e", + "difficulty": "ANOTHER", + "songID": 97, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 4001, + "notecount": 1338, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5092a0ac694a7e84574eb9e4ba6f623b24f3049b", + "difficulty": "HYPER", + "songID": 97, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4001, + "notecount": 934, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a4e1213b4607c8616ee904cabba432c24e34ff7", + "difficulty": "LEGGENDARIA", + "songID": 97, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 4001, + "notecount": 1488, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d892504a7ffa155677a346b6114c1a7a949faee", + "difficulty": "NORMAL", + "songID": 97, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4001, + "notecount": 728, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "370032d3d2a34ff740a8b618bec9e04c3f980494", + "difficulty": "ANOTHER", + "songID": 97, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 4001, + "notecount": 1218, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "724c6b9504f6e7c676cb2b429ec0860290b34912", + "difficulty": "HYPER", + "songID": 97, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4001, + "notecount": 935, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "81a592d59c6850de58d0741df6b52f3ca9f9cf0c", + "difficulty": "LEGGENDARIA", + "songID": 97, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 4001, + "notecount": 1412, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "868e1e1ae2f7e29b39635f03cfc4663bce88bfdb", + "difficulty": "NORMAL", + "songID": 97, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4001, + "notecount": 682, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cdf0013c61ec43ffa6646790dbe914139777635f", + "difficulty": "HYPER", + "songID": 98, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4002, + "notecount": 815, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "8-cs", + "7-cs", + "6-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a6e5f74cb98dc09bfa65b7e27601458f61576ff", + "difficulty": "NORMAL", + "songID": 98, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4002, + "notecount": 629, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "8-cs", + "7-cs", + "6-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b17b4b20fcd85f2b1827768bb85e583dba5fd1f8", + "difficulty": "ANOTHER", + "songID": 98, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 4002, + "notecount": 1014, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "8-cs", + "7-cs", + "6-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "950c0181ee33d10d3af448c00657702d1a479b8c", + "difficulty": "BEGINNER", + "songID": 98, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 4002, + "notecount": 300, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d2d7f3be9068bb4decec76ffd4ce071369d1be69", + "difficulty": "HYPER", + "songID": 98, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4002, + "notecount": 801, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "8-cs", + "7-cs", + "6-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7dbb90b397eb4e3c4dde04ed78630879b8a7182a", + "difficulty": "NORMAL", + "songID": 98, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4002, + "notecount": 538, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "8-cs", + "7-cs", + "6-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "708e5c9cbb999f99e57617a7fe7a9193d50f92a5", + "difficulty": "ANOTHER", + "songID": 99, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 4003, + "notecount": 914, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a73b7724eee65f3adf6c464419659baacc90b10e", + "difficulty": "HYPER", + "songID": 99, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4003, + "notecount": 742, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "61fccc62d54929b1231b6344bb1bb91ea05c3a8d", + "difficulty": "NORMAL", + "songID": 99, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4003, + "notecount": 405, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f510cf3d8179056f371963c1b0f7ee5b791089dd", + "difficulty": "ANOTHER", + "songID": 99, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4003, + "notecount": 914, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "375353e598c7c1cee9914e76be5ac96b1a8b547f", + "difficulty": "HYPER", + "songID": 99, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4003, + "notecount": 751, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bbda5820ddb7f6e080d65899eaa0eab3ea6bfcd9", + "difficulty": "NORMAL", + "songID": 99, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4003, + "notecount": 474, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9dffcbc2f950274a0f8b7fe7b89dadaf617dd18", + "difficulty": "ANOTHER", + "songID": 100, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 4004, + "notecount": 703, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d31ddbfea2740107413f0c369367475bb3d46cd9", + "difficulty": "HYPER", + "songID": 100, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 4004, + "notecount": 482, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "18ec6066bbdf32e07e3ef57041dcf20665793de3", + "difficulty": "NORMAL", + "songID": 100, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4004, + "notecount": 339, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "81ac6a44c67346e86475be07a1e996da944cd446", + "difficulty": "ANOTHER", + "songID": 100, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 4004, + "notecount": 700, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "9-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11, + "individualDifference": true + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a2519224809af31924b372067c7e360d0bc63966", + "difficulty": "HYPER", + "songID": 100, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4004, + "notecount": 481, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "855d699ae8fbb1598eaf17aaedc164ccc7b5039f", + "difficulty": "NORMAL", + "songID": 100, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4004, + "notecount": 339, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41709c2291c60f78a6bb274b8a1363573f419607", + "difficulty": "ANOTHER", + "songID": 101, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4005, + "notecount": 1010, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c2d53f2e10b1e785c496b3872852331f99fc9480", + "difficulty": "HYPER", + "songID": 101, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4005, + "notecount": 477, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c112a7b73df7f1f6cc95405182cd5e6eb896b2d", + "difficulty": "LEGGENDARIA", + "songID": 101, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 4005, + "notecount": 1203, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe9003108d3dc5abd6e9361ac554a6110956f8c5", + "difficulty": "NORMAL", + "songID": 101, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 4005, + "notecount": 264, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b2f8b8ca2600b7332127b48c03deda382cbdf856", + "difficulty": "ANOTHER", + "songID": 101, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4005, + "notecount": 811, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7218a0b40345952e86061dd3b10d192b9367ef42", + "difficulty": "HYPER", + "songID": 101, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4005, + "notecount": 479, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc54072035e79ed86da65fa6d3931d1a508846e7", + "difficulty": "LEGGENDARIA", + "songID": 101, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 4005, + "notecount": 1102, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f7fae0667771fa903365164c3dabb45c110176e7", + "difficulty": "NORMAL", + "songID": 101, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4005, + "notecount": 264, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "384a1f39174f024b9dc4ddf74838b67e73c37bc5", + "difficulty": "ANOTHER", + "songID": 102, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 4006, + "notecount": 1529, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "7-cs", + "6-cs", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b65fe45af0ceba932028f5d11457392b19cfb8cc", + "difficulty": "HYPER", + "songID": 102, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 4006, + "notecount": 1332, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "7-cs", + "6-cs", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3829bd714ffb396d213e95a117d176e13cb40985", + "difficulty": "NORMAL", + "songID": 102, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4006, + "notecount": 781, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "7-cs", + "6-cs", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c235bed85b4bd5447c673aabf4dd8a429645bcb3", + "difficulty": "ANOTHER", + "songID": 102, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 4006, + "notecount": 1158, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "7-cs", + "6-cs", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cebf6f231c137db6dee0511139a3f2dcffa02082", + "difficulty": "HYPER", + "songID": 102, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4006, + "notecount": 968, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "7-cs", + "6-cs", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0722cda25fa53d675333ea1967e82efeda694f77", + "difficulty": "NORMAL", + "songID": 102, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4006, + "notecount": 651, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "7-cs", + "6-cs", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0cf5338204d27db58e0d088d8475cf0ec69ad92", + "difficulty": "HYPER", + "songID": 103, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 4007, + "notecount": 961, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf657a9515c43b53b201603d3703b1a26cd05ba6", + "difficulty": "NORMAL", + "songID": 103, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4007, + "notecount": 411, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41396bd93994ae7902ae29a7743f1c9f281c2d1a", + "difficulty": "ANOTHER", + "songID": 103, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4007, + "notecount": 743, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "121871343bf83efc24b55d7305f465eb6d7b962b", + "difficulty": "HYPER", + "songID": 103, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4007, + "notecount": 703, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de2a0cf769e6155929c1aa28d5b3b0adf9a08104", + "difficulty": "NORMAL", + "songID": 103, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4007, + "notecount": 416, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84f53e196abb85d573c33dee17104798f83a9a3c", + "difficulty": "ANOTHER", + "songID": 104, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 4008, + "notecount": 1226, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "8-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a78435e82354c9f88537cb816a0da63ce0303607", + "difficulty": "HYPER", + "songID": 104, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4008, + "notecount": 728, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "8-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b595ba8d242eeb19f761367b2c6b4a92161348c", + "difficulty": "NORMAL", + "songID": 104, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4008, + "notecount": 503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "8-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab269e4d8db2949cde0c593a8803937c331e1432", + "difficulty": "ANOTHER", + "songID": 104, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4008, + "notecount": 875, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "8-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee279cdfbbb67165df0ab9eaaf63beb69cf75b98", + "difficulty": "HYPER", + "songID": 104, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4008, + "notecount": 733, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "8-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1829de714c1dbf0b372deea117d34c54bffcaa7", + "difficulty": "NORMAL", + "songID": 104, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4008, + "notecount": 565, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "8-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7597000dd3ddd5c0c1e29e755fda9d7348825ae3", + "difficulty": "ANOTHER", + "songID": 105, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 4009, + "notecount": 1282, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "532dd1609eca52e0d9029e811ea39ab7d2d6b6eb", + "difficulty": "HYPER", + "songID": 105, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4009, + "notecount": 1006, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0685a12fdcde867fbd81bbce4d7485049a8b27db", + "difficulty": "NORMAL", + "songID": 105, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4009, + "notecount": 630, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bab18fd69dc2d99cc1fa3fdc9d950858933f17bb", + "difficulty": "ANOTHER", + "songID": 105, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4009, + "notecount": 1196, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c52380d14ccab22fc551111ff10fec2cdd908028", + "difficulty": "HYPER", + "songID": 105, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4009, + "notecount": 952, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87bccd553ff465ffe7ad9aac30aef6bf86d3d697", + "difficulty": "NORMAL", + "songID": 105, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4009, + "notecount": 724, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6a201264df912cb2345f840c92506dded46851c8", + "difficulty": "ANOTHER", + "songID": 106, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4010, + "notecount": 838, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f7882d13c8e664d092d8a9bbdc7cbb29fbd79b58", + "difficulty": "HYPER", + "songID": 106, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4010, + "notecount": 686, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5167e8a161a95557c8332f3ad33396d43692f6cf", + "difficulty": "NORMAL", + "songID": 106, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4010, + "notecount": 411, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8fd98d852e9938160d255aa8cda484ff918cec56", + "difficulty": "ANOTHER", + "songID": 106, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4010, + "notecount": 838, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e49fee6ca2749ab3961d48cda7499f0044cf1832", + "difficulty": "HYPER", + "songID": 106, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4010, + "notecount": 791, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5439e89ca66cfc1f6509acc15a91ce0afd6ca771", + "difficulty": "NORMAL", + "songID": 106, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4010, + "notecount": 410, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33c0497b6fe21627d65b0d143a528401690dc820", + "difficulty": "ANOTHER", + "songID": 107, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 4011, + "notecount": 1077, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "7-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "703fc7a74949acb26799d09ba72343a6c9ab8a98", + "difficulty": "HYPER", + "songID": 107, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4011, + "notecount": 913, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "7-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b2af8fab55626c5a2d851a2e1efee130ef084b3", + "difficulty": "NORMAL", + "songID": 107, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4011, + "notecount": 702, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "7-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1a408ec80abdef202c42e4738a1bbdcb20b60a9", + "difficulty": "ANOTHER", + "songID": 107, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 4011, + "notecount": 1094, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "7-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "409053a8abd1cef8d8409e2f4ea8249dc41249b0", + "difficulty": "HYPER", + "songID": 107, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4011, + "notecount": 918, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "7-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2054949e4309c2e098c81a5484cb6c374461849f", + "difficulty": "NORMAL", + "songID": 107, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4011, + "notecount": 730, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "7-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a3d42fdeead191a5772eead1cdd07d84d70ff0d1", + "difficulty": "ANOTHER", + "songID": 108, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4012, + "notecount": 611, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bbca5462452f778f7d9cbefeb5cba60eead275bd", + "difficulty": "HYPER", + "songID": 108, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4012, + "notecount": 578, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae30aa8e88e75417d1ddae3f9c5cbf45d66bf36c", + "difficulty": "NORMAL", + "songID": 108, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4012, + "notecount": 362, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c33f161fcfb009f38f291475e983dca7a18ccc44", + "difficulty": "ANOTHER", + "songID": 108, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4012, + "notecount": 641, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7e70836d0a3001aa7bd5e9488660f31746be60d8", + "difficulty": "BEGINNER", + "songID": 108, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 4012, + "notecount": 103, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1213baee7708713bf98c30df50de392349ea9a00", + "difficulty": "HYPER", + "songID": 108, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4012, + "notecount": 468, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad63f20da43d640682c04b5068cf2940a70aafbd", + "difficulty": "NORMAL", + "songID": 108, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 4012, + "notecount": 270, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "892900e1f3487f975441345d5748addd33f61dbd", + "difficulty": "ANOTHER", + "songID": 109, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 4013, + "notecount": 1295, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03bfb9362c2880aa9d955fa19e773efc1f67889a", + "difficulty": "HYPER", + "songID": 109, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 4013, + "notecount": 1117, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c8caa753a667a408c7d83ee081896b2f7f301ae8", + "difficulty": "NORMAL", + "songID": 109, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4013, + "notecount": 530, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5554a798f2dfb29c8adb24c8b69fd3ef7ba98124", + "difficulty": "ANOTHER", + "songID": 109, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 4013, + "notecount": 1120, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "888259e7cc44e2bf2e032898f6a9e85cd4fcad1b", + "difficulty": "BEGINNER", + "songID": 109, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 4013, + "notecount": 188, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aed683b997975783de46520b37355b5515c50f4f", + "difficulty": "HYPER", + "songID": 109, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4013, + "notecount": 884, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b13b514ccaf405bdf67df75fe352c1689c1cc350", + "difficulty": "NORMAL", + "songID": 109, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4013, + "notecount": 531, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60dfea642b79c6ada2c43701b71f80c92c5af58e", + "difficulty": "ANOTHER", + "songID": 110, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 4014, + "notecount": 1156, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "073bcdf9f89bc1550ec800264a8c5a3197c0a326", + "difficulty": "HYPER", + "songID": 110, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4014, + "notecount": 745, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "76d0f8b28230d2b95d8380422064f7ed1f1de891", + "difficulty": "NORMAL", + "songID": 110, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4014, + "notecount": 512, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c94b5b61bad959c2daa747cbf426eb154a44bc8c", + "difficulty": "ANOTHER", + "songID": 110, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 4014, + "notecount": 1157, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "822568ceda07cb52da336566b94c2f944b605e7c", + "difficulty": "HYPER", + "songID": 110, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4014, + "notecount": 745, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c38af1cfc68270c5f50e9f6f7c0e962d6ef850dd", + "difficulty": "NORMAL", + "songID": 110, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4014, + "notecount": 515, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "16d80ef4c7f5df55736450ed250fe96917cf5501", + "difficulty": "ANOTHER", + "songID": 111, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4015, + "notecount": 726, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "7-cs", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ba7746206c5be39c183c9f7600095b37dff09d6", + "difficulty": "HYPER", + "songID": 111, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4015, + "notecount": 529, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "7-cs", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b463d3c835b7ef651afed45d28f297d0c886c550", + "difficulty": "NORMAL", + "songID": 111, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4015, + "notecount": 330, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "7-cs", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d7ff5be162d074ce3e1a65b9a3b51131ce54d2b8", + "difficulty": "ANOTHER", + "songID": 111, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4015, + "notecount": 732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "7-cs", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02aea8a2135311a7a1f9404e6a12f138ecfae092", + "difficulty": "BEGINNER", + "songID": 111, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 4015, + "notecount": 145, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de1c1875cbe803f452a23d5f13375ce5d49ee412", + "difficulty": "HYPER", + "songID": 111, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4015, + "notecount": 379, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "7-cs", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f03e610001b7e499e8a95daecd67071684683722", + "difficulty": "NORMAL", + "songID": 111, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4015, + "notecount": 279, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "7-cs", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02f5eaa0b7d5870bf33a547eb4a699b28d2b1329", + "difficulty": "ANOTHER", + "songID": 112, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 4016, + "notecount": 1015, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d5dccfe0edf0369b49293182534583c9a2948c83", + "difficulty": "HYPER", + "songID": 112, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4016, + "notecount": 626, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b9dc9556e3e28a7f7174e19024df628523bff3f", + "difficulty": "NORMAL", + "songID": 112, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 4016, + "notecount": 263, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "00f8b14bd5f0d6891fa8c4614e001b52f4eb37c0", + "difficulty": "ANOTHER", + "songID": 112, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4016, + "notecount": 706, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b90c04c61425c4594dae1ed2a998a1dfb944dfc9", + "difficulty": "HYPER", + "songID": 112, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4016, + "notecount": 555, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "46f1993edb5da7ff111ee80f05beab36c854cf7f", + "difficulty": "NORMAL", + "songID": 112, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 4016, + "notecount": 271, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94bd5c56d8910b9f45c3c42a6723f30280e78432", + "difficulty": "ANOTHER", + "songID": 113, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 4017, + "notecount": 885, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "bmus", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f06b93a40d307a6fc909c273211a1c64cb6e4f92", + "difficulty": "HYPER", + "songID": 113, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4017, + "notecount": 510, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "bmus", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2851c37135dc370eba63337a78f239aea0504c93", + "difficulty": "NORMAL", + "songID": 113, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4017, + "notecount": 428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "bmus", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe8a67c0d5da82819cf8de82c4a416410be667c3", + "difficulty": "ANOTHER", + "songID": 113, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 4017, + "notecount": 889, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "bmus", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a5126bd70f1675bd8a2e1c7d498c2f8165a3976", + "difficulty": "HYPER", + "songID": 113, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4017, + "notecount": 510, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "bmus", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "facd862be3bd16905f06c1be508fb72a34f57475", + "difficulty": "NORMAL", + "songID": 113, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4017, + "notecount": 428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "bmus", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1a7949d67ae792c5057b75b4c69f88cfdde0cc8", + "difficulty": "HYPER", + "songID": 114, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4018, + "notecount": 791, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e6efe9e07efa53f68ba2e2d451aa56cc7963a427", + "difficulty": "NORMAL", + "songID": 114, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4018, + "notecount": 402, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a82664e5320cacd9c4246121589dd9f6d17987c", + "difficulty": "HYPER", + "songID": 114, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4018, + "notecount": 466, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa079bc73d5ec26169636f25120f431018341573", + "difficulty": "NORMAL", + "songID": 114, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4018, + "notecount": 305, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd65565af840880ab3dd9e812000f89c18985f89", + "difficulty": "HYPER", + "songID": 115, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 4019, + "notecount": 257, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "7-cs", + "bmus", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "91e6ca686f3e27206249cefc7ad2df7957eb9709", + "difficulty": "NORMAL", + "songID": 115, + "playtype": "DP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 4019, + "notecount": 247, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "7-cs", + "bmus", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "be619152dcd247276b45e787bf6f1f0af8561695", + "difficulty": "HYPER", + "songID": 115, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 4019, + "notecount": 256, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "7-cs", + "bmus", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a7d6b56ca2fac3bf9157da1d4db899d7fe45a45d", + "difficulty": "NORMAL", + "songID": 115, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 4019, + "notecount": 196, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "7-cs", + "bmus", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd9a7a913416e69d86a62134316bc6a76b4fdce2", + "difficulty": "ANOTHER", + "songID": 116, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 4020, + "notecount": 1098, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "8-cs", + "7-cs", + "6-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd01476ae78aa3c0a8837591566c54cf72922a41", + "difficulty": "HYPER", + "songID": 116, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4020, + "notecount": 796, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "8-cs", + "7-cs", + "6-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e972457b42dac68b81179490a5960632d9b58572", + "difficulty": "NORMAL", + "songID": 116, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4020, + "notecount": 566, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "8-cs", + "7-cs", + "6-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b360dbea0fbe30efa66548adda0f0e67609387e7", + "difficulty": "ANOTHER", + "songID": 116, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4020, + "notecount": 800, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "8-cs", + "7-cs", + "6-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87b65dbf2965949644c72515a202bb4363662b6b", + "difficulty": "BEGINNER", + "songID": 116, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 4020, + "notecount": 224, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "47756bfd1ba171b3e21f5831315f20ed3f6277a8", + "difficulty": "HYPER", + "songID": 116, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4020, + "notecount": 719, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "8-cs", + "7-cs", + "6-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e466962f175f7025a19117adae26873490199b76", + "difficulty": "LEGGENDARIA", + "songID": 116, + "playtype": "SP", + "levelNum": 0, + "level": "10", + "data": { + "inGameID": 4020, + "notecount": 1039, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "578d91d563be0be9b768347af5667fdebb5c90cf", + "difficulty": "NORMAL", + "songID": 116, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4020, + "notecount": 456, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "8-cs", + "7-cs", + "6-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c7ec7216b186f735173013058185280860149c73", + "difficulty": "HYPER", + "songID": 117, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 4021, + "notecount": 964, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "8-cs", + "bmus", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "945bf0d7eafd48476e1685de22849bad5d956321", + "difficulty": "NORMAL", + "songID": 117, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4021, + "notecount": 480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "8-cs", + "bmus", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b90c7636423c778a93f37adeb52d596beec60f3c", + "difficulty": "ANOTHER", + "songID": 117, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4021, + "notecount": 670, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "8-cs", + "bmus", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb86cd87b6c5e0da81b0367f9d98313742f4c349", + "difficulty": "HYPER", + "songID": 117, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4021, + "notecount": 630, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "8-cs", + "bmus", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "69eba669d35a1d1160a2d6c65900fadf89c92aba", + "difficulty": "NORMAL", + "songID": 117, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4021, + "notecount": 480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "8-cs", + "bmus", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b90b10927778776b4fb97c3e29cd652a07bbf2e7", + "difficulty": "HYPER", + "songID": 118, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4022, + "notecount": 432, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ddff28e4dc0fdf97fa4820232345caf174f5850a", + "difficulty": "NORMAL", + "songID": 118, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4022, + "notecount": 315, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ac4ab14c310a041e2a1347ca82873bfb611c4dd5", + "difficulty": "HYPER", + "songID": 118, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4022, + "notecount": 432, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f2ff2d8ceb72fca4a4dbf146af43c0cd1e7b9c0", + "difficulty": "NORMAL", + "songID": 118, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 4022, + "notecount": 315, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "92f29e8f72a8be1c18c242774f18e8d17d349495", + "difficulty": "ANOTHER", + "songID": 119, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4023, + "notecount": 880, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c8f484b924ac987f233aba15b164aac12977926", + "difficulty": "HYPER", + "songID": 119, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4023, + "notecount": 880, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "a08b2bff8eba9679678170f4d948f73ad444c9aa", + "difficulty": "LEGGENDARIA", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 119, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 4023, + "arcChartID": null, + "notecount": 975, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "6730ab39faafaf0ccbe53993be55060c5dd8376c", + "difficulty": "NORMAL", + "songID": 119, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4023, + "notecount": 518, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e134908d0c56a4ebc8d06459b082d7c751112773", + "difficulty": "ANOTHER", + "songID": 119, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4023, + "notecount": 665, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f1cd6698c1f7aa2de9d901e0c446af1d424c651", + "difficulty": "HYPER", + "songID": 119, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4023, + "notecount": 609, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "5e64834abde861626d5f81e7075c09037ed9a5a4", + "difficulty": "LEGGENDARIA", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 119, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 4023, + "arcChartID": null, + "notecount": 976, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "e16a38899d691e8b8d71adc9a38e1d19b4e512aa", + "difficulty": "NORMAL", + "songID": 119, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4023, + "notecount": 420, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6889df03cb42b69a07429e986c500d2c8d1feec1", + "difficulty": "HYPER", + "songID": 120, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4024, + "notecount": 344, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "39bf5adab1346c221ea4cb307f236358902bca83", + "difficulty": "NORMAL", + "songID": 120, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 4024, + "notecount": 293, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb14ee09f3b9b469207b9843a8b6302ed2fac03b", + "difficulty": "ANOTHER", + "songID": 120, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4024, + "notecount": 363, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3eb116b54db5962d6573e923d61b90e3bfc19b0d", + "difficulty": "HYPER", + "songID": 120, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4024, + "notecount": 310, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "554cbd50dcc567749c77f1456982ea2e5e708a17", + "difficulty": "NORMAL", + "songID": 120, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 4024, + "notecount": 264, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8832c716c6b6917512a78a41af95f530832e3116", + "difficulty": "ANOTHER", + "songID": 121, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 4025, + "notecount": 719, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c37f17e66a0f151ff72df09edf1e668184c04b5", + "difficulty": "HYPER", + "songID": 121, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 4025, + "notecount": 674, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "75007cb83ca336d93190670408a0d323953a717d", + "difficulty": "NORMAL", + "songID": 121, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4025, + "notecount": 445, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c73ae9ad8b7b044e295217e59682e43e6335b3d", + "difficulty": "ANOTHER", + "songID": 121, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 4025, + "notecount": 692, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0efc015c61bb316e941366b11635be5747bc6bfa", + "difficulty": "HYPER", + "songID": 121, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4025, + "notecount": 496, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa6b74586774c112abff60937e4dc3479318109a", + "difficulty": "NORMAL", + "songID": 121, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 4025, + "notecount": 280, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "020bfb100eed8632070977b6fa2eb1d7851bcba2", + "difficulty": "HYPER", + "songID": 122, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4027, + "notecount": 503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5fa5916dc72ef3514366f690ed21f62d0871d846", + "difficulty": "NORMAL", + "songID": 122, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4027, + "notecount": 441, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f1ca7ca3b74ab41280d7b5bc100a83512751bbb", + "difficulty": "ANOTHER", + "songID": 122, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4027, + "notecount": 497, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f63e7566f8a63c7eb2fe2d88274ac3152c9ae5a5", + "difficulty": "HYPER", + "songID": 122, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4027, + "notecount": 462, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c99d8777062ee1b92f1542cc13d2ab4537d026cd", + "difficulty": "NORMAL", + "songID": 122, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4027, + "notecount": 380, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3c9a65369d34bf49549eb37c5603a6c1997e375", + "difficulty": "ANOTHER", + "songID": 123, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4028, + "notecount": 826, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53e8653d3d22fe9fe868b6b8c35c84dfdbc7332b", + "difficulty": "HYPER", + "songID": 123, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4028, + "notecount": 746, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ba587630120a44613ebc804392c6c18e4d58a11", + "difficulty": "NORMAL", + "songID": 123, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4028, + "notecount": 479, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4bfb9c5bcc6b92d3f4c0a22c1db4ff2bfdf54e41", + "difficulty": "ANOTHER", + "songID": 123, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 4028, + "notecount": 873, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e08d2094aeca0d0341da3f0bcaf4df8179ced77", + "difficulty": "HYPER", + "songID": 123, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4028, + "notecount": 620, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "adbd2913a395066e629e56a0ce978c591e797509", + "difficulty": "NORMAL", + "songID": 123, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4028, + "notecount": 438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53d1b75e6eff362266b81f52324935717c6232a9", + "difficulty": "ANOTHER", + "songID": 124, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4029, + "notecount": 724, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "313ed570a2ad2cb0ae58c1df3a83ec6e52700e8b", + "difficulty": "HYPER", + "songID": 124, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4029, + "notecount": 482, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b87f7e308b6408584b5688700eccecc590a8a85b", + "difficulty": "NORMAL", + "songID": 124, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4029, + "notecount": 460, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "20a713d5f4c6c58e83fcdca1ce35087d74c2c285", + "difficulty": "ANOTHER", + "songID": 124, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4029, + "notecount": 721, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17e9f7e29ee9873ec7762124a2c3b0659d34dc87", + "difficulty": "HYPER", + "songID": 124, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4029, + "notecount": 478, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "091112652a0bf7971f29e8f563387dcc0a4c78f7", + "difficulty": "NORMAL", + "songID": 124, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4029, + "notecount": 293, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e9db701527fd7796262782363ef3f7ee7e05fb5", + "difficulty": "HYPER", + "songID": 125, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4030, + "notecount": 787, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b18794212c79681c0d8053317537c71c5f9b182", + "difficulty": "NORMAL", + "songID": 125, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4030, + "notecount": 502, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "37fecae7456f7cac0b806e900e0627e6acb750b6", + "difficulty": "ANOTHER", + "songID": 125, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4030, + "notecount": 790, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5cb31449f20b6d6d88326b22318f3fc249527005", + "difficulty": "HYPER", + "songID": 125, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4030, + "notecount": 486, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a27381440a84d171740c979a78a25ea810c607c", + "difficulty": "NORMAL", + "songID": 125, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 4030, + "notecount": 295, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a0390505bc96e36b58ee30342d4e05b89cd3365c", + "difficulty": "ANOTHER", + "songID": 126, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4031, + "notecount": 754, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1aa81a04a7a713b6e2109f9ba4d401584f1907ab", + "difficulty": "HYPER", + "songID": 126, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4031, + "notecount": 569, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e71bf66fa76725f204ce527ebdbcec81a8cec46", + "difficulty": "NORMAL", + "songID": 126, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4031, + "notecount": 417, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9eb59833308238619f5c59b7273a223c3c10c0b", + "difficulty": "ANOTHER", + "songID": 126, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4031, + "notecount": 582, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "20de9a43a32802ffa59ddfef883a7ffe5fd2d2b2", + "difficulty": "HYPER", + "songID": 126, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4031, + "notecount": 507, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22fe2181a3cdb2b6ece34d7d1f812e28fcaa42a4", + "difficulty": "NORMAL", + "songID": 126, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4031, + "notecount": 417, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ced9989f556eafb2387dd8ef6bc33ebdb7e5dc0", + "difficulty": "HYPER", + "songID": 127, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4032, + "notecount": 222, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c3bf99f784cc7bbbce4b78ebdeaae36e28fcc94", + "difficulty": "NORMAL", + "songID": 127, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4032, + "notecount": 190, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2af874fbed8a4bb8d8e4fa426a48fd5713262c2b", + "difficulty": "HYPER", + "songID": 127, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4032, + "notecount": 222, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "46d4bc915d6bed3a2cff6fa86d856026bdfc158b", + "difficulty": "NORMAL", + "songID": 127, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 4032, + "notecount": 122, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c876d5d6a93e5fa8ba3e24d9e9cede022e9a097", + "difficulty": "HYPER", + "songID": 128, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4033, + "notecount": 451, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9df449d69422b65712525dd5cd98a4d7eded9f84", + "difficulty": "NORMAL", + "songID": 128, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4033, + "notecount": 327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1035c76b0a1e52e0d50f2519028029e10162c04e", + "difficulty": "ANOTHER", + "songID": 128, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4033, + "notecount": 512, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fffbfea50d9f90dfe706c21b461e5da9f3481028", + "difficulty": "HYPER", + "songID": 128, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4033, + "notecount": 456, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ced3b5c3b870ecaf46999cf5196afe19802466ae", + "difficulty": "NORMAL", + "songID": 128, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4033, + "notecount": 388, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b216e2243cb7caa4ed72d7ab677ba2ee8f1b2c2", + "difficulty": "HYPER", + "songID": 130, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4202, + "notecount": 708, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd99f3456fcc8c8fc2bcee0e397aabc2f9ed414f", + "difficulty": "NORMAL", + "songID": 130, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4202, + "notecount": 445, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bacad821588c5a9b0194c96d72a96c3c92791b31", + "difficulty": "ANOTHER", + "songID": 130, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4202, + "notecount": 692, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3399a730e26eb23af7899441cfb5cc3604c96580", + "difficulty": "HYPER", + "songID": 130, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4202, + "notecount": 646, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13180b5413f6e0e5a5f0c18559788f57639a6eb1", + "difficulty": "NORMAL", + "songID": 130, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4202, + "notecount": 446, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19016df4078d86f1f4e0e2420b5b66648aacc112", + "difficulty": "ANOTHER", + "songID": 131, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4203, + "notecount": 740, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "322b6d6aba2a4bb84a9ed4fc602ec637212c304c", + "difficulty": "HYPER", + "songID": 131, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4203, + "notecount": 546, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da47850230928d76dd3ac1795674a98033eb0fda", + "difficulty": "NORMAL", + "songID": 131, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 4203, + "notecount": 311, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e23451118cea094a2ba489da93ef34d08fc420e3", + "difficulty": "ANOTHER", + "songID": 131, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4203, + "notecount": 650, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea49a17ccc00fc054118ce3e86a6fc7977f0c917", + "difficulty": "HYPER", + "songID": 131, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4203, + "notecount": 526, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6cfb910117730e6db0a45bd88998d79d03d31e27", + "difficulty": "NORMAL", + "songID": 131, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 4203, + "notecount": 338, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "18c806743436be827dd97d3ecde559331d6eeb6e", + "difficulty": "ANOTHER", + "songID": 132, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 4204, + "notecount": 880, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d034304a0c7f00a77c916124a818207fd23b983", + "difficulty": "HYPER", + "songID": 132, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4204, + "notecount": 752, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "00c5fab83480f64df5c60b7eaff46de53015f6d8", + "difficulty": "NORMAL", + "songID": 132, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4204, + "notecount": 562, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f900cae72023f37ba8bb2babfe4e8ac09e558e94", + "difficulty": "ANOTHER", + "songID": 132, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4204, + "notecount": 739, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a1570d70b7b50677dad1ab855d3ea956a128078", + "difficulty": "HYPER", + "songID": 132, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4204, + "notecount": 555, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22aff7423bb2cf53a6438a0ec1a90fa9c590bfb9", + "difficulty": "NORMAL", + "songID": 132, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4204, + "notecount": 483, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef4c99f0647516d28c91eaa858e0403e0c20919f", + "difficulty": "HYPER", + "songID": 133, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4205, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e5eed41c61a8147d7ec02047cb057812b0cd6024", + "difficulty": "NORMAL", + "songID": 133, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4205, + "notecount": 300, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9266fc11886ae9e3c057c8e183a74c7a9d5a15ef", + "difficulty": "HYPER", + "songID": 133, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4205, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "960f9b74f7788a68d8d65acafcbfa75afe3834fd", + "difficulty": "NORMAL", + "songID": 133, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4205, + "notecount": 369, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ddca16e53b6700057e011c488cd656cdf5ca4fbc", + "difficulty": "ANOTHER", + "songID": 134, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 4206, + "notecount": 646, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d6d03c8632eb70c9da4b3dee40cb372335c4e21", + "difficulty": "HYPER", + "songID": 134, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4206, + "notecount": 585, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e621d75202a13b02ac78c8b0cf33dbdb6fd3f71", + "difficulty": "NORMAL", + "songID": 134, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4206, + "notecount": 385, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fbe1ab74362073ac4d8f7e27a7f0ccd7b7dc40c1", + "difficulty": "ANOTHER", + "songID": 134, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4206, + "notecount": 655, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "277ac69ef3d67fe98e01668c6f5b74c2d89f4086", + "difficulty": "HYPER", + "songID": 134, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4206, + "notecount": 553, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f41b307c57a393e8c14c378998ea0ef3b5130d4a", + "difficulty": "NORMAL", + "songID": 134, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4206, + "notecount": 378, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52c89942ff0d2a10e20554bab07bae4a20090752", + "difficulty": "HYPER", + "songID": 135, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4207, + "notecount": 261, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12e022ca559c92d0be5abb11422e521d513ad720", + "difficulty": "NORMAL", + "songID": 135, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 4207, + "notecount": 227, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5eda7137233ee6caca8d718b6ab4fbe0803c0b93", + "difficulty": "HYPER", + "songID": 135, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4207, + "notecount": 259, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8140e5f51b3e9cea9253a22bfb73128cda67def9", + "difficulty": "NORMAL", + "songID": 135, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 4207, + "notecount": 230, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eb669e219cbe5037bb6df7c079fe14c9b379b6d1", + "difficulty": "HYPER", + "songID": 136, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4208, + "notecount": 359, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e7e92a6fa805afe2d205bcbf1ff9042ba1ccab56", + "difficulty": "NORMAL", + "songID": 136, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 4208, + "notecount": 258, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a95565c36f6a2459c0818d4ff7a6856b4c13031f", + "difficulty": "HYPER", + "songID": 136, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4208, + "notecount": 334, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c0bea516862988e3448f63821c256e15144f3ea8", + "difficulty": "NORMAL", + "songID": 136, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 4208, + "notecount": 223, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "026cf8e570ce509bdc066e540b5abd8641bf9dec", + "difficulty": "HYPER", + "songID": 137, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4209, + "notecount": 584, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b3b8bca0d8fc550f0eb2b84b604ae42ab0626a26", + "difficulty": "NORMAL", + "songID": 137, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4209, + "notecount": 547, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ec82f051a59c14bc58ec77883290279e3154a85", + "difficulty": "ANOTHER", + "songID": 137, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4209, + "notecount": 585, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "48a576a96f46ba32254d07f40f8f83e8ac491462", + "difficulty": "HYPER", + "songID": 137, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4209, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "18308aa47d23db4940fe84e05ce09583b73758bb", + "difficulty": "NORMAL", + "songID": 137, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4209, + "notecount": 411, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f7aadd03cfdc94f3f0eabab17e270e5a8b9a25c", + "difficulty": "ANOTHER", + "songID": 138, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4210, + "notecount": 474, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7db3a8ba0d8cf95d6d48be041960e6052c90ec47", + "difficulty": "HYPER", + "songID": 138, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4210, + "notecount": 443, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc717e9fda71d9f6c3b1ca572522953cfe176b7a", + "difficulty": "NORMAL", + "songID": 138, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4210, + "notecount": 327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b4d6b30568e342445f977e37a447ea28836e828", + "difficulty": "ANOTHER", + "songID": 138, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4210, + "notecount": 487, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a927cca1fea80f61399373e7457ad1140a087e2", + "difficulty": "HYPER", + "songID": 138, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4210, + "notecount": 389, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c2c68544be83a221e1bc4331d3d8c637ec14e5b8", + "difficulty": "NORMAL", + "songID": 138, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4210, + "notecount": 332, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea62dedcd68f4c9e79291013168f7503aa2e1ca7", + "difficulty": "HYPER", + "songID": 139, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4211, + "notecount": 690, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0206cb3d06a3ce06dcdc2716fe63976f833f9cf3", + "difficulty": "NORMAL", + "songID": 139, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4211, + "notecount": 453, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "214cc2c3ad34b0bd3a2c57c827eb209e36a1a12c", + "difficulty": "ANOTHER", + "songID": 139, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4211, + "notecount": 473, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e5b90870038d1327035b5af5215c85fe39456810", + "difficulty": "HYPER", + "songID": 139, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4211, + "notecount": 457, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b36150f1c1e01f4e8556b56a8156a3de51077e80", + "difficulty": "NORMAL", + "songID": 139, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 4211, + "notecount": 325, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6fe0d9ad71f0366a03fa250cf94d64314c3f005f", + "difficulty": "HYPER", + "songID": 140, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4212, + "notecount": 822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41daa893de4f2db988c8907ea931c8aa409755dc", + "difficulty": "NORMAL", + "songID": 140, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4212, + "notecount": 688, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ace04f8398d8304a5a6eac73e99419c974c14f36", + "difficulty": "HYPER", + "songID": 140, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4212, + "notecount": 813, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "348d716c1debd332027f9f6e3574b05bf8caaa05", + "difficulty": "NORMAL", + "songID": 140, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4212, + "notecount": 574, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d59f39cc426157510895752489ffff491f9204f1", + "difficulty": "HYPER", + "songID": 141, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4214, + "notecount": 547, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "36062b075d0e0c87b42852de784b8e1fc2e2b739", + "difficulty": "NORMAL", + "songID": 141, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4214, + "notecount": 524, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9c8f243ade5592b7aefb702262a68d5ae71f65b", + "difficulty": "ANOTHER", + "songID": 141, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4214, + "notecount": 546, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9c8b833d14888d88b9ff94c805b1d8b49416837", + "difficulty": "HYPER", + "songID": 141, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4214, + "notecount": 444, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84346ddf46648fed90bb3b346b7998603435369e", + "difficulty": "NORMAL", + "songID": 141, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 4214, + "notecount": 372, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1756033165c47571187e7eb83a43738c8aa696aa", + "difficulty": "HYPER", + "songID": 142, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4215, + "notecount": 473, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "20433ed324c0fb5e0d825f2e7711f8ee82b8fdea", + "difficulty": "NORMAL", + "songID": 142, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4215, + "notecount": 341, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db6594ef3d40ffc7ebfa31e3aedd0e9fe4a148fc", + "difficulty": "HYPER", + "songID": 142, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4215, + "notecount": 438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7befb2d7af4ac22176d541a52c3c01424e683898", + "difficulty": "NORMAL", + "songID": 142, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 4215, + "notecount": 299, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa439a5f76e3a33799072a0818362d7002395208", + "difficulty": "HYPER", + "songID": 143, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 4216, + "notecount": 673, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3ad9485ff5d5a16dbc8fc0fa9ca6aae58dd2d0a", + "difficulty": "NORMAL", + "songID": 143, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 4216, + "notecount": 638, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "be39c61aa82a7714a4b518f4f7f30b80978062ec", + "difficulty": "HYPER", + "songID": 143, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4216, + "notecount": 481, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "88a5f281abf7ce08fde62769edb50b2ed8a1eeb9", + "difficulty": "NORMAL", + "songID": 143, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 4216, + "notecount": 442, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fadba5abe088f1dac3acb210e4a71de8f676af1e", + "difficulty": "ANOTHER", + "songID": 144, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 5000, + "notecount": 964, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21cfbd8d7c376b96b0bace461e42778dbb18ec06", + "difficulty": "HYPER", + "songID": 144, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5000, + "notecount": 889, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "816935269830b8e2cda01858bc966e4dec3764d7", + "difficulty": "NORMAL", + "songID": 144, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5000, + "notecount": 771, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b7a264f2b40671ab4de909762c8269fbd065e5d", + "difficulty": "ANOTHER", + "songID": 144, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5000, + "notecount": 945, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "128e3a4591e8e11751ee854b06d17fef3b9d084e", + "difficulty": "HYPER", + "songID": 144, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5000, + "notecount": 817, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1064eafccbe7e4033ec1bc8ca01c9177156b86f4", + "difficulty": "NORMAL", + "songID": 144, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5000, + "notecount": 639, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21a3f824612f4f39d3ab0743a7e09da26c5bd0d8", + "difficulty": "HYPER", + "songID": 145, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5001, + "notecount": 686, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ad7135bb39a4da8a89e41b5b33f7c18427f2ee8", + "difficulty": "NORMAL", + "songID": 145, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5001, + "notecount": 472, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4029246ace519ed09938e71e4416448ec99a4a78", + "difficulty": "ANOTHER", + "songID": 145, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5001, + "notecount": 679, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b56ba850a71d58c16418257e31c5451ea851f5de", + "difficulty": "HYPER", + "songID": 145, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5001, + "notecount": 483, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "527a9fb1cc58929114dbc71cef89c36483f8356b", + "difficulty": "NORMAL", + "songID": 145, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5001, + "notecount": 410, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60b2d9c0d4907e33410a49ff3b8d574a3ae8401c", + "difficulty": "ANOTHER", + "songID": 146, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 5002, + "notecount": 1267, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3797e81eda7a83c66d81bc54081ed12f4862b2a7", + "difficulty": "HYPER", + "songID": 146, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5002, + "notecount": 953, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b78fe125278d4a9f72afd8b3d9b49cafa149f586", + "difficulty": "NORMAL", + "songID": 146, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5002, + "notecount": 509, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "104757457026f3cf041edef12897ccfb278fb24a", + "difficulty": "ANOTHER", + "songID": 146, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5002, + "notecount": 831, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "75677a98842eb686e1378108fbc15eabcdc67a37", + "difficulty": "HYPER", + "songID": 146, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5002, + "notecount": 626, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a79a7254da07b91cc72bcb7172b2ba7d0e58612", + "difficulty": "NORMAL", + "songID": 146, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 5002, + "notecount": 335, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "66cc0cb6b4ba6a3179cbc34341ac5b726e967846", + "difficulty": "ANOTHER", + "songID": 147, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 5003, + "notecount": 861, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c6afc614e8a41dc072b9d81e68a2eb6d91db36c9", + "difficulty": "HYPER", + "songID": 147, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5003, + "notecount": 827, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e6a341675b399ed9af24b63b3e2847ab1d4393e", + "difficulty": "NORMAL", + "songID": 147, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5003, + "notecount": 660, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d37a5d8bfed6f9b053d2d9a98a11c81416fc9dad", + "difficulty": "ANOTHER", + "songID": 147, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5003, + "notecount": 881, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7e6ace24a461a6e9eee3c5e841118e656f094421", + "difficulty": "HYPER", + "songID": 147, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5003, + "notecount": 650, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "057020c0da779f3bf351e42ce045bca69273d387", + "difficulty": "NORMAL", + "songID": 147, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5003, + "notecount": 440, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ccbc70903b364cc0970a9efbb95dd899a972f521", + "difficulty": "ANOTHER", + "songID": 148, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 5004, + "notecount": 1051, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "bmus", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74a8f03ad2424a6cfcf54d5086be105bcde3d6dc", + "difficulty": "HYPER", + "songID": 148, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5004, + "notecount": 842, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "bmus", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a06f92587d043eedcea4346e908c6cd66e6f09d6", + "difficulty": "NORMAL", + "songID": 148, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5004, + "notecount": 484, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "bmus", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f332993baadfd13208a317fcf4f94af995c76f4", + "difficulty": "ANOTHER", + "songID": 148, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5004, + "notecount": 798, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "bmus", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41ee345e4f52f8f37edab60e9adca956ea416f32", + "difficulty": "HYPER", + "songID": 148, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5004, + "notecount": 739, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "bmus", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2cd6f6147501f94997287aec36cfa884089c07c8", + "difficulty": "NORMAL", + "songID": 148, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5004, + "notecount": 484, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "bmus", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e68546004663c0d123e53bb8a26e2b6a5ba34cf", + "difficulty": "ANOTHER", + "songID": 149, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5005, + "notecount": 703, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "58c48667ef856c1b9ff757f121229418c5f6f00c", + "difficulty": "HYPER", + "songID": 149, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5005, + "notecount": 620, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12a5872af5b28da2cd7505e5a917589c5c42258f", + "difficulty": "NORMAL", + "songID": 149, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5005, + "notecount": 480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d5ef2772b5bba208db3b0742343d5af23f40c4b", + "difficulty": "ANOTHER", + "songID": 149, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5005, + "notecount": 746, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "140e93725fd43384238f99bfb7fbdb2d576017eb", + "difficulty": "HYPER", + "songID": 149, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5005, + "notecount": 629, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d8eb32b017e47258126c3fbb7ba1255b7f4a9ff", + "difficulty": "NORMAL", + "songID": 149, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5005, + "notecount": 471, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "95e9a1ec53f223831d08026c566c260b7d7e2760", + "difficulty": "ANOTHER", + "songID": 150, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 5006, + "notecount": 645, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "bmus", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "517d2c2e144f61f0a3e1ed9a880f5efec5344d75", + "difficulty": "HYPER", + "songID": 150, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5006, + "notecount": 501, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "bmus", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "359b0056f78f15c2588effb051c9ad7e17e96e04", + "difficulty": "NORMAL", + "songID": 150, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5006, + "notecount": 364, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "bmus", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52c73458e625afbf1646c08939f936597840eee1", + "difficulty": "ANOTHER", + "songID": 150, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5006, + "notecount": 592, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "bmus", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22d0957ab12d243146951885d24f507c84dd47d9", + "difficulty": "HYPER", + "songID": 150, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5006, + "notecount": 512, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "bmus", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f553d52230353eca7bf1e52929d7abd5e3c0a51", + "difficulty": "NORMAL", + "songID": 150, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5006, + "notecount": 363, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "bmus", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "682dfc6daf4e34dd769eb6d0dfcffda9e9200b74", + "difficulty": "ANOTHER", + "songID": 151, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 5007, + "notecount": 902, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bc99051ea69a589345f00140ec902a14baf1f80a", + "difficulty": "HYPER", + "songID": 151, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5007, + "notecount": 736, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bfcc7d7d5d44a96f067793e0ac5f9bacdaf9e3d3", + "difficulty": "NORMAL", + "songID": 151, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5007, + "notecount": 474, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fea1055ffe69fe6dfe27e8ee4a6024a4a31494ce", + "difficulty": "ANOTHER", + "songID": 151, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5007, + "notecount": 892, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "759142a10d4027cc11adca90793a7333bedec17b", + "difficulty": "HYPER", + "songID": 151, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5007, + "notecount": 687, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4221e6e2d0abd3b04cdccf02bcf1f6b50f89e1fd", + "difficulty": "LEGGENDARIA", + "songID": 151, + "playtype": "SP", + "levelNum": 0, + "level": "11", + "data": { + "inGameID": 5007, + "notecount": 1096, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c681416ac97c61538bd28e5c2f32f1e39f851258", + "difficulty": "NORMAL", + "songID": 151, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5007, + "notecount": 474, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd0c45b9820daefee6d744840a57e772dbcd93d0", + "difficulty": "ANOTHER", + "songID": 152, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 5008, + "notecount": 879, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d6d89b82a911f995d948fec56840638971b39fd6", + "difficulty": "HYPER", + "songID": 152, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5008, + "notecount": 515, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4681a203a93c96d8e60912b785617739cb5659fb", + "difficulty": "NORMAL", + "songID": 152, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 5008, + "notecount": 291, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c9e03459e0ac1ea35b8da69bc9a4d3e0eacfea6", + "difficulty": "ANOTHER", + "songID": 152, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5008, + "notecount": 765, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a4a52773b61196ba056ffb8573f4d2d7b2e90f93", + "difficulty": "HYPER", + "songID": 152, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5008, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e8f2eeb9b602b3e55005379a23ebc109b43285f0", + "difficulty": "NORMAL", + "songID": 152, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 5008, + "notecount": 292, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e2617c214e192ff2918308adeb18c5719bcbb15", + "difficulty": "HYPER", + "songID": 153, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 5009, + "notecount": 1346, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "413306fd216437a4a80bd5451c3008a93ab4ac0f", + "difficulty": "NORMAL", + "songID": 153, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 5009, + "notecount": 1016, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79c728506d02f65e7bb59446c5c9d2dcc7eb0b3c", + "difficulty": "ANOTHER", + "songID": 153, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 5009, + "notecount": 1091, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c6ecff261219804052b11e23ac4dbecc507522e2", + "difficulty": "HYPER", + "songID": 153, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5009, + "notecount": 961, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e215bdddadc5b6632e36c9c5f6b915757910419", + "difficulty": "NORMAL", + "songID": 153, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5009, + "notecount": 621, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a28bc33c359539b08261bed4576acb880e649b03", + "difficulty": "ANOTHER", + "songID": 154, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 5010, + "notecount": 1101, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "8-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c427c93e535bb06695cff17b2bd9fa47003c4751", + "difficulty": "HYPER", + "songID": 154, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 5010, + "notecount": 1255, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "8-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8fa6497835ad1ff7938c61107eb7a24844bcd68c", + "difficulty": "NORMAL", + "songID": 154, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5010, + "notecount": 749, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "8-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f7fea87c24d5d48eff3915a88b78942adc082df", + "difficulty": "ANOTHER", + "songID": 154, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5010, + "notecount": 660, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "8-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6a78c86c9837b25677888b29558d4c0e2f256e1d", + "difficulty": "HYPER", + "songID": 154, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5010, + "notecount": 768, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "8-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b797597937b14aab0f1355f4b73f126953ada6e5", + "difficulty": "NORMAL", + "songID": 154, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5010, + "notecount": 602, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "8-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "48a54c0d8da1a474956724dff56809f3c9ba2e90", + "difficulty": "ANOTHER", + "songID": 155, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 5011, + "notecount": 1139, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a043576abaf60f57db32005cf34028b557480610", + "difficulty": "HYPER", + "songID": 155, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 5011, + "notecount": 949, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "01ad447eeca7bf9b695bee2487e7657becc4f6a9", + "difficulty": "NORMAL", + "songID": 155, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5011, + "notecount": 796, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "128663ee950f36fd0382b8f1c9888d28bc7820df", + "difficulty": "ANOTHER", + "songID": 155, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 5011, + "notecount": 920, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4da31c54435721839c675f63693bac5d9f379977", + "difficulty": "HYPER", + "songID": 155, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5011, + "notecount": 866, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "294e7bfe4ff2a5395138a36ed381129937eb3bf6", + "difficulty": "NORMAL", + "songID": 155, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5011, + "notecount": 580, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "efdd0833c893e008b5a3578c814914c08789b687", + "difficulty": "ANOTHER", + "songID": 156, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 5012, + "notecount": 1065, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d956854fbdb5b36f97559c25d35f7bf059da01f5", + "difficulty": "HYPER", + "songID": 156, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 5012, + "notecount": 805, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b850c1941e2141396aa768903a4cbaa1ec85c724", + "difficulty": "NORMAL", + "songID": 156, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5012, + "notecount": 545, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5bb0beb00751aa06c9461a2b636e9107bc2d217b", + "difficulty": "ANOTHER", + "songID": 156, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 5012, + "notecount": 881, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5541165d1def8191b8d665db475a16948c2a5fec", + "difficulty": "HYPER", + "songID": 156, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 5012, + "notecount": 788, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "694684202e29fa50ce7ad78cfc2aa52fb0e2663a", + "difficulty": "NORMAL", + "songID": 156, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5012, + "notecount": 551, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9240370ee7b2429f6a0aebe1ee1eb3f000d33b9", + "difficulty": "HYPER", + "songID": 157, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5013, + "notecount": 409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5b5ad945605462a38a21dc5b949729e97a4d2c93", + "difficulty": "NORMAL", + "songID": 157, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 5013, + "notecount": 234, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dab718d0c5197de8885058f181a74716b9e67b26", + "difficulty": "HYPER", + "songID": 157, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5013, + "notecount": 409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7082cb0400e23075f029e8a6045d14129f09835a", + "difficulty": "NORMAL", + "songID": 157, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 5013, + "notecount": 187, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "031b84916f9cf633b05e98ad5ce244f407202861", + "difficulty": "ANOTHER", + "songID": 158, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 5014, + "notecount": 904, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea86295363532a3cb2a00dc130516d9a97734869", + "difficulty": "HYPER", + "songID": 158, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5014, + "notecount": 616, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ebe1379007d2ac1b8976ed7a1ae91f0af4c4d43f", + "difficulty": "LEGGENDARIA", + "songID": 158, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 5014, + "notecount": 1010, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ebd200d1876dc73b3d52beb06d74ab01d7e5ea07", + "difficulty": "NORMAL", + "songID": 158, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5014, + "notecount": 469, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d7b29ee95f180ccdf66053733d01f980f7a90e0", + "difficulty": "ANOTHER", + "songID": 158, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5014, + "notecount": 862, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8795dc83dd85ed10f10286b3b3ecc3bccdce9cf4", + "difficulty": "HYPER", + "songID": 158, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5014, + "notecount": 548, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e121f7b836efecd037ba4c97459d8285725d3648", + "difficulty": "LEGGENDARIA", + "songID": 158, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 5014, + "notecount": 931, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98bf1e24de07ec2fb47074e94c1e3200fd91821f", + "difficulty": "NORMAL", + "songID": 158, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5014, + "notecount": 452, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9320cbe39b09bfb5da5b1ed22d0665da08df310", + "difficulty": "HYPER", + "songID": 159, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5015, + "notecount": 625, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf8de5cf8fcebdb96aa1f94801f57e68bb37a6b3", + "difficulty": "NORMAL", + "songID": 159, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5015, + "notecount": 463, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e792c52ee75c22933fd8af783fcca9b85f2fd834", + "difficulty": "HYPER", + "songID": 159, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5015, + "notecount": 625, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a76500b9349a103c86487c9bd8ffa1a3a164cdc3", + "difficulty": "NORMAL", + "songID": 159, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5015, + "notecount": 463, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c3dd14b26ad2454a2138141dd39f6e73a2f56729", + "difficulty": "HYPER", + "songID": 160, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 5016, + "notecount": 900, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "7-cs", + "bmus", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "909acc7664f16e063896dcc071138134b26487ab", + "difficulty": "NORMAL", + "songID": 160, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5016, + "notecount": 618, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "7-cs", + "bmus", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32f83edb94dc1de67bb14e289ac21cbafdbbd56f", + "difficulty": "ANOTHER", + "songID": 160, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5016, + "notecount": 674, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "7-cs", + "bmus", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94c4af92616ac27043dd381ca83a1cecf43b6069", + "difficulty": "HYPER", + "songID": 160, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5016, + "notecount": 659, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "7-cs", + "bmus", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68af92b49c1c266f10c91efc636c8ea9782cf29f", + "difficulty": "NORMAL", + "songID": 160, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5016, + "notecount": 409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "7-cs", + "bmus", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca584e83ce58c4bc48e0d2dc493293c46da8a191", + "difficulty": "ANOTHER", + "songID": 161, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 5017, + "notecount": 1286, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "651935abca915b01abacf0305c6ff12d06af257f", + "difficulty": "HYPER", + "songID": 161, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5017, + "notecount": 705, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d476595726e69ec480f62f1384f21226e22b4a4", + "difficulty": "NORMAL", + "songID": 161, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5017, + "notecount": 516, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "81fcf82455ea8d743fa6a823c7740a0cd3e965c2", + "difficulty": "ANOTHER", + "songID": 161, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 5017, + "notecount": 971, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "185932fcabc4f999e70c7a1e291e8fee39eadaaf", + "difficulty": "HYPER", + "songID": 161, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5017, + "notecount": 705, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d88c460539f766b4ffd5d48918c31bea0b5ce6f", + "difficulty": "NORMAL", + "songID": 161, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5017, + "notecount": 517, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c02be014fee9425b2867841c9efd952c3517375a", + "difficulty": "HYPER", + "songID": 162, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5018, + "notecount": 726, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2fdc99b04a9887d543eb4aae9f3d9de25c4a8114", + "difficulty": "NORMAL", + "songID": 162, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5018, + "notecount": 437, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "070cf815498626cdc4b665f737621045e43a8798", + "difficulty": "HYPER", + "songID": 162, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5018, + "notecount": 619, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "128a26cef32012f0bbf193bcf74d83c08f09a577", + "difficulty": "NORMAL", + "songID": 162, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5018, + "notecount": 464, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34dd887150195f0621d401ba2d4f93b7ab0195c8", + "difficulty": "ANOTHER", + "songID": 163, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 5019, + "notecount": 1208, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd2cfea434d1831f88824146a70fd72854e854e8", + "difficulty": "HYPER", + "songID": 163, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 5019, + "notecount": 1030, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ab7fb4f3d78b777db44bcb9098632c097cee3a9", + "difficulty": "NORMAL", + "songID": 163, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5019, + "notecount": 796, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e76b54474a3a549b741de8d0a77c30d48322ed6a", + "difficulty": "ANOTHER", + "songID": 163, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 5019, + "notecount": 1204, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c11547e331d658b8fb9aa3061d2020bea20c0c13", + "difficulty": "HYPER", + "songID": 163, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5019, + "notecount": 982, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04d49b37f850d0f63f9b478e59a86a1d471abcc8", + "difficulty": "NORMAL", + "songID": 163, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5019, + "notecount": 549, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c5f335ddccd38a7ec626350d71edd8bf3eae08ed", + "difficulty": "ANOTHER", + "songID": 164, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 5020, + "notecount": 696, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "525f562c319039260d5eebc6f4d771f3470b792c", + "difficulty": "HYPER", + "songID": 164, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5020, + "notecount": 558, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2112cbcfe5c4ff2ed57f660cfe7b1d1805b89875", + "difficulty": "NORMAL", + "songID": 164, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5020, + "notecount": 420, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "121814f482677942c7d0b3274fd25bdb6c651cc2", + "difficulty": "ANOTHER", + "songID": 164, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5020, + "notecount": 819, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a754d1d0a4e7c5946eac304df0961b4e868c5d72", + "difficulty": "HYPER", + "songID": 164, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5020, + "notecount": 551, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c1b2718ae826400fd8519afc453eb1b77ed4be0f", + "difficulty": "NORMAL", + "songID": 164, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5020, + "notecount": 378, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43c3a93fee9d175b30ff285ab2c9508d24ec8c4a", + "difficulty": "ANOTHER", + "songID": 165, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 5021, + "notecount": 1504, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "96c968f35247d98beeaaba41dfe7b543334f1c5e", + "difficulty": "HYPER", + "songID": 165, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 5021, + "notecount": 1385, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "9-cs", + "8-cs", + "7-cs", + "bmus", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "705679c1b314a0bcc877007805c752ba486e8b6e", + "difficulty": "NORMAL", + "songID": 165, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5021, + "notecount": 757, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "9-cs", + "8-cs", + "7-cs", + "bmus", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "edf16ba71525bee86f5ff3f28c622f8ca3ab38f2", + "difficulty": "ANOTHER", + "songID": 165, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 5021, + "notecount": 1519, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "9-cs", + "8-cs", + "7-cs", + "bmus", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d1e92965be52b5e887089383e0a687d20098e5b4", + "difficulty": "BEGINNER", + "songID": 165, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 5021, + "notecount": 173, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "833fdbe4800e6563609ce5b36221370708faa364", + "difficulty": "HYPER", + "songID": 165, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 5021, + "notecount": 1272, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "9-cs", + "8-cs", + "7-cs", + "bmus", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80964c0189851655c3236e493e898e8f1911ccdb", + "difficulty": "NORMAL", + "songID": 165, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5021, + "notecount": 646, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "9-cs", + "8-cs", + "7-cs", + "bmus", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6091a876a056da9c88b173cf33550786c1b6c765", + "difficulty": "ANOTHER", + "songID": 166, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5022, + "notecount": 550, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bbe055e3fc26107bce2bbfa3994c3a1a1fa71116", + "difficulty": "HYPER", + "songID": 166, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5022, + "notecount": 428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "328fa21b7d818d891e3b2fde9aa0c849a0ca836c", + "difficulty": "NORMAL", + "songID": 166, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 5022, + "notecount": 283, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "70a44b4af40a358ea0fe137245657acccecb6d52", + "difficulty": "ANOTHER", + "songID": 166, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5022, + "notecount": 550, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "531739e9f34cfef7ab2bc4a7252379a01d5995c9", + "difficulty": "HYPER", + "songID": 166, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5022, + "notecount": 428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d14ad34a99da3ab545303bbe107cb47b9365cac3", + "difficulty": "NORMAL", + "songID": 166, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 5022, + "notecount": 283, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17ddc3a03f0120db68e508bcb6302cab0e0efca4", + "difficulty": "ANOTHER", + "songID": 167, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5023, + "notecount": 693, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff7c8ae16a2cc36886ae4ed011ff4480d325eae2", + "difficulty": "HYPER", + "songID": 167, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5023, + "notecount": 676, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "20", + "10-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d335d9e06afb29d6a0706def6a4f1786e3cd83bc", + "difficulty": "NORMAL", + "songID": 167, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5023, + "notecount": 393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ff140000a28238ede7c5e309d4248ef7b717b1a", + "difficulty": "ANOTHER", + "songID": 167, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5023, + "notecount": 672, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "20", + "10-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "047f8ae2cd33323756566b67450cc0c5aeddf244", + "difficulty": "HYPER", + "songID": 167, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5023, + "notecount": 539, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a6dce46d61a849f261faa49e56ab04cf146744e5", + "difficulty": "NORMAL", + "songID": 167, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5023, + "notecount": 393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22f9a6b4c448791212729e44e65b3147bd3e89a9", + "difficulty": "ANOTHER", + "songID": 168, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 5024, + "notecount": 1113, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "bmus", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "550cfe57e701ba5cc44f0fbb900897c9f74a988f", + "difficulty": "HYPER", + "songID": 168, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5024, + "notecount": 645, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "bmus", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f14070f5b4e4f813553d5dac715ad024570d113", + "difficulty": "NORMAL", + "songID": 168, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5024, + "notecount": 374, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "bmus", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e9b84d587bc3417a584d6494e8254cde07f958c", + "difficulty": "ANOTHER", + "songID": 168, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5024, + "notecount": 682, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "bmus", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b74a1799a80d2e6eed934bc49de1c931fd8e391", + "difficulty": "HYPER", + "songID": 168, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5024, + "notecount": 644, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "bmus", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "edfae9e5a476cfe21e54b087edc0952e0946d773", + "difficulty": "NORMAL", + "songID": 168, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5024, + "notecount": 374, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "bmus", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9ec1dce42ee5b4567075a1693fa0a7de6c0cb65", + "difficulty": "HYPER", + "songID": 169, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5025, + "notecount": 555, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de73d9cdbc814b9db6a47ad131188f2eeb9fc674", + "difficulty": "NORMAL", + "songID": 169, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5025, + "notecount": 466, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f30ebd7ba109a6f44e9f6ece1fd426416dd937c1", + "difficulty": "ANOTHER", + "songID": 169, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5025, + "notecount": 561, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ccb525b1819dd27274d0a960f6ec571daaa2d18e", + "difficulty": "HYPER", + "songID": 169, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5025, + "notecount": 501, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97cdcf333b46cc87f10278343c2d68eb81a6fafc", + "difficulty": "NORMAL", + "songID": 169, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5025, + "notecount": 385, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bff1fecd82332966990f098a5d31248fe4eabf7b", + "difficulty": "ANOTHER", + "songID": 170, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 5026, + "notecount": 953, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8beda7597c0fb8bfcec8da6c208e50dc7da74490", + "difficulty": "HYPER", + "songID": 170, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5026, + "notecount": 653, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c6c00cfe7849569fbb8ef38ca88ca06f9d1a12f4", + "difficulty": "NORMAL", + "songID": 170, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5026, + "notecount": 346, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3059d4f76ce72ffeffa07ea4dacd528df8c5890f", + "difficulty": "ANOTHER", + "songID": 170, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 5026, + "notecount": 806, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "58ef6088491a72f6f23a45e88c0504fd4b90840f", + "difficulty": "HYPER", + "songID": 170, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5026, + "notecount": 627, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf4ff83db5e1b6b426f2f690d3b5443190570a1e", + "difficulty": "NORMAL", + "songID": 170, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 5026, + "notecount": 339, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b34afe5eae487d9ed902e03d07fe2d75ad0247eb", + "difficulty": "HYPER", + "songID": 171, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 5027, + "notecount": 327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50b84ffec2babe7b3a7e6ab9ff79ab881e6ce3ee", + "difficulty": "NORMAL", + "songID": 171, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 5027, + "notecount": 317, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "042926fcb708918ad053bd60857cfaa5e7510527", + "difficulty": "HYPER", + "songID": 171, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 5027, + "notecount": 327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5cd8e071e9b16c5894366bc2ef51dcbe61154b7f", + "difficulty": "NORMAL", + "songID": 171, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 5027, + "notecount": 308, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5245e8c5f78659363c463ef341516e67bfca749c", + "difficulty": "ANOTHER", + "songID": 172, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5029, + "notecount": 850, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32f05d1e43d111bdefb77428958353f525bed16a", + "difficulty": "HYPER", + "songID": 172, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5029, + "notecount": 595, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0834cdd9734a396cbb9984d6f781431f77f3d4ef", + "difficulty": "NORMAL", + "songID": 172, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5029, + "notecount": 445, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02a823f3522950c549d2143edece6fd91554fff6", + "difficulty": "ANOTHER", + "songID": 172, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5029, + "notecount": 835, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "64c6b48998772de007cf0b00b5a79d55a927e597", + "difficulty": "HYPER", + "songID": 172, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5029, + "notecount": 664, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bfa08fc8e8c2539765c2d2beb672a1676f42816c", + "difficulty": "NORMAL", + "songID": 172, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5029, + "notecount": 452, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79b105021e5556692553d8f785a541c147b41e4b", + "difficulty": "HYPER", + "songID": 173, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5030, + "notecount": 665, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "bmus", + "6-cs", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1eb846cff6cd0f0327862ebc368b002328ce491b", + "difficulty": "NORMAL", + "songID": 173, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5030, + "notecount": 485, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0764e2b3ca28fbfa4e2d79fdbf037ea11b5e41aa", + "difficulty": "ANOTHER", + "songID": 173, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5030, + "notecount": 799, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "bmus", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "853c9d4f8264299cb72803f997979d1b7e74da2e", + "difficulty": "HYPER", + "songID": 173, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5030, + "notecount": 667, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a94c340dd5d8b881f0734112f6b92f590f2755df", + "difficulty": "NORMAL", + "songID": 173, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5030, + "notecount": 485, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "6-cs", + "5-cs", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "25176eada5a077cb7ba27070c40c70d0dc4330a2", + "difficulty": "HYPER", + "songID": 175, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5201, + "notecount": 579, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f187ecfee850f63315ccb7ef7aa44b3d4d0d681", + "difficulty": "NORMAL", + "songID": 175, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5201, + "notecount": 352, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "139d5851baf82d75731d9629a25fdee2b75d41c5", + "difficulty": "BEGINNER", + "songID": 175, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 5201, + "notecount": 245, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94bb2dff98717c8116975a18c68bf74f53237948", + "difficulty": "HYPER", + "songID": 175, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5201, + "notecount": 562, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7e3bc253e7decc9b9c1c435e61f2ab6d86c2897f", + "difficulty": "NORMAL", + "songID": 175, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5201, + "notecount": 372, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b0b6f298288c739faa25e0ede873aa84772dbab7", + "difficulty": "HYPER", + "songID": 176, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 5202, + "notecount": 799, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4bcd6d4c7bf8774418eb90c9482bf917d1af7993", + "difficulty": "NORMAL", + "songID": 176, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5202, + "notecount": 567, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d903739755a1de064e646280260f7dabe16fbc2e", + "difficulty": "BEGINNER", + "songID": 176, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 5202, + "notecount": 305, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43ee979529a2b5845de76049cf1a35fc3870919b", + "difficulty": "HYPER", + "songID": 176, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5202, + "notecount": 559, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26393df7951b747c26aeca26826550336b545ff2", + "difficulty": "NORMAL", + "songID": 176, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5202, + "notecount": 382, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c9ac456d258d9fa1bfcbbcc0ef6e795d9d05cd0d", + "difficulty": "ANOTHER", + "songID": 177, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5203, + "notecount": 626, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "005980b4d902cfa81ec5f76fbe0c1e637ca6c5e8", + "difficulty": "HYPER", + "songID": 177, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5203, + "notecount": 494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c18afe03caad5786f3291d4a920ef71d2d6e56a0", + "difficulty": "NORMAL", + "songID": 177, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5203, + "notecount": 362, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "075c4721aeaea428792290744d6b4acec7706c64", + "difficulty": "ANOTHER", + "songID": 177, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5203, + "notecount": 603, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "48ee9417cbc4ebad782d372d63548085f65ed660", + "difficulty": "BEGINNER", + "songID": 177, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 5203, + "notecount": 219, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ba1d3f5c6ffd0dfa881d449ea32e1ea8f212160", + "difficulty": "HYPER", + "songID": 177, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5203, + "notecount": 514, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "052b8d8ede3bac2071441397636f7e1724ac4f89", + "difficulty": "NORMAL", + "songID": 177, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5203, + "notecount": 352, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d5397b7ef82e691318b0d6dde047e4987ed8dc3", + "difficulty": "HYPER", + "songID": 178, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 5204, + "notecount": 871, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "5-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "146db9374bd10af0b9336ff8bd8e98fb2413aa80", + "difficulty": "NORMAL", + "songID": 178, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5204, + "notecount": 549, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "5-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "66b8b6782b7a74ce38b2c4994ffc3240ef546ca4", + "difficulty": "ANOTHER", + "songID": 178, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 5204, + "notecount": 817, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19a9c0b25b8c1e6619d9acecd81db6b836b70701", + "difficulty": "HYPER", + "songID": 178, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 5204, + "notecount": 871, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "5-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d4dfdd2a9758875c0f2084064bad869046146fe8", + "difficulty": "NORMAL", + "songID": 178, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5204, + "notecount": 551, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "5-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74e2612060745954d4673d61e673a8d3d1da5c4c", + "difficulty": "ANOTHER", + "songID": 179, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 5205, + "notecount": 806, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed366f01e2b5db84dd6ce9f13befae421a2ead33", + "difficulty": "HYPER", + "songID": 179, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5205, + "notecount": 731, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b3faacca26bef0ec09f486c903afda769b9ff62e", + "difficulty": "NORMAL", + "songID": 179, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5205, + "notecount": 433, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "18e5a8e48ac4966099aa368436cb2673c7697531", + "difficulty": "ANOTHER", + "songID": 179, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5205, + "notecount": 781, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d8ee3c7e42227d9f660598508531e30a990bae39", + "difficulty": "BEGINNER", + "songID": 179, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 5205, + "notecount": 328, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8badc81d7fad35c90ccc7c6e25fb6a3a9d4fbc64", + "difficulty": "HYPER", + "songID": 179, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5205, + "notecount": 606, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e04db762bf7db525e67443b34ba8ff5840e9842", + "difficulty": "NORMAL", + "songID": 179, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 5205, + "notecount": 374, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "37a85bcc34d620d1885f58082bca7966160e192d", + "difficulty": "HYPER", + "songID": 180, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5206, + "notecount": 790, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b706bde009edaf3997149fd9d7230c8c979490b", + "difficulty": "NORMAL", + "songID": 180, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5206, + "notecount": 614, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e818d441997cc2b8ffe8c3e6028899bc3ff775c5", + "difficulty": "ANOTHER", + "songID": 180, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5206, + "notecount": 813, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f4c3961f305142df6b3a86602b75ce33b96f934", + "difficulty": "HYPER", + "songID": 180, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5206, + "notecount": 597, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "870d48e1684e27096811b8a76d994da0c6c15dd6", + "difficulty": "NORMAL", + "songID": 180, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 5206, + "notecount": 428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50266a91e35f0c6a045d3c14c74e08f27dc385b5", + "difficulty": "HYPER", + "songID": 181, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5207, + "notecount": 436, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "46964be724d39c70fcad420a45301966b3483a7d", + "difficulty": "NORMAL", + "songID": 181, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5207, + "notecount": 338, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "23aa880f24c256f363d751fb136398d0ed509ace", + "difficulty": "ANOTHER", + "songID": 181, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5207, + "notecount": 433, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f78c0268565b4585348417851a53d58db70e0aff", + "difficulty": "HYPER", + "songID": 181, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5207, + "notecount": 383, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c41ddbe0e24b4f2cecc3691f412fe011855987d", + "difficulty": "NORMAL", + "songID": 181, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 5207, + "notecount": 327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd4ae43d215d42d12beb401d91ff87799f23b39e", + "difficulty": "HYPER", + "songID": 182, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5208, + "notecount": 553, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3dc56cba38eb9236f8a330e8320d74abddf1e4f", + "difficulty": "NORMAL", + "songID": 182, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5208, + "notecount": 515, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6e791f41ba91431529b3fa80f1ffac4a679dd83a", + "difficulty": "ANOTHER", + "songID": 182, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5208, + "notecount": 508, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9bf1136473a3e4a820df9c7f2f14371d7837e17f", + "difficulty": "HYPER", + "songID": 182, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5208, + "notecount": 469, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "06989a2a1cf71b0430fedc582f204fc635cc5eb9", + "difficulty": "NORMAL", + "songID": 182, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5208, + "notecount": 359, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1443f4dc39aa2a6fbd11889de7dbc19bac2b6835", + "difficulty": "HYPER", + "songID": 183, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 5209, + "notecount": 713, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d759b78b3294a66114627a32f5cf05f1966483a", + "difficulty": "NORMAL", + "songID": 183, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5209, + "notecount": 532, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb8761f05520592b0eb53caf800d738a0479ec30", + "difficulty": "ANOTHER", + "songID": 183, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 5209, + "notecount": 650, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "38ae73ee2c1f67bdf48f1d578e1c28c3b0042a97", + "difficulty": "HYPER", + "songID": 183, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 5209, + "notecount": 580, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c2c30f9ea1d49ca7e9c3fc3a59a37de2a0ffbc6", + "difficulty": "NORMAL", + "songID": 183, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 5209, + "notecount": 496, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0acd49dbbe5e4e16208c90e1aceb648301722c3b", + "difficulty": "ANOTHER", + "songID": 184, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6000, + "notecount": 759, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5b8a78dd0ced2c1783f6db9eb1c74ed679d53ada", + "difficulty": "HYPER", + "songID": 184, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 6000, + "notecount": 723, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca456c121b45ff79df8c0179037d7a0062c0962c", + "difficulty": "NORMAL", + "songID": 184, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6000, + "notecount": 503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "134c002f92a0f437c0720c1cd0ff7be74ed57162", + "difficulty": "ANOTHER", + "songID": 184, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6000, + "notecount": 629, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85525b490322e2a6fbae83f7872e7a628fbc13a6", + "difficulty": "HYPER", + "songID": 184, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6000, + "notecount": 698, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d640fcf8eb3e2a4b60e14543678b5aed18ac86b", + "difficulty": "NORMAL", + "songID": 184, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6000, + "notecount": 410, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d6698dc0c7f81f6a1ad7954ebc46d50464a2d76", + "difficulty": "HYPER", + "songID": 185, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6001, + "notecount": 546, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a5aaee40f18220adbfef8bcb2b17502b22225620", + "difficulty": "NORMAL", + "songID": 185, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6001, + "notecount": 375, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8565d7b8a6d7920d99a602350993d5f4b734a3d4", + "difficulty": "ANOTHER", + "songID": 185, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6001, + "notecount": 537, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b58aa6986206a95d65366e064924d741e9c682b", + "difficulty": "HYPER", + "songID": 185, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6001, + "notecount": 387, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0057728009b56b0b589896b44d804fc871c1e0fc", + "difficulty": "NORMAL", + "songID": 185, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6001, + "notecount": 297, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c8627c343eb5e02f896a088d4071f826c2918183", + "difficulty": "HYPER", + "songID": 186, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6002, + "notecount": 697, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0fe981967de0f7b66a0b2b0bab843c3adcd4e977", + "difficulty": "NORMAL", + "songID": 186, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6002, + "notecount": 496, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c6bae4c43619570178bec14771e3b2749877ca8", + "difficulty": "ANOTHER", + "songID": 186, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6002, + "notecount": 764, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2766923e477eb45a260f9660f1477652d348bd26", + "difficulty": "HYPER", + "songID": 186, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6002, + "notecount": 560, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f233eaf014c0aebff7f1cd4e5d5debdb119db66a", + "difficulty": "NORMAL", + "songID": 186, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6002, + "notecount": 411, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "67a946d2eb1bbe84218599caeff6203fb1d435d7", + "difficulty": "ANOTHER", + "songID": 187, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 6003, + "notecount": 868, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf48a5053fb738f08b6aeeff905b5ea270217613", + "difficulty": "HYPER", + "songID": 187, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6003, + "notecount": 817, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50033475e67fe3d74e44dc7be3e3715bc9343f42", + "difficulty": "NORMAL", + "songID": 187, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6003, + "notecount": 598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d91f6321f579b46e556d6102ebab067464a20c3", + "difficulty": "ANOTHER", + "songID": 187, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6003, + "notecount": 846, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c9011444be6710ee3223dc7fe4f09534d3479b0", + "difficulty": "HYPER", + "songID": 187, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6003, + "notecount": 770, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f3e5e9780d464e3088941dd1127c23c83e0d811", + "difficulty": "NORMAL", + "songID": 187, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6003, + "notecount": 429, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd42ef484fdc7c88c09fdedef12aade6dd211ee6", + "difficulty": "ANOTHER", + "songID": 188, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 6004, + "notecount": 932, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c2f9a05e50b4da042a82ac70536515b6f7bde74f", + "difficulty": "HYPER", + "songID": 188, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6004, + "notecount": 744, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "a4a825ea050367a473e6edd6a81c16e8ba601daf", + "difficulty": "LEGGENDARIA", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 188, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 6004, + "arcChartID": null, + "notecount": 1260, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "3fb801a0a23864fe2b428f13185002072da9c5b1", + "difficulty": "NORMAL", + "songID": 188, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6004, + "notecount": 479, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "36d93ac1ea62b1b4afc71efa587aeb3800e16aae", + "difficulty": "ANOTHER", + "songID": 188, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 6004, + "notecount": 932, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45a6f6bc212f604dd0f24f5d3c036b6385eb55dd", + "difficulty": "HYPER", + "songID": 188, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6004, + "notecount": 744, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "8bc2654ff748d968a010baca9e2e27b2b89849e1", + "difficulty": "LEGGENDARIA", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 188, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 6004, + "arcChartID": null, + "notecount": 1287, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "d1550a8c9e2694c63b27ba40bff327bb92ec2cd3", + "difficulty": "NORMAL", + "songID": 188, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6004, + "notecount": 511, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52cb2f821e7c0aa5bd6faf271065c1779a7c3c46", + "difficulty": "ANOTHER", + "songID": 189, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 6005, + "notecount": 1255, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "10-cs", + "8-cs", + "7-cs", + "bmus", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b75f4bd2d15c642e17c8640e320c46a0beb1783d", + "difficulty": "HYPER", + "songID": 189, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 6005, + "notecount": 1099, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "10-cs", + "8-cs", + "7-cs", + "bmus", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a63c9dd65880fa7a2d8bd0074c4b35df6f6b499", + "difficulty": "NORMAL", + "songID": 189, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6005, + "notecount": 714, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "10-cs", + "8-cs", + "7-cs", + "bmus", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a2af77d04eaec2eda8af3294035ab648a96e433", + "difficulty": "ANOTHER", + "songID": 189, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 6005, + "notecount": 1258, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "10-cs", + "8-cs", + "7-cs", + "bmus", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2a2406e6c5236448615f177eb5ac830c353bde12", + "difficulty": "BEGINNER", + "songID": 189, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 6005, + "notecount": 325, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a88b36a780ba247ebb4192cd466d75f4f904006", + "difficulty": "HYPER", + "songID": 189, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6005, + "notecount": 1011, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "10-cs", + "8-cs", + "7-cs", + "bmus", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "feda9f896399a4641da694a9d3dd1fa978deb976", + "difficulty": "NORMAL", + "songID": 189, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6005, + "notecount": 751, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "10-cs", + "8-cs", + "7-cs", + "bmus", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f5de6903c8327e4f0d2dc8bab6a9c82569cd704", + "difficulty": "ANOTHER", + "songID": 190, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6006, + "notecount": 750, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c3cd8ecc0b72e0e68799a58c2b8f356b97ebcf9a", + "difficulty": "HYPER", + "songID": 190, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6006, + "notecount": 674, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "309585e6db05349efccbcbd58d06da2f2478623f", + "difficulty": "NORMAL", + "songID": 190, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6006, + "notecount": 553, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53391040e98b4a94904dfa4fd3d32ea5601bbb89", + "difficulty": "ANOTHER", + "songID": 190, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6006, + "notecount": 612, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "015c78dd95dd0bbce8fdc9edab70a47bbf5278ef", + "difficulty": "HYPER", + "songID": 190, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6006, + "notecount": 477, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c09276c188fff552c74de1c2213c7b50b9a160d", + "difficulty": "NORMAL", + "songID": 190, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6006, + "notecount": 387, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68b789648dffe2d3ebca04ac93c6bca59339399f", + "difficulty": "ANOTHER", + "songID": 191, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 6007, + "notecount": 1083, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b5023c9ea74da27b5cf5ed28a3a9f3761904d2f", + "difficulty": "HYPER", + "songID": 191, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6007, + "notecount": 998, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1068df6485dae2bebf79fb528fbb51cdbf1eefd4", + "difficulty": "NORMAL", + "songID": 191, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6007, + "notecount": 623, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9011c056a7a554d6ae03650a015bf1116d971601", + "difficulty": "ANOTHER", + "songID": 191, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 6007, + "notecount": 1066, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b11bf7abe8195db00a4e0d394d74bf7846370391", + "difficulty": "HYPER", + "songID": 191, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6007, + "notecount": 945, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1957d7206ab9049f2c41d86b4a0a7aafb9d8f120", + "difficulty": "NORMAL", + "songID": 191, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6007, + "notecount": 656, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df4a768e77ca83f89a6a8fa8a0521a5c94473f77", + "difficulty": "ANOTHER", + "songID": 192, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 6009, + "notecount": 1133, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "25a6a66cd2d801a844ad4353d304c985e702e1b8", + "difficulty": "HYPER", + "songID": 192, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6009, + "notecount": 981, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35611bfce5cbd0daea3b34249becf5d1950212e2", + "difficulty": "NORMAL", + "songID": 192, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6009, + "notecount": 722, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bc9cf0b7627c51f0a8ae3f10fcbc159f1e2576ef", + "difficulty": "ANOTHER", + "songID": 192, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6009, + "notecount": 854, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa424066e32730fe29faad0b0d25aa6323ea6129", + "difficulty": "BEGINNER", + "songID": 192, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 6009, + "notecount": 150, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e357c289ab61e0d4825058cc64a05e674d3a1b97", + "difficulty": "HYPER", + "songID": 192, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6009, + "notecount": 779, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f4591fdd200072e2ff897d71bd7e274623114d05", + "difficulty": "NORMAL", + "songID": 192, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6009, + "notecount": 416, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "08e5a0a882c510095ee46d31dbd1c8c62b362d85", + "difficulty": "ANOTHER", + "songID": 193, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 6010, + "notecount": 981, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "bmus", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cde5b586d67cb6aaeb66e66e6430cd56f98d2cc5", + "difficulty": "HYPER", + "songID": 193, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6010, + "notecount": 688, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "bmus", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "478b47110ea5e9b199e2480356e76cef3c8a6676", + "difficulty": "NORMAL", + "songID": 193, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6010, + "notecount": 452, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "bmus", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea77cd029ad3cec32d26fa00a5bd97faf7952a7e", + "difficulty": "ANOTHER", + "songID": 193, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6010, + "notecount": 863, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "bmus", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd239a7d50ac9edfd9e9004c7961a1839b0dcdf5", + "difficulty": "HYPER", + "songID": 193, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6010, + "notecount": 688, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "bmus", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "58056e901b3fe09140b7284d0e712539da554251", + "difficulty": "NORMAL", + "songID": 193, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6010, + "notecount": 452, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "bmus", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02842d7a2f76dac37cf63536e95520a222e47a4f", + "difficulty": "HYPER", + "songID": 194, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6011, + "notecount": 579, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4bf14d46f9c455bb83c36d6ac0b1565f8994a493", + "difficulty": "NORMAL", + "songID": 194, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6011, + "notecount": 473, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "925237f2b37d1ac9d025b8203ea3b885f008682a", + "difficulty": "ANOTHER", + "songID": 194, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6011, + "notecount": 664, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28d272873dc709271a482bb106b6ffec14d70aad", + "difficulty": "HYPER", + "songID": 194, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6011, + "notecount": 571, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6bec65797859037b19a7a22b6c759615b5e974bd", + "difficulty": "NORMAL", + "songID": 194, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6011, + "notecount": 473, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ba9363591b6e5a30c8fa3902df478d20e16aff7", + "difficulty": "ANOTHER", + "songID": 195, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6012, + "notecount": 937, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d2e9984c08b387542d27aac6618a095741ddf1d", + "difficulty": "HYPER", + "songID": 195, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6012, + "notecount": 839, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33cd41b77dc6174090d5f140ef948ebcaa05a48a", + "difficulty": "NORMAL", + "songID": 195, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6012, + "notecount": 428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d006ff837376221d91964c412ec41f0e991dda35", + "difficulty": "ANOTHER", + "songID": 195, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6012, + "notecount": 909, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb463a2bd3a26dfc6ccba5de1e0d568840ffe919", + "difficulty": "HYPER", + "songID": 195, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6012, + "notecount": 897, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "88f394800d1514a927f7f098b3c700ba815baf84", + "difficulty": "NORMAL", + "songID": 195, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6012, + "notecount": 669, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03d934ed22f777c3ab1cf7d62480b0b6437d4dc4", + "difficulty": "ANOTHER", + "songID": 196, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 6013, + "notecount": 1377, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "8-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c6bb821938119050cde01ae653b98e4da7bde097", + "difficulty": "HYPER", + "songID": 196, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6013, + "notecount": 830, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "8-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1159448de31025c637762b082f9487cee5bd3cd5", + "difficulty": "NORMAL", + "songID": 196, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6013, + "notecount": 665, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "8-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "434fbca49489559c07ba05770503ad07a960ba31", + "difficulty": "ANOTHER", + "songID": 196, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 6013, + "notecount": 1188, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "8-cs", + "6-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7f141d429c29103dd34161d42df64512922ccd5e", + "difficulty": "HYPER", + "songID": 196, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6013, + "notecount": 942, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "8-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e76c202a82feaf068f48db7b642ad56a52edd4a", + "difficulty": "LEGGENDARIA", + "songID": 196, + "playtype": "SP", + "levelNum": 0, + "level": "12", + "data": { + "inGameID": 6013, + "notecount": 1291, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a016a65f44ef471077608c97881338cfd1b0984", + "difficulty": "NORMAL", + "songID": 196, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6013, + "notecount": 752, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "8-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80b32d017f4287a385d5c3eeaff0bb530e1b4896", + "difficulty": "HYPER", + "songID": 197, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6014, + "notecount": 811, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f158d0677669f8c1cd7f9cfbefb025b83c7de23", + "difficulty": "NORMAL", + "songID": 197, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6014, + "notecount": 521, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c38aaf46111291c6d6734efc55a6f5408f9baaec", + "difficulty": "HYPER", + "songID": 197, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6014, + "notecount": 811, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98cb91aa8ad6e83323a565d46e1734c0925f8a6c", + "difficulty": "NORMAL", + "songID": 197, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6014, + "notecount": 521, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "272cbbe09cb8d3f9468388a0dd927c586d11ca13", + "difficulty": "ANOTHER", + "songID": 198, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 6015, + "notecount": 1210, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe8a082ed782bf05f08786b95f9dd27d2fcf6d9f", + "difficulty": "HYPER", + "songID": 198, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6015, + "notecount": 1007, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c8e3a963c484e4ad7597b8362c000d068ceb362b", + "difficulty": "NORMAL", + "songID": 198, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6015, + "notecount": 585, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f07d6b18354eac0511152307b81274a5a0d350e0", + "difficulty": "ANOTHER", + "songID": 198, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 6015, + "notecount": 1105, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "6-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "58561757bd6902f990a6656066cdeaed5882c4e9", + "difficulty": "HYPER", + "songID": 198, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6015, + "notecount": 789, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dbaa061b0ad7a3045de3f0d565f5c46db9dac0c5", + "difficulty": "NORMAL", + "songID": 198, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6015, + "notecount": 489, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3dd27841c2d5678377001220ac4449a29ab15bed", + "difficulty": "ANOTHER", + "songID": 199, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 6016, + "notecount": 1367, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "7-cs", + "bmus", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80d7cc72b60b03c5c58a91fed10c02af488bd91e", + "difficulty": "HYPER", + "songID": 199, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 6016, + "notecount": 977, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "7-cs", + "bmus", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17d2f5d7ca25e46310c0e164c5dbb71b645d8c87", + "difficulty": "NORMAL", + "songID": 199, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6016, + "notecount": 667, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "7-cs", + "bmus", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43c0e3a048c9b1ece73c4cc5a22f6719e7e3ca98", + "difficulty": "ANOTHER", + "songID": 199, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 6016, + "notecount": 973, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "7-cs", + "bmus", + "6-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "8573ddc368066b594fc9cbcf4ec8fe40e42ad1fd", + "difficulty": "HYPER", + "songID": 199, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6016, + "notecount": 839, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "7-cs", + "bmus", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50458d4de7e5fa95f231c9c6e660e8827625cf72", + "difficulty": "NORMAL", + "songID": 199, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6016, + "notecount": 524, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "7-cs", + "bmus", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a4e8f8b9cbd464402c954778bd101771006c1303", + "difficulty": "ANOTHER", + "songID": 200, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 6017, + "notecount": 1088, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa3e47d9e4069e611a8a376dc992842ecdfb7509", + "difficulty": "HYPER", + "songID": 200, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6017, + "notecount": 729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3bf7dce537d9c58f980f2f8e299b1b6dba2cc775", + "difficulty": "NORMAL", + "songID": 200, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6017, + "notecount": 470, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fbb5fad34331adc521c1d3008303419300bfaf27", + "difficulty": "ANOTHER", + "songID": 200, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 6017, + "notecount": 1088, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e2569e688420e998f90606941a73f342faad0005", + "difficulty": "HYPER", + "songID": 200, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6017, + "notecount": 659, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "525bd055973b6beca6606d7d54c34b454ecd2a82", + "difficulty": "NORMAL", + "songID": 200, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6017, + "notecount": 470, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f6e2d31b4dcff1c393217a3feda43a5beb0c9e9", + "difficulty": "HYPER", + "songID": 201, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6018, + "notecount": 693, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2aea5738cf2935fe168dc63b1bc78461b5552cd0", + "difficulty": "NORMAL", + "songID": 201, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6018, + "notecount": 418, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "938a6be9780a013d524ecc017cbfacecefe200f1", + "difficulty": "ANOTHER", + "songID": 201, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 6018, + "notecount": 936, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c58a49133fb36a5f89d46b036216b3ed69364a5", + "difficulty": "HYPER", + "songID": 201, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6018, + "notecount": 692, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4c93f7be6f3330e96becf7b3ca62aef90f6047b", + "difficulty": "NORMAL", + "songID": 201, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6018, + "notecount": 417, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a54277788491457a77f8643eb3995a3b67fbbd98", + "difficulty": "ANOTHER", + "songID": 202, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 6019, + "notecount": 900, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f6604521fb7a9e6842c2390d9ab50fe2c3c33ce", + "difficulty": "HYPER", + "songID": 202, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 6019, + "notecount": 765, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a400b4b61b797660cd3b62ce93e762cd4644cd8", + "difficulty": "NORMAL", + "songID": 202, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6019, + "notecount": 562, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "14bd2016996c79a703af99bb0ebaaad0bd3ec241", + "difficulty": "ANOTHER", + "songID": 202, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6019, + "notecount": 766, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "212ae5824889c3ab34153a28eaf01f5a0cf6c51a", + "difficulty": "HYPER", + "songID": 202, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6019, + "notecount": 614, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2231d0764e356a186f46973ef23f343bf5b62d46", + "difficulty": "NORMAL", + "songID": 202, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6019, + "notecount": 457, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a54853665188a2c83e74be29f01ed32870301a6", + "difficulty": "HYPER", + "songID": 203, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6020, + "notecount": 451, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8d4533fa40d7b567db09091635ad2168a7c0c85d", + "difficulty": "NORMAL", + "songID": 203, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 6020, + "notecount": 339, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "71f79841a78641d09ff6bb55f12799eea2220a4d", + "difficulty": "HYPER", + "songID": 203, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6020, + "notecount": 403, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fcb6a50dbf91c573e9c5ccad4913483b8b153e5f", + "difficulty": "NORMAL", + "songID": 203, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 6020, + "notecount": 304, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2847b2a4e9a3cb8be4991c4d84e0316b99082675", + "difficulty": "HYPER", + "songID": 204, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 6021, + "notecount": 1328, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "bmus", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f7f9217b88510204a241c14a2700496421fcf82", + "difficulty": "NORMAL", + "songID": 204, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6021, + "notecount": 984, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "bmus", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "38963db97c50f48154b28840b16489cae6ee89b0", + "difficulty": "HYPER", + "songID": 204, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6021, + "notecount": 949, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "bmus", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3b645df664743c8422668dd635455e28dd8d397", + "difficulty": "NORMAL", + "songID": 204, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6021, + "notecount": 667, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "bmus", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78bce51bf0b5c207e9d4f391fdf2dd68774cbf97", + "difficulty": "HYPER", + "songID": 205, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 6022, + "notecount": 1356, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4e3057fcdc670833db19f0fcbb34bb821848114", + "difficulty": "NORMAL", + "songID": 205, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6022, + "notecount": 745, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fdcf98dd0672d16bc39acb34aa568f37b05a71b0", + "difficulty": "ANOTHER", + "songID": 205, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 6022, + "notecount": 1282, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "6-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11E", + "value": 11, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "312a4ee460e4fcf9f77bbaf69100f903ad7b1c24", + "difficulty": "HYPER", + "songID": 205, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 6022, + "notecount": 1229, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9cc133eb071b4772b6f1badc4ac8f3448fea142c", + "difficulty": "NORMAL", + "songID": 205, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6022, + "notecount": 760, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b18a6a6bca2878c230b714b717ee45adf9884ea4", + "difficulty": "ANOTHER", + "songID": 206, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 6023, + "notecount": 1182, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "20", + "inf", + "12-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "018775799a35bf6f57f60941a366a7175e913888", + "difficulty": "HYPER", + "songID": 206, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6023, + "notecount": 872, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "20", + "inf", + "12-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3023a2c61afe0ce50f2be9784c63c126b6f6d2e0", + "difficulty": "NORMAL", + "songID": 206, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6023, + "notecount": 654, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "20", + "inf", + "12-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "189e25f52d58eb3b05c3331189694e95b8eac06a", + "difficulty": "ANOTHER", + "songID": 206, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 6023, + "notecount": 1149, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "20", + "inf", + "12-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e29d3f55990435f88d9e57e3843e30732aa7b118", + "difficulty": "HYPER", + "songID": 206, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6023, + "notecount": 904, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "20", + "inf", + "12-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "abd6a3b0c9b21f7d66646c72ec6d214431e0ca5c", + "difficulty": "NORMAL", + "songID": 206, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6023, + "notecount": 660, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "20", + "inf", + "12-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "612ad159453a9d7e21f1bbd32cbdf7d2ad1a5928", + "difficulty": "HYPER", + "songID": 207, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6024, + "notecount": 644, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3569a74f12da66c475c9479fe13ee14f3caec36", + "difficulty": "NORMAL", + "songID": 207, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6024, + "notecount": 461, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0c7c22455a000f8ac3ba92e6dd6889bbe5ea98e", + "difficulty": "ANOTHER", + "songID": 207, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6024, + "notecount": 529, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d3f8b6dcf0c6d3d3b6e173e8b07b832db526540", + "difficulty": "HYPER", + "songID": 207, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6024, + "notecount": 433, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e72ee2559162198ffd9e484b8b074a72eeec988b", + "difficulty": "NORMAL", + "songID": 207, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6024, + "notecount": 381, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "57f3fea12eaff8a7ac5c6250d2d4296991173642", + "difficulty": "ANOTHER", + "songID": 208, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 6025, + "notecount": 1075, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b96a009df30b7c5547247f5657b2cd56b0cf9b90", + "difficulty": "HYPER", + "songID": 208, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6025, + "notecount": 887, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "56cbfc84113c921ebaec84f990d46e61331c91ec", + "difficulty": "NORMAL", + "songID": 208, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6025, + "notecount": 645, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4eb2005aad8365da50ed6e7cd675b3a408043126", + "difficulty": "ANOTHER", + "songID": 208, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6025, + "notecount": 969, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ce998b73827ed0dae1b912d62039706d36e7f96", + "difficulty": "HYPER", + "songID": 208, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6025, + "notecount": 793, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc79ae08064f8e9595a0a881800a7f762253ed8e", + "difficulty": "NORMAL", + "songID": 208, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6025, + "notecount": 657, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "991cdea3a0e460ee218aac88e8f2f1cfb3de5ba7", + "difficulty": "ANOTHER", + "songID": 209, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6026, + "notecount": 926, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aaafa9069cf5cb3cef523e75e7ea24af21cb37cb", + "difficulty": "HYPER", + "songID": 209, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6026, + "notecount": 730, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2751470aafb2bdc9dd97621499901a42a9a0a6d5", + "difficulty": "NORMAL", + "songID": 209, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6026, + "notecount": 605, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22c1beabc9cf73f014136175b043832fbac13f1a", + "difficulty": "ANOTHER", + "songID": 209, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6026, + "notecount": 899, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b38485e92c09f6736ab7e1737c0ed7a191fcdba8", + "difficulty": "BEGINNER", + "songID": 209, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 6026, + "notecount": 233, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c0ec5ca8c445e03f19139be4f55628d2ac89b08e", + "difficulty": "HYPER", + "songID": 209, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6026, + "notecount": 730, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54008bee72782c264cd9d543984bf916637e0f10", + "difficulty": "NORMAL", + "songID": 209, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6026, + "notecount": 530, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "057751e2206ccde434944c727c87f7f0375f6577", + "difficulty": "ANOTHER", + "songID": 210, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 6027, + "notecount": 1127, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84d2b1e6d5a25f8027c6a5804e6efa29ef57e087", + "difficulty": "HYPER", + "songID": 210, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6027, + "notecount": 767, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d0d01e1e977b7145a0cac35edd1ca9fec1ad4ce", + "difficulty": "NORMAL", + "songID": 210, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6027, + "notecount": 625, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "672b0da88ae029e788d4455a4bb42fe1f743ea6c", + "difficulty": "ANOTHER", + "songID": 210, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6027, + "notecount": 703, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b39231725e6b9c68bb45e1e6d34b865f0f9321d9", + "difficulty": "HYPER", + "songID": 210, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6027, + "notecount": 667, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "343fa2d4af94afb96885aaf85a9a5f3cbe324e1e", + "difficulty": "NORMAL", + "songID": 210, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6027, + "notecount": 438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1ed598dc9d8755cec1f1a1b6076c83c7d50739e", + "difficulty": "HYPER", + "songID": 211, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 6028, + "notecount": 835, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7cc020f1b73494281e18da8747b95f12ec72cfc3", + "difficulty": "NORMAL", + "songID": 211, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6028, + "notecount": 700, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "56c1d35a380453f743f612e05073dc6263a6a105", + "difficulty": "ANOTHER", + "level": "0", + "levelNum": 0, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 211, + "tierlistInfo": {}, + "versions": [ + "27-omni", + "26-omni", + "6-cs", + "28" + ], + "data": { + "inGameID": 6028, + "arcChartID": null, + "notecount": 833, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "4a2123f4335a281a772ed6bd7f2b2b406edfea5f", + "difficulty": "HYPER", + "songID": 211, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6028, + "notecount": 796, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9dd5e1b2326dd28cd6eef226d403594e7c26e8c3", + "difficulty": "NORMAL", + "songID": 211, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6028, + "notecount": 563, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "6-cs", + "5-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "75c04a2f8a81510efc2b4d5d2cfec4be23048235", + "difficulty": "ANOTHER", + "songID": 212, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 6029, + "notecount": 1045, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9497024b78288ffb90fbac86d30a2533d4b2a79", + "difficulty": "HYPER", + "songID": 212, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6029, + "notecount": 733, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fafc2d9fc183436b3bf31eef283761faf05c8ff2", + "difficulty": "NORMAL", + "songID": 212, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6029, + "notecount": 589, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "efa36c73259409ea6a86c689f5750a2de395143b", + "difficulty": "ANOTHER", + "songID": 212, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6029, + "notecount": 910, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b83fb06392f77b3cbac4c8f4d35937b7966cfd94", + "difficulty": "HYPER", + "songID": 212, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6029, + "notecount": 733, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ee334a967a5d385e9aed521fad2ec8b68424d60", + "difficulty": "NORMAL", + "songID": 212, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6029, + "notecount": 560, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "6-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55600d5ce3f1a2f2a1581dbf4a975b215aa60ffc", + "difficulty": "HYPER", + "songID": 213, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6030, + "notecount": 564, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73b57fde2a614681110d181e7162e2ccecb56402", + "difficulty": "NORMAL", + "songID": 213, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6030, + "notecount": 332, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b79ecfa453dfbfe0e4957212061f4b27776b1414", + "difficulty": "HYPER", + "songID": 213, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6030, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "75dcd763a1c1f96a29876526dfb33ccca8720cdc", + "difficulty": "NORMAL", + "songID": 213, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 6030, + "notecount": 278, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fbe064e64f03acef9f91dbc91d0002e654334372", + "difficulty": "ANOTHER", + "songID": 214, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 6031, + "notecount": 1003, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8eb6690902e4bcadf3dcc58529e73f4f6c253965", + "difficulty": "HYPER", + "songID": 214, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6031, + "notecount": 690, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e9e3bb2876696621fb717afbd5ff647d820b789", + "difficulty": "NORMAL", + "songID": 214, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6031, + "notecount": 458, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f7f8b6429b0be98175f21f5f134ca9d849d54782", + "difficulty": "ANOTHER", + "songID": 214, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 6031, + "notecount": 1003, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a9b3fd4a75a354186700da19e80cd60b4450a62", + "difficulty": "HYPER", + "songID": 214, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6031, + "notecount": 688, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ae4186bb1498af0ba5c90bddc356529561d5f02", + "difficulty": "NORMAL", + "songID": 214, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6031, + "notecount": 471, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "48bcc8ae51f2f8bfb12c76f9ba4fe4cb36d52c14", + "difficulty": "HYPER", + "songID": 215, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6201, + "notecount": 790, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55d2aa4089128f61511c50696b68cb319ad3640c", + "difficulty": "NORMAL", + "songID": 215, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6201, + "notecount": 307, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "771557203b3ef82a9acbf705a63654d82551e905", + "difficulty": "ANOTHER", + "songID": 215, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6201, + "notecount": 681, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "241a27876b22646ccb85b6f53a61d7a46fc93168", + "difficulty": "BEGINNER", + "songID": 215, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 6201, + "notecount": 215, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "108ca4504ab91f1e2af43a2185133a7252071041", + "difficulty": "HYPER", + "songID": 215, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6201, + "notecount": 523, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "77e3f12cb17848132fcca7ed253b59852a0e8059", + "difficulty": "NORMAL", + "songID": 215, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6201, + "notecount": 307, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82824edebf81dffbde3ab1e4fc4087db2d9de321", + "difficulty": "ANOTHER", + "songID": 216, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6202, + "notecount": 363, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "935581cf36ea4107e3ffcfa8dfdddd84f3b906dc", + "difficulty": "HYPER", + "songID": 216, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 6202, + "notecount": 294, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f5003cc1b32ea27691ae92fdbe75a54b865d377d", + "difficulty": "NORMAL", + "songID": 216, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 6202, + "notecount": 285, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19c652ef46d1073658a5d49d7573a912e8bfff32", + "difficulty": "ANOTHER", + "songID": 216, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6202, + "notecount": 364, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f39a16ff18d509f44dcf4e37850269477475e77", + "difficulty": "BEGINNER", + "songID": 216, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 6202, + "notecount": 213, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c696d5ec4f0e357a1909831c00e93bad6758958", + "difficulty": "HYPER", + "songID": 216, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 6202, + "notecount": 280, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ac141d14cf20c3d3852baddd767f28d43385bf3", + "difficulty": "NORMAL", + "songID": 216, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 6202, + "notecount": 260, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fbcf32dbc24acbcf1e9427e5075fce4a7503741a", + "difficulty": "ANOTHER", + "songID": 217, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6203, + "notecount": 1101, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12d73dd79deaec1b9042d8b6c6819458ebfdba3b", + "difficulty": "HYPER", + "songID": 217, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6203, + "notecount": 893, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf3ead9d8e3f03bf22e3d20f7b60758e0517f11d", + "difficulty": "NORMAL", + "songID": 217, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6203, + "notecount": 627, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "92483c1f5c5291c3660c6a35725c71a0e0fe27fc", + "difficulty": "ANOTHER", + "songID": 217, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6203, + "notecount": 1059, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a44bf2a27033a89af7dad853d846c7bba9f9a48", + "difficulty": "BEGINNER", + "songID": 217, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 6203, + "notecount": 470, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd01799acbff5b8cc4645c296c7a6ee12f8ff24a", + "difficulty": "HYPER", + "songID": 217, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6203, + "notecount": 879, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "64dbe68b0fe96fea58070d065ab072fa71507804", + "difficulty": "NORMAL", + "songID": 217, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6203, + "notecount": 627, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "15213641c63f96bab5feba1b0817c0bf92eb9a3f", + "difficulty": "HYPER", + "songID": 218, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6204, + "notecount": 921, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6488eb2957467ad43c7c37059f16097b8fb75f5f", + "difficulty": "NORMAL", + "songID": 218, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6204, + "notecount": 568, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3fc8385ecd742f4205a73dc1bb9d11bcf4022ae", + "difficulty": "ANOTHER", + "songID": 218, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6204, + "notecount": 940, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c94536933f21c0ceb2f0b68b4b4bc35849f1d04b", + "difficulty": "BEGINNER", + "songID": 218, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 6204, + "notecount": 333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b3707925c0707dfc1b1506f366e3f4bc76bd3232", + "difficulty": "HYPER", + "songID": 218, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6204, + "notecount": 839, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2780805584ab613ed9edb0950895772f654d9d4", + "difficulty": "NORMAL", + "songID": 218, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6204, + "notecount": 568, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cc5b3eb8f2861f6df0a1ceedd0b10bacce639a36", + "difficulty": "HYPER", + "songID": 219, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6205, + "notecount": 901, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "bmus", + "6-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "430a7b3985f46148533fef440f28957de8a95f40", + "difficulty": "NORMAL", + "songID": 219, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6205, + "notecount": 827, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "bmus", + "6-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4dd7495c32b560f50ad54bec6753c010feb9381c", + "difficulty": "BEGINNER", + "songID": 219, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 6205, + "notecount": 350, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "363872466b66d6a98bf575ee0101b6e517190857", + "difficulty": "HYPER", + "songID": 219, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6205, + "notecount": 854, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "bmus", + "6-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "65119c7bcac6bb1dfddf81ba2068690d7ae494ee", + "difficulty": "NORMAL", + "songID": 219, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6205, + "notecount": 657, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "bmus", + "6-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6788c5251ca95552d3b8ddd3e0060d85397b2104", + "difficulty": "ANOTHER", + "songID": 220, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 6206, + "notecount": 1159, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c12c11f67244d75b76a8bf68dbb1903528ddd9f8", + "difficulty": "HYPER", + "songID": 220, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6206, + "notecount": 768, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85b519c348f32b81c2e72a3d4c01cd003a622627", + "difficulty": "NORMAL", + "songID": 220, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6206, + "notecount": 458, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f87c9130ecc1ab70e793e89ee7093aa02d7eeef7", + "difficulty": "ANOTHER", + "songID": 220, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6206, + "notecount": 709, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "46b18a37648c06bf480487c2b62f5caa8995281a", + "difficulty": "BEGINNER", + "songID": 220, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 6206, + "notecount": 312, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa30652141366049537281f20d2351b2cd139ddd", + "difficulty": "HYPER", + "songID": 220, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6206, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "07d987c6479be77fdf02cb2f29ef46892e3841b3", + "difficulty": "NORMAL", + "songID": 220, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6206, + "notecount": 524, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f13975032343ebf2adf3a5808301acd3e61df5c", + "difficulty": "ANOTHER", + "songID": 221, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 6207, + "notecount": 917, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "905e75eb49d6efbef626361c4dbede613213c797", + "difficulty": "HYPER", + "songID": 221, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6207, + "notecount": 704, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4d9b65a39d9f23d4911e596f9c1ad837a5088ce3", + "difficulty": "NORMAL", + "songID": 221, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6207, + "notecount": 427, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "124644af1ca1997916ff8067e1e876cf5c4d80cc", + "difficulty": "ANOTHER", + "songID": 221, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 6207, + "notecount": 917, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a9b158e5974fb2f8707843493099b7fc728a320", + "difficulty": "BEGINNER", + "songID": 221, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 6207, + "notecount": 318, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "be5027ec928d3af17dc0eb258d2188ea4b1d1295", + "difficulty": "HYPER", + "songID": 221, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6207, + "notecount": 720, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2efdbae2551739a0e97912d8da2d25435b37a210", + "difficulty": "NORMAL", + "songID": 221, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6207, + "notecount": 428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82b70093b4eb7b2acf38b723acd78c3f40d30fb3", + "difficulty": "HYPER", + "songID": 222, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6208, + "notecount": 887, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ddd52fd8286837c2d7c4f7f2c799db2ad6e2a29d", + "difficulty": "NORMAL", + "songID": 222, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6208, + "notecount": 583, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33a897e59274e6e517bd338528cb4aa7d0bba362", + "difficulty": "ANOTHER", + "songID": 222, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6208, + "notecount": 903, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db81c35d160fc5870f5957361a8b32add1bc318b", + "difficulty": "BEGINNER", + "songID": 222, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 6208, + "notecount": 413, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ddd00c792f8428f542b7066bd43d538000d247ea", + "difficulty": "HYPER", + "songID": 222, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 6208, + "notecount": 825, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e3270d82418309587e89f33bc3858fb2876aa31", + "difficulty": "NORMAL", + "songID": 222, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6208, + "notecount": 541, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7401bdc2606cc1659f3739579311036e018d10d9", + "difficulty": "HYPER", + "songID": 223, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 6209, + "notecount": 960, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2266486f54009b83d5cc09fa973d763df1826919", + "difficulty": "NORMAL", + "songID": 223, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 6209, + "notecount": 597, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "57744b6819e8837dbe0077d0cca6001a90aaf0aa", + "difficulty": "ANOTHER", + "songID": 223, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 6209, + "notecount": 960, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d399af231b377289e1d575337a43609c17998e35", + "difficulty": "BEGINNER", + "songID": 223, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 6209, + "notecount": 290, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca604406c6fbcb2ff8d5559c6705dc9a18117bf2", + "difficulty": "HYPER", + "songID": 223, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 6209, + "notecount": 874, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7e241ae8c416cd19a956aabad5ad12377417b28a", + "difficulty": "NORMAL", + "songID": 223, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 6209, + "notecount": 597, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0fc325abb33de9841bede42b7b01ab771c8ed7f7", + "difficulty": "HYPER", + "songID": 225, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7000, + "notecount": 653, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4ca64cc51dd7883738eb73a4c41f600ec5f9f6fb", + "difficulty": "NORMAL", + "songID": 225, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7000, + "notecount": 423, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0cc410334968a408a7815aef38af9ffce5b996e2", + "difficulty": "ANOTHER", + "songID": 225, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7000, + "notecount": 746, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0434c9b65889a46270c0e3f14c187b381d9440aa", + "difficulty": "HYPER", + "songID": 225, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7000, + "notecount": 649, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2197ab9d3632d84a1916ab130d46e636b22de76", + "difficulty": "NORMAL", + "songID": 225, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7000, + "notecount": 423, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "70c91ca50260e280e55b0affcc820765d0622371", + "difficulty": "HYPER", + "songID": 226, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7001, + "notecount": 632, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5afabb4bf705f34a7cf727618a269e884b021f3f", + "difficulty": "NORMAL", + "songID": 226, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7001, + "notecount": 477, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f8909d7c1752c1c967a3c5149aac48d129d352e", + "difficulty": "ANOTHER", + "songID": 226, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7001, + "notecount": 816, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2641407755a80ee3ef31b34c786ec900f96b5ff3", + "difficulty": "HYPER", + "songID": 226, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7001, + "notecount": 554, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33c0885af6b4f724aece58c6287804d8d5e28eed", + "difficulty": "NORMAL", + "songID": 226, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7001, + "notecount": 409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc6f686af32cbcff0f97aed1985bf593968e5da9", + "difficulty": "ANOTHER", + "songID": 227, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 7002, + "notecount": 1343, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e6e425d000c08b74ced19fc313e80002c001b2d", + "difficulty": "HYPER", + "songID": 227, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 7002, + "notecount": 1119, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e28a3e3ec213e51f9b32627689fe70cc3212bb92", + "difficulty": "NORMAL", + "songID": 227, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7002, + "notecount": 613, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "08e42d374e079924e5ec74a82ac57c843dc6a26d", + "difficulty": "ANOTHER", + "songID": 227, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 7002, + "notecount": 1260, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12F", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12F", + "value": 11.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.60", + "value": 12.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6ec1bce2fd241fd432551aeee608a1f353d3aeae", + "difficulty": "HYPER", + "songID": 227, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7002, + "notecount": 1111, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bea65d6d83573ae982d3014251ca50c9221024d5", + "difficulty": "NORMAL", + "songID": 227, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7002, + "notecount": 666, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7652b80e3dc8baa9642ad854d5b71d56d9ae702c", + "difficulty": "HYPER", + "songID": 228, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7003, + "notecount": 1113, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e96337b6bcb9f66ab12da039a76f4b066da57cb6", + "difficulty": "NORMAL", + "songID": 228, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7003, + "notecount": 948, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c9a3977ca0fa25bf54571fe44be7ee79b5caff9", + "difficulty": "ANOTHER", + "songID": 228, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7003, + "notecount": 934, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f39a03fe34b3ea432b07e11ef94b850042bf008b", + "difficulty": "HYPER", + "songID": 228, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7003, + "notecount": 882, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e2540078201601bde0f1de97b65d3cb1f2d6576", + "difficulty": "NORMAL", + "songID": 228, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7003, + "notecount": 713, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a6a717693c623b6451e23e676ac7626952fb4aa7", + "difficulty": "ANOTHER", + "songID": 229, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7004, + "notecount": 1042, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c8c18a3c5080a11da6f9f99b8b1f03ba10c375d", + "difficulty": "HYPER", + "songID": 229, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7004, + "notecount": 716, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b52fa54b2c29948454a017c405a6cced0f4b8097", + "difficulty": "NORMAL", + "songID": 229, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7004, + "notecount": 566, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9adc68af39b47931a565d4935a18dab6ca59dd9", + "difficulty": "ANOTHER", + "songID": 229, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7004, + "notecount": 964, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "596fb042ee90c1f7112a664cf569bbef8432b8ae", + "difficulty": "HYPER", + "songID": 229, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7004, + "notecount": 716, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "95b02da72249f18b904967ba49b252bf7605a30d", + "difficulty": "NORMAL", + "songID": 229, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7004, + "notecount": 522, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "877681f5cb1b459b4384664021a8213284e9348d", + "difficulty": "HYPER", + "songID": 230, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7005, + "notecount": 1010, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "075855a0948325e9e4128b8c97b2c8fc8d9db3ea", + "difficulty": "NORMAL", + "songID": 230, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7005, + "notecount": 751, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "06400ed3c26b9cd26a0ceffe42e6f5469b209580", + "difficulty": "ANOTHER", + "songID": 230, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7005, + "notecount": 900, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6de3396c1e5160166a431d1fc5f91255a31c96aa", + "difficulty": "HYPER", + "songID": 230, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7005, + "notecount": 745, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "311c175b58d5e3ba306b77d9e2b361b805b2ae35", + "difficulty": "NORMAL", + "songID": 230, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7005, + "notecount": 533, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d432764a3a29f4a20e6d9f65d2ffadf3241de1ea", + "difficulty": "ANOTHER", + "songID": 231, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7006, + "notecount": 789, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "516c9b8ce5a772e2fc5c864b27a0ab632f834ab9", + "difficulty": "HYPER", + "songID": 231, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7006, + "notecount": 496, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b5c33e9f9e8640564a04a79b42d4b4c79d9a7bd6", + "difficulty": "NORMAL", + "songID": 231, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7006, + "notecount": 359, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d428eead3fb7871f0ef3e0babab674d340ff9321", + "difficulty": "ANOTHER", + "songID": 231, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7006, + "notecount": 755, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "460a57c14db048d7181af5d7683974ab45792281", + "difficulty": "HYPER", + "songID": 231, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7006, + "notecount": 494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4056655b7828b1a086523670d923c166957826e7", + "difficulty": "NORMAL", + "songID": 231, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7006, + "notecount": 361, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "381c6500d1f5a5497eb27424a9573477e79c279b", + "difficulty": "ANOTHER", + "songID": 232, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7007, + "notecount": 727, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a726b1d614478b8f89e6cccdf906e23c2166298", + "difficulty": "HYPER", + "songID": 232, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7007, + "notecount": 600, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b75df325388cd5a6096c759e493439aefae5c390", + "difficulty": "NORMAL", + "songID": 232, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7007, + "notecount": 521, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cae5a08a480fb60cca02694cb96e5ef018c9f439", + "difficulty": "ANOTHER", + "songID": 232, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7007, + "notecount": 735, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8df6e3725904006a3b78e5c8cdeaee4b645feb1c", + "difficulty": "HYPER", + "songID": 232, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7007, + "notecount": 421, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe66ff6d8569974791ae549f7fd34b4235da4c41", + "difficulty": "NORMAL", + "songID": 232, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 7007, + "notecount": 208, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a8e01402ea2c5f000cc1c5cfb33472c25ce0b21", + "difficulty": "ANOTHER", + "songID": 233, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 7008, + "notecount": 1307, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "188be176a64933e38b2d5d541adaf25f1c5ddc1a", + "difficulty": "HYPER", + "songID": 233, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7008, + "notecount": 623, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32b39d7bcb6937f17801798a0817f9f5d821f227", + "difficulty": "NORMAL", + "songID": 233, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7008, + "notecount": 468, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c48c3184f5b3c114197b700bc19ec4c33d1fa93", + "difficulty": "ANOTHER", + "songID": 233, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7008, + "notecount": 880, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a294cca0281d4340931ba8fd8d4371941c0593b", + "difficulty": "HYPER", + "songID": 233, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7008, + "notecount": 623, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a6798253808e7f4ea950347f3457a6847e0122f0", + "difficulty": "NORMAL", + "songID": 233, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7008, + "notecount": 470, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8f79b479ffe69ef84481571b02a771c99efa2ea", + "difficulty": "HYPER", + "songID": 234, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7009, + "notecount": 619, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "349bac6edaacec0eee8b02d4bed39caf5f71cd0f", + "difficulty": "NORMAL", + "songID": 234, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7009, + "notecount": 422, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a34251f82606e7a19e070725a4269e31a2c3e36", + "difficulty": "HYPER", + "songID": 234, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7009, + "notecount": 620, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b79542a52c0231a8d01436a9f2db755bfb482efb", + "difficulty": "NORMAL", + "songID": 234, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7009, + "notecount": 422, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d08afdec63ab2e75fcee3b7e54b4867fbc6d56e", + "difficulty": "HYPER", + "songID": 235, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7010, + "notecount": 665, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1099a7d9f96159409b0ad9592241bb9c1daf8cd0", + "difficulty": "NORMAL", + "songID": 235, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7010, + "notecount": 525, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd86d296b8e6ec882a6542750a12c8769fe98cd7", + "difficulty": "ANOTHER", + "songID": 235, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7010, + "notecount": 823, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c4fcdb90badeca6bd07355ee940ed90d4d508226", + "difficulty": "HYPER", + "songID": 235, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7010, + "notecount": 671, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "545ffc154d684ba0a8b1ab2abf89794d102fd667", + "difficulty": "NORMAL", + "songID": 235, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7010, + "notecount": 494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6cd42857a99bf08a30447b2b5d4f55a1a05f7da3", + "difficulty": "HYPER", + "songID": 236, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7011, + "notecount": 700, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "42cbea767d72c1ec16d0fbceceeeb10170f77082", + "difficulty": "NORMAL", + "songID": 236, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7011, + "notecount": 575, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9e811048be5d503db583b015c1222e6e4b10c5df", + "difficulty": "ANOTHER", + "songID": 236, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7011, + "notecount": 925, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2031c2522e22d97d784f8beb6efe0940808e5a2c", + "difficulty": "HYPER", + "songID": 236, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7011, + "notecount": 700, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11f515e69543a85723b3fdff67e61b7943c39998", + "difficulty": "NORMAL", + "songID": 236, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7011, + "notecount": 546, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33c3f3237ee87288ee935bc25c74095c7462c5db", + "difficulty": "HYPER", + "songID": 237, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7012, + "notecount": 611, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "657c3a5bde860bb21a040c05d67424d4acbf0486", + "difficulty": "NORMAL", + "songID": 237, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7012, + "notecount": 423, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1339b80491313ee833314ef0cd255cb2f87e79d6", + "difficulty": "ANOTHER", + "songID": 237, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7012, + "notecount": 790, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af9a71699015814ecbcbc1476ca84ce7f25d288a", + "difficulty": "HYPER", + "songID": 237, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7012, + "notecount": 611, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a00dd7662449fb5faa5394d8fa71c6bbb9c7bb3e", + "difficulty": "NORMAL", + "songID": 237, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7012, + "notecount": 425, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13fc444e2e660303c7768488ebe109677f9cdbcf", + "difficulty": "ANOTHER", + "songID": 238, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7013, + "notecount": 1150, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9198ed35b4b9ace10a289429de9e5bde771f528", + "difficulty": "HYPER", + "songID": 238, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7013, + "notecount": 778, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b07d501b86945d4e4ca61f885ee89556c2056d7", + "difficulty": "NORMAL", + "songID": 238, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7013, + "notecount": 648, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b3d26c8ce5bc86e98c92c924bf65800457e728b", + "difficulty": "ANOTHER", + "songID": 238, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7013, + "notecount": 845, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9008844708c4907be541a4175deded9b83f96035", + "difficulty": "HYPER", + "songID": 238, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7013, + "notecount": 740, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "219f6745cc78684b6078dcc5183ef94ae84013c5", + "difficulty": "NORMAL", + "songID": 238, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7013, + "notecount": 480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3813cc1db4b60e455649a9b7ebd6fc4768b5a651", + "difficulty": "ANOTHER", + "songID": 239, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 7014, + "notecount": 979, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c19423e1fd028e08269645cb9633e712be233456", + "difficulty": "HYPER", + "songID": 239, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7014, + "notecount": 630, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a3449f44cd9e84f08255ba1b942853ef24da7207", + "difficulty": "NORMAL", + "songID": 239, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7014, + "notecount": 361, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf73e055cb18d9d55cbdb7ffc6947f531992c67a", + "difficulty": "ANOTHER", + "songID": 239, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7014, + "notecount": 684, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a384877d27278ac666b7d697305addc28f2d2d5b", + "difficulty": "HYPER", + "songID": 239, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7014, + "notecount": 631, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b963957b6c4d05dfcc245f5e66d157c1482e0ce0", + "difficulty": "NORMAL", + "songID": 239, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7014, + "notecount": 357, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a397b3b6c40268483af5c39a98104250b4b167d", + "difficulty": "ANOTHER", + "songID": 240, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7015, + "notecount": 940, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5b9cd86076e39ccfd39a12e7cbcd92b4342c243d", + "difficulty": "HYPER", + "songID": 240, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7015, + "notecount": 767, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30313300f4cedbab82e394d122d6be8e57f431b4", + "difficulty": "NORMAL", + "songID": 240, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7015, + "notecount": 598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd6fa271950ecb49f8b3f5ee3eb43752268fc33c", + "difficulty": "ANOTHER", + "songID": 240, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7015, + "notecount": 606, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "062ef4409460b13392c11051dcef4deaccabbde4", + "difficulty": "HYPER", + "songID": 240, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7015, + "notecount": 527, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8bc214ef8461a2e96c27651221b945490901ffd4", + "difficulty": "NORMAL", + "songID": 240, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 7015, + "notecount": 416, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b20d117727fdc1910579ee7b11bf9bd8c8b87781", + "difficulty": "HYPER", + "songID": 241, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7016, + "notecount": 461, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e5f5a5ee630949a60ca17a9bf4c3b6ea2cf314a9", + "difficulty": "NORMAL", + "songID": 241, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7016, + "notecount": 395, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21f2e39084689394d4ec04d42a2664226d6a1f46", + "difficulty": "ANOTHER", + "songID": 241, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7016, + "notecount": 463, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9783089ffa5ea6e8c1dc0a8d89d540d91b2d5ca7", + "difficulty": "HYPER", + "songID": 241, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7016, + "notecount": 411, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa8ede50a0adbfb9b196fec515c47b0714c176cd", + "difficulty": "NORMAL", + "songID": 241, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 7016, + "notecount": 262, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d911edad4ea765854d013dad00ce056934105315", + "difficulty": "HYPER", + "songID": 242, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7017, + "notecount": 1013, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs", + "8-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a5c5f53547d20d80682f3407d13c97c0e2f02f97", + "difficulty": "NORMAL", + "songID": 242, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7017, + "notecount": 785, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs", + "8-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ebd3aa527b34e826018673c46fdd1810d11b7b4", + "difficulty": "HYPER", + "songID": 242, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7017, + "notecount": 820, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs", + "8-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b17cc5ab50bed967deb7a05d2dd49c4fbdaf9c81", + "difficulty": "NORMAL", + "songID": 242, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7017, + "notecount": 628, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs", + "8-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f75c0ac6c36841b8988f2645ad53605a275abf2e", + "difficulty": "ANOTHER", + "songID": 243, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7018, + "notecount": 1061, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ff61de7070f23e855c3ea33989acbd41c2150ac", + "difficulty": "HYPER", + "songID": 243, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7018, + "notecount": 899, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50257f41193001be7e38aa5da6fa07b2f0b67d6c", + "difficulty": "NORMAL", + "songID": 243, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7018, + "notecount": 610, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9e7b62210fae1aff51a485fd971968e846c5ccd", + "difficulty": "ANOTHER", + "songID": 243, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7018, + "notecount": 940, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c7db5aa7bb1a79d5fa2ff44a1c110c8da309968", + "difficulty": "HYPER", + "songID": 243, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7018, + "notecount": 872, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "695a8dd9ca382a97fba5f635a7a2a0baf8f38bab", + "difficulty": "NORMAL", + "songID": 243, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7018, + "notecount": 620, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1c50ee670c0b6539e2d8c7b3f3cb88ded626a5b", + "difficulty": "HYPER", + "songID": 244, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7019, + "notecount": 807, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d5a3bfaded71b6064b26d6c19d84176f90b4f967", + "difficulty": "NORMAL", + "songID": 244, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7019, + "notecount": 494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63b77859accc2102afbf034dd222343a57f16af2", + "difficulty": "ANOTHER", + "songID": 244, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7019, + "notecount": 807, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eb110d86b4e8d8de9d44e2c81cca68ef1b8c87ca", + "difficulty": "HYPER", + "songID": 244, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7019, + "notecount": 802, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bbcb642082c1f94e3957493bf433b0ec5aa910a0", + "difficulty": "NORMAL", + "songID": 244, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7019, + "notecount": 494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c26857fe0ddf9138b10774bede1d10e77d799c21", + "difficulty": "HYPER", + "songID": 245, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7020, + "notecount": 556, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c411844e9d937163fec256f55ce9d59111849193", + "difficulty": "NORMAL", + "songID": 245, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7020, + "notecount": 527, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52f16fdb5098a2d291c3bd2d4a20b481b918cd24", + "difficulty": "ANOTHER", + "songID": 245, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7020, + "notecount": 626, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b23dc4dee26a71428fc5a9f7042e8681cb16296d", + "difficulty": "HYPER", + "songID": 245, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7020, + "notecount": 556, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4da9586f0d6ad4e6555190f8061f179ffc6d0d9e", + "difficulty": "NORMAL", + "songID": 245, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7020, + "notecount": 454, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b3034d1c2eff746053aea1c8d2ba689b1b4955c", + "difficulty": "ANOTHER", + "songID": 246, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 7021, + "notecount": 1111, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "240c9f163c0cce267747367db54e26df7a3c4484", + "difficulty": "HYPER", + "songID": 246, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7021, + "notecount": 748, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0596bf927e3136c9282611dd56f35a493d2ff357", + "difficulty": "NORMAL", + "songID": 246, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7021, + "notecount": 675, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f53d975ff50e05547ce4ec0ec06225e3ede8a2bb", + "difficulty": "ANOTHER", + "songID": 246, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7021, + "notecount": 819, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d68ec8c1a9aa61487ec8e8eeb1cdc920006ed534", + "difficulty": "HYPER", + "songID": 246, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7021, + "notecount": 682, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87c3a529289b8a3b674ab71f0225f2c931303ea5", + "difficulty": "NORMAL", + "songID": 246, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7021, + "notecount": 513, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "feaa71fcc1e7cf9a52dfd55fcb13063743a73abf", + "difficulty": "HYPER", + "songID": 247, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7022, + "notecount": 559, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8dcfd2ec4507ec6c5350a0c7aaddcfc4dc8ae0fe", + "difficulty": "NORMAL", + "songID": 247, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7022, + "notecount": 485, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "06df65bad40c2972bbef5d1ef1f6c7929e62c74f", + "difficulty": "ANOTHER", + "songID": 247, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7022, + "notecount": 624, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c4a9faf953baeb11b2ec53facf324d70981956ba", + "difficulty": "HYPER", + "songID": 247, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7022, + "notecount": 537, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab9d5d150108475087ea2ebaf6c59b0ac05d0da6", + "difficulty": "NORMAL", + "songID": 247, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7022, + "notecount": 431, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7789e68c10874c4ed817c951eb356c6393bc2c45", + "difficulty": "HYPER", + "songID": 248, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7023, + "notecount": 735, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30a958efc8d53509081fca5376ed802b68673670", + "difficulty": "NORMAL", + "songID": 248, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7023, + "notecount": 576, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b0944e8fe069bce5212840fb475423ce68d7ffb", + "difficulty": "ANOTHER", + "songID": 248, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7023, + "notecount": 881, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "39971c7285d140836e2c1ab8297c4087ad7d7153", + "difficulty": "HYPER", + "songID": 248, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7023, + "notecount": 743, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c3908fe007af3f491429411fa7e71fd073967bdc", + "difficulty": "NORMAL", + "songID": 248, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7023, + "notecount": 500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3b20cdcb0c0fd8687d1f784f876d67888d783863", + "difficulty": "HYPER", + "songID": 249, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7024, + "notecount": 899, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da71915a7cb7ab622cdba3b2cdf362694fc63c49", + "difficulty": "NORMAL", + "songID": 249, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7024, + "notecount": 577, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79db5342322867792a6d8d1e2a7791bd5b92fcca", + "difficulty": "ANOTHER", + "songID": 249, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7024, + "notecount": 1058, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34926f409ba480ce62902f49f775afc046294b59", + "difficulty": "HYPER", + "songID": 249, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7024, + "notecount": 857, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d19a1b85d575e5bfe1792ce0b08d8d6406117b0", + "difficulty": "NORMAL", + "songID": 249, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7024, + "notecount": 571, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72d767f67b0468997aefc0c5a0541467e26b9407", + "difficulty": "ANOTHER", + "songID": 250, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7025, + "notecount": 921, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21a46900a5a159440c21927a23d540e169a99bb9", + "difficulty": "HYPER", + "songID": 250, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7025, + "notecount": 704, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c6d919e311208f5a6ad9d719f950d3dc4c09a47d", + "difficulty": "NORMAL", + "songID": 250, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7025, + "notecount": 580, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13f4f46356246cb79aa221105589c5ba9c11537c", + "difficulty": "ANOTHER", + "songID": 250, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7025, + "notecount": 638, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f533db9f9753be5eab5bfe4dd1f92edc0cb720ad", + "difficulty": "HYPER", + "songID": 250, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7025, + "notecount": 504, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7e9052526173269853803df9341cf9aa1ae641c8", + "difficulty": "NORMAL", + "songID": 250, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7025, + "notecount": 436, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da507505d112e6568b714a788a161baeddca58c5", + "difficulty": "HYPER", + "songID": 251, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7026, + "notecount": 982, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d3688ce256963c3ef6687ff67bcc45c0df5dffaa", + "difficulty": "NORMAL", + "songID": 251, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7026, + "notecount": 566, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b1dd813f49a7203a2153b230c1422398860cd19", + "difficulty": "HYPER", + "songID": 251, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7026, + "notecount": 982, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a319a16507bcf0901c175bb8c5859fe8bd7ad3b4", + "difficulty": "NORMAL", + "songID": 251, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7026, + "notecount": 571, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27622990065408d2aa3524fcf40590b18591783f", + "difficulty": "ANOTHER", + "songID": 252, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7027, + "notecount": 792, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e60f9d4278b4410b583f155b94873b604ba18375", + "difficulty": "HYPER", + "songID": 252, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7027, + "notecount": 657, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "506af424da4920f5b1f71c340b584cc40bb79422", + "difficulty": "NORMAL", + "songID": 252, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7027, + "notecount": 453, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9696537cf6501b26c8bd704cf340762eb975057d", + "difficulty": "ANOTHER", + "songID": 252, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7027, + "notecount": 678, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "885dc0dd4fa81063c9d9296cc97a67a8ad17f68a", + "difficulty": "HYPER", + "songID": 252, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7027, + "notecount": 388, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cbc3ab9d759cf04bb2f91bf8f19847e537b5bce3", + "difficulty": "NORMAL", + "songID": 252, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 7027, + "notecount": 338, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb16d75d1957443e288da0a858211608999a1452", + "difficulty": "HYPER", + "songID": 253, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7028, + "notecount": 784, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de69c9beec1b58aa04a409b6c3f59ea2246be568", + "difficulty": "NORMAL", + "songID": 253, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7028, + "notecount": 458, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9ca3d286a330bb4ce29e89334c465c243af29c2", + "difficulty": "BEGINNER", + "songID": 253, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 7028, + "notecount": 195, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad7e138587fe82cb1178c8f287780035ebd71513", + "difficulty": "HYPER", + "songID": 253, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7028, + "notecount": 793, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae1c21c4755d4850ab3594a8ac6b447f519ab120", + "difficulty": "NORMAL", + "songID": 253, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7028, + "notecount": 460, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79350408ead482570f78cf00285737ad7888e373", + "difficulty": "HYPER", + "songID": 254, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7029, + "notecount": 580, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "95d1407f35bce9fd1382c014bf0ee9fbbb63d65f", + "difficulty": "NORMAL", + "songID": 254, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7029, + "notecount": 422, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3fd35826e897970eafda76cde08c4c6e6bab8126", + "difficulty": "ANOTHER", + "songID": 254, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7029, + "notecount": 750, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "829f37ed5c41b9e123cd45eb82ef59233de5d991", + "difficulty": "HYPER", + "songID": 254, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7029, + "notecount": 572, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "840c05fa36649f6193e6c6310f0ebd417cfac363", + "difficulty": "NORMAL", + "songID": 254, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 7029, + "notecount": 396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94553dfcaf49ac47b7bcbf096be78b8e90a5f46e", + "difficulty": "ANOTHER", + "songID": 255, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7030, + "notecount": 853, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c5840ce00bf4443d30d40235bca0f161665c90c", + "difficulty": "HYPER", + "songID": 255, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7030, + "notecount": 767, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "112deb3fc418ec2e740bbc3b02f580ad46007d23", + "difficulty": "NORMAL", + "songID": 255, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7030, + "notecount": 616, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3b811820f04122301a755b8a2f7329281208a918", + "difficulty": "ANOTHER", + "songID": 255, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7030, + "notecount": 865, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "69da689d95f72eb00f6c8d8d6f950db7b73c03ea", + "difficulty": "HYPER", + "songID": 255, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7030, + "notecount": 780, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "75231517e8e590412b81b4b00c1c46d95c21c7ff", + "difficulty": "NORMAL", + "songID": 255, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7030, + "notecount": 605, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e8c9d6ca6555e9bf2505dad8bdb01f73b280ef9f", + "difficulty": "ANOTHER", + "songID": 256, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7031, + "notecount": 741, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c40c63c1aa021fe189d7a4a153af8f55c5048ea1", + "difficulty": "HYPER", + "songID": 256, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7031, + "notecount": 609, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f8199fccb2949c562f9805e9fd195d8e74535df", + "difficulty": "NORMAL", + "songID": 256, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7031, + "notecount": 560, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f70e7d5b6e903dcbb78a91352ca12dcd6b0342ce", + "difficulty": "ANOTHER", + "songID": 256, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7031, + "notecount": 761, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9884b4fa317281018ef32917892bfad314ed7233", + "difficulty": "HYPER", + "songID": 256, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7031, + "notecount": 678, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49d06b8641444626b430a807c20b0ae3faed26cb", + "difficulty": "NORMAL", + "songID": 256, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7031, + "notecount": 453, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22d20b3e98fff74d7c5bf7861775db5bf9ddba1f", + "difficulty": "ANOTHER", + "songID": 257, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 7032, + "notecount": 1203, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "9-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "01a743ba2651510c30ab96fd9fb4aabe8694eb54", + "difficulty": "HYPER", + "songID": 257, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7032, + "notecount": 782, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "9-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bdb1de3f835444cf54b2c3769ae88c85e2a2c1ae", + "difficulty": "NORMAL", + "songID": 257, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 7032, + "notecount": 327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "9-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e55efc0180cfdcc238fe0ab48a3912a229afdd8d", + "difficulty": "ANOTHER", + "songID": 257, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 7032, + "notecount": 1167, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "9-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": true + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6a3205b4dedbffbfabba5037c4ca62bfb9913b47", + "difficulty": "HYPER", + "songID": 257, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7032, + "notecount": 772, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "9-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3626a104315183a716f952ad066234b912ccac7d", + "difficulty": "NORMAL", + "songID": 257, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7032, + "notecount": 328, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "9-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98c76a88fe241a6984ca09c58c2b688f0501c39a", + "difficulty": "HYPER", + "songID": 258, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7033, + "notecount": 909, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9cfd64f0c4473c5377a7fdbb3f2df9681f76d776", + "difficulty": "NORMAL", + "songID": 258, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7033, + "notecount": 753, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "20368db90b8d1b8605814491ecdd4fc8e1795954", + "difficulty": "ANOTHER", + "songID": 258, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7033, + "notecount": 833, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5436bb4516fb2dbb3f11de0812f77638b8965d23", + "difficulty": "HYPER", + "songID": 258, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7033, + "notecount": 709, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3349f859be9f120e6317687f01575e33f1ca123c", + "difficulty": "NORMAL", + "songID": 258, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7033, + "notecount": 561, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c31c42db692eaf582500f1595220f5c2ec135cd9", + "difficulty": "ANOTHER", + "songID": 259, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 7034, + "notecount": 1497, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "13-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "39da51aa7fb744a89cc8524d8297699f37c677ea", + "difficulty": "HYPER", + "songID": 259, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7034, + "notecount": 1126, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "13-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5eb1eb36470685d7eaf87a92669a85ef33afdc24", + "difficulty": "NORMAL", + "songID": 259, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7034, + "notecount": 874, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "13-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c1086871196618a7421d043fc2298a112eba609", + "difficulty": "ANOTHER", + "songID": 259, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 7034, + "notecount": 1302, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "13-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0930ea447d4974ad0022f392ffd4f1da82b3f8d7", + "difficulty": "HYPER", + "songID": 259, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7034, + "notecount": 1250, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "13-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d5748f8132e5fcc96457402c82be7d5644c4ef29", + "difficulty": "NORMAL", + "songID": 259, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7034, + "notecount": 874, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "13-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f50a869ba369d1e01ffb7ec7503aa66f36fbe8e4", + "difficulty": "HYPER", + "songID": 260, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7035, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "357ea407f30724046e6e0aa3a7e1d84d4c811b09", + "difficulty": "NORMAL", + "songID": 260, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7035, + "notecount": 442, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e8b08f42ce27d2109b4fda2a0d1d8e1a0f21800", + "difficulty": "ANOTHER", + "songID": 260, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7035, + "notecount": 818, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "794ae8f3b8b1b62d0ff9f32c890bd5ccb887d0a0", + "difficulty": "BEGINNER", + "songID": 260, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 7035, + "notecount": 323, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8ab1e28d30a24f6e786e6ffb971cc5b99a00058e", + "difficulty": "HYPER", + "songID": 260, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7035, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e2738467a2ad034082cfaed6486b1a95b6743f35", + "difficulty": "NORMAL", + "songID": 260, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7035, + "notecount": 442, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "234554a0bec85af73c65b53cf366475224082b09", + "difficulty": "ANOTHER", + "songID": 261, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 7036, + "notecount": 1311, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ffd899a9c5c32cbf7771f537b2eb31b715d7510", + "difficulty": "HYPER", + "songID": 261, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7036, + "notecount": 1212, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb6bd08058f4f9fa61c0a70b55947d8115c8c80b", + "difficulty": "NORMAL", + "songID": 261, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7036, + "notecount": 729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b2a9a54d219b753d70e09a15b95a283c4b9808b", + "difficulty": "ANOTHER", + "songID": 261, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7036, + "notecount": 1085, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "42ac3db5c03febb256c53dcb6b6d57ad1de4e217", + "difficulty": "HYPER", + "songID": 261, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7036, + "notecount": 1000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3803fbec5e5e1f9d780c4327c8a02129d7bf5196", + "difficulty": "NORMAL", + "songID": 261, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7036, + "notecount": 685, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4273060b9eb62608a9f47bd615cfa31432bb60e1", + "difficulty": "ANOTHER", + "songID": 262, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7037, + "notecount": 1071, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5caebf482dd4f18b7811d74d8cdf5f764d6bcd7b", + "difficulty": "HYPER", + "songID": 262, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7037, + "notecount": 901, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae8e00adf5d932f6d81bbaa42d259c6929fc681b", + "difficulty": "NORMAL", + "songID": 262, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7037, + "notecount": 762, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e5cbd6c0ea8bf2e4cc03cc33263f05817d99b503", + "difficulty": "ANOTHER", + "songID": 262, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7037, + "notecount": 1083, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9fc422ad9946d44a25c3ba1bdf0bc76b310b4dd", + "difficulty": "HYPER", + "songID": 262, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7037, + "notecount": 982, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "abef9caff96b6ad569fa5b4399219514f86ff69b", + "difficulty": "NORMAL", + "songID": 262, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7037, + "notecount": 778, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1547b1739124684732150c599662e91ad98da48", + "difficulty": "ANOTHER", + "songID": 263, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7038, + "notecount": 1169, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52b49d4b5e934956c7af02bf202277e6ffb3c88d", + "difficulty": "HYPER", + "songID": 263, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7038, + "notecount": 874, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a5a6382d2cfeaf83ccc8bdd67721017bb09ffe80", + "difficulty": "NORMAL", + "songID": 263, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7038, + "notecount": 556, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0cdebcc8faaaa7b5030bf9f842871d88eca7157d", + "difficulty": "ANOTHER", + "songID": 263, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7038, + "notecount": 1132, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa326080e109423ce6e2f11f949032be1d8ef2da", + "difficulty": "HYPER", + "songID": 263, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 7038, + "notecount": 874, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f19bb90b21f2a9e64561c4f89b28a3d5c8bf564c", + "difficulty": "LEGGENDARIA", + "songID": 263, + "playtype": "SP", + "levelNum": 0, + "level": "11", + "data": { + "inGameID": 7038, + "notecount": 1448, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "912541406332544a7e7ca9a37a3baa008484a122", + "difficulty": "NORMAL", + "songID": 263, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7038, + "notecount": 556, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4d237f08b6730be298cf8d3609a60c03c4124565", + "difficulty": "ANOTHER", + "songID": 264, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 7039, + "notecount": 1401, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c12c59dd40bc3246228b86772ab5ca904dc3be45", + "difficulty": "HYPER", + "songID": 264, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 7039, + "notecount": 1209, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ca785202f5989227ffb7289c1a1ecb9b923a187", + "difficulty": "NORMAL", + "songID": 264, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7039, + "notecount": 702, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd4c2d6baf09d3973fa87fda8fa850774226bafc", + "difficulty": "ANOTHER", + "songID": 264, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7039, + "notecount": 1183, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0bb564c3b6d16965525ba7f6c9e0306a2e3ae967", + "difficulty": "HYPER", + "songID": 264, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7039, + "notecount": 1004, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d5865283b6b4996584526daca4c58dc4bee47040", + "difficulty": "NORMAL", + "songID": 264, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7039, + "notecount": 392, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3539454737c4c0ff33ffb933816f853ff344e8cc", + "difficulty": "HYPER", + "songID": 265, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7201, + "notecount": 564, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "57280874ce682de193b0dab16481fdb01c1cad16", + "difficulty": "NORMAL", + "songID": 265, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7201, + "notecount": 409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b672044ac92025b5a4f9e78d5211ae6a8afd11ce", + "difficulty": "ANOTHER", + "songID": 265, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7201, + "notecount": 594, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c22c1a520f7dd87be4d1ba1c1ec59a4d572951ff", + "difficulty": "BEGINNER", + "songID": 265, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 7201, + "notecount": 274, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d122771aa91b5334462a90111a2d9515cf38d313", + "difficulty": "HYPER", + "songID": 265, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7201, + "notecount": 557, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "99c8ba92c2c8117ba58ad960efbfdf83b581fec8", + "difficulty": "NORMAL", + "songID": 265, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 7201, + "notecount": 370, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs", + "5-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9271dbf2fca1f212329920674b74750cdfdc810e", + "difficulty": "HYPER", + "songID": 266, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7202, + "notecount": 713, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "617e7cc4f9aee0d1d6f3c299390ca3dcb81f4363", + "difficulty": "NORMAL", + "songID": 266, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 7202, + "notecount": 570, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55471eca15caaa14b6dd9f4eaa7bcede2b6f8e7b", + "difficulty": "BEGINNER", + "songID": 266, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 7202, + "notecount": 396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "185e19ee92c4c42315ed8f2bd9996dea1de983f0", + "difficulty": "HYPER", + "songID": 266, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7202, + "notecount": 714, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "221abbedb176c9155d0d1b60487769df8a22492a", + "difficulty": "NORMAL", + "songID": 266, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 7202, + "notecount": 527, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bea9b00d1453b6a6c600c5cb2e12640d842d6dda", + "difficulty": "HYPER", + "songID": 267, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 7203, + "notecount": 668, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "00f0ade4b9ea3280592e19e50a94607844bfa286", + "difficulty": "NORMAL", + "songID": 267, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7203, + "notecount": 475, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32556d29da9dd3023d826e41426f97354d73bbee", + "difficulty": "ANOTHER", + "songID": 267, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 7203, + "notecount": 963, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f8deae94e16a9b075a8a5290a14df5bb1d349cc", + "difficulty": "BEGINNER", + "songID": 267, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 7203, + "notecount": 359, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "826a0acc5c125f3be286435c8cb2c4e6cff8a569", + "difficulty": "HYPER", + "songID": 267, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 7203, + "notecount": 708, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d3dd6552a19fef45bf3f40bf30a196cbccf2d1c9", + "difficulty": "NORMAL", + "songID": 267, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 7203, + "notecount": 477, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "7-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d7371e10be6120a8a7e8d1ce3b07caa220e69086", + "difficulty": "HYPER", + "songID": 268, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8000, + "notecount": 950, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd9286400debcd2ee2361cfdac292482bdf90124", + "difficulty": "NORMAL", + "songID": 268, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8000, + "notecount": 662, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c49b4f517b7be47262c8307d1f326a0390ab0a8d", + "difficulty": "ANOTHER", + "songID": 268, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8000, + "notecount": 960, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b85984aee670aafc86b80ac04bb9cf2a864169f", + "difficulty": "HYPER", + "songID": 268, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8000, + "notecount": 831, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13fdb98b47bf5b364c5d22e85a26d4f7f167e82f", + "difficulty": "NORMAL", + "songID": 268, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8000, + "notecount": 659, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1210ca21bee864d7316d2dce5737f2541a7db9f", + "difficulty": "ANOTHER", + "songID": 269, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8001, + "notecount": 721, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78896a286b75fc06d358c45732a3b048da51ff26", + "difficulty": "HYPER", + "songID": 269, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8001, + "notecount": 402, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "48d72ad3b6c0607ad0e7dc61be9b9615419ed7da", + "difficulty": "NORMAL", + "songID": 269, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 8001, + "notecount": 293, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2add2daf22a3ee882db472dfc6738cf161ab1a02", + "difficulty": "ANOTHER", + "songID": 269, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8001, + "notecount": 721, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c40dd4643ad7d33dc13fa3765c54f46743a5c65d", + "difficulty": "HYPER", + "songID": 269, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8001, + "notecount": 402, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6db6c3a05eb2ae546bc59a7e135bee9445d36418", + "difficulty": "NORMAL", + "songID": 269, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 8001, + "notecount": 295, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3fd3a2b473c73586b90b2694c587144e30506873", + "difficulty": "ANOTHER", + "songID": 270, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8002, + "notecount": 790, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c48d22dc88cca279b35bee165eb2d0073dcce75", + "difficulty": "HYPER", + "songID": 270, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8002, + "notecount": 616, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a67757e6aed3f035703c0d266f01dfdadf6266e2", + "difficulty": "NORMAL", + "songID": 270, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8002, + "notecount": 528, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "07c7dfe40e19c132e118e57393da408a1bcdc74c", + "difficulty": "ANOTHER", + "songID": 270, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8002, + "notecount": 722, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8db7d122cd7422f84aacb80fb6318e4cebc5cae2", + "difficulty": "HYPER", + "songID": 270, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8002, + "notecount": 582, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9085ef38fadf6dac433a087b8f2ebe7c650b1c0c", + "difficulty": "NORMAL", + "songID": 270, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8002, + "notecount": 473, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ff0547d8fc2ec7c26c72657cfb868f2a1d4d762", + "difficulty": "ANOTHER", + "songID": 271, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8003, + "notecount": 860, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "793face2a99b1efce7aaf446b50610f3faff7cea", + "difficulty": "HYPER", + "songID": 271, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8003, + "notecount": 720, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a32c15b6ea29df23d5569fff434d8ce8f0d38a25", + "difficulty": "NORMAL", + "songID": 271, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8003, + "notecount": 501, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "96d593edefdf461ff9c50250aabef80c428d3d0c", + "difficulty": "ANOTHER", + "songID": 271, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8003, + "notecount": 815, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a246cb2a710e10f63121fdc68a45155ab9c00cb", + "difficulty": "HYPER", + "songID": 271, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8003, + "notecount": 658, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c7b4b3acf817d0175f866d789ec75b5862cd48b", + "difficulty": "NORMAL", + "songID": 271, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8003, + "notecount": 446, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "37f7bf0c623f43f0ead813f49850fa9c06867bab", + "difficulty": "ANOTHER", + "songID": 272, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8004, + "notecount": 881, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "8-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c32524fc5a486bdae7e5b68335581c4f3a2be7d", + "difficulty": "HYPER", + "songID": 272, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8004, + "notecount": 707, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "8-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0fcbaa74f0c3a871a1f384a5e28e43c3c2711f8d", + "difficulty": "NORMAL", + "songID": 272, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8004, + "notecount": 578, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "8-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c40642f62ee677a5b3064b1a43febaba60207a9", + "difficulty": "ANOTHER", + "songID": 272, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8004, + "notecount": 881, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "8-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f806ee5ab116e6d92f0b4c4131c12079373df8c", + "difficulty": "HYPER", + "songID": 272, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8004, + "notecount": 721, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "8-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e00f48bd7ee73f9672b1dbd3fe79d18e2948852", + "difficulty": "NORMAL", + "songID": 272, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8004, + "notecount": 527, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "8-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc3a7e887b4451ba26a81bac04edd326832a890f", + "difficulty": "HYPER", + "songID": 273, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8005, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "359ddc66754661c812b1f9ff1f6d35688ed42711", + "difficulty": "NORMAL", + "songID": 273, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8005, + "notecount": 536, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b26e39c077b5aee22a679f3d99979e851ce29e8", + "difficulty": "ANOTHER", + "songID": 273, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8005, + "notecount": 934, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10573144143fbb21231eca27477ab888f4dd05ff", + "difficulty": "HYPER", + "songID": 273, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8005, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "59291d97635a802aaf888537c66e701f699ca27b", + "difficulty": "NORMAL", + "songID": 273, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8005, + "notecount": 458, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33affe1f750dbc95540cfbaebb1d08e119499fef", + "difficulty": "ANOTHER", + "songID": 274, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8006, + "notecount": 1105, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c7bf414039a871e21bf5031c3cd07111184b4a41", + "difficulty": "HYPER", + "songID": 274, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8006, + "notecount": 745, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d599cc0e124bd8e649621065d8e98de0b4c3f4e4", + "difficulty": "NORMAL", + "songID": 274, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8006, + "notecount": 614, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d7cf785011bce84f6ae870fd550cc8f5ce0d658c", + "difficulty": "ANOTHER", + "songID": 274, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 8006, + "notecount": 980, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "8-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "fcf3751a7f90630040358e545601266dd5870040", + "difficulty": "HYPER", + "songID": 274, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8006, + "notecount": 796, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6e3337ca523be4d0e71e02f9e0615140bc36ddc1", + "difficulty": "NORMAL", + "songID": 274, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8006, + "notecount": 611, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "deec9307a615c6849995c9cf2249b8af09edd124", + "difficulty": "HYPER", + "songID": 275, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8007, + "notecount": 695, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29c211abcadf24eedfb5ca10f80c22cd1443114d", + "difficulty": "NORMAL", + "songID": 275, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8007, + "notecount": 602, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7dde67a9c83b71a6e48becedb6e70fd0b25bf5ab", + "difficulty": "ANOTHER", + "songID": 275, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8007, + "notecount": 824, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3cb246b66aa31d29bfb07846c532bfdd86fd69c2", + "difficulty": "HYPER", + "songID": 275, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8007, + "notecount": 572, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cacf9015c3065e801cbca37ddd5c939bf987ed55", + "difficulty": "NORMAL", + "songID": 275, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8007, + "notecount": 422, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "651d5d6294d7ac113e5e0918e991963f268f900c", + "difficulty": "ANOTHER", + "songID": 276, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8008, + "notecount": 731, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29f10a741f63a83f9e67137e764bbc34c68c19f7", + "difficulty": "HYPER", + "songID": 276, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8008, + "notecount": 632, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9775736f237e26b9f2fecbca315e22f91bb10d3", + "difficulty": "NORMAL", + "songID": 276, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8008, + "notecount": 471, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ba4023272b9c9575ecfa79fc33d71d5769727cc", + "difficulty": "ANOTHER", + "songID": 276, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8008, + "notecount": 714, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bc745b34a24fb04216f0e899300ba94450bb73af", + "difficulty": "HYPER", + "songID": 276, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8008, + "notecount": 591, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b7b0cb93b1748f7d8902f4c689f668acbf5fde29", + "difficulty": "NORMAL", + "songID": 276, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8008, + "notecount": 471, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "efeb967fcd47145920dfc11c0275c8e9d1a707d4", + "difficulty": "ANOTHER", + "songID": 277, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8009, + "notecount": 1100, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa8dfdb53b54c7d9eb07293ec808cfb57774d424", + "difficulty": "HYPER", + "songID": 277, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8009, + "notecount": 1068, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4932a1c6d6a39bb5667bc9864a7fc09969d85339", + "difficulty": "NORMAL", + "songID": 277, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8009, + "notecount": 663, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8ff6d24061a7076350a9b81d9ce4261ef106ba6", + "difficulty": "ANOTHER", + "songID": 277, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8009, + "notecount": 1100, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb67571bcb76cde3900f06da0169a902d0b57b49", + "difficulty": "HYPER", + "songID": 277, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8009, + "notecount": 1029, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "949cde0924768577f37b1374921ea1083429912b", + "difficulty": "NORMAL", + "songID": 277, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8009, + "notecount": 585, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0dca96cbec547de18c4ce46c49bf2cbf347c29f", + "difficulty": "ANOTHER", + "songID": 278, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8010, + "notecount": 845, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "58139c9e8b1b64599fa54a34a1b965db02329e28", + "difficulty": "HYPER", + "songID": 278, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8010, + "notecount": 634, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c67a67a78810f02fa224519beff823a17066a5e2", + "difficulty": "NORMAL", + "songID": 278, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8010, + "notecount": 547, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "937df375bf35fd4a7a4701054545b98f7c6f9fb3", + "difficulty": "ANOTHER", + "songID": 278, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8010, + "notecount": 712, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0878fe1cccee88e22c86f36c080e2312e17e5109", + "difficulty": "HYPER", + "songID": 278, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8010, + "notecount": 522, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32892750c2acec3c1914cee7d01934abcfed7aa4", + "difficulty": "NORMAL", + "songID": 278, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8010, + "notecount": 444, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ccc41bb867f101d4a658ebc38aabc781ce318f01", + "difficulty": "HYPER", + "songID": 279, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8011, + "notecount": 761, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "327c01f4e9164e2e11875f825f92fd9253f8b178", + "difficulty": "NORMAL", + "songID": 279, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8011, + "notecount": 574, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3394c27f59c1d2b81b4d2a5237eac74044783ce2", + "difficulty": "ANOTHER", + "songID": 279, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8011, + "notecount": 784, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "582a9a8d41c26dc22dbd8b412847b0efd802676e", + "difficulty": "HYPER", + "songID": 279, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8011, + "notecount": 658, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68bb01ab6299a770d32c556ff5c5c9a8e6bea3ef", + "difficulty": "NORMAL", + "songID": 279, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8011, + "notecount": 491, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d3fdcfb342934cdb45760587c959ab178082a8f", + "difficulty": "ANOTHER", + "songID": 280, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8012, + "notecount": 799, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cefccd3a9b1475a83a14049700de276f8321867b", + "difficulty": "HYPER", + "songID": 280, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8012, + "notecount": 650, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1424943ee9bff3048c79de1a5efd01b2547cb94e", + "difficulty": "NORMAL", + "songID": 280, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8012, + "notecount": 482, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e63df13143479405037bac2cf9ddabfe05ed203c", + "difficulty": "ANOTHER", + "songID": 280, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8012, + "notecount": 897, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b4f12fd1c5c834761930c089bde6e8f6097bf89", + "difficulty": "HYPER", + "songID": 280, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8012, + "notecount": 663, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "afbb3de38cffd30e291fb15c9830669f8d23aee5", + "difficulty": "NORMAL", + "songID": 280, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8012, + "notecount": 465, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e466dd4170fb3df8a1011cbdb55d8efa97d47273", + "difficulty": "ANOTHER", + "songID": 281, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8013, + "notecount": 854, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "325d1ad0fca9e33b8bf06a900a35385d66cca43b", + "difficulty": "HYPER", + "songID": 281, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8013, + "notecount": 756, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "784e0efca7d1c9d25df658b7393c8877543a5841", + "difficulty": "NORMAL", + "songID": 281, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8013, + "notecount": 403, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1dfa96d8a5f63e032372f079620998861d13f298", + "difficulty": "ANOTHER", + "songID": 281, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8013, + "notecount": 961, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf1f273149f017dd85346e191d89e859b1866187", + "difficulty": "HYPER", + "songID": 281, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8013, + "notecount": 763, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9638707693324d82c11a87bfd2000dbb5a86215", + "difficulty": "NORMAL", + "songID": 281, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8013, + "notecount": 403, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f7e6f66c03721f5972d2fb840da46d951e758b9", + "difficulty": "ANOTHER", + "songID": 282, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8014, + "notecount": 553, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ed171ce1228d10e6922d6503c924071881b4d09", + "difficulty": "HYPER", + "songID": 282, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8014, + "notecount": 472, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72e40a76b1ad353d0dc173ead74d401cad28ecc7", + "difficulty": "NORMAL", + "songID": 282, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8014, + "notecount": 376, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "01a1bb183b2f62fb5424ea36b0be35650046288e", + "difficulty": "ANOTHER", + "songID": 282, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8014, + "notecount": 553, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c015032217643cfd68dc2504f220507b7a16ef4", + "difficulty": "HYPER", + "songID": 282, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8014, + "notecount": 465, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b48f75c4da70dcb0839d94dd746a96b351376340", + "difficulty": "NORMAL", + "songID": 282, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8014, + "notecount": 299, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0684648c16211b2fcc0dba2a4d41f057892a9d8e", + "difficulty": "ANOTHER", + "songID": 283, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8015, + "notecount": 816, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4544294bed4f3ca031b11f87a82ffbdf7e30bed", + "difficulty": "HYPER", + "songID": 283, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8015, + "notecount": 781, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "525592eddb2f6c1722c8d655d864e6ee2e664dba", + "difficulty": "NORMAL", + "songID": 283, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 8015, + "notecount": 232, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c1ef87dc4e342cbb49d18729dfa4cecb189ce83", + "difficulty": "ANOTHER", + "songID": 283, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8015, + "notecount": 817, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5716dddd0316b932fd8b3a9c530cd624c1c50bdf", + "difficulty": "BEGINNER", + "songID": 283, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 8015, + "notecount": 80, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9de515c6194474736fad546fb6f471342a4e5752", + "difficulty": "HYPER", + "songID": 283, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8015, + "notecount": 672, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ac89f00ae0505601e35e226fb36e6d43b34027c7", + "difficulty": "NORMAL", + "songID": 283, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 8015, + "notecount": 232, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c30c5c8d079494a48d1f4587e74952fb3707919c", + "difficulty": "ANOTHER", + "songID": 284, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8016, + "notecount": 856, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e97207b25fe21d936304a3164acc675586df6aea", + "difficulty": "HYPER", + "songID": 284, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8016, + "notecount": 767, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85c53c6e0d26f9bab733736655dfdefbe12876fd", + "difficulty": "NORMAL", + "songID": 284, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8016, + "notecount": 594, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a95ac261aa31fda4c2fdac1b3ce96c514576cf99", + "difficulty": "ANOTHER", + "songID": 284, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8016, + "notecount": 855, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7cbdbdf46cb607c24fb5eff7875d25cc71f92ae4", + "difficulty": "HYPER", + "songID": 284, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8016, + "notecount": 748, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7dc174d854f9f993dd0b2f3f12a7e4c82c55d9be", + "difficulty": "NORMAL", + "songID": 284, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8016, + "notecount": 457, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0615fd2100c9a51dcea4e09043b0201870117b44", + "difficulty": "ANOTHER", + "songID": 285, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 8017, + "notecount": 1392, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3b15af704e32e7e9f8bf0e6faf34c5b5d97bba4", + "difficulty": "HYPER", + "songID": 285, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8017, + "notecount": 1129, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "834aaeff73246e75d1cda45ba233230692f8f21c", + "difficulty": "NORMAL", + "songID": 285, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8017, + "notecount": 600, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d069eaf67fc405d2d3a689b4d9876dcdbedff370", + "difficulty": "ANOTHER", + "songID": 285, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 8017, + "notecount": 1381, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "597316024b04e895f6b7e170472ef6e0df94fdda", + "difficulty": "HYPER", + "songID": 285, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8017, + "notecount": 1016, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "91470d184f859d9f9d42d14c26b538fde7f2013e", + "difficulty": "NORMAL", + "songID": 285, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8017, + "notecount": 470, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "962e8a892fe3aea2e0d14ddb30f98c0ee6bfabe0", + "difficulty": "ANOTHER", + "songID": 286, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8018, + "notecount": 1157, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bef212a98289508924285edd15cce62bf5f0a331", + "difficulty": "HYPER", + "songID": 286, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8018, + "notecount": 779, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26ae9781624a3091818b79524269ac92717129e5", + "difficulty": "NORMAL", + "songID": 286, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8018, + "notecount": 638, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5bc4b077c90742798fa79fa99e3f8b210620dcb7", + "difficulty": "ANOTHER", + "songID": 286, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 8018, + "notecount": 940, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "8-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b233c14176d859b7b388b7daa070ae94efc09a89", + "difficulty": "HYPER", + "songID": 286, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8018, + "notecount": 781, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6650e94b8a0ed3211b3d4e784103322b9cb576ea", + "difficulty": "NORMAL", + "songID": 286, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8018, + "notecount": 481, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7bdca30f9d3fa3d66f5f1df30d69cedf0e94fc34", + "difficulty": "ANOTHER", + "songID": 287, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8019, + "notecount": 1055, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "39d5cc3523e5952e4355890b85ff4db6b040b6e9", + "difficulty": "HYPER", + "songID": 287, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8019, + "notecount": 959, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b95ff9e0b12a393835c7de89b068d0feba8f3373", + "difficulty": "NORMAL", + "songID": 287, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8019, + "notecount": 736, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "960cffe35d074b7082a4919aab946e6922a1dd4c", + "difficulty": "ANOTHER", + "songID": 287, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8019, + "notecount": 913, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a7e0b557ed3f34680b2f61bb44c0b63db0e99cb", + "difficulty": "HYPER", + "songID": 287, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8019, + "notecount": 764, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cae95e35bd8737f592ca3f3f6eac9fc6650c581a", + "difficulty": "NORMAL", + "songID": 287, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8019, + "notecount": 613, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e22b30169a3c001790fcb9b8b64bbca0f7876fd5", + "difficulty": "ANOTHER", + "songID": 288, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8020, + "notecount": 1115, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "997ac3475809ae64e59ceeee2df6d0551d596c34", + "difficulty": "HYPER", + "songID": 288, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8020, + "notecount": 955, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb3e50ba5e2b6ad4dd865b77405e9575480f4b66", + "difficulty": "NORMAL", + "songID": 288, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8020, + "notecount": 636, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "261e364dfba4f9ff707313188c444ab1b8d551d9", + "difficulty": "ANOTHER", + "songID": 288, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8020, + "notecount": 1115, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83fdccdc7e0293331836f1ef436259cc3a35cfd4", + "difficulty": "HYPER", + "songID": 288, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8020, + "notecount": 976, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e64d591807627a3bc5b2ba8c4c5a31f3b9465027", + "difficulty": "NORMAL", + "songID": 288, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8020, + "notecount": 646, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c9e9efa7b325a4232e45d309dc553b91e6c4d3f0", + "difficulty": "ANOTHER", + "songID": 289, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8021, + "notecount": 1027, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c5f12ead6f3e55540eaa83ac009821c7a2cfa1a", + "difficulty": "HYPER", + "songID": 289, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8021, + "notecount": 805, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21c646b4c5dc3632f611b8c3dd8c06a0e81e73c0", + "difficulty": "NORMAL", + "songID": 289, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8021, + "notecount": 624, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c6978ca1c07137035cbbb1728b52eab05ee68c25", + "difficulty": "ANOTHER", + "songID": 289, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8021, + "notecount": 911, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87779c0ba69558d8ba84174c7fda7c568405fa87", + "difficulty": "HYPER", + "songID": 289, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8021, + "notecount": 831, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28c048ca4d71a8aa95d0e07c8d2a372b1b615982", + "difficulty": "NORMAL", + "songID": 289, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8021, + "notecount": 513, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd89731d004cdcc5292aa10d11c181d8d0545aa5", + "difficulty": "HYPER", + "songID": 290, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8022, + "notecount": 682, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "bmus", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8520f95da6f51548adde23ce84bf800e4a19334b", + "difficulty": "NORMAL", + "songID": 290, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8022, + "notecount": 503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "bmus", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "06a866286936157f613ec50e26b4d774bfc70b2d", + "difficulty": "HYPER", + "songID": 290, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8022, + "notecount": 552, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "8-cs", + "bmus", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4427ab01182130853b3f6509ad726abe34e4cf62", + "difficulty": "NORMAL", + "songID": 290, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8022, + "notecount": 373, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "8-cs", + "bmus", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45b92814480c42ae25961d3d5b822c04637bc90c", + "difficulty": "ANOTHER", + "songID": 291, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 8023, + "notecount": 1255, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf7fde49880035e8ae03b106bc17c4e404adfdd4", + "difficulty": "HYPER", + "songID": 291, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8023, + "notecount": 1014, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "246e922852a8b644afabbe0cb3fce503d6bfacef", + "difficulty": "NORMAL", + "songID": 291, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8023, + "notecount": 547, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8fbad0c537ae4bdb4040eb0e83cbfd94566d0516", + "difficulty": "ANOTHER", + "songID": 291, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8023, + "notecount": 1075, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73773c4c4f95a0f7aac9425d23ecb426112a1ecb", + "difficulty": "HYPER", + "songID": 291, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8023, + "notecount": 1029, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f4e86aabbfb3a266a10e5d39355c5dd7fb29c929", + "difficulty": "LEGGENDARIA", + "songID": 291, + "playtype": "SP", + "levelNum": 0, + "level": "11", + "data": { + "inGameID": 8023, + "notecount": 1380, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27f4828e44d400b017c01bddd2c02445137d7381", + "difficulty": "NORMAL", + "songID": 291, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8023, + "notecount": 534, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5fb85c03e1cc5a936014c7a651277001947d8341", + "difficulty": "ANOTHER", + "songID": 292, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8024, + "notecount": 1034, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5422506a9b087822cddd386b27e57c47f5525be1", + "difficulty": "HYPER", + "songID": 292, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8024, + "notecount": 570, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "6b47529903c3af946ac66e2034541135e70db1b3", + "difficulty": "LEGGENDARIA", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 292, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 8024, + "arcChartID": null, + "notecount": 1243, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "94c7b6465574c33d8a52198f4b71271e2302d10e", + "difficulty": "NORMAL", + "songID": 292, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8024, + "notecount": 456, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e0fad247024a42e907ca2a49444b56119855435", + "difficulty": "ANOTHER", + "songID": 292, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8024, + "notecount": 903, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4eafaf1009423849c3709936e1a0b361a0c5e530", + "difficulty": "BEGINNER", + "songID": 292, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 8024, + "notecount": 212, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6e02b2cb93926ccd7b8ba2c9e141bcc0d28cede", + "difficulty": "HYPER", + "songID": 292, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8024, + "notecount": 519, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f230c684c75ed26408a8950dc33f8135b81346f", + "difficulty": "LEGGENDARIA", + "songID": 292, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8024, + "notecount": 1059, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e2d91e0819d4db0f252d1149d2deb7bc93b05c26", + "difficulty": "NORMAL", + "songID": 292, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8024, + "notecount": 399, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27fd677d2d894696930303593d9429f59302a0e2", + "difficulty": "ANOTHER", + "songID": 293, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8025, + "notecount": 945, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f172b34a7a26d4428485c07dcdc9a5af7cd0d3c1", + "difficulty": "HYPER", + "songID": 293, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8025, + "notecount": 703, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "14-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27fa4f6e66666cf30500045c9147322e1c6f96fb", + "difficulty": "NORMAL", + "songID": 293, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8025, + "notecount": 552, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "14-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8039571d4c91610050032de9cd6914698dfac6ed", + "difficulty": "ANOTHER", + "songID": 293, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8025, + "notecount": 839, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "14-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fca77a9ddd76ca45f47159e69000c2cdafc2cc36", + "difficulty": "HYPER", + "songID": 293, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8025, + "notecount": 542, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "14-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "37f700de9d5a2199df81a6f36d2120d0f85ae3e1", + "difficulty": "NORMAL", + "songID": 293, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8025, + "notecount": 437, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "14-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bab119c2220a11ebfdacd41b17cd9032b664bde6", + "difficulty": "ANOTHER", + "songID": 294, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 8026, + "notecount": 1274, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a53ffd1ede2a5386d9189e5ec8ec71cf9cd7ab81", + "difficulty": "HYPER", + "songID": 294, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8026, + "notecount": 1122, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8784a75f9d82bbd1ba92a0710c2b635197cd55e", + "difficulty": "NORMAL", + "songID": 294, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8026, + "notecount": 578, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8f92576e718e383649ab13f25a492124ecc3a41", + "difficulty": "ANOTHER", + "songID": 294, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8026, + "notecount": 1157, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "412af5f263a553367bd9712875e0cf0d407d5c51", + "difficulty": "HYPER", + "songID": 294, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8026, + "notecount": 1056, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1fa32d468ccfbd9a2cf8580336e5d305968f9d8a", + "difficulty": "NORMAL", + "songID": 294, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8026, + "notecount": 578, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8ce0f048be41c8922d44f933c694133416a0696", + "difficulty": "ANOTHER", + "songID": 295, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8027, + "notecount": 955, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9f1a1f03c6614330fbf019cad275f3e0f2504ff", + "difficulty": "HYPER", + "songID": 295, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8027, + "notecount": 689, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "10-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "761d45418c56405fb63e307b17aa04e66c9eb8e3", + "difficulty": "NORMAL", + "songID": 295, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8027, + "notecount": 554, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "10-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aad8e43f1f0b6dfb8769c558beb26460e4cfab97", + "difficulty": "ANOTHER", + "songID": 295, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8027, + "notecount": 997, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "10-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d72fbfddc698847a11090031fd6fa3f9942193ac", + "difficulty": "HYPER", + "songID": 295, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8027, + "notecount": 690, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "10-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fba6ca86d15158097a03e2173dc3de28c1b005ca", + "difficulty": "NORMAL", + "songID": 295, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8027, + "notecount": 413, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "10-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "657952bdd3664b37baa2ed460521e3b971da308c", + "difficulty": "ANOTHER", + "songID": 296, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 8028, + "notecount": 1188, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "9-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9baaf8f76dff25b2e0dafd45128d9fcdc8c9ddb", + "difficulty": "HYPER", + "songID": 296, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8028, + "notecount": 924, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "9-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "14db847584e470889454e75e0d00b2ed69f4e2b7", + "difficulty": "NORMAL", + "songID": 296, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8028, + "notecount": 589, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "9-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de46fd1ca217d6e31d4245324f9c597622c1b5fb", + "difficulty": "ANOTHER", + "songID": 296, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 8028, + "notecount": 1207, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "9-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3f4cda22aa09aad1959993570447e107b6d3cf4c", + "difficulty": "BEGINNER", + "songID": 296, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 8028, + "notecount": 223, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5882e1309f784944c2521ec666735e0b55afbcdd", + "difficulty": "HYPER", + "songID": 296, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8028, + "notecount": 854, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "9-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6db8d350d37ba2587c5e6563b00d1ca9ef18ad54", + "difficulty": "NORMAL", + "songID": 296, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8028, + "notecount": 567, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "9-cs", + "8-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19f61028d57bf36103c538243972bdb945807b8c", + "difficulty": "ANOTHER", + "songID": 297, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8029, + "notecount": 849, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "9-cs", + "8-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6cc5d9d32b9586cbfd33f63f1d6cc3405066f34", + "difficulty": "HYPER", + "songID": 297, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8029, + "notecount": 769, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "9-cs", + "8-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f33175769a1adc4448a58641c2ed06fed6f5fe80", + "difficulty": "NORMAL", + "songID": 297, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8029, + "notecount": 628, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "9-cs", + "8-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5b6e3c2987d5a98d09222c0154ba48b21fddc4e7", + "difficulty": "ANOTHER", + "songID": 297, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8029, + "notecount": 849, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "9-cs", + "8-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33cf01d8167e4bcf526bdaa321d4411f709da1be", + "difficulty": "HYPER", + "songID": 297, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8029, + "notecount": 743, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "9-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af85299fd9816d93970f3791344f117fc533dcda", + "difficulty": "NORMAL", + "songID": 297, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8029, + "notecount": 415, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "9-cs", + "8-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "214d63673e31f0371a9f9c54c87904a3a75501e2", + "difficulty": "HYPER", + "songID": 298, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8030, + "notecount": 986, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e71f49e67a0bb11ce885fa845d5f6b53dfe4b49", + "difficulty": "NORMAL", + "songID": 298, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8030, + "notecount": 672, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "714189ef3c80a12d7aa447aff260493ea7ae7f13", + "difficulty": "HYPER", + "songID": 298, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8030, + "notecount": 870, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f1ce5b27419c5aec960beeb46bc727aa760474b", + "difficulty": "NORMAL", + "songID": 298, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8030, + "notecount": 457, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45b5a4ed3bdf403ad52006d7b66e3b5b11e18eeb", + "difficulty": "ANOTHER", + "songID": 299, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8031, + "notecount": 1188, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7144555ff9096fba8214261bdb441b87408389fc", + "difficulty": "HYPER", + "songID": 299, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8031, + "notecount": 798, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff226b045d48a282cd051d9464ca9533489ed7b4", + "difficulty": "NORMAL", + "songID": 299, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8031, + "notecount": 527, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5388be7155c487c5dbc11ed25a2cf9596d99fbce", + "difficulty": "ANOTHER", + "songID": 299, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 8031, + "notecount": 1251, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "8-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": true + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "614fdb1b7e5544d0eac447f37b12fba166ca82fd", + "difficulty": "HYPER", + "songID": 299, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8031, + "notecount": 715, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ecef738dacb21734f0606d44421473507fd9255", + "difficulty": "NORMAL", + "songID": 299, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8031, + "notecount": 505, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5501022cc36dcf69f1ed717a6663e4c1d9cf8601", + "difficulty": "ANOTHER", + "songID": 300, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 8032, + "notecount": 1167, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bed0d4dbcd7dbf7cdd45e02e65e8d018c93458e3", + "difficulty": "HYPER", + "songID": 300, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8032, + "notecount": 931, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e79e2092eb16710e8464bde0d7a3366ae750a4a2", + "difficulty": "NORMAL", + "songID": 300, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8032, + "notecount": 424, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d47c9d9957fbf48bcbf91866ef56443a99b8285", + "difficulty": "ANOTHER", + "songID": 300, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 8032, + "notecount": 1081, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5af1734ebf4c9e2b59ff480525908befc71ef5fa", + "difficulty": "HYPER", + "songID": 300, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8032, + "notecount": 859, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1575c2c20c21075e58436e462042ff63180c14f3", + "difficulty": "NORMAL", + "songID": 300, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8032, + "notecount": 422, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63bddeb24e71bf0ff8e8175dfea987b5addbeeda", + "difficulty": "ANOTHER", + "songID": 301, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8033, + "notecount": 820, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30484e806bae77edf31253bbbc856f35110d2d25", + "difficulty": "HYPER", + "songID": 301, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8033, + "notecount": 673, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60f0fc320f6dc910b01d9d3b300ffbbe970018e5", + "difficulty": "NORMAL", + "songID": 301, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 8033, + "notecount": 350, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc5a28345f4d0d6c0d7e6d6334ff39b49a7f0ca5", + "difficulty": "ANOTHER", + "songID": 301, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8033, + "notecount": 739, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cdc56ed7ce97ed2385d7cc7f77da4be77c866162", + "difficulty": "HYPER", + "songID": 301, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8033, + "notecount": 684, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e17921739d743423769121f8c14afb623f13e74e", + "difficulty": "NORMAL", + "songID": 301, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8033, + "notecount": 350, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "512799e3de3b6cf1ebe33c2dc6c3f35fb9a29e18", + "difficulty": "HYPER", + "songID": 302, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8034, + "notecount": 622, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ada43aea880b803520e5a1330794d4478ba41deb", + "difficulty": "NORMAL", + "songID": 302, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8034, + "notecount": 498, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d689794af62e0d627fa21b8956175e8899d7c52c", + "difficulty": "ANOTHER", + "songID": 302, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8034, + "notecount": 622, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "855ca49812ca1adf026cbfc39e4d8920111b3a59", + "difficulty": "HYPER", + "songID": 302, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8034, + "notecount": 587, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "66dd20e96239ead1e68ffc4826508d1771633a2c", + "difficulty": "NORMAL", + "songID": 302, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 8034, + "notecount": 369, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85dcaa4d5dc9ba3daf35b4ab18d6472232d83587", + "difficulty": "ANOTHER", + "songID": 303, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8035, + "notecount": 929, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce0500bfb5bc2357118b0f9a5403476e30586646", + "difficulty": "HYPER", + "songID": 303, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8035, + "notecount": 713, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fdc5abf0e4ef3abf41c8a4838acc7d85e9c5204a", + "difficulty": "NORMAL", + "songID": 303, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8035, + "notecount": 521, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8d71d97b2092f6826c6efb78e4576a465a7067dd", + "difficulty": "ANOTHER", + "songID": 303, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8035, + "notecount": 879, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e776a23d63ddb5a4f0bf792dc67aadec3b815cdd", + "difficulty": "HYPER", + "songID": 303, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8035, + "notecount": 713, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5966d425cd055801337b76309bdbf9ec8d7b3a9f", + "difficulty": "NORMAL", + "songID": 303, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8035, + "notecount": 383, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6694ba262a7e5b75e1036f03b418543b906a8aea", + "difficulty": "ANOTHER", + "songID": 304, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8036, + "notecount": 765, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd6c1585f0964c337c6054c8e1a3b60241247239", + "difficulty": "HYPER", + "songID": 304, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8036, + "notecount": 747, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f89ae49df1c8194cd3c950ac592c4d3802ec2d78", + "difficulty": "NORMAL", + "songID": 304, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8036, + "notecount": 552, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "866b1383ebcba8d7028abebb95f6dfbe5f97034d", + "difficulty": "ANOTHER", + "songID": 304, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8036, + "notecount": 770, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3febee0f1fcbf6b0114eab5d047e463085f837f", + "difficulty": "HYPER", + "songID": 304, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8036, + "notecount": 721, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f896396684dd9c695ea565f070c93e6466a6862", + "difficulty": "NORMAL", + "songID": 304, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 8036, + "notecount": 347, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a4bb32a35a786844d4030a62a8bc95b10729bdf6", + "difficulty": "HYPER", + "songID": 305, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8037, + "notecount": 731, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef4ce96bf725820f29ef55381e9f322b847b20f1", + "difficulty": "NORMAL", + "songID": 305, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8037, + "notecount": 592, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b4b744fafd7b1e0124bc90ca94a075a2e53c266", + "difficulty": "ANOTHER", + "songID": 305, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8037, + "notecount": 725, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bbbd01eca52874d51f550982e604f8763000e4fd", + "difficulty": "HYPER", + "songID": 305, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8037, + "notecount": 677, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f7fd961d0e953dd4adcba7a6b58e6dcb8c5e814a", + "difficulty": "NORMAL", + "songID": 305, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8037, + "notecount": 396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0859b026f61d78b9d5a431670be95316aec46762", + "difficulty": "HYPER", + "songID": 306, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8038, + "notecount": 441, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8cd963f22f77b3ddd1679fab064f08ae6f556b65", + "difficulty": "NORMAL", + "songID": 306, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 8038, + "notecount": 327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4abe5b434fbae831aac3a31b0bfb8365a1cf2cfb", + "difficulty": "ANOTHER", + "songID": 306, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8038, + "notecount": 483, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af564013f909de500887933f0acc2716ea8e757a", + "difficulty": "HYPER", + "songID": 306, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 8038, + "notecount": 296, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c6d05255517dadca80fa8be95fe42d3b8a89fb74", + "difficulty": "NORMAL", + "songID": 306, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 8038, + "notecount": 263, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4dde496738f519ba0c48456f8dd2ca1b3818e856", + "difficulty": "HYPER", + "songID": 307, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8039, + "notecount": 1152, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1ad69d766c595da35b90d24725338b935a141bb", + "difficulty": "NORMAL", + "songID": 307, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8039, + "notecount": 936, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5b2b415cdf6de783a8213973a3d2b1e66fc0f344", + "difficulty": "ANOTHER", + "songID": 307, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8039, + "notecount": 1138, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d8a3fb85c9da3aefbdef95dbb2bfe7cfe8959e4f", + "difficulty": "HYPER", + "songID": 307, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8039, + "notecount": 952, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "972f42c452e63690273ca104c36f3d6b2bc19458", + "difficulty": "NORMAL", + "songID": 307, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8039, + "notecount": 734, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ecab1a6c64c59d6c3e29122819fce7adb4929c2", + "difficulty": "ANOTHER", + "songID": 308, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 8040, + "notecount": 1126, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28dade3e9f30fe715a38ba7f295e2e04dae145cb", + "difficulty": "HYPER", + "songID": 308, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8040, + "notecount": 944, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dbe0a43b2f310aeba5c3d8a5accb87df7bd0ff4d", + "difficulty": "NORMAL", + "songID": 308, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8040, + "notecount": 608, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c88204da1739c20612b28f7c7ce231f2c9bbf3e3", + "difficulty": "ANOTHER", + "songID": 308, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8040, + "notecount": 959, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f74a46d1e9c975b876ac035e8f734d611e582c09", + "difficulty": "HYPER", + "songID": 308, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8040, + "notecount": 817, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63ccfa30ae71d045dd5748609ecdcc3e7abbe9b5", + "difficulty": "NORMAL", + "songID": 308, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8040, + "notecount": 609, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e1dfa953825945dbb2c0805b70b12ec413b384e", + "difficulty": "ANOTHER", + "songID": 309, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8041, + "notecount": 770, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2314f3d55ef39292d3d210dbf5ad3ae549111b2", + "difficulty": "HYPER", + "songID": 309, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8041, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "47c9f2a563ddb2f2cbbbc2c5a06bfe208b978310", + "difficulty": "NORMAL", + "songID": 309, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8041, + "notecount": 478, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6e83001a1a6d6857c23f6ab1aa479bf0e123fdee", + "difficulty": "ANOTHER", + "songID": 309, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8041, + "notecount": 794, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12cb20c4f1cac5360309c1a102ddf1419e0f55fb", + "difficulty": "HYPER", + "songID": 309, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8041, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "77f6f5d8586d5989ce4c5ce3a11075ddfebdc6ea", + "difficulty": "NORMAL", + "songID": 309, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8041, + "notecount": 464, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9aa2d79164a4ecda47f8a5b983b2a6bf3b3d3da4", + "difficulty": "ANOTHER", + "songID": 310, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8042, + "notecount": 1095, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6e07a95c8090b0c362380628448466edee611563", + "difficulty": "HYPER", + "songID": 310, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8042, + "notecount": 744, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eeada4456424fd052b6d2b2bb8622bed4157bd1a", + "difficulty": "NORMAL", + "songID": 310, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8042, + "notecount": 512, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b06ecfb0ebed11ff3c2ee0befafc074d6a830848", + "difficulty": "ANOTHER", + "songID": 310, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8042, + "notecount": 1000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f72696f948f5ae5a014807b7fee4824343d2b987", + "difficulty": "HYPER", + "songID": 310, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8042, + "notecount": 746, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55d7e7393352a98f82d567c7cce265bd781d4735", + "difficulty": "NORMAL", + "songID": 310, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8042, + "notecount": 514, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df7d2bee6d56c1529de693481d3417b8e5591146", + "difficulty": "ANOTHER", + "songID": 311, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8043, + "notecount": 1044, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97b006c7b735fa67564b3f6914a0ac4d660a91e5", + "difficulty": "HYPER", + "songID": 311, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8043, + "notecount": 820, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "31cf3d5346cd269d20b59a5f8237aaf3c99d36ea", + "difficulty": "NORMAL", + "songID": 311, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8043, + "notecount": 496, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0fda20e66614ca8af283e6e9f34ac4043981f54e", + "difficulty": "ANOTHER", + "songID": 311, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8043, + "notecount": 1077, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf7949f37be4ea3b5c1c134bc28e2a6a8fbdef30", + "difficulty": "HYPER", + "songID": 311, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8043, + "notecount": 789, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c9679a7845db18b78fb77f33aa66af08a1b0332d", + "difficulty": "NORMAL", + "songID": 311, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8043, + "notecount": 488, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2575ded952bd3f9e995deaa3c4a2533250605c58", + "difficulty": "HYPER", + "songID": 312, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8044, + "notecount": 560, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "77ca89802a42adb184f47bef411bd16f6404c534", + "difficulty": "NORMAL", + "songID": 312, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 8044, + "notecount": 454, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97a81afcf25a1a79868eb46d281fcc5657d9b61c", + "difficulty": "ANOTHER", + "songID": 312, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8044, + "notecount": 559, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "762171acab12ff7a8a69dad97dfc3b7e7e1c3059", + "difficulty": "HYPER", + "songID": 312, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8044, + "notecount": 526, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f340dc843a6cb3b503912c776e89e99a5a83abbd", + "difficulty": "NORMAL", + "songID": 312, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 8044, + "notecount": 353, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a4f645ac06015266359503673799ecb990588e1", + "difficulty": "ANOTHER", + "songID": 313, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 8045, + "notecount": 1379, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "789e86e31ae357edbbc9b39e4c5d8e9c3d141009", + "difficulty": "HYPER", + "songID": 313, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8045, + "notecount": 865, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29f77af7a003e932c42d01f59e0e598e2e971101", + "difficulty": "NORMAL", + "songID": 313, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8045, + "notecount": 563, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b166b6683abd1cb8106cab435a73508e56aef259", + "difficulty": "ANOTHER", + "songID": 313, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 8045, + "notecount": 1379, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "8-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e2e6c81ec12cb6f551809e2754698dc0aebeeec2", + "difficulty": "HYPER", + "songID": 313, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8045, + "notecount": 867, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ac5a28e3709ac2ccb833daa1a06b0ced36ed4133", + "difficulty": "NORMAL", + "songID": 313, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8045, + "notecount": 570, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e972fa0a78c162e52e10573f7e531bef5fa2363", + "difficulty": "HYPER", + "songID": 314, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8046, + "notecount": 906, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "671fb7cfbbd93d98b39e7eccae795fb86f6120ce", + "difficulty": "NORMAL", + "songID": 314, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8046, + "notecount": 645, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "639b43237cd1c1d2f41f0c3adc3e6e366688f086", + "difficulty": "ANOTHER", + "songID": 314, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8046, + "notecount": 968, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1912298e27d02bb524fc76167a8870aca6f172e", + "difficulty": "HYPER", + "songID": 314, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8046, + "notecount": 666, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "609cb0d1fe04429e0f4e763ee4a8915106093524", + "difficulty": "NORMAL", + "songID": 314, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8046, + "notecount": 543, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1e94838218d2cd01a59f672c3c8d3d3d9b3be45", + "difficulty": "ANOTHER", + "songID": 315, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8047, + "notecount": 1012, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "00984a0cc6488e633696d83fc1eb7fadc23dd2f8", + "difficulty": "HYPER", + "songID": 315, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8047, + "notecount": 879, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad556c1712f7987eae53babd5b4d8d80591c3fc7", + "difficulty": "NORMAL", + "songID": 315, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8047, + "notecount": 822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e92200195fcc893c826dd4fdf03c6e870d1175c", + "difficulty": "ANOTHER", + "songID": 315, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8047, + "notecount": 1127, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c94aa8a0c03bca39ea7726368070a90e44c98c64", + "difficulty": "HYPER", + "songID": 315, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8047, + "notecount": 879, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e7cf0d6f3ca938367a4f8d3ff9f1b264fd54142b", + "difficulty": "NORMAL", + "songID": 315, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8047, + "notecount": 811, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "8-cs", + "6-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93ce2cc2f01f73d0cbc56e8391c6f7e563211cd5", + "difficulty": "ANOTHER", + "songID": 316, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 8048, + "notecount": 1047, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c070b0d946cbb060dfc6b0377e60083de3fe8b23", + "difficulty": "HYPER", + "songID": 316, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8048, + "notecount": 819, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a048dfdd1ae41a4d337110fa03e5e73c4302b5d", + "difficulty": "NORMAL", + "songID": 316, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8048, + "notecount": 605, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c01cff33fd14ffb7d51ce8f7e69e3cdff32931b1", + "difficulty": "ANOTHER", + "songID": 316, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 8048, + "notecount": 1123, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "8-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": true + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2a438a94637af2dce0062626b1fdcaf52a509cb9", + "difficulty": "HYPER", + "songID": 316, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8048, + "notecount": 819, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ac109050c6bb1f778254a40025b179b571d3defc", + "difficulty": "NORMAL", + "songID": 316, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8048, + "notecount": 541, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6fd919cdb28a1afef14d0d34e776e68df5ae2180", + "difficulty": "ANOTHER", + "songID": 317, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8049, + "notecount": 795, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b94b40730175d1c5cd5c970aac51f8c25fd4a279", + "difficulty": "HYPER", + "songID": 317, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8049, + "notecount": 685, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80740ef4b6bf6de5613480b330704a9c216d5d20", + "difficulty": "NORMAL", + "songID": 317, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8049, + "notecount": 524, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78ae53a9d1c80e277010e568eb86a48302ff4927", + "difficulty": "ANOTHER", + "songID": 317, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8049, + "notecount": 803, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "154ffc6d82d7f212bc996fb43be83e9ae58c6fe5", + "difficulty": "HYPER", + "songID": 317, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8049, + "notecount": 694, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "699280d050620d0727558e0ca6c4862e5bbed0dd", + "difficulty": "NORMAL", + "songID": 317, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8049, + "notecount": 468, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b62a017361dc9b237d878c19ed24c11317c31049", + "difficulty": "ANOTHER", + "songID": 318, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8201, + "notecount": 598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4d1cf96f4004680831cb907d572b345efe5dc40c", + "difficulty": "HYPER", + "songID": 318, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8201, + "notecount": 460, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "002014a6c0e014ecc04d1987bac922d84409a165", + "difficulty": "NORMAL", + "songID": 318, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 8201, + "notecount": 242, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8d50d171786585945ba69d1f4aca5dae93d60f1f", + "difficulty": "ANOTHER", + "songID": 318, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8201, + "notecount": 598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b04a59f9dc70a0b5f58b0ac771181bfe23e92ee", + "difficulty": "HYPER", + "songID": 318, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8201, + "notecount": 473, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02d6b85ebc2d20ad61629afa64d046f20a2887d5", + "difficulty": "NORMAL", + "songID": 318, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 8201, + "notecount": 242, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1d79e136f057afa91603830d2557f69a9161cd0", + "difficulty": "ANOTHER", + "songID": 319, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8202, + "notecount": 1023, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "01cd43c898348ea50d78c642d741447f66125ca9", + "difficulty": "HYPER", + "songID": 319, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8202, + "notecount": 963, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a26149be98ae1e68fdd07be5e71ef0ccd9324e7", + "difficulty": "NORMAL", + "songID": 319, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8202, + "notecount": 823, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "46c8c9c57f3da90918eefc9e839db8dc40955560", + "difficulty": "ANOTHER", + "songID": 319, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 8202, + "notecount": 1037, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0171f4d3ded0fb1dad4a9614c1c8f068524f034", + "difficulty": "HYPER", + "songID": 319, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 8202, + "notecount": 943, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60d30ff4e7c24b905522b4b347f5bdd0b490436d", + "difficulty": "NORMAL", + "songID": 319, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8202, + "notecount": 627, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e57473e8821d293f1f118aa06150aca9f7dc1da", + "difficulty": "ANOTHER", + "songID": 320, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8203, + "notecount": 904, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22728587bddcf99808324d12f5ad7154c13de8aa", + "difficulty": "HYPER", + "songID": 320, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8203, + "notecount": 746, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff9ed4f448ba44d2eb5eeee14ee7be8d61a27fab", + "difficulty": "NORMAL", + "songID": 320, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8203, + "notecount": 505, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97c1817afc90666a60d16b0f5d56143c44518e1d", + "difficulty": "ANOTHER", + "songID": 320, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8203, + "notecount": 858, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e7df4a5fc67ce81ab112c55ae9a8916c8376dfa", + "difficulty": "HYPER", + "songID": 320, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 8203, + "notecount": 743, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1933ad6ec3b8ace6a0e3c869bbfc46518b300a73", + "difficulty": "NORMAL", + "songID": 320, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 8203, + "notecount": 380, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "571cbd76cd48e38ab12e82f5477f10c252223d3b", + "difficulty": "HYPER", + "songID": 321, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8204, + "notecount": 900, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b96b39683c27dbb9d7c615373530464537ba096", + "difficulty": "NORMAL", + "songID": 321, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8204, + "notecount": 773, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ea216e66dfe8018273c85e80d703b80db195ae2", + "difficulty": "ANOTHER", + "songID": 321, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 8204, + "notecount": 931, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b993c8eb4d7ca20846f88cb6896a5a1bb445209", + "difficulty": "HYPER", + "songID": 321, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 8204, + "notecount": 902, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b71339bf6a12845e4eb6dcb31b41d89e99427cf", + "difficulty": "NORMAL", + "songID": 321, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 8204, + "notecount": 641, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12483847b9e75a9199fdf9418160a3a2137388d8", + "difficulty": "ANOTHER", + "songID": 322, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 9000, + "notecount": 1254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c71c24d2ff97b49c10bb32226b91f69ea1db3072", + "difficulty": "HYPER", + "songID": 322, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9000, + "notecount": 981, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd3e0750294f6162f0065c9ea9ac158af955d83d", + "difficulty": "NORMAL", + "songID": 322, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9000, + "notecount": 705, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0bed53c57a74fcc6e5f49db5e344f7e59e43b702", + "difficulty": "ANOTHER", + "songID": 322, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9000, + "notecount": 1144, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3b7ec4d1b0b11630a2a9f7b35c108c8a9b54e89e", + "difficulty": "HYPER", + "songID": 322, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9000, + "notecount": 979, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a3db307dbb2a1783258aba54f4eb786b8850fdb", + "difficulty": "NORMAL", + "songID": 322, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9000, + "notecount": 706, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "36296489b69e88e15d489aa9b0d1bf6c79f88991", + "difficulty": "ANOTHER", + "songID": 323, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 9001, + "notecount": 1364, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc8c011f68de0940c23957121f235853c72ea509", + "difficulty": "HYPER", + "songID": 323, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9001, + "notecount": 946, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5cbca26c65596ff4c42ff7710ab0bfcc53c74982", + "difficulty": "NORMAL", + "songID": 323, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9001, + "notecount": 687, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab2c6c57763ecdfcefd61e67037b6cdb8606e7b0", + "difficulty": "ANOTHER", + "songID": 323, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9001, + "notecount": 1049, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33df3908d54fd52b447ade06763fcf012d6ae42c", + "difficulty": "HYPER", + "songID": 323, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9001, + "notecount": 790, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee117db69f75ef0ea50726f3ce9d86d6424467d9", + "difficulty": "LEGGENDARIA", + "songID": 323, + "playtype": "SP", + "levelNum": 0, + "level": "10", + "data": { + "inGameID": 9001, + "notecount": 1286, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e218d8c91b882f6dead89a81a1ab4b696e4eb53e", + "difficulty": "NORMAL", + "songID": 323, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9001, + "notecount": 429, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8b12be3b162fccf44e8f706ac820cd3321ba25a", + "difficulty": "ANOTHER", + "songID": 324, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9002, + "notecount": 995, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ec1f82f3dcab653e7699af041ee4c27db071bb2", + "difficulty": "HYPER", + "songID": 324, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9002, + "notecount": 927, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b2be152be785b60f7e310baa773340bba3f6544", + "difficulty": "NORMAL", + "songID": 324, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9002, + "notecount": 635, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4170b7a32abc0ad7334f44aac5de38815ca85f9", + "difficulty": "ANOTHER", + "songID": 324, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9002, + "notecount": 910, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2974f2344add850fc5612624c9e6aa58f140aa2b", + "difficulty": "HYPER", + "songID": 324, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9002, + "notecount": 753, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dcb0b039f24555d49d7c2f1b6b71fd207877ee78", + "difficulty": "NORMAL", + "songID": 324, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9002, + "notecount": 357, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4561c71dbd1a229ee26e79bbcdc02ef4c2b874bc", + "difficulty": "HYPER", + "songID": 325, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9003, + "notecount": 581, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b2e3759d7082853b62fd7a460a2b244839af4376", + "difficulty": "NORMAL", + "songID": 325, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9003, + "notecount": 311, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e18c19dc06cacc73b7ec02ef2ed50fbfcec7c17", + "difficulty": "ANOTHER", + "songID": 325, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9003, + "notecount": 950, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9b53f8dda22397e684aeeaded6715ff44f1f813", + "difficulty": "HYPER", + "songID": 325, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9003, + "notecount": 586, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a90ab1f43a4508c4fab24f064c156da8f60a2e6", + "difficulty": "NORMAL", + "songID": 325, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9003, + "notecount": 311, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d8df4bf4d874683689600558aa62d4948e9bca2", + "difficulty": "HYPER", + "songID": 326, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9004, + "notecount": 691, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f793f2a71d4b731b99bf8025b7bd350574d3bb4", + "difficulty": "NORMAL", + "songID": 326, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9004, + "notecount": 442, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "81ab2905d3aa35961a12e3dabff9ee0d9a6a7f91", + "difficulty": "ANOTHER", + "songID": 326, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9004, + "notecount": 936, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7dc56283314acf1cf10d5145728f19a65a6ca1ee", + "difficulty": "HYPER", + "songID": 326, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9004, + "notecount": 691, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "392754788dfe83bd21a8e23bd52bae40587730df", + "difficulty": "NORMAL", + "songID": 326, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9004, + "notecount": 442, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9c47fbac20379167d74e0d4913bfe20788819ebf", + "difficulty": "HYPER", + "songID": 327, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9005, + "notecount": 707, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f42778d91aea78912c2b3239fee7dcbc8459536f", + "difficulty": "NORMAL", + "songID": 327, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9005, + "notecount": 441, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34bc5d0ea0300bf5e8db4f8dd6e6afd64740cfd5", + "difficulty": "ANOTHER", + "songID": 327, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9005, + "notecount": 1034, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d12689d84b902f8ceed4209b4ddae14eb488571b", + "difficulty": "HYPER", + "songID": 327, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9005, + "notecount": 707, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "773ab840c683ba1cfa0b42e12cb0c3622cb63993", + "difficulty": "NORMAL", + "songID": 327, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9005, + "notecount": 442, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "daabeecbab030d67cc76a6356eac85d415864b62", + "difficulty": "ANOTHER", + "songID": 328, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9006, + "notecount": 983, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "40649333213c0be9d595b9ab673e46b3f6366588", + "difficulty": "HYPER", + "songID": 328, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9006, + "notecount": 861, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e869c87537c885733fb930b28336280dd90a13f0", + "difficulty": "NORMAL", + "songID": 328, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9006, + "notecount": 375, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f594fb4dc35a712f3a7367968d2b72709c58e4d", + "difficulty": "ANOTHER", + "songID": 328, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9006, + "notecount": 983, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dfd9569e93373e64caaa249a7812e5e8ad4cd23b", + "difficulty": "HYPER", + "songID": 328, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9006, + "notecount": 804, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d9827b90da0d86e0780e9fd13d663607f9ba840", + "difficulty": "NORMAL", + "songID": 328, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9006, + "notecount": 375, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12efc2c9e55b88be9fffdc3f736a6c3c5aefc142", + "difficulty": "ANOTHER", + "songID": 329, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9007, + "notecount": 732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e8c567a8add25368e188ffb30267a83fabccd63b", + "difficulty": "HYPER", + "songID": 329, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9007, + "notecount": 714, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "639019aa0b7092066d908e831dd452837bfab519", + "difficulty": "NORMAL", + "songID": 329, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9007, + "notecount": 584, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2783ed4a4b5c0d1d4d73860a3a7e2d84acc83afb", + "difficulty": "ANOTHER", + "songID": 329, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9007, + "notecount": 778, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a7b39e1534d234a64bce879d81d3d7881c5febf", + "difficulty": "HYPER", + "songID": 329, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9007, + "notecount": 732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9280ef38ebc4060ec8f9ceccb6a308a2f7c4512", + "difficulty": "NORMAL", + "songID": 329, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9007, + "notecount": 439, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8175ff9217d6ec36ec6ebb637eaad4ee9448cef2", + "difficulty": "ANOTHER", + "songID": 330, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9008, + "notecount": 620, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ee8d1437fad282a04ef7408aedf8997a2cb9899", + "difficulty": "HYPER", + "songID": 330, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9008, + "notecount": 579, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d10f63cf20bb98863977e27bfa1325a8a4cbaa0a", + "difficulty": "NORMAL", + "songID": 330, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9008, + "notecount": 370, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "993e60d0102c46610e2ad4dba71a54a6b8d269f8", + "difficulty": "ANOTHER", + "songID": 330, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9008, + "notecount": 673, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b159e8b91c3a1355f2d744a531c410c3678dfd80", + "difficulty": "HYPER", + "songID": 330, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9008, + "notecount": 444, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a31c3e0cc52d260da7030991cb770392ab00c885", + "difficulty": "NORMAL", + "songID": 330, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9008, + "notecount": 241, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "120ec2a4134f704f1d660fa2008b1b0d4796a667", + "difficulty": "ANOTHER", + "songID": 331, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9009, + "notecount": 771, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2df16cfa9bf9f0722f26471ef0a1de66429ea42e", + "difficulty": "HYPER", + "songID": 331, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9009, + "notecount": 484, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e83b0a05f8f7b87585946d1db9dcfc9ed4ee372f", + "difficulty": "NORMAL", + "songID": 331, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9009, + "notecount": 378, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b69dd9eed06f620e9dceaa0bd5554e8e6a9b36de", + "difficulty": "ANOTHER", + "songID": 331, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9009, + "notecount": 771, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8114a74ee5febb47378cd22d01fb6334fda8f5a8", + "difficulty": "HYPER", + "songID": 331, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9009, + "notecount": 487, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc7a5bd2caa93891fb2949f3c86715defe2d19c4", + "difficulty": "NORMAL", + "songID": 331, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9009, + "notecount": 246, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6142c9085d801aab72bcd7e62422eca678efdbae", + "difficulty": "HYPER", + "songID": 332, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9010, + "notecount": 784, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "844aa722c25995ca10ab8d028a9f6b54d21963f4", + "difficulty": "NORMAL", + "songID": 332, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9010, + "notecount": 617, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7d2f101b1ced6d5a41a233264d14381e5fa5dc13", + "difficulty": "ANOTHER", + "songID": 332, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9010, + "notecount": 803, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a6adef06fdd7bc966093106700035e0585dabc2", + "difficulty": "HYPER", + "songID": 332, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9010, + "notecount": 751, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d02fb0dbf8e651ca8c9183ec9a071214e2712f6", + "difficulty": "NORMAL", + "songID": 332, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9010, + "notecount": 466, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "edbd5e801fba8f0207681ba3d1bdcf14773c6439", + "difficulty": "ANOTHER", + "songID": 333, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9011, + "notecount": 1202, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "328f76c0995293f453e0e1d5b48e3b97a9886c30", + "difficulty": "HYPER", + "songID": 333, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9011, + "notecount": 866, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb7c8bafaedfbc6ae67c3a746445de4e4aba2532", + "difficulty": "NORMAL", + "songID": 333, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9011, + "notecount": 441, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e15f8e3cf1c8a38e2dd47dec163272865c5f9af", + "difficulty": "ANOTHER", + "songID": 333, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9011, + "notecount": 1155, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a6d369fa4a0d7cccc69989370782f0ac055516a", + "difficulty": "HYPER", + "songID": 333, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9011, + "notecount": 846, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f91d2197d3e0bed0a66c03978ea010050bf3dca", + "difficulty": "NORMAL", + "songID": 333, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9011, + "notecount": 445, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03f8845ca007d1d4fdd026b7622d58cf0d0701ea", + "difficulty": "ANOTHER", + "songID": 334, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 9012, + "notecount": 1661, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "894557731cc7368073305e638584d03774ec142d", + "difficulty": "HYPER", + "songID": 334, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 9012, + "notecount": 1049, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a3d7e4f1e5700cca01bc15d0bb5bc79e834dc34", + "difficulty": "NORMAL", + "songID": 334, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9012, + "notecount": 510, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9de777ae7b94f46ca1773ef084a67c37ae5e97a2", + "difficulty": "ANOTHER", + "songID": 334, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 9012, + "notecount": 1300, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "9-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4a96a1fe049167eb53ee07bc04fb094037aee524", + "difficulty": "HYPER", + "songID": 334, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9012, + "notecount": 1026, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de2449594126a8caf9243cccc33516b10145ea6f", + "difficulty": "NORMAL", + "songID": 334, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9012, + "notecount": 533, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a06c8fb09663965951e54e4176294dda2eb197a4", + "difficulty": "ANOTHER", + "songID": 335, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9013, + "notecount": 809, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e5f95f92aff3f78936fa4567e8ecb73f7794233d", + "difficulty": "HYPER", + "songID": 335, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9013, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "732fecfb8216ec1cbc587f77e341236d255240ed", + "difficulty": "NORMAL", + "songID": 335, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9013, + "notecount": 555, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ce595d21b7940182b8854e39029932de53560e1", + "difficulty": "ANOTHER", + "songID": 335, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9013, + "notecount": 656, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8572ccc971c235f3015ed948ec2ea339543e83d9", + "difficulty": "HYPER", + "songID": 335, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9013, + "notecount": 600, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ba35d572ac0f8cce62e2bc02ebbdf2a71d11c18", + "difficulty": "NORMAL", + "songID": 335, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9013, + "notecount": 470, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6cbb3fea81fd98ba6ec4db77623e80066855f098", + "difficulty": "HYPER", + "songID": 336, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9014, + "notecount": 767, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b644a348f3690fbf8188a2ad05c192c40d541174", + "difficulty": "NORMAL", + "songID": 336, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9014, + "notecount": 399, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4bad69d1aa96be104f05c9054afa9cc032bc36df", + "difficulty": "ANOTHER", + "songID": 336, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9014, + "notecount": 818, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1dfc221444bdc3c04d1eea7128b34751355003e3", + "difficulty": "HYPER", + "songID": 336, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9014, + "notecount": 752, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "927508b47214f45eea506c97e8193b6f69ac18b1", + "difficulty": "NORMAL", + "songID": 336, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9014, + "notecount": 399, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "16ac041d24088a640b88325d69f1a0822825958a", + "difficulty": "HYPER", + "songID": 337, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9015, + "notecount": 614, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53c3b714c150ba460b484049877accdbe69b3b9c", + "difficulty": "NORMAL", + "songID": 337, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9015, + "notecount": 329, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "38544358404dd23921cdfcf85e556acf5e84ed2b", + "difficulty": "ANOTHER", + "songID": 337, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9015, + "notecount": 755, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "256111856ba54ee5f52ce4fbd0e1e2a529d0d19a", + "difficulty": "HYPER", + "songID": 337, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9015, + "notecount": 600, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6eb7e087f24642720db659473afed54bc16bc677", + "difficulty": "NORMAL", + "songID": 337, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9015, + "notecount": 329, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "44b9f1b4f9b4db83a2bb99a94bb98cfc6f4c4488", + "difficulty": "ANOTHER", + "songID": 338, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9016, + "notecount": 961, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0277022fd2a9317e50d89b2c761833cff64dceed", + "difficulty": "HYPER", + "songID": 338, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9016, + "notecount": 771, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc1edf21c381a5dd62277c18a3b5053571a215b2", + "difficulty": "NORMAL", + "songID": 338, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9016, + "notecount": 580, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19e9828d77b7eb6d41de40511d2645b99a1f3755", + "difficulty": "ANOTHER", + "songID": 338, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9016, + "notecount": 749, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6277caa1fb5d9a26fa1a95ff6131bcf148fdd3b", + "difficulty": "HYPER", + "songID": 338, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9016, + "notecount": 603, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "998f43b0c66bf96ee2ce8c4a0b2bdb7982bc26e7", + "difficulty": "NORMAL", + "songID": 338, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9016, + "notecount": 420, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb2bb08896467a5530fe5ddea61009aa440cff63", + "difficulty": "HYPER", + "songID": 339, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9017, + "notecount": 529, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b26122992b30f39c47d93ad621b878ad2a5435c4", + "difficulty": "NORMAL", + "songID": 339, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9017, + "notecount": 314, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "810046c978f50d88292cb46e93d0bb4f2d3cb3aa", + "difficulty": "ANOTHER", + "songID": 339, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9017, + "notecount": 583, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79503ec54b29da2414dbcf11624e2791f0fbaaf5", + "difficulty": "HYPER", + "songID": 339, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9017, + "notecount": 529, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d3b56a7a03fc35d22096c4739478bcfd6ed48804", + "difficulty": "NORMAL", + "songID": 339, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9017, + "notecount": 314, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9e7a80923f1e7fc7645b209d541aca2d00efce6", + "difficulty": "ANOTHER", + "songID": 340, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 9018, + "notecount": 853, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ccc47d52bf411acfa6db90c8374e4315a60cadb", + "difficulty": "HYPER", + "songID": 340, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9018, + "notecount": 646, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1048127bd532695d431602ed516ea261bdec75f4", + "difficulty": "NORMAL", + "songID": 340, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9018, + "notecount": 359, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7d98db218f106237ddb1c1f65228fa3c5bcc06ee", + "difficulty": "ANOTHER", + "songID": 340, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9018, + "notecount": 763, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eb62bc6da6d94b6316ab6850bb031f60ed438c40", + "difficulty": "HYPER", + "songID": 340, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9018, + "notecount": 646, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8742a699eaac21615ffb8afdf700524cfef6791a", + "difficulty": "NORMAL", + "songID": 340, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9018, + "notecount": 359, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98fa9fd109650cbbe20082955568551735566f3f", + "difficulty": "HYPER", + "songID": 341, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9019, + "notecount": 807, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f3bfa87f07c67e86156dbd2ffb74527a4215ff4", + "difficulty": "NORMAL", + "songID": 341, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9019, + "notecount": 628, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12247e7f7109e51a3035511445e0b7bc545ac67d", + "difficulty": "ANOTHER", + "songID": 341, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9019, + "notecount": 1136, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d985108a65eae366fe682906412009bd5061e466", + "difficulty": "HYPER", + "songID": 341, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9019, + "notecount": 688, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "31925920107cb35d6ca793f1dc07cab76f1df0bd", + "difficulty": "NORMAL", + "songID": 341, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9019, + "notecount": 528, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de0610f8980513626bb376b9ac0787e0230a9bbd", + "difficulty": "HYPER", + "songID": 342, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9020, + "notecount": 753, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f636bf029fcf777287d5ce5dc1a3f2d471ed87d", + "difficulty": "NORMAL", + "songID": 342, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9020, + "notecount": 623, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "613a4a674b1fb02994b1a4ecee654a5bb7d980f7", + "difficulty": "HYPER", + "songID": 342, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9020, + "notecount": 564, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a2f2f5779eaeb643f020eebaa34cfd933e80c24", + "difficulty": "NORMAL", + "songID": 342, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9020, + "notecount": 426, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7498b1e3be674796c2aed06049517ae7af8c2e8e", + "difficulty": "ANOTHER", + "songID": 343, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9021, + "notecount": 1087, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ceb80d4b7cbb3be8625a0e33f8e7b8445bc042e", + "difficulty": "HYPER", + "songID": 343, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9021, + "notecount": 760, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4cb31221aed68da199404ef5a87f4c5f6bf659e1", + "difficulty": "NORMAL", + "songID": 343, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9021, + "notecount": 463, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b66554a7366f692efb93e5eb60e82299d1d9b000", + "difficulty": "ANOTHER", + "songID": 343, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9021, + "notecount": 1028, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28a7669e3b916fa52dfcabe61a35f7b59a9765c6", + "difficulty": "HYPER", + "songID": 343, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9021, + "notecount": 589, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ffd7a7a5e267c9bd230c8d207e8fa851d66934c", + "difficulty": "NORMAL", + "songID": 343, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9021, + "notecount": 475, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0079b4024e3f91641b9520cb1a0e082e328921f9", + "difficulty": "ANOTHER", + "songID": 344, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 9022, + "notecount": 1697, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26fb56728be968315f491181d54ea53e9459d3b8", + "difficulty": "HYPER", + "songID": 344, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9022, + "notecount": 906, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e9227bc055ac25bdeed63666585897e727a4061", + "difficulty": "NORMAL", + "songID": 344, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9022, + "notecount": 529, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a35a06a69f3f33453351ba6f3d67773c4b979c5d", + "difficulty": "ANOTHER", + "songID": 344, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 9022, + "notecount": 1173, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "77ef3dd93545a6673a68f5b7c20d8acf343b9705", + "difficulty": "HYPER", + "songID": 344, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9022, + "notecount": 907, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a44e3993266ce54393bb3900a1d09302b0498fba", + "difficulty": "NORMAL", + "songID": 344, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9022, + "notecount": 529, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "61dda8d5ed46665fdeb89609a4c872b70aa4fa3d", + "difficulty": "ANOTHER", + "songID": 345, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9023, + "notecount": 1023, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a71787352ce7fc1aef0402f498c039692e70d210", + "difficulty": "HYPER", + "songID": 345, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9023, + "notecount": 733, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7114101c33410a1e1a7b0f54e735b5d9b52efcce", + "difficulty": "NORMAL", + "songID": 345, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9023, + "notecount": 424, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6bc98fb454f2d87cefe0beb350eba3a394103a2e", + "difficulty": "ANOTHER", + "songID": 345, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9023, + "notecount": 932, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "92d818f498f303ef0a5fed5c7232aa0b9db8c87b", + "difficulty": "HYPER", + "songID": 345, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9023, + "notecount": 689, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d82a00086c29a839d56efd6b4fed445bba8dba12", + "difficulty": "NORMAL", + "songID": 345, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9023, + "notecount": 425, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e83fab585be92c0a7aae1bdbe4902cc2a129d4e", + "difficulty": "ANOTHER", + "songID": 346, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9024, + "notecount": 1230, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f29b8551e6679e9464d63c1e8879b2f17e6007f1", + "difficulty": "HYPER", + "songID": 346, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9024, + "notecount": 1183, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b5ef5fe71c55ed8ae639e99d08825418606ab381", + "difficulty": "NORMAL", + "songID": 346, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9024, + "notecount": 627, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "210cef5dd68e89f651c388a9a97bcf86835f9079", + "difficulty": "ANOTHER", + "songID": 346, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9024, + "notecount": 1066, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c27efc6fab60fa00ff26a1fe3cba4a7781778422", + "difficulty": "HYPER", + "songID": 346, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9024, + "notecount": 947, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1a92248dd339a3d5db0bf5bcfdb1fa412e50778", + "difficulty": "NORMAL", + "songID": 346, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9024, + "notecount": 574, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4c91fdc1aa63486717300b0ee3dfd45cf4dc572", + "difficulty": "ANOTHER", + "songID": 347, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9025, + "notecount": 966, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b8d6d0d64cc09a5f1e26229bb9ad8efdc87af63", + "difficulty": "HYPER", + "songID": 347, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9025, + "notecount": 562, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cdb6da7eb4bce9987cbbead47d5a81fe22b0a3c2", + "difficulty": "NORMAL", + "songID": 347, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9025, + "notecount": 329, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf3ab28cf528fc396e6f6812ff30d964ae177823", + "difficulty": "ANOTHER", + "songID": 347, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9025, + "notecount": 716, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a4e7f832e981afa5c884728f60e1c8aa3d2d9017", + "difficulty": "HYPER", + "songID": 347, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9025, + "notecount": 559, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "baf184eff23e7a838a75cb978ad05c1eb3b15150", + "difficulty": "NORMAL", + "songID": 347, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9025, + "notecount": 312, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab65f6d5420c62c1265906fff3b2d1453b3fc605", + "difficulty": "ANOTHER", + "songID": 348, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 9026, + "notecount": 1267, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6bf3f81250ab015526c8bb3392313895dc105a8", + "difficulty": "HYPER", + "songID": 348, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 9026, + "notecount": 1085, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba7471180a711bfde18cfe94b2bc9cd16eb3aafc", + "difficulty": "NORMAL", + "songID": 348, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9026, + "notecount": 797, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63790e7f4eb48f5d4a1cd7fce54771ac544ef725", + "difficulty": "ANOTHER", + "songID": 348, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9026, + "notecount": 925, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b124d981d4b8585faa1d41613adb4dcb685190e", + "difficulty": "HYPER", + "songID": 348, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9026, + "notecount": 839, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78d74245e83708e8e283ef9058a742cd75cb85a7", + "difficulty": "NORMAL", + "songID": 348, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9026, + "notecount": 668, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a290a9419afc99bcaf3a1b2fd79a7519416ddc85", + "difficulty": "HYPER", + "songID": 349, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9027, + "notecount": 708, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9592e9794484e5b19fd9bb738258e938742c571", + "difficulty": "NORMAL", + "songID": 349, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9027, + "notecount": 468, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9b99ebfd88d95646e8f0f08efead35e826964be", + "difficulty": "ANOTHER", + "songID": 349, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9027, + "notecount": 908, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6caf65daad1ae86babf6947e826e83283c851987", + "difficulty": "HYPER", + "songID": 349, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9027, + "notecount": 714, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4dac6266aa07b23c6e3a0c3081a2533392741ad8", + "difficulty": "NORMAL", + "songID": 349, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9027, + "notecount": 468, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "9-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ccbd90e6445951952412896da2539b4b76e0ffd", + "difficulty": "ANOTHER", + "songID": 350, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 9028, + "notecount": 1562, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "13-cs", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e55858e9a438fd463a1510ac7d07ae23bc440494", + "difficulty": "HYPER", + "songID": 350, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 9028, + "notecount": 1056, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "13-cs", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ce62ed091768280521adaf3433d7123b3842838", + "difficulty": "NORMAL", + "songID": 350, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9028, + "notecount": 710, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "13-cs", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b1dea115384791aebc0217eb54e3a50a0f16c50", + "difficulty": "ANOTHER", + "songID": 350, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 9028, + "notecount": 1161, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "13-cs", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "cbf10d8a9f4eb53f15b1a1cdc23a4d5dca8f9b46", + "difficulty": "HYPER", + "songID": 350, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9028, + "notecount": 901, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "13-cs", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2cefe36d1fc344d7efc0b70d5605387eb0c12857", + "difficulty": "NORMAL", + "songID": 350, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9028, + "notecount": 591, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "13-cs", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b53446cea14c031093c5a840c1ced875e0e156fd", + "difficulty": "ANOTHER", + "songID": 351, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9029, + "notecount": 1005, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cee8c2e0f0de42f0822875aa07925aff2ef706d1", + "difficulty": "HYPER", + "songID": 351, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9029, + "notecount": 890, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83c1fa9813ecdbc79f3d32ac41c62e3bdd1f4f8b", + "difficulty": "NORMAL", + "songID": 351, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9029, + "notecount": 637, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fbdad8a6b0a87b6a8f200eb6ef81f70b52149a99", + "difficulty": "ANOTHER", + "songID": 351, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9029, + "notecount": 935, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "950d9fc0d8d9015ed84ffee92394d4babb247fe7", + "difficulty": "HYPER", + "songID": 351, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9029, + "notecount": 864, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "86ac01703104031ce88d86cde523c71472d16aab", + "difficulty": "NORMAL", + "songID": 351, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9029, + "notecount": 532, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d495e31161312106f25ecea1220ac6d18ef663bf", + "difficulty": "ANOTHER", + "songID": 352, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9030, + "notecount": 1037, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "147d8d7dc6c3970c3d6a152b84d085846558668f", + "difficulty": "HYPER", + "songID": 352, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9030, + "notecount": 762, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "9-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9bede71ff84ec3ac1fd36aea40e37700defbb2f", + "difficulty": "NORMAL", + "songID": 352, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9030, + "notecount": 598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "9-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9140164567e638c3dafc91c908e808963f629b1", + "difficulty": "ANOTHER", + "songID": 352, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9030, + "notecount": 1038, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "46c5b266f5d86c5d8443d1b344a4d0984edbf4fe", + "difficulty": "HYPER", + "songID": 352, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9030, + "notecount": 704, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52b740dcd5e00ecc3b16af39f3e4d5a5efa1ab77", + "difficulty": "NORMAL", + "songID": 352, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9030, + "notecount": 534, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "9-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45836b4b2f9f5dbc3e3c8dced0b1fab85fdfadae", + "difficulty": "ANOTHER", + "songID": 353, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9031, + "notecount": 823, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98474b55bb0ba7d56c458689fb57c83949deeca0", + "difficulty": "HYPER", + "songID": 353, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9031, + "notecount": 780, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9481522ec8df5f48ec77c0b4fa656d64305f25a8", + "difficulty": "NORMAL", + "songID": 353, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9031, + "notecount": 607, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8099378ac6ecef283a2ce52cd7ddced1101c756", + "difficulty": "ANOTHER", + "songID": 353, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9031, + "notecount": 828, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd53413103cc52b14cd55c309577cc904a0c6d1f", + "difficulty": "HYPER", + "songID": 353, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9031, + "notecount": 592, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1788a93db50725b271df4e9d4a850501bd9ff6c", + "difficulty": "NORMAL", + "songID": 353, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9031, + "notecount": 405, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fbc3a541e598aaa798b167dd59b47979b2a87122", + "difficulty": "ANOTHER", + "songID": 354, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9032, + "notecount": 879, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a45d412d62674d30e62674d9fa06006248a5a577", + "difficulty": "HYPER", + "songID": 354, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9032, + "notecount": 818, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "58095f7e6c2456b173229aee1f9285d905de4c3a", + "difficulty": "NORMAL", + "songID": 354, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9032, + "notecount": 581, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "991a0ebf254b7baef8725eef5bd0d3a622191fd2", + "difficulty": "ANOTHER", + "songID": 354, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9032, + "notecount": 939, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84b6a32a0d832768c67f8f7dd81e3ad62e211707", + "difficulty": "HYPER", + "songID": 354, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9032, + "notecount": 818, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd30aeb7476fbd4c7d5929b83dd94a4c0588e78a", + "difficulty": "NORMAL", + "songID": 354, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9032, + "notecount": 393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c86a64c2b1da9fe743dd477c0cce782f711d0414", + "difficulty": "ANOTHER", + "songID": 355, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 9033, + "notecount": 965, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d80add4682cea47d587b1005b2a37f3835d28756", + "difficulty": "HYPER", + "songID": 355, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9033, + "notecount": 702, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "15-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a7e0f3a01be96370707be042bf5c5e804c17eac7", + "difficulty": "NORMAL", + "songID": 355, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9033, + "notecount": 551, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "15-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3946034af9cbbf9a8bb5f927811fe228525e0b4a", + "difficulty": "ANOTHER", + "songID": 355, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 9033, + "notecount": 930, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "52304c873e82a7d4e5dfcdd89e837b4f44c88189", + "difficulty": "HYPER", + "songID": 355, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9033, + "notecount": 704, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "15-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea0bdf15796c1d7c648ab66305b1ba93e62b152f", + "difficulty": "NORMAL", + "songID": 355, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9033, + "notecount": 335, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "15-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d380a92ef7c9f324114595c3301f73bdd4c374d", + "difficulty": "HYPER", + "songID": 356, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9034, + "notecount": 793, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fbd9ff50ddb35287697e66beef25f8eedde74a6b", + "difficulty": "NORMAL", + "songID": 356, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9034, + "notecount": 351, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dbfd2ecf145280cdcb1d6196a4005fcaa21bd1bf", + "difficulty": "ANOTHER", + "songID": 356, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9034, + "notecount": 947, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b194cb8b2aa80189567a7bab0949d067792a9086", + "difficulty": "BEGINNER", + "songID": 356, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 9034, + "notecount": 176, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2eb7501601c9b2a281e6f2845c1c26f316594640", + "difficulty": "HYPER", + "songID": 356, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9034, + "notecount": 806, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a98f4787891ee73197e166914968bf34eb802c5a", + "difficulty": "NORMAL", + "songID": 356, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9034, + "notecount": 351, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b64a6aa1f37eaed5791942c679ee3c24faae8c6", + "difficulty": "ANOTHER", + "songID": 357, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 9035, + "notecount": 1066, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f0571c0b7af0829b3d451d90787f5074783a1a1", + "difficulty": "HYPER", + "songID": 357, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9035, + "notecount": 587, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "115925c8ce6f9042fffa68953cacee6cb5a8b2db", + "difficulty": "NORMAL", + "songID": 357, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9035, + "notecount": 435, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51f16dbc69596078cbe9c9f45f913a909d3cbc77", + "difficulty": "ANOTHER", + "songID": 357, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9035, + "notecount": 860, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c0e74b533a79ef4db158a6243a04b69b9b26e145", + "difficulty": "HYPER", + "songID": 357, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9035, + "notecount": 699, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a8247a3d8e89445b87423c261079904fea9ff6c", + "difficulty": "NORMAL", + "songID": 357, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9035, + "notecount": 396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "95d11cd5ed8e88acab29ed5778ba22c291908b2a", + "difficulty": "ANOTHER", + "songID": 358, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9036, + "notecount": 681, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "444c2a89af2c916f6133065e052363718336ae85", + "difficulty": "HYPER", + "songID": 358, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9036, + "notecount": 346, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1f2d2de4853a5e4a50c87fe58c6f817f1f20896", + "difficulty": "NORMAL", + "songID": 358, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 9036, + "notecount": 184, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29767d8ef5cfbccecf63fd594fa04c775b691c53", + "difficulty": "ANOTHER", + "songID": 358, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9036, + "notecount": 679, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d18ca1177513ad0517f7fa57532419362b3c167", + "difficulty": "HYPER", + "songID": 358, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9036, + "notecount": 341, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ce547837a69e205e5082df9e7e5980d8e545aac", + "difficulty": "NORMAL", + "songID": 358, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 9036, + "notecount": 184, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4fdcd7506ce01adc7971f002783310d0f6f669a", + "difficulty": "ANOTHER", + "songID": 359, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 9037, + "notecount": 1132, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11de7e97dd3fb46963ae6e16d74606c39f874db4", + "difficulty": "HYPER", + "songID": 359, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9037, + "notecount": 924, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10237730c4c6cbb83489b5546e2912f6bba96786", + "difficulty": "NORMAL", + "songID": 359, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9037, + "notecount": 634, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3dfa2557014fb320f821d4064bed9da0d4ef49c4", + "difficulty": "ANOTHER", + "songID": 359, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9037, + "notecount": 1137, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1dfb482ad91afbce6f81eae0ba458d2bcf1b94b7", + "difficulty": "HYPER", + "songID": 359, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9037, + "notecount": 963, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "062df60531a6499faeab296071a2e350db0cd8a3", + "difficulty": "NORMAL", + "songID": 359, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9037, + "notecount": 503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a038f883ad32dda74b2984581f8bae13f3bb1ad", + "difficulty": "ANOTHER", + "songID": 360, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9038, + "notecount": 1110, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3fc4f2c5d58ebb43cf87c1bf4d86b042fed6583a", + "difficulty": "HYPER", + "songID": 360, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9038, + "notecount": 790, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e19b02e20306e6b5b6aa1f01640e447d0b166bad", + "difficulty": "LEGGENDARIA", + "songID": 360, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 9038, + "notecount": 1426, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0da5e5b3c9e287f5e6f2139953b5887c688210df", + "difficulty": "NORMAL", + "songID": 360, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9038, + "notecount": 632, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2fa5e9e93434d0eb328962d41947e91ffe5f495d", + "difficulty": "ANOTHER", + "songID": 360, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 9038, + "notecount": 1177, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": true + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "43e8309c6686cb9a26435a6f5a81c2a44c2654e8", + "difficulty": "HYPER", + "songID": 360, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9038, + "notecount": 985, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ddbb3dd80c0e660220387af3d6b1587372958d9d", + "difficulty": "NORMAL", + "songID": 360, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9038, + "notecount": 695, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0eed10625326d31177af32d669fe09579cd80f2e", + "difficulty": "HYPER", + "songID": 361, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9039, + "notecount": 861, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3be4c11c1f44108323e82037207807903f4cc2a7", + "difficulty": "NORMAL", + "songID": 361, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9039, + "notecount": 333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55438f18b770837cf411d23ad7ae1f7fa9d6358d", + "difficulty": "ANOTHER", + "songID": 361, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9039, + "notecount": 898, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7524fb4d5fddcb424b586533ac86a1fb157bbbab", + "difficulty": "HYPER", + "songID": 361, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9039, + "notecount": 506, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b48708e9b76af9c0afae9bce2ec3ec6ad02970d", + "difficulty": "NORMAL", + "songID": 361, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9039, + "notecount": 333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "257ae78033bc03e63ea1b6d88fc325e69462a9a9", + "difficulty": "ANOTHER", + "songID": 362, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9040, + "notecount": 853, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "abb204666bcea2391e2fcee485da4c9885032b7b", + "difficulty": "HYPER", + "songID": 362, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9040, + "notecount": 637, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6339630d7118956b872e38632b88791c9df25722", + "difficulty": "NORMAL", + "songID": 362, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9040, + "notecount": 434, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d4d27a5bfa53d323ae5a32244b29d303a40d770", + "difficulty": "ANOTHER", + "songID": 362, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9040, + "notecount": 841, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "498b6d1388ce9f9672ba038a6b4b02aae4c8cc4c", + "difficulty": "BEGINNER", + "songID": 362, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 9040, + "notecount": 124, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c3106753aecd49d82fc8c4378e4a46350a47a7c4", + "difficulty": "HYPER", + "songID": 362, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9040, + "notecount": 654, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f02233900424d7ab7301e4657386686f12fbd58", + "difficulty": "NORMAL", + "songID": 362, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9040, + "notecount": 428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "899043d902ae2a78219787c617be72fda485b555", + "difficulty": "ANOTHER", + "songID": 363, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9041, + "notecount": 997, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ab833b247d4b9650fd360aa4a97335cb5fa27ed", + "difficulty": "HYPER", + "songID": 363, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9041, + "notecount": 485, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7002a1da61d44f86bfb91fcd90e6a16b825af9cb", + "difficulty": "NORMAL", + "songID": 363, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9041, + "notecount": 348, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52d1d0bfd9116a87a30d29c8821558c046a79f5b", + "difficulty": "ANOTHER", + "songID": 363, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9041, + "notecount": 732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "722bc6a1acda5d4cca780d9b7e3a6393e4e4df4a", + "difficulty": "HYPER", + "songID": 363, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9041, + "notecount": 444, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c94efed1cc22e5b6f1f680994b9a84f53b8f5ad", + "difficulty": "NORMAL", + "songID": 363, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9041, + "notecount": 326, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa76c9dc183e5b30bb5c7eb1c6abb4c17987f099", + "difficulty": "ANOTHER", + "songID": 364, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9042, + "notecount": 960, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ec9177f062ba2f620abb6c73730fe56e0407938a", + "difficulty": "HYPER", + "songID": 364, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9042, + "notecount": 673, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c585856190b36b7b0e3e34e977afd6020f1f5d42", + "difficulty": "NORMAL", + "songID": 364, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9042, + "notecount": 427, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "320f4ce5146e1db15980cc0158a26db03a8ed904", + "difficulty": "ANOTHER", + "songID": 364, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9042, + "notecount": 1046, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24b4c560ee3daa9a286cca100246b3dc06e96cf0", + "difficulty": "BEGINNER", + "songID": 364, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9042, + "notecount": 270, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "029d306644112c649ba78bfbda235380391c7695", + "difficulty": "HYPER", + "songID": 364, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9042, + "notecount": 921, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb304575258c611e56a8484fc253b10ae19e8548", + "difficulty": "NORMAL", + "songID": 364, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9042, + "notecount": 433, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1f369a899e8b413cb7e73b9fa963e68aed28e6c", + "difficulty": "HYPER", + "songID": 365, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9043, + "notecount": 661, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a74398fe7b1f2357f5618b6f895dcdb286f1bd46", + "difficulty": "NORMAL", + "songID": 365, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9043, + "notecount": 448, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f88c3edd499886bc5ab4652ca7f9c6fbfc040519", + "difficulty": "ANOTHER", + "songID": 365, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9043, + "notecount": 754, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b16f58fc621d24e3b824af153c60b683a5f360e", + "difficulty": "HYPER", + "songID": 365, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9043, + "notecount": 662, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "075b790a3a6fe702d3fb1dd8d9df704caa459a93", + "difficulty": "NORMAL", + "songID": 365, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9043, + "notecount": 448, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "09c8846e94b43fefb1bbaa9299aecb42b6a9a025", + "difficulty": "HYPER", + "songID": 366, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9044, + "notecount": 832, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ba3f5e9d493fabe82dae9df552ce19d8e98dd1e", + "difficulty": "NORMAL", + "songID": 366, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9044, + "notecount": 604, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a3ba2961e1b7990a94184cebcda95358885e417f", + "difficulty": "ANOTHER", + "songID": 366, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9044, + "notecount": 990, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b265815c38d61a23a6d874cd25ec7aa88037287", + "difficulty": "HYPER", + "songID": 366, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9044, + "notecount": 843, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee9272e3d0b6a64703867c7d9f178cb8a88912da", + "difficulty": "NORMAL", + "songID": 366, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9044, + "notecount": 557, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "676e4d916aee1bbce3638b97143b6740ba309b72", + "difficulty": "ANOTHER", + "songID": 367, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 9045, + "notecount": 1055, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "206bd008c8f429829cfb73fcf6228689c768897a", + "difficulty": "HYPER", + "songID": 367, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9045, + "notecount": 786, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a2c45e7268f232a0494fe1295dcbf8131651f1d", + "difficulty": "NORMAL", + "songID": 367, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9045, + "notecount": 519, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed20bda971518ff630d0035a9d262013180f91b0", + "difficulty": "ANOTHER", + "songID": 367, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9045, + "notecount": 1032, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a0cb0f2b474f3613ccca03e8bfdb45c311c22c36", + "difficulty": "HYPER", + "songID": 367, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9045, + "notecount": 784, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d03003871a2e16266535c1ba7e8b0d3ab7f199e2", + "difficulty": "NORMAL", + "songID": 367, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9045, + "notecount": 509, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b0583cdc16c53bdaaa0a75308dd9a05fbbbbc3d1", + "difficulty": "ANOTHER", + "songID": 368, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9046, + "notecount": 1023, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b3a1cf2dce249e4808256bb16d027afa3e00eca4", + "difficulty": "HYPER", + "songID": 368, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9046, + "notecount": 912, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "339e3d756e39e58903c2fcf1bec690afef053aa2", + "difficulty": "NORMAL", + "songID": 368, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9046, + "notecount": 636, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4af6639afec798301e735c273441f35ba19b0dfa", + "difficulty": "ANOTHER", + "songID": 368, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9046, + "notecount": 963, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "345f3d560b7352243d783788e623281a94c73d03", + "difficulty": "HYPER", + "songID": 368, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9046, + "notecount": 621, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "202e78ae62e73b28921568948bb8c3b678dec0ea", + "difficulty": "NORMAL", + "songID": 368, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9046, + "notecount": 468, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72355a8e720440a0ae6acc83e29d42b94f78cde0", + "difficulty": "HYPER", + "songID": 369, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9047, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2fe029678e774e5479d1b661a30ffbd57413e2fd", + "difficulty": "NORMAL", + "songID": 369, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9047, + "notecount": 342, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2ef8344b75e1bf27939cf7cd29bbeebbf17554c", + "difficulty": "ANOTHER", + "songID": 369, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9047, + "notecount": 859, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c2a04a7f8c023c8505e29188a6adc595978a466", + "difficulty": "HYPER", + "songID": 369, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9047, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b53395c51b96beea9c09fb6328454eb20c721298", + "difficulty": "NORMAL", + "songID": 369, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9047, + "notecount": 342, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b44a88f6a26c236a899bdd385a640cb619ed859", + "difficulty": "HYPER", + "songID": 370, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9048, + "notecount": 978, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d555d877456ef529681d7f555c14dd131a7643d", + "difficulty": "NORMAL", + "songID": 370, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9048, + "notecount": 715, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dfba5ce2aacc4dff2c82d2936c37c8e306c6a424", + "difficulty": "ANOTHER", + "songID": 370, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9048, + "notecount": 1001, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d4302dd4930cfd35cff11b1af72e992bef0e7ecf", + "difficulty": "HYPER", + "songID": 370, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9048, + "notecount": 824, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f4de90f7bb0216ff770a20c22f737ca262b407af", + "difficulty": "NORMAL", + "songID": 370, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9048, + "notecount": 671, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8db5d3226558dfd5bc34345e4d8e8c1ea344f7e3", + "difficulty": "ANOTHER", + "songID": 371, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9049, + "notecount": 873, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e68194979140d99764a248c112f4d6edd80eb1c5", + "difficulty": "HYPER", + "songID": 371, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9049, + "notecount": 499, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f117ec3c4d11467e905acc7a68ab21a3191c8ca", + "difficulty": "NORMAL", + "songID": 371, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 9049, + "notecount": 264, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e3bc6aa50f67ce2d8071a45d424b0fbfd72df61", + "difficulty": "ANOTHER", + "songID": 371, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9049, + "notecount": 727, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce867777ea0b0298ad95f5f3da141e60e088a15a", + "difficulty": "HYPER", + "songID": 371, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9049, + "notecount": 502, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd88f787fc0216f6213935f89bb1095cb8c71f86", + "difficulty": "NORMAL", + "songID": 371, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9049, + "notecount": 264, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c5902c4a9fcfadc84e190beabedb089391044ff0", + "difficulty": "HYPER", + "songID": 372, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9050, + "notecount": 973, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a3a42b9d37bae6877dda1f37feee67fa08cd8ff", + "difficulty": "NORMAL", + "songID": 372, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9050, + "notecount": 726, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a1cd7fd21cab64ba34c22e78330c944930e1a7a", + "difficulty": "HYPER", + "songID": 372, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9050, + "notecount": 729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7917333eac9df3fb4b530fe6fc23e30c50fc4bdd", + "difficulty": "NORMAL", + "songID": 372, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9050, + "notecount": 516, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fbd52bb08871b7f4c76d48f50f29d1367928dc43", + "difficulty": "ANOTHER", + "songID": 373, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9051, + "notecount": 1102, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "9-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aae4f8cc09295c1b7740884eaf61ec680b4c7457", + "difficulty": "HYPER", + "songID": 373, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9051, + "notecount": 1036, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "9-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f41091ca17b7c20b5d3674781d27e4fc2256d7d", + "difficulty": "LEGGENDARIA", + "songID": 373, + "playtype": "DP", + "levelNum": 0, + "level": "11", + "data": { + "inGameID": 9051, + "notecount": 1557, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "840cf17c36fdd2c04868835bf1cb4ef09a90e084", + "difficulty": "NORMAL", + "songID": 373, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9051, + "notecount": 803, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "9-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ca5a967f9c3490b6947d2d5ddd13af114a833c4", + "difficulty": "ANOTHER", + "songID": 373, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9051, + "notecount": 1188, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "9-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5770f819940914328b74fc7616b69562285eed11", + "difficulty": "BEGINNER", + "songID": 373, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9051, + "notecount": 288, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a0ce35dbc7045477418c5456beb8bf9a3a6e1a7", + "difficulty": "HYPER", + "songID": 373, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9051, + "notecount": 938, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "9-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4d9abe9bc50b087dd69b13c4743eebe38a8213bb", + "difficulty": "LEGGENDARIA", + "songID": 373, + "playtype": "SP", + "levelNum": 0, + "level": "11", + "data": { + "inGameID": 9051, + "notecount": 1637, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "40fb172b99ed7272f4fd6fb8b1bf1a46e7a6d69e", + "difficulty": "NORMAL", + "songID": 373, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9051, + "notecount": 766, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "9-cs", + "7-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9fc72016eaf6ac68ea2de7122d0599483853581", + "difficulty": "HYPER", + "songID": 374, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 9052, + "notecount": 1254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba592666e55b68df3813dcd64ee5e17a439b5e52", + "difficulty": "NORMAL", + "songID": 374, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9052, + "notecount": 993, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f23f57e23e03e207cfb74a7131507927885a7ee0", + "difficulty": "HYPER", + "songID": 374, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9052, + "notecount": 937, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27dbb72ce6c7ccdf070dcf870c572508ea0e8b27", + "difficulty": "NORMAL", + "songID": 374, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9052, + "notecount": 691, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b8fd945ef6663b89589a65406e971b3fb724c948", + "difficulty": "HYPER", + "songID": 375, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9053, + "notecount": 654, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "251385c1f7d0d713f6477099d18d1bae3e22dbae", + "difficulty": "NORMAL", + "songID": 375, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9053, + "notecount": 368, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7d0a25afbbcc9e19400d8cb76e9e4feaddadf775", + "difficulty": "ANOTHER", + "songID": 375, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9053, + "notecount": 897, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bfe813f280db7491a7d35868bba7a4dc0f555869", + "difficulty": "HYPER", + "songID": 375, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9053, + "notecount": 654, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c688cec0ac1650f667461527447c2be32db2e2f", + "difficulty": "NORMAL", + "songID": 375, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9053, + "notecount": 365, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12713cd7d79cd0e97841e5fc6b3ea4e11ea91286", + "difficulty": "ANOTHER", + "songID": 376, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9054, + "notecount": 989, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f03d23b29d539331e66804f05b9914efeab1e70", + "difficulty": "HYPER", + "songID": 376, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9054, + "notecount": 662, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e896f35ce2e2ac2a245b32387398e84a49c37f5", + "difficulty": "NORMAL", + "songID": 376, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9054, + "notecount": 420, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "15a9e5cc11cd36986653de81a81bfd3540c25e1e", + "difficulty": "ANOTHER", + "songID": 376, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9054, + "notecount": 910, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "344bacba6e6da0f4f8b1e792c621bb6287fb9167", + "difficulty": "HYPER", + "songID": 376, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9054, + "notecount": 644, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a5fe4f8b1cd128a0a0e5bb099bcb8e3b32d94d9", + "difficulty": "NORMAL", + "songID": 376, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9054, + "notecount": 423, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d356f824d20b0336c1e97dbfc37e6b84e1543f1", + "difficulty": "ANOTHER", + "songID": 377, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9055, + "notecount": 725, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b0a21cc6226e1eb4682127ed2e19024d33f6fe1d", + "difficulty": "HYPER", + "songID": 377, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9055, + "notecount": 518, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a6a852ed64f0cab92cab97f5a5bf4fbb099138f", + "difficulty": "NORMAL", + "songID": 377, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9055, + "notecount": 439, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d04b0287770c8d0700aebd54d6a30840a2a8a70", + "difficulty": "ANOTHER", + "songID": 377, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9055, + "notecount": 727, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "283ce1aa5648f46f560a05bb24406af87f042e2a", + "difficulty": "HYPER", + "songID": 377, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9055, + "notecount": 685, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ddf4401c45904d0e1dab660ea3527678d2c3f143", + "difficulty": "NORMAL", + "songID": 377, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9055, + "notecount": 397, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1bc42f233a1dba0ff3051d80398b68cb507594bd", + "difficulty": "HYPER", + "songID": 378, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9056, + "notecount": 561, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7970804139f09832a6a8f4061d2e2d0aed917c59", + "difficulty": "NORMAL", + "songID": 378, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9056, + "notecount": 439, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3d154d260d4d6bdc2b77c5331f01b507582bcff", + "difficulty": "HYPER", + "songID": 378, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9056, + "notecount": 484, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b3afada4b6df701f89d0c1007cf06b7aa45ace34", + "difficulty": "NORMAL", + "songID": 378, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9056, + "notecount": 388, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "678860bd17d32e3418c0ee15c46dc129059aed16", + "difficulty": "ANOTHER", + "songID": 379, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 9057, + "notecount": 1151, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aae5fadcab1318480edadaa55260db1f4be312a1", + "difficulty": "HYPER", + "songID": 379, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9057, + "notecount": 817, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2df3898c4ac563fd826a7876ad68465a7e9b59d6", + "difficulty": "NORMAL", + "songID": 379, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9057, + "notecount": 521, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "39ffc798e624185e51a3f49fb636ea737f2529cd", + "difficulty": "ANOTHER", + "songID": 379, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 9057, + "notecount": 959, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c0c78827309223a39e86200bdb052bd5be950c85", + "difficulty": "HYPER", + "songID": 379, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9057, + "notecount": 508, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a5af8fe83af1b4d9672b0d998ab31daa2b749eb5", + "difficulty": "NORMAL", + "songID": 379, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9057, + "notecount": 405, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dab89fadc29ef55801eb766eb792821c69bcce59", + "difficulty": "ANOTHER", + "songID": 380, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9058, + "notecount": 984, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f15a30b61499a96bfe3cae9747b336bdb99e509", + "difficulty": "HYPER", + "songID": 380, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9058, + "notecount": 825, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50db6e2b093498f6ce8afbe65c1eaf26ddfaaaef", + "difficulty": "NORMAL", + "songID": 380, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9058, + "notecount": 381, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "91a236626ade486411acdbc17fd13dd5e2b905f7", + "difficulty": "ANOTHER", + "songID": 380, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9058, + "notecount": 889, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d0796a184fda913b71e9b46d7822ee5e52025fb", + "difficulty": "HYPER", + "songID": 380, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 9058, + "notecount": 750, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10fa0d3a5d55ab5791565c86a3ad224cd3e4d23a", + "difficulty": "NORMAL", + "songID": 380, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9058, + "notecount": 363, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f7b6ffef0a1716426893c33d483340c93e7ae82", + "difficulty": "ANOTHER", + "songID": 381, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9059, + "notecount": 1044, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa9166611b061aa40278341c61726295cedb7164", + "difficulty": "HYPER", + "songID": 381, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9059, + "notecount": 620, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "266d3e10e64e35113690dd0dc192a9dd47a4f53b", + "difficulty": "NORMAL", + "songID": 381, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9059, + "notecount": 440, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c8df8a0b29b42b28effdc21bed75a1b943cb24a", + "difficulty": "ANOTHER", + "songID": 381, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9059, + "notecount": 1062, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ec1b0baa839d0ac69b32fe5471c8ba9e6d66870", + "difficulty": "HYPER", + "songID": 381, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9059, + "notecount": 875, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a3f24fc6c51a68d0f96490ba9f832350da648067", + "difficulty": "NORMAL", + "songID": 381, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9059, + "notecount": 478, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "991f5dc2a77e3f81f29ab54191fc27c5822d2e68", + "difficulty": "ANOTHER", + "songID": 382, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9201, + "notecount": 955, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9723ed2b0b69006430bed7bc920c08c3f20f6ce", + "difficulty": "HYPER", + "songID": 382, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9201, + "notecount": 822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b31f3969e31f0437639525e495f9a365574c5e98", + "difficulty": "NORMAL", + "songID": 382, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9201, + "notecount": 434, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "884f2bd81df66c2a4787d347df7366d1999d36c2", + "difficulty": "ANOTHER", + "songID": 382, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 9201, + "notecount": 996, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2617e39570a396a1c14580462b90f051a06bc72", + "difficulty": "HYPER", + "songID": 382, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9201, + "notecount": 858, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c9cb38ead3d2d49d3b1520a2b9a0d7e1a9feea85", + "difficulty": "NORMAL", + "songID": 382, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9201, + "notecount": 436, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4159f1705425307f5a9d2338880968fea44889d1", + "difficulty": "HYPER", + "songID": 383, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9202, + "notecount": 554, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29d49b866f5a9cf9b7f087281e450ad9d71e3b7f", + "difficulty": "NORMAL", + "songID": 383, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9202, + "notecount": 366, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4933094858708b0b88ccb9e33b6170b2b40fde90", + "difficulty": "ANOTHER", + "songID": 383, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9202, + "notecount": 984, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6cca149c6dc7e132ab4620935b1161d48c5c2c03", + "difficulty": "HYPER", + "songID": 383, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 9202, + "notecount": 553, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ab063517d7c8b49c4f3cafa83df16dede699ba5", + "difficulty": "NORMAL", + "songID": 383, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9202, + "notecount": 366, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba77b6670477b034d02adcbc80f0f16c71d82b9e", + "difficulty": "ANOTHER", + "songID": 384, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 9204, + "notecount": 1163, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "475bb1bd29c12e4465b3e10d49ea8cc31b72bbe9", + "difficulty": "HYPER", + "songID": 384, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 9204, + "notecount": 464, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2bab35505b0817291cbc5a21fc4e0e61dcd4134a", + "difficulty": "NORMAL", + "songID": 384, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9204, + "notecount": 356, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12667b667ee2018838116e248fb3c2d41efe2080", + "difficulty": "ANOTHER", + "songID": 384, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 9204, + "notecount": 810, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a34c8e07c1bcbfd97a2dcb8a09ee1c475796e09", + "difficulty": "HYPER", + "songID": 384, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 9204, + "notecount": 494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "25add7825f9337f01338feac92e1c6dec031df38", + "difficulty": "NORMAL", + "songID": 384, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9204, + "notecount": 333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe2ce83780507598e8cb8a2484c89c1d84f544c3", + "difficulty": "HYPER", + "songID": 385, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9401, + "notecount": 431, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6900a42851f084016fada32872c7115214cb7262", + "difficulty": "NORMAL", + "songID": 385, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9401, + "notecount": 329, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a4ce71dc127fa6820f28223f434ec7cae95e9e4", + "difficulty": "HYPER", + "songID": 385, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9401, + "notecount": 352, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "39111a95dec2e4fb1b406a50fcb3e0c7b7e3bf2b", + "difficulty": "NORMAL", + "songID": 385, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9401, + "notecount": 220, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2195a467192c5d394da28557c9d1bd5dd2dec4c2", + "difficulty": "HYPER", + "songID": 386, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9402, + "notecount": 456, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5accd29768141557cf597dd0d5f277cf3e4b2787", + "difficulty": "NORMAL", + "songID": 386, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 9402, + "notecount": 332, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b0831dbde8a52ae377be6aaddea37ec0771a49f", + "difficulty": "BEGINNER", + "songID": 386, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 9402, + "notecount": 147, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10d26357eccf8ceb1187225af687db262eaf9df3", + "difficulty": "HYPER", + "songID": 386, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9402, + "notecount": 326, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b185119b4a1d99f754d5119d559b36fe28aad81", + "difficulty": "NORMAL", + "songID": 386, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 9402, + "notecount": 197, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a6d0e0db9c8d2123fad190590062fb1355ef4205", + "difficulty": "HYPER", + "songID": 387, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9403, + "notecount": 278, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "400b96c033106846cc91962f83d5b962b7260406", + "difficulty": "NORMAL", + "songID": 387, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 9403, + "notecount": 168, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f92bf3627e07e836a5d68aa538f33b3563ed167", + "difficulty": "BEGINNER", + "songID": 387, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 9403, + "notecount": 168, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "44b1d193662283179753a673a65b37785b862cf9", + "difficulty": "HYPER", + "songID": 387, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9403, + "notecount": 278, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "822ab4e39c438842e1c358e3fb3ef72f66c78965", + "difficulty": "NORMAL", + "songID": 387, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 9403, + "notecount": 168, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "917e0bb6a30fbeb592dc6c5977e9baf472f042dc", + "difficulty": "HYPER", + "songID": 388, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9404, + "notecount": 384, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b1423975cca9de5c381ec83e39c54579b4df70f", + "difficulty": "NORMAL", + "songID": 388, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9404, + "notecount": 286, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "75373c0c4d1dfef62de50bbb25085f729a20a72a", + "difficulty": "BEGINNER", + "songID": 388, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 9404, + "notecount": 93, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "65cbd89ef6e1f7742c69badd1036aa5102d6f967", + "difficulty": "HYPER", + "songID": 388, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9404, + "notecount": 388, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a57fa1731c8e60acef0d6cf109d76d81581c2c6a", + "difficulty": "NORMAL", + "songID": 388, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9404, + "notecount": 210, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4ad85f96609b276918350d2bec8b95bc8690d87f", + "difficulty": "HYPER", + "songID": 389, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9405, + "notecount": 258, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6284a1b134476a41a7d0ea7dbd83c718b96525eb", + "difficulty": "NORMAL", + "songID": 389, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 9405, + "notecount": 192, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0cca3d6b4361195e883c79017e9850bc767b4f22", + "difficulty": "BEGINNER", + "songID": 389, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 9405, + "notecount": 163, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "71bb8c411cd3aa1267fb33555327d6bae513932c", + "difficulty": "HYPER", + "songID": 389, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9405, + "notecount": 250, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a4c7b196684a0a39fd6126ddf27e4d8b2dc934c3", + "difficulty": "NORMAL", + "songID": 389, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 9405, + "notecount": 191, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d4e2830d2779a699b2e103fbfb7035d8f980b2d", + "difficulty": "HYPER", + "songID": 390, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 9406, + "notecount": 218, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a1dcbb2c68a062b55281ad0dfb8b0665504aa93", + "difficulty": "NORMAL", + "songID": 390, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9406, + "notecount": 185, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dcd047a218e17011c7ab340236af62be64893781", + "difficulty": "BEGINNER", + "songID": 390, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 9406, + "notecount": 157, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "429e4fcf619d0794df047c9de4647d297d000763", + "difficulty": "HYPER", + "songID": 390, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 9406, + "notecount": 218, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9faeac10353ebdfd7744160d7791c4860d9b58f", + "difficulty": "NORMAL", + "songID": 390, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 9406, + "notecount": 185, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8dbbdd61002eef10bce29059783fe4f60395372e", + "difficulty": "ANOTHER", + "songID": 391, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 10001, + "notecount": 1040, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68ac1a8854bfa69ef578b67f7bb78e074f325b11", + "difficulty": "HYPER", + "songID": 391, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10001, + "notecount": 805, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1523a5d898ca623ebbb5c8f43732b223a7a07e9", + "difficulty": "NORMAL", + "songID": 391, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10001, + "notecount": 509, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c883e87e17404babf6003c32664d70a6edfe70c", + "difficulty": "ANOTHER", + "songID": 391, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10001, + "notecount": 931, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "127b217cdeec5bcacb408fa64f26cb15d6754687", + "difficulty": "HYPER", + "songID": 391, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10001, + "notecount": 852, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b5e260401e0f5cfd55503d488e5f048239ce7890", + "difficulty": "NORMAL", + "songID": 391, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10001, + "notecount": 455, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93fd0a26fa978550b958892683482150a3e9515a", + "difficulty": "ANOTHER", + "songID": 392, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 10002, + "notecount": 1159, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d94f31480f8e26e24c93042d41801d46f1930f7d", + "difficulty": "HYPER", + "songID": 392, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10002, + "notecount": 779, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "38e20528f0899830a1b4925d2713ac7721d4c459", + "difficulty": "NORMAL", + "songID": 392, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10002, + "notecount": 596, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c0f1e22c9d7b81bbda3035fc3e0ed9bddf3b92e", + "difficulty": "ANOTHER", + "songID": 392, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10002, + "notecount": 1089, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6940efc3220b98378ca356a0a05ab92d4467afe1", + "difficulty": "HYPER", + "songID": 392, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10002, + "notecount": 865, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "faa60d64aa0ab4882de67ae5010d5b890ba66b17", + "difficulty": "NORMAL", + "songID": 392, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10002, + "notecount": 598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f626d4eca18dc2b9ee9c8a026fa402e2198191e7", + "difficulty": "ANOTHER", + "songID": 393, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 10003, + "notecount": 1455, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "435c5c2c2d6a0d45cc771b9cd859e72f9f79a0b4", + "difficulty": "HYPER", + "songID": 393, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10003, + "notecount": 923, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c698e073c3a028d107351a43cf7b06f1485184f4", + "difficulty": "NORMAL", + "songID": 393, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10003, + "notecount": 600, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0625d554bf2566211c6f45c38fd6aa0473ffedd4", + "difficulty": "ANOTHER", + "songID": 393, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10003, + "notecount": 922, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9d15d3c8ee6a48201688c71939a6d46443777eb", + "difficulty": "HYPER", + "songID": 393, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10003, + "notecount": 767, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dedfd1128df6da4cd856396a1bc652d709e18927", + "difficulty": "NORMAL", + "songID": 393, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10003, + "notecount": 541, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f825c540beda3b8d8a42e4de4b3685860d81570", + "difficulty": "ANOTHER", + "songID": 394, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 10004, + "notecount": 1639, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "10-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c541ccb2e9257edce48a5059d95432494bd2efc2", + "difficulty": "HYPER", + "songID": 394, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10004, + "notecount": 1185, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "10-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "615ea1b9c3b7e1ac70862fb5ec53e13be21469cf", + "difficulty": "NORMAL", + "songID": 394, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10004, + "notecount": 778, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "10-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82ba80279a260bf524cc8bcc7fd13f7d07471d0e", + "difficulty": "ANOTHER", + "songID": 394, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 10004, + "notecount": 1607, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "10-cs", + "bmus", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "cf54d4826c168d9a27217502d70588d1ba8fb439", + "difficulty": "HYPER", + "songID": 394, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10004, + "notecount": 1376, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "10-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11361cf03c61de9bf888728596593eac72f693dd", + "difficulty": "NORMAL", + "songID": 394, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10004, + "notecount": 855, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "10-cs", + "bmus", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2678815cb715db6a8cdfb576daf8741bda57af12", + "difficulty": "HYPER", + "songID": 395, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10006, + "notecount": 854, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ec55a570405779ba1385d7f67f5d9f4fe69b2eeb", + "difficulty": "NORMAL", + "songID": 395, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10006, + "notecount": 450, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6dbaa332d3ad1c9570e5fa3bcfd78da851a5b846", + "difficulty": "ANOTHER", + "songID": 395, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10006, + "notecount": 1131, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94b66ba942c130ca42dbcd2d21eadd301b0e6da4", + "difficulty": "HYPER", + "songID": 395, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10006, + "notecount": 829, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c936b37d2da9b034562cd3e05d03e2e5a38d42ce", + "difficulty": "NORMAL", + "songID": 395, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10006, + "notecount": 448, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fed5c5654d9469b1258f1cf518e183da7fd387ce", + "difficulty": "HYPER", + "songID": 396, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10007, + "notecount": 830, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28912424656aac41bdd526353be789b21500373c", + "difficulty": "NORMAL", + "songID": 396, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 10007, + "notecount": 387, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d32d1c92e0e8ad5bbcc63ec4f7da05c10942be1", + "difficulty": "ANOTHER", + "songID": 396, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10007, + "notecount": 982, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d821202823731335567f32730bfed70d5bfd1368", + "difficulty": "BEGINNER", + "songID": 396, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 10007, + "notecount": 161, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12858beffcd59115fc4ce3efaefbcfad31133abf", + "difficulty": "HYPER", + "songID": 396, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10007, + "notecount": 725, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ee96e0d34274a557836775858f3634808b5b601", + "difficulty": "NORMAL", + "songID": 396, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 10007, + "notecount": 387, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b2c9700f022e74df369c4a8c717f35c77392226", + "difficulty": "ANOTHER", + "songID": 397, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10008, + "notecount": 996, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3eaa5f8fd5faa658d168ac4fcb157b4d5038d35", + "difficulty": "HYPER", + "songID": 397, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10008, + "notecount": 583, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7475aed2f261e300a863c0ed90f6f71a252f2836", + "difficulty": "NORMAL", + "songID": 397, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10008, + "notecount": 443, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e1bb50c976decc86c906efa99672dc4ff5f8341", + "difficulty": "ANOTHER", + "songID": 397, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10008, + "notecount": 747, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "739135b8f5d70f9e6a22cd5e6ec56a559cb02ac5", + "difficulty": "HYPER", + "songID": 397, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10008, + "notecount": 552, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9eddbb5631d325dccb1bd13b8bad10743c1e3ca", + "difficulty": "NORMAL", + "songID": 397, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10008, + "notecount": 418, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8dea38d9ed8ae3fd4f3fd319fb29dfdabfbdd113", + "difficulty": "ANOTHER", + "songID": 398, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 10009, + "notecount": 1178, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e846a5f9e78782c60d2be92608035ac09b015c9", + "difficulty": "HYPER", + "songID": 398, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10009, + "notecount": 858, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bcff34c8923cf62c8d2f5b230ac25449dcbd3308", + "difficulty": "NORMAL", + "songID": 398, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10009, + "notecount": 624, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d5edc93f6cfd01b026d5440f182d794902e2197", + "difficulty": "ANOTHER", + "songID": 398, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10009, + "notecount": 1146, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7cf0d40035455ca8a4607e6fe1247177c5e38e82", + "difficulty": "HYPER", + "songID": 398, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10009, + "notecount": 855, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1b0a8130d8eae8c913f3c1b3b11e4dc5cb9d5a3", + "difficulty": "NORMAL", + "songID": 398, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10009, + "notecount": 651, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ec0affc6b48a971b3fbe48fb2f186a281fd52507", + "difficulty": "ANOTHER", + "songID": 399, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10010, + "notecount": 1088, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bc16aad586eb4885167842987613192ef06b9117", + "difficulty": "HYPER", + "songID": 399, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10010, + "notecount": 738, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f68f9ca2f7c3f45c8ea97f8cab41ef52ad61385d", + "difficulty": "NORMAL", + "songID": 399, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10010, + "notecount": 522, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c87916cbd3c94a609ec68a83cce68b7d9d62806", + "difficulty": "ANOTHER", + "songID": 399, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10010, + "notecount": 1037, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d8fce0d83f6bbad9ba235022b84b66e466f5975f", + "difficulty": "HYPER", + "songID": 399, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10010, + "notecount": 702, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49901e0e8b7f240ce27197eeaac3390407276ff2", + "difficulty": "NORMAL", + "songID": 399, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10010, + "notecount": 510, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "67d1282a5a5f57ed89ac16612be02d8c7c7d4db0", + "difficulty": "ANOTHER", + "songID": 400, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10011, + "notecount": 824, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6db41591410566e57e653e47e4e678281f70fc84", + "difficulty": "HYPER", + "songID": 400, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10011, + "notecount": 637, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4dadaa9e703516224cf0cfae0565a5e220fcb6f9", + "difficulty": "NORMAL", + "songID": 400, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10011, + "notecount": 429, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "445e2eff65e356090b052c6ad7c9a5d1529cca6b", + "difficulty": "ANOTHER", + "songID": 400, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10011, + "notecount": 794, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "439bb68fc96706a86a98d437e4f03e032597bc7c", + "difficulty": "BEGINNER", + "songID": 400, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 10011, + "notecount": 189, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2d60f967bb90b3451c9c2360a17c24842072ecf", + "difficulty": "HYPER", + "songID": 400, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10011, + "notecount": 621, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3f14206ee75d9909e4ed0f651690f36d777d440", + "difficulty": "NORMAL", + "songID": 400, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10011, + "notecount": 413, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1782b1bce38e851573e2297adc3d744834d26f56", + "difficulty": "ANOTHER", + "songID": 401, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10012, + "notecount": 808, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2eb4f8494e210087bf8c8759eb9638aab18bd0a5", + "difficulty": "HYPER", + "songID": 401, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10012, + "notecount": 665, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "baf5dece0b318aa0fb19835ab45105d5b54de57f", + "difficulty": "NORMAL", + "songID": 401, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10012, + "notecount": 548, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f756e534513da86ce9a2b3b189a08279163b05e", + "difficulty": "ANOTHER", + "songID": 401, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10012, + "notecount": 719, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d73cea2fe9e020f11c750564f6becb1b9ad95c9", + "difficulty": "HYPER", + "songID": 401, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10012, + "notecount": 533, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4751d4133b1c027e4e3c2a9108d396e7a5bf404d", + "difficulty": "NORMAL", + "songID": 401, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 10012, + "notecount": 298, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50cce31ad081d5b6be56b55e0468a542290a285b", + "difficulty": "ANOTHER", + "songID": 402, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10013, + "notecount": 967, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ded3740abfe6bb73da86a609012624e47869635b", + "difficulty": "HYPER", + "songID": 402, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10013, + "notecount": 967, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d4ea1dfa9a915e04edffab40230eed74f0fb4edc", + "difficulty": "NORMAL", + "songID": 402, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10013, + "notecount": 521, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5cb288da66e473886dab33a58ccd74d6906d346b", + "difficulty": "ANOTHER", + "songID": 402, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10013, + "notecount": 1031, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55691e450ef822ffaaf2c32764f014abd9f0d4a5", + "difficulty": "HYPER", + "songID": 402, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10013, + "notecount": 930, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c05dca5812b7e5cc5c669d65f01b343127389988", + "difficulty": "NORMAL", + "songID": 402, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10013, + "notecount": 440, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf8fe741af23c0e813b5c68c0b367e90cc478811", + "difficulty": "ANOTHER", + "songID": 403, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10014, + "notecount": 880, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "216ff24edab7efc19a4f2617bff3253eef41bde9", + "difficulty": "HYPER", + "songID": 403, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10014, + "notecount": 717, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d9ed745f98a7d0237c6b8cd105b0c20ef65ef8b", + "difficulty": "NORMAL", + "songID": 403, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 10014, + "notecount": 401, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9fbf9bc0ed28b674e98c0d4d9429d0c062aba99c", + "difficulty": "ANOTHER", + "songID": 403, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10014, + "notecount": 753, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd4434e7a416256cec36debae228af29a4491f3c", + "difficulty": "HYPER", + "songID": 403, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10014, + "notecount": 677, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "842e23b4a1ce2ff02d7da4b17edd4157a6a75657", + "difficulty": "NORMAL", + "songID": 403, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 10014, + "notecount": 333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "054e937930836aa968f81c7453be7442ee9332e2", + "difficulty": "ANOTHER", + "songID": 404, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10015, + "notecount": 863, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e355a375a0cd138cdbaa19bc2590395fcffc7447", + "difficulty": "HYPER", + "songID": 404, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10015, + "notecount": 584, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a5adb360836190606502dc284979f17188e64f2", + "difficulty": "NORMAL", + "songID": 404, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10015, + "notecount": 441, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "69bc0456fb64419742b545f910830bfcea5bcc64", + "difficulty": "ANOTHER", + "songID": 404, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10015, + "notecount": 689, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79c7ad40e434a5bc0cb139c9e6e0ad06730e9ea1", + "difficulty": "BEGINNER", + "songID": 404, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 10015, + "notecount": 143, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "332715242db60c9ceb1f70093b9586a8f9cdcdd8", + "difficulty": "HYPER", + "songID": 404, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10015, + "notecount": 570, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a699f077fa4086b2232431c5d3c6671386e3a42", + "difficulty": "NORMAL", + "songID": 404, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 10015, + "notecount": 288, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9832878e4723f3f007fd357bbb0238a8f715d58", + "difficulty": "HYPER", + "songID": 405, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10016, + "notecount": 908, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4ec00056b8ace4b75a1b97ad665e6458b9f752c2", + "difficulty": "NORMAL", + "songID": 405, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10016, + "notecount": 484, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f351c7823851afc960d69acf1089f10393d3491", + "difficulty": "ANOTHER", + "songID": 405, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 10016, + "notecount": 1167, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e628819753488c7ffa353ef9d5b86ce54ef0f4d9", + "difficulty": "HYPER", + "songID": 405, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10016, + "notecount": 903, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb7db820f48d5431c58855fc3cc1880151d40e8d", + "difficulty": "NORMAL", + "songID": 405, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10016, + "notecount": 485, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b47d04de821ad9658b1e8e7387be56fe19e9824", + "difficulty": "HYPER", + "songID": 406, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10017, + "notecount": 886, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae87237ffc0d2db1d0387cc4e85626f9a270f77d", + "difficulty": "NORMAL", + "songID": 406, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10017, + "notecount": 457, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d90cda725e56c0e22f16a9b75b775b92c7c45fc4", + "difficulty": "ANOTHER", + "songID": 406, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10017, + "notecount": 1023, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "979c6cf1af082ce412faeb165e463d7baa51796b", + "difficulty": "HYPER", + "songID": 406, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10017, + "notecount": 901, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d1042a348ec7dbb38306d6deeba23fb03cd0263", + "difficulty": "NORMAL", + "songID": 406, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10017, + "notecount": 458, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74c769bab197402b1cf5f3197b3331012933d9d2", + "difficulty": "ANOTHER", + "songID": 407, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 10018, + "notecount": 1190, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12fc82de8d35521da933e3d46e075e1cfcbb1970", + "difficulty": "HYPER", + "songID": 407, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10018, + "notecount": 765, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e8d3ce4c3137bfd79522fefb0752c07cf98e1669", + "difficulty": "NORMAL", + "songID": 407, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10018, + "notecount": 519, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35b2c66fb175543f43f9e04750b97fc9f085e8cf", + "difficulty": "ANOTHER", + "songID": 407, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 10018, + "notecount": 1134, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c2ec19d017a37e9721f73cdbe64a066edeb1de98", + "difficulty": "HYPER", + "songID": 407, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10018, + "notecount": 768, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "022d8df415be690d235b9289fe38f117e137834b", + "difficulty": "NORMAL", + "songID": 407, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 10018, + "notecount": 328, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68a2dfeaa07376aeeed581dbd1f82b2de9fc238d", + "difficulty": "ANOTHER", + "songID": 408, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10019, + "notecount": 1160, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6379c40ff0658a98e9daeea1fa61572f49802787", + "difficulty": "HYPER", + "songID": 408, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10019, + "notecount": 828, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "42b35e825fac002c9784074fb29225371b35c49e", + "difficulty": "NORMAL", + "songID": 408, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10019, + "notecount": 621, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c52f80d3e01b38d6b4711e5a4e5fca9272825dcc", + "difficulty": "ANOTHER", + "songID": 408, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10019, + "notecount": 1086, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe7ddd85dc1f3c03da5d1a600fd1a4c77a51c16f", + "difficulty": "HYPER", + "songID": 408, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10019, + "notecount": 835, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8863606eb313089722496f326dfe0fddca27ad01", + "difficulty": "NORMAL", + "songID": 408, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10019, + "notecount": 602, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af14e55881f22388151fa9363cbc7864d1a413c7", + "difficulty": "ANOTHER", + "songID": 409, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 10020, + "notecount": 1159, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "09f08e8e4483937f7aad48ca6d6e248a8366b867", + "difficulty": "HYPER", + "songID": 409, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10020, + "notecount": 882, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f939835c517f0c4dc2e155787ff999691a9cc9ae", + "difficulty": "NORMAL", + "songID": 409, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10020, + "notecount": 683, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0607af2455b7ed7d65ff54c034ec5d13602e6fe3", + "difficulty": "ANOTHER", + "songID": 409, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10020, + "notecount": 1094, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db1b1f8514e112fd0cf2533f175e59867bda44be", + "difficulty": "HYPER", + "songID": 409, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10020, + "notecount": 841, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f06506eca651416069311451668a587a1352496", + "difficulty": "NORMAL", + "songID": 409, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10020, + "notecount": 652, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6eddbfdfdacd3b42757728cf8a8ef8d2bf4687da", + "difficulty": "HYPER", + "songID": 410, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10021, + "notecount": 765, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f4127d4fae672eb2ccdb99937aabd8e21c12a0fe", + "difficulty": "NORMAL", + "songID": 410, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 10021, + "notecount": 321, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e025cfdbd94f20c30129b4aadd366a45aa526d9", + "difficulty": "ANOTHER", + "songID": 410, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10021, + "notecount": 835, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cac51714084d1a9050a5dd96a9948abe647ca698", + "difficulty": "HYPER", + "songID": 410, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10021, + "notecount": 765, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "098f3385a6f1e9b77396a7bcb9329763092eef93", + "difficulty": "NORMAL", + "songID": 410, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 10021, + "notecount": 321, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d06f9c9efce5974573e943dba4d65492f81d13c0", + "difficulty": "ANOTHER", + "songID": 411, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 10022, + "notecount": 1411, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1a9eb27550c4c5b0d0fa91cf10e10cad7165619", + "difficulty": "HYPER", + "songID": 411, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10022, + "notecount": 1153, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "279079f4e6e30539a1d5947039dd4c480c00e42e", + "difficulty": "NORMAL", + "songID": 411, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10022, + "notecount": 867, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e51624299cdcd9d6cecee915dba09a6cf72b816f", + "difficulty": "ANOTHER", + "songID": 411, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 10022, + "notecount": 1287, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "10-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": true + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": true + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d062e5fdd0020ea0f9324b2a96f9c492270351fd", + "difficulty": "HYPER", + "songID": 411, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10022, + "notecount": 979, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98d0390915b921bd7dcbba4405c89b24286ed7e8", + "difficulty": "NORMAL", + "songID": 411, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10022, + "notecount": 636, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ecc5be9d02ac41cb75a028401760054fb550957", + "difficulty": "ANOTHER", + "songID": 412, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 10023, + "notecount": 830, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb8b41d9587158406370a046b6ed211b0e54db5b", + "difficulty": "HYPER", + "songID": 412, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10023, + "notecount": 771, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1ac092ca9a6e6ddfcc9aad33a086cf98d82c1eb", + "difficulty": "NORMAL", + "songID": 412, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10023, + "notecount": 384, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f30aecf52c0d0d166c4e118b036653f91fe6569", + "difficulty": "ANOTHER", + "songID": 412, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10023, + "notecount": 838, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f199f7e8deb8340bdd3064b4cce135ff8fc5b0a", + "difficulty": "HYPER", + "songID": 412, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10023, + "notecount": 807, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "685d0cf002c84458179ea23316755aad74494484", + "difficulty": "NORMAL", + "songID": 412, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10023, + "notecount": 392, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "927de09df06e056626a4e9b0db2dc85ce23cd1ea", + "difficulty": "ANOTHER", + "songID": 413, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 10024, + "notecount": 1400, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "593364c57971eef29ae73ff276132895dae3cfe2", + "difficulty": "HYPER", + "songID": 413, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10024, + "notecount": 1087, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8163875662a88c6e5c1dcbaf28dfe3ee53a10211", + "difficulty": "NORMAL", + "songID": 413, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10024, + "notecount": 815, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5116236635404048ffb684ea3ad3e7f5f630a838", + "difficulty": "ANOTHER", + "songID": 413, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 10024, + "notecount": 1377, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f0c4a81d0e284ddc222b21b903fffce496c98072", + "difficulty": "HYPER", + "songID": 413, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10024, + "notecount": 1156, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2286716cee31e0ae4c0703f4fbffc6ac55572aff", + "difficulty": "NORMAL", + "songID": 413, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10024, + "notecount": 799, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f185aab0210f11f02da08d3170dac229d4f4824", + "difficulty": "ANOTHER", + "songID": 414, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 10025, + "notecount": 1417, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "925abd1ba44fcba96caa54c1d898c2d9601a542c", + "difficulty": "HYPER", + "songID": 414, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10025, + "notecount": 1038, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9a375a54d947d581aa6b8c19c3380082ccf89d0", + "difficulty": "NORMAL", + "songID": 414, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10025, + "notecount": 604, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2957c70b3c9281328e1d70663e2c34a43e844855", + "difficulty": "ANOTHER", + "songID": 414, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 10025, + "notecount": 1215, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "78ae48c6db5d838a3347362babab2c15c268578c", + "difficulty": "HYPER", + "songID": 414, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10025, + "notecount": 1016, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c81a61d93e090bfa80e3b9d7b73cb937e4826e8", + "difficulty": "NORMAL", + "songID": 414, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10025, + "notecount": 622, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "361046f03df152a783a57382f935f9064deab5ed", + "difficulty": "ANOTHER", + "songID": 415, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10026, + "notecount": 753, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "75c5b160858f9fc6b52b2db4e3b25c103f44e71f", + "difficulty": "HYPER", + "songID": 415, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10026, + "notecount": 399, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9bfe1d32946ce00be2b28109085902fee644243", + "difficulty": "NORMAL", + "songID": 415, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 10026, + "notecount": 280, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b787336b4817c81da80ba38581074d1654dee1b2", + "difficulty": "ANOTHER", + "songID": 415, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10026, + "notecount": 753, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6dc5f6ac402eb12d23f35956af5a5a28c5397bd", + "difficulty": "HYPER", + "songID": 415, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10026, + "notecount": 399, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41d82c7b394d315f0b0942ec1032fb6c4efe440f", + "difficulty": "NORMAL", + "songID": 415, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 10026, + "notecount": 281, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12a369e2238e3bf70b6d5a247c69a88d31afe149", + "difficulty": "ANOTHER", + "songID": 416, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10027, + "notecount": 1010, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5352018b65634d99aa1db9f98c065cc5cf1727cf", + "difficulty": "HYPER", + "songID": 416, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10027, + "notecount": 869, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c979fe0f468e9c09d6c050b51e437943caeac02c", + "difficulty": "NORMAL", + "songID": 416, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10027, + "notecount": 571, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7e705b341b2d862ba59cd58f435d6b6b7217f790", + "difficulty": "ANOTHER", + "songID": 416, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10027, + "notecount": 945, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cc51ceda1aeca161df8fe713bfff7e901adaa8bd", + "difficulty": "HYPER", + "songID": 416, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10027, + "notecount": 866, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f10c322b59b9cb4603aca46bc243ea48d48f116", + "difficulty": "NORMAL", + "songID": 416, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10027, + "notecount": 426, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41fe115ed7d08cd36f9a9c5af18b717848fe825a", + "difficulty": "ANOTHER", + "songID": 417, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 10028, + "notecount": 1553, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "15-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ee922b4ce4b3ab845a8ba57d1c71d953bdea794", + "difficulty": "HYPER", + "songID": 417, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10028, + "notecount": 1140, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "15-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "046bfdbabb14b0086de20b23886ab6e6177b8e52", + "difficulty": "NORMAL", + "songID": 417, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10028, + "notecount": 855, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "15-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "23d5ce84eca60aa829b4a7e717b0adca964234da", + "difficulty": "ANOTHER", + "songID": 417, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 10028, + "notecount": 1446, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "15-cs", + "10-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": true + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a90814c8b9210858a40d055fd7e7b6ac08bb17fe", + "difficulty": "HYPER", + "songID": 417, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 10028, + "notecount": 1281, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "15-cs", + "10-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": true + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "bdc77f5a8eb7dcb16b2ebc83115b7170f8408889", + "difficulty": "NORMAL", + "songID": 417, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10028, + "notecount": 847, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "15-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1cae37bb93cc16e1edf2eddcbd4d466f8b12dd0", + "difficulty": "ANOTHER", + "songID": 418, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10030, + "notecount": 894, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "880553d00d131954c4bb739fa3826e08b92d1fed", + "difficulty": "HYPER", + "songID": 418, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10030, + "notecount": 676, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4617e781cc5eeae4b09d1c64171de4e1ba91a9f4", + "difficulty": "NORMAL", + "songID": 418, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10030, + "notecount": 532, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2afbc5fb772cb23f630942c066a341cac1f94022", + "difficulty": "ANOTHER", + "songID": 418, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10030, + "notecount": 852, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "194934429c934807d5c9ba80f0596475ce367717", + "difficulty": "HYPER", + "songID": 418, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10030, + "notecount": 685, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d272cb965da445bd39f038c38d272f2fe396a4c", + "difficulty": "NORMAL", + "songID": 418, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10030, + "notecount": 526, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9f132a52528c6e94e917197780cd14a8632ac4c", + "difficulty": "ANOTHER", + "songID": 419, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10031, + "notecount": 1100, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c2e3f4186d44f86dd950293867a72803eb874f9", + "difficulty": "HYPER", + "songID": 419, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10031, + "notecount": 828, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b271f737dc9c8074f63e6d8ab8cffd8fc13f0f92", + "difficulty": "NORMAL", + "songID": 419, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10031, + "notecount": 597, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca0070bbbb1f944ef9230ac8df21cf90e9c3bd88", + "difficulty": "ANOTHER", + "songID": 419, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10031, + "notecount": 1055, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e3aa5306b552dd0809cd049d9b2f169948e2b4b", + "difficulty": "HYPER", + "songID": 419, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10031, + "notecount": 829, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4d615d95d72edc0bdfb4500b8d47d44ebbe78eb7", + "difficulty": "NORMAL", + "songID": 419, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10031, + "notecount": 601, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02c9a21a420c8cffa823d59eda32e71a11278ed3", + "difficulty": "ANOTHER", + "songID": 420, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10032, + "notecount": 1051, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1dd1a204ca1a65b7d11161e0c9ba224cf6e18cd", + "difficulty": "HYPER", + "songID": 420, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10032, + "notecount": 799, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b2fb9b8322101e16d3c5c779c8e4b8d2e97a9f20", + "difficulty": "NORMAL", + "songID": 420, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10032, + "notecount": 646, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98c14191b6ba7c8f75398296c242b9bbfb54b759", + "difficulty": "ANOTHER", + "songID": 420, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10032, + "notecount": 983, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2f3e6d7398333e7a03ef494457e31bbed2a91bd", + "difficulty": "HYPER", + "songID": 420, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10032, + "notecount": 789, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60f61e10f2ce78bfeec015984501c861b5f324e7", + "difficulty": "NORMAL", + "songID": 420, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10032, + "notecount": 638, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "65c5b5f23baaad82c0dd8e059e68d1bd319749ba", + "difficulty": "ANOTHER", + "songID": 421, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 10033, + "notecount": 1208, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "06858d83c0744aa86d4e814fe9a7c5aface95843", + "difficulty": "HYPER", + "songID": 421, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10033, + "notecount": 858, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03439db0573878faac687c743f92e0d4a781598c", + "difficulty": "NORMAL", + "songID": 421, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10033, + "notecount": 660, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3fe9c758a2a6885c5670f3c27fde3ed16d0475fc", + "difficulty": "ANOTHER", + "songID": 421, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10033, + "notecount": 1205, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d549a71666934fcf86d9d827c5f2f6959d49fa7", + "difficulty": "BEGINNER", + "songID": 421, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 10033, + "notecount": 236, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3fe71748c87bdf80cd2974f8e290e98482a44155", + "difficulty": "HYPER", + "songID": 421, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10033, + "notecount": 850, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4278fca3fa477f7c2dac8e4495d11a44a4a1f998", + "difficulty": "NORMAL", + "songID": 421, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10033, + "notecount": 613, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0c2a736cd3ccd3b7ab80b7dbdc5d5e22f5dc32e", + "difficulty": "ANOTHER", + "songID": 422, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10034, + "notecount": 1233, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1dbafd85f9aea593a9909ef7d90524cdd632664d", + "difficulty": "HYPER", + "songID": 422, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10034, + "notecount": 945, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53fdc4802e76c16e004db30027327ae19402458f", + "difficulty": "NORMAL", + "songID": 422, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10034, + "notecount": 692, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "000bdcb86c97085728e7986975527d2341be0ae7", + "difficulty": "ANOTHER", + "songID": 422, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10034, + "notecount": 1088, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df81094cce96f035762af50152248eddd3d23e01", + "difficulty": "HYPER", + "songID": 422, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10034, + "notecount": 975, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c6ada2ef5e6a2ca3718862232c3c1b61bc7f31c", + "difficulty": "NORMAL", + "songID": 422, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10034, + "notecount": 470, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c69ef6833aa3465af4acd231c040c1b170c2490b", + "difficulty": "ANOTHER", + "songID": 423, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10035, + "notecount": 957, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c4ed16e9a87f2115e916be22e334698128a233ca", + "difficulty": "HYPER", + "songID": 423, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10035, + "notecount": 767, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "36cd426d7a83f74961850abc3fb31652434c0c46", + "difficulty": "NORMAL", + "songID": 423, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10035, + "notecount": 614, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6db3dd991c3331b55271e7df8f45b4ec8618f274", + "difficulty": "ANOTHER", + "songID": 423, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10035, + "notecount": 881, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2eac4207c54ad6e906fda5a2d75cb40511b8b0ba", + "difficulty": "HYPER", + "songID": 423, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10035, + "notecount": 767, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de56a29826284a9e1a161ec9d3ded273053013b0", + "difficulty": "NORMAL", + "songID": 423, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10035, + "notecount": 346, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49713cf54a3085649b181a15716110082de7e36a", + "difficulty": "ANOTHER", + "songID": 424, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10036, + "notecount": 1119, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a42472539e62d967fcd809e0bbbbe3eb332b770", + "difficulty": "HYPER", + "songID": 424, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10036, + "notecount": 1002, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "975a39d7e02fad9f5cd5bb1991d4fb9afc68b980", + "difficulty": "NORMAL", + "songID": 424, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10036, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f6f4895d2cb553601614c9ef934f5202ad17ba0", + "difficulty": "ANOTHER", + "songID": 424, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10036, + "notecount": 1013, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26e3419d72cec37b46ef0329d850e4731bd283ec", + "difficulty": "HYPER", + "songID": 424, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10036, + "notecount": 888, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f658e37276d8eedc3d8ce06cbb986e31f2b1e38c", + "difficulty": "NORMAL", + "songID": 424, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10036, + "notecount": 474, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d080e11a8dd5decbcab8984813f31da6d8044f4", + "difficulty": "ANOTHER", + "songID": 425, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10037, + "notecount": 1011, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "16-cs", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41b9548d7e2b73542c4e6c2342eb9f6434fc3928", + "difficulty": "HYPER", + "songID": 425, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10037, + "notecount": 911, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "16-cs", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f8bebf097dfbdd24080c107891c65b1be003d07", + "difficulty": "NORMAL", + "songID": 425, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10037, + "notecount": 597, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "16-cs", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd19abfb84e3903a395b27ce54e101ab917fffe4", + "difficulty": "ANOTHER", + "songID": 425, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10037, + "notecount": 915, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "16-cs", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "15a4d4bb26eda366327168c783fb9ddc9069cf3c", + "difficulty": "HYPER", + "songID": 425, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10037, + "notecount": 729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "16-cs", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "323aaa6141517a32239557cf22724241069ea772", + "difficulty": "NORMAL", + "songID": 425, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10037, + "notecount": 471, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "16-cs", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63f572a2c0706ce88fbb340e7e3527a7e2337db7", + "difficulty": "ANOTHER", + "songID": 426, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10038, + "notecount": 1084, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd0241018f25c56284f01e7b62968d0d06957fa5", + "difficulty": "HYPER", + "songID": 426, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10038, + "notecount": 954, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50f51c81c617a5b16302bffe035480e350c8eae7", + "difficulty": "NORMAL", + "songID": 426, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10038, + "notecount": 649, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c3fe8c2a4fd9eb3868c5f8827b135793c09bddb1", + "difficulty": "ANOTHER", + "songID": 426, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10038, + "notecount": 1021, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cbe86eca819dbfff4506ecbea76d48bdfdb5d539", + "difficulty": "HYPER", + "songID": 426, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10038, + "notecount": 839, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3cb499ab1c6a59638bc1713bc50fd20aa7710119", + "difficulty": "NORMAL", + "songID": 426, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10038, + "notecount": 505, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "087a892747e794b5b7195013c157f456034b261e", + "difficulty": "ANOTHER", + "songID": 427, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10039, + "notecount": 634, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ffff3c76e1e00ca7ebd0fc6b6dc925405456bf5d", + "difficulty": "HYPER", + "songID": 427, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10039, + "notecount": 481, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "75ce235c7c4c965eb2ea2d2bca4d3886c63c0f92", + "difficulty": "NORMAL", + "songID": 427, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10039, + "notecount": 397, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "024b19bd880f2a29a77d6618b15a0304b3620dc8", + "difficulty": "ANOTHER", + "songID": 427, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10039, + "notecount": 502, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10f35188842819a0c04849be3120a67da93ad6bf", + "difficulty": "HYPER", + "songID": 427, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10039, + "notecount": 484, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "914c33aef7a0f8096c40d89841e7427d08e33bb0", + "difficulty": "NORMAL", + "songID": 427, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 10039, + "notecount": 235, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c52fafc55f8bc6025646e8a43fb51919847820f2", + "difficulty": "ANOTHER", + "songID": 428, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 10040, + "notecount": 1455, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e8e695ae6bc34401b1344d61140d48f64728026", + "difficulty": "HYPER", + "songID": 428, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10040, + "notecount": 1016, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df75378a12c448e8bc2e0c6114a9d29aef66b212", + "difficulty": "NORMAL", + "songID": 428, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10040, + "notecount": 729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a20c3166a6bfbd5f5425dae5712d8bc2ce7b496", + "difficulty": "ANOTHER", + "songID": 428, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 10040, + "notecount": 1383, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "10-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c0ed37e8f48a91cb7a0ddc38e91f3e330950d594", + "difficulty": "HYPER", + "songID": 428, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10040, + "notecount": 1016, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "beb0c9f6bec7bd110013c6432a8ead56d57f09c6", + "difficulty": "NORMAL", + "songID": 428, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10040, + "notecount": 546, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d0bab0dc1ced1d401e359944918f5b5ce798410", + "difficulty": "ANOTHER", + "songID": 429, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 10041, + "notecount": 1607, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ace9051968dcb5c778ae01649ff9e432ac47ab9", + "difficulty": "HYPER", + "songID": 429, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10041, + "notecount": 1008, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85fcb2d6dc47edd36b77fae431667e7e32acd0a7", + "difficulty": "NORMAL", + "songID": 429, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10041, + "notecount": 533, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0fec348fd966c953cdca1dd05c1818cf5f5e2dd7", + "difficulty": "ANOTHER", + "songID": 429, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 10041, + "notecount": 1371, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "10-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d1ca6ffb882fd0cb58621931cbb5938f2432a4f5", + "difficulty": "HYPER", + "songID": 429, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10041, + "notecount": 1008, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9e143e169b640af1368729823d205e8b5e3417ca", + "difficulty": "NORMAL", + "songID": 429, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10041, + "notecount": 533, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9739e6fc1e534c938090cd678ba154d162dea31b", + "difficulty": "ANOTHER", + "songID": 430, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10042, + "notecount": 984, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "16601f80c6f86dda9eab7fad70589cedf0f8bb03", + "difficulty": "HYPER", + "songID": 430, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10042, + "notecount": 838, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2fd55fd898f5989be9f25d1fa9dad7ed47c6122b", + "difficulty": "NORMAL", + "songID": 430, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10042, + "notecount": 550, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80fdda70e3986cff9fae8f6eb86e565a27a8bc9c", + "difficulty": "ANOTHER", + "songID": 430, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10042, + "notecount": 1010, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c1c1b4b3dde21ef51aa4d562f93a0795f4bc5845", + "difficulty": "HYPER", + "songID": 430, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10042, + "notecount": 836, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed04d979fdbf89a2a221e48ec45e4b1182301b35", + "difficulty": "NORMAL", + "songID": 430, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10042, + "notecount": 548, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f151da2a6787c182211fb4b0603ec08418c3e707", + "difficulty": "ANOTHER", + "songID": 431, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10043, + "notecount": 761, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79c20ae4d96f1cf42f97b225873c60e1c1ffa9ed", + "difficulty": "HYPER", + "songID": 431, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10043, + "notecount": 393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7523b99102e139e7a830e3cb57a31957d0020781", + "difficulty": "NORMAL", + "songID": 431, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 10043, + "notecount": 254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3fe5241c944452c8f274fec31b16061e2594558", + "difficulty": "ANOTHER", + "songID": 431, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10043, + "notecount": 765, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "edb78a54679c76e2099741ad479bd285995476b8", + "difficulty": "HYPER", + "songID": 431, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10043, + "notecount": 402, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "403b87f6eb62ea41c26c12c260ceeafd05f11260", + "difficulty": "NORMAL", + "songID": 431, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 10043, + "notecount": 254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b76f899d7028b5587f46df5f688399b11394c3c9", + "difficulty": "ANOTHER", + "songID": 432, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10044, + "notecount": 817, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd9fd4484bcb755e0ac611320692dd51bea8bfa8", + "difficulty": "HYPER", + "songID": 432, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10044, + "notecount": 587, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ff652366354be287980f16000048e684d1cd804", + "difficulty": "NORMAL", + "songID": 432, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10044, + "notecount": 422, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd0f31b9cf8ba7e06999720ad47ff097819566d6", + "difficulty": "ANOTHER", + "songID": 432, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10044, + "notecount": 826, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43ff80cfc2b7523efe6a2f9065ce5ea6acddb410", + "difficulty": "HYPER", + "songID": 432, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10044, + "notecount": 587, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab522d13ad24f4ba8b672cf426dd7dda60b4c92f", + "difficulty": "NORMAL", + "songID": 432, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10044, + "notecount": 422, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "137d0c480150700bc400725107ed3f93f7f34b47", + "difficulty": "HYPER", + "songID": 433, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10045, + "notecount": 632, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "42ff206f39b719841bd6101eddee5abb9f317576", + "difficulty": "NORMAL", + "songID": 433, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 10045, + "notecount": 381, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f5003be1b19b2fc9f5eb246061ced2ac8615d90", + "difficulty": "ANOTHER", + "songID": 433, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10045, + "notecount": 885, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a5b718900acc7bb33c9d596fe53855269ef2866b", + "difficulty": "HYPER", + "songID": 433, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10045, + "notecount": 632, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "69fdc4d23e8da18058dc76de13218c0d71f80e05", + "difficulty": "NORMAL", + "songID": 433, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 10045, + "notecount": 381, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e663d92084191838f1640d5610bdfc3f80ddc125", + "difficulty": "ANOTHER", + "songID": 434, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10046, + "notecount": 776, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "67f8675e6a3b5678c180924629fe1b14d7015e0b", + "difficulty": "HYPER", + "songID": 434, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10046, + "notecount": 586, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a1078c48a79089837adaf23aa9d8720d78bff55", + "difficulty": "NORMAL", + "songID": 434, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10046, + "notecount": 418, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "38f8979c59627d5c366b19626e6636471361acc5", + "difficulty": "ANOTHER", + "songID": 434, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10046, + "notecount": 775, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db79b006b25bfd1a5b375c2d5848da0b4bd745e5", + "difficulty": "HYPER", + "songID": 434, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10046, + "notecount": 585, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fdb7e1a81add701fec2efa3dd671f0cc69765747", + "difficulty": "NORMAL", + "songID": 434, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10046, + "notecount": 416, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6e64e5171477a5c3f22cab65f3ba5c5c2b95ffd5", + "difficulty": "ANOTHER", + "songID": 435, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10047, + "notecount": 1087, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9c403a9bbff3027f20f8bfdf57af61e383f53465", + "difficulty": "HYPER", + "songID": 435, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10047, + "notecount": 731, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a2e7070a2121ae096cb1b66c4f3d3600a2dcbd1", + "difficulty": "NORMAL", + "songID": 435, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10047, + "notecount": 523, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f89a3bb355bdfbfe8e4253fcecc6f9d4cac4fd97", + "difficulty": "ANOTHER", + "songID": 435, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10047, + "notecount": 971, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9848dbad0466eaf107ae90c13dc6e095574344a", + "difficulty": "HYPER", + "songID": 435, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10047, + "notecount": 727, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e2ac3e076c702a59a94916c555786473a9583ba", + "difficulty": "NORMAL", + "songID": 435, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10047, + "notecount": 510, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c7aeba1a65e2674806a00076f5bbc78586bf4051", + "difficulty": "ANOTHER", + "songID": 436, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10048, + "notecount": 923, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "519a0b1037007eba29e9482bc8db55f58614722d", + "difficulty": "HYPER", + "songID": 436, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10048, + "notecount": 645, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ad54f85c944c5480deb7c769ab1f9618b060824", + "difficulty": "NORMAL", + "songID": 436, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10048, + "notecount": 478, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cfc814956b824bbfb38098f4ad0e320b971929fa", + "difficulty": "ANOTHER", + "songID": 436, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10048, + "notecount": 810, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ccb99f9d00ae04b7a0fd0754c9b3024ec527f718", + "difficulty": "BEGINNER", + "songID": 436, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 10048, + "notecount": 175, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4aed481cdeaa2538353d4db675e3dbb472481bfe", + "difficulty": "HYPER", + "songID": 436, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10048, + "notecount": 626, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6af17cce859491e6ac93d84ea5641eaa746ff981", + "difficulty": "NORMAL", + "songID": 436, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10048, + "notecount": 478, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0425f29d8e592448e128b38d046af6e0711db3c7", + "difficulty": "ANOTHER", + "songID": 437, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 10049, + "notecount": 1557, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "257b40599ee00aa715cfac14cd2e292a8898b220", + "difficulty": "HYPER", + "songID": 437, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10049, + "notecount": 862, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dbdcd2e6b4d5811dd1c44e3b6c6ec7e4b1ed0b46", + "difficulty": "NORMAL", + "songID": 437, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10049, + "notecount": 444, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd1285661d41bbc12eace026a4169ce42af075eb", + "difficulty": "ANOTHER", + "songID": 437, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 10049, + "notecount": 1452, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f52029866623cf1e4b5197ec04f67f578161bae0", + "difficulty": "HYPER", + "songID": 437, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10049, + "notecount": 832, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc97768483a7e5c61c5e5e82f90f4c4c8473c258", + "difficulty": "NORMAL", + "songID": 437, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10049, + "notecount": 439, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "20744f7657b4b7f36efb45d0aa473878033c5e39", + "difficulty": "ANOTHER", + "songID": 438, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10050, + "notecount": 1143, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f4f2ca291830e873bba6668107ba7638e738488e", + "difficulty": "HYPER", + "songID": 438, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10050, + "notecount": 755, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ecebbe8a8cce2dfe462f80ffe1a0c2c41bbf39ec", + "difficulty": "NORMAL", + "songID": 438, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10050, + "notecount": 557, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4745f8b98d3f21bf617906d3890e657113e90409", + "difficulty": "ANOTHER", + "songID": 438, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10050, + "notecount": 1110, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "676e340d7a3c147732c0e2ebf6c34295ac54867b", + "difficulty": "HYPER", + "songID": 438, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10050, + "notecount": 727, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "862e11815d85b4215f66bffb3c6580d85903ec64", + "difficulty": "NORMAL", + "songID": 438, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10050, + "notecount": 531, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2fa45cb8eee027b9dc6dbe4138f284b77b68dc22", + "difficulty": "ANOTHER", + "songID": 439, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10051, + "notecount": 534, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "327a70647f1bd2a211a94ec72b823df0ff6504d6", + "difficulty": "HYPER", + "songID": 439, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10051, + "notecount": 400, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "62a4e8103323543d842548d10a49c9a2b4df3b4c", + "difficulty": "NORMAL", + "songID": 439, + "playtype": "DP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 10051, + "notecount": 223, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7287c932d97711e17736249757c28f7fe6c986c0", + "difficulty": "ANOTHER", + "songID": 439, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10051, + "notecount": 534, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21bcddc1191acaf1911fc173d23eb81c939bbe2e", + "difficulty": "BEGINNER", + "songID": 439, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 10051, + "notecount": 76, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "08c62264799dcede892bb9219e8035b4c3152ae5", + "difficulty": "HYPER", + "songID": 439, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10051, + "notecount": 400, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7bd2477d968ab366e4e02774eb2e73b9ff340565", + "difficulty": "NORMAL", + "songID": 439, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 10051, + "notecount": 223, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "380b5505c384035fcd96d6e747004a63b1da4aee", + "difficulty": "ANOTHER", + "songID": 440, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 10052, + "notecount": 1409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae816d2e4df102526240561be1dc09d6afe44eb7", + "difficulty": "HYPER", + "songID": 440, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10052, + "notecount": 1049, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e90f5f9824a050f0815f6b60138e0d9281e72c65", + "difficulty": "NORMAL", + "songID": 440, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10052, + "notecount": 466, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3c4844751a8fd54e474a2aa859f70a80eb87862", + "difficulty": "ANOTHER", + "songID": 440, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10052, + "notecount": 1311, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53853e2beebfad094dc820336bb4b9bd028fb46b", + "difficulty": "HYPER", + "songID": 440, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10052, + "notecount": 1049, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "56d7e5e047a4e14b9abcabfaf93dd644baca66a4", + "difficulty": "NORMAL", + "songID": 440, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10052, + "notecount": 466, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c57b312ab631cf03799ca070e133255f32efa8e8", + "difficulty": "ANOTHER", + "songID": 441, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 10053, + "notecount": 1074, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f77d7014ee3a3707132707729074bec2c243e804", + "difficulty": "HYPER", + "songID": 441, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10053, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cfe8ed4c0f79222df5ed3d5d16bc546236d10fcc", + "difficulty": "NORMAL", + "songID": 441, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 10053, + "notecount": 385, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "40ee9ae43111f4461487520af6ce074ab00b8786", + "difficulty": "ANOTHER", + "songID": 441, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10053, + "notecount": 1074, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10a78c2b7ecf9f5f9c3a11f2385977dc789fbb4e", + "difficulty": "BEGINNER", + "songID": 441, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 10053, + "notecount": 172, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "09c62ee94acf69d56616f440d38493f7731bdba2", + "difficulty": "HYPER", + "songID": 441, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10053, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b65674ad081f63be78b6eadfa169b345ffdbc6d5", + "difficulty": "NORMAL", + "songID": 441, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10053, + "notecount": 385, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02920364f76a3313a3b935da03a2ab29ce815932", + "difficulty": "ANOTHER", + "songID": 442, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10054, + "notecount": 1066, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c7216ed4d010a022b820a72cb3c9010765e01397", + "difficulty": "HYPER", + "songID": 442, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10054, + "notecount": 680, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a4aee41a2ab896aa36f410c87a9987c846653ee", + "difficulty": "NORMAL", + "songID": 442, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10054, + "notecount": 428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ca050bc288d72ecd8174df06a164e2916126a11", + "difficulty": "ANOTHER", + "songID": 442, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10054, + "notecount": 1066, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa96b74e581e5c22a1a61885f3e65d9da80d7296", + "difficulty": "HYPER", + "songID": 442, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10054, + "notecount": 680, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3198e4528461e374c8931c68a9af00698d7fa00f", + "difficulty": "NORMAL", + "songID": 442, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10054, + "notecount": 428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49b04674237f7944e90858406944eef56f7a4b35", + "difficulty": "ANOTHER", + "songID": 443, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10201, + "notecount": 933, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2068315fc9fe831a5635ac21be3f1c16e2c13bd", + "difficulty": "HYPER", + "songID": 443, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10201, + "notecount": 837, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a4050fb0ac81bfa4096fa91123599f9a9c48f73", + "difficulty": "NORMAL", + "songID": 443, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10201, + "notecount": 572, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49d6777e527cfc75ec9c2cf5ad45f0f89e6e49a1", + "difficulty": "ANOTHER", + "songID": 443, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10201, + "notecount": 934, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f29e76fc3f9ddfcde676b371359fc92cbc88ae72", + "difficulty": "HYPER", + "songID": 443, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 10201, + "notecount": 845, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a3baea2b7ed6784cad61edc01b79e0b27510f140", + "difficulty": "NORMAL", + "songID": 443, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10201, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a21ef29b42252072d169b9a268b7d4f1f04b59e8", + "difficulty": "ANOTHER", + "songID": 444, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 10204, + "notecount": 1524, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c2a6cffbc74d7273a438e679d2ff6f7d19f30ed", + "difficulty": "HYPER", + "songID": 444, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10204, + "notecount": 687, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ac78d5d6f18cd2f71b24605eb3f634a0d6366393", + "difficulty": "NORMAL", + "songID": 444, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10204, + "notecount": 393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa82fefe57f997d3b192e0c4c5c2a82cbd5a4c5b", + "difficulty": "ANOTHER", + "songID": 444, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 10204, + "notecount": 1079, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60c2df1164b5b7490e344291fded94d997f67e10", + "difficulty": "HYPER", + "songID": 444, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 10204, + "notecount": 687, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89917221c24c23fd547ec7129c75234ac0c800be", + "difficulty": "NORMAL", + "songID": 444, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10204, + "notecount": 393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd9f65fdb70d59b087554c58ee712ceb5631b3e4", + "difficulty": "ANOTHER", + "songID": 445, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10205, + "notecount": 649, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d989c6ea141a851174e6197bf9ca09bd4c32302b", + "difficulty": "HYPER", + "songID": 445, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10205, + "notecount": 366, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f069d7fa2c345a5fa478a82ca5c040b5650b5306", + "difficulty": "NORMAL", + "songID": 445, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10205, + "notecount": 252, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3edd023a510cc869dcd5ee83c5beb34ae54dc1c", + "difficulty": "ANOTHER", + "songID": 445, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 10205, + "notecount": 649, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9c071a6cce0215c18b516a6afa1b929f8bf7d1d", + "difficulty": "HYPER", + "songID": 445, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 10205, + "notecount": 366, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf1edf2bc5dc20080b40727b3153430299caa906", + "difficulty": "NORMAL", + "songID": 445, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10205, + "notecount": 252, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "10-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b8309ac5de7e3aaca65f9cd6bdae5d55f693ec69", + "difficulty": "ANOTHER", + "songID": 446, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 11001, + "notecount": 1001, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f3e0e910766349f2f570a49c11570ee08dd7c20", + "difficulty": "HYPER", + "songID": 446, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11001, + "notecount": 746, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5234a77b1cae324db7070fba059a7adabc61dba5", + "difficulty": "NORMAL", + "songID": 446, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11001, + "notecount": 417, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d04a769898d6d4f312a03b1698e056e045c6e58", + "difficulty": "ANOTHER", + "songID": 446, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11001, + "notecount": 1000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "97f88fccf217fbb76943b511ff1f69c5ecb38a8a", + "difficulty": "HYPER", + "songID": 446, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11001, + "notecount": 675, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d78b51e38ebbf81d79a041bf5ade3ee990056a52", + "difficulty": "NORMAL", + "songID": 446, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11001, + "notecount": 417, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83a270be87850f554e9baabafb817a43fa2997ac", + "difficulty": "ANOTHER", + "songID": 447, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11002, + "notecount": 930, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f51c1942087fae251929daaf78ceb31a80947c0e", + "difficulty": "HYPER", + "songID": 447, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11002, + "notecount": 700, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "724008b33ed45100c141d59a863a727e01b1765f", + "difficulty": "NORMAL", + "songID": 447, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11002, + "notecount": 455, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0223348e54507b1ee020551f72e5c583bcdab433", + "difficulty": "ANOTHER", + "songID": 447, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11002, + "notecount": 875, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53c1435ea3c8edc5778f8c2cf7f36f55aec42e5d", + "difficulty": "HYPER", + "songID": 447, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11002, + "notecount": 663, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf84860a1deb4a73226461347dfe105b034e0767", + "difficulty": "NORMAL", + "songID": 447, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11002, + "notecount": 469, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d2819e05a58b709d1e898c34deea5e2862b0428", + "difficulty": "ANOTHER", + "songID": 448, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11003, + "notecount": 593, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d84c182bd59282de8fe7206c3d1252b604d2fed", + "difficulty": "HYPER", + "songID": 448, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11003, + "notecount": 430, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "518d93cee1006109bb462c5b51e40e324fd60e91", + "difficulty": "NORMAL", + "songID": 448, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 11003, + "notecount": 294, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d5f053f8cba452cea1004b7423993f159207e73d", + "difficulty": "ANOTHER", + "songID": 448, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11003, + "notecount": 594, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a6562974cd41a6310226f5310056a01ed713486", + "difficulty": "HYPER", + "songID": 448, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11003, + "notecount": 494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d47872fe58c42fdd0bd675521b491736943c15f2", + "difficulty": "NORMAL", + "songID": 448, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 11003, + "notecount": 292, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad803b83774a283ca5149e2b9eed1de2119d93b7", + "difficulty": "ANOTHER", + "songID": 449, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11004, + "notecount": 1094, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d1db0c7e580e675f32d2fba157310159cadd865", + "difficulty": "HYPER", + "songID": 449, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11004, + "notecount": 935, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d3e979fce786532cd7e1d6eb5a6440b075687bc9", + "difficulty": "NORMAL", + "songID": 449, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11004, + "notecount": 621, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c8f760aef349efcda436d089bfc3fb1f4c996c3", + "difficulty": "ANOTHER", + "songID": 449, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11004, + "notecount": 1155, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ec7d6764c543dccfbe097a014b6b8839000b76de", + "difficulty": "BEGINNER", + "songID": 449, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 11004, + "notecount": 274, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28b65dea5b596d86b73700cd3f0084447fb382e1", + "difficulty": "HYPER", + "songID": 449, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11004, + "notecount": 960, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea9e8bbc52c5163df7b95e478eb60ff56c0964dd", + "difficulty": "NORMAL", + "songID": 449, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11004, + "notecount": 566, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "deb8451248ad69bcbd4b4dc3d9cc8412a64fc3f9", + "difficulty": "ANOTHER", + "songID": 450, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11005, + "notecount": 978, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff79458867467b56e323e5ff47553685dadc40d7", + "difficulty": "HYPER", + "songID": 450, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11005, + "notecount": 884, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce2c955d803d00ef0c25ba975c17f9651022174d", + "difficulty": "NORMAL", + "songID": 450, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11005, + "notecount": 566, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "59c97577d2f78d8533e520d2331ec48adce9efe2", + "difficulty": "ANOTHER", + "songID": 450, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11005, + "notecount": 1028, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "847873416bfa3ff34cba11412a6ea758ad428917", + "difficulty": "HYPER", + "songID": 450, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11005, + "notecount": 861, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94114828e470848e2a212c53f65eb6456e0f74d1", + "difficulty": "NORMAL", + "songID": 450, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11005, + "notecount": 569, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b7d8db0ac22a583dc9e3d338cdacd0f38c1077f", + "difficulty": "HYPER", + "songID": 451, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11006, + "notecount": 734, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d97574b8306ad63f61fde0e2d26e25437a6f8029", + "difficulty": "NORMAL", + "songID": 451, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11006, + "notecount": 500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9cbdf37c66c91902ff97731c796db252b6c4efcf", + "difficulty": "ANOTHER", + "songID": 451, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11006, + "notecount": 924, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2325838756b400367046791da3d44ac45ca4066e", + "difficulty": "HYPER", + "songID": 451, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11006, + "notecount": 732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0cb1f03131273810b81544784ed586f5dc344f24", + "difficulty": "NORMAL", + "songID": 451, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11006, + "notecount": 502, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e345d5e584dda714cdb663ac66c3a9aae0ff88b2", + "difficulty": "HYPER", + "songID": 452, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11007, + "notecount": 725, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "577db370be60afdf34748f3caaef404034584c85", + "difficulty": "NORMAL", + "songID": 452, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11007, + "notecount": 419, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9dcdc6402a29e975b0834ee7576bfd008eff7990", + "difficulty": "ANOTHER", + "songID": 452, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11007, + "notecount": 880, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "69b735cb2b27165640d8d4085eae1a7a08bf13fd", + "difficulty": "HYPER", + "songID": 452, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11007, + "notecount": 725, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b492c2f84c87e47e5ff9e7041c1c686b344947d1", + "difficulty": "NORMAL", + "songID": 452, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11007, + "notecount": 419, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dac67c0930953dc261ee49c88deb52eda330d58b", + "difficulty": "ANOTHER", + "songID": 453, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11008, + "notecount": 1400, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9e7d192a44f4d85d822db1b407a082e877ec4dcf", + "difficulty": "HYPER", + "songID": 453, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11008, + "notecount": 989, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "959e48f9484c57b96b8d326ce9cd5379eb8fbd64", + "difficulty": "NORMAL", + "songID": 453, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11008, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "86439c2de0f868d2ae83161ede56ff9c2cf24463", + "difficulty": "ANOTHER", + "songID": 453, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11008, + "notecount": 1436, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "207d06b8701b833fa23ba041fce43ee99953366b", + "difficulty": "HYPER", + "songID": 453, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11008, + "notecount": 950, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "62632870af1f44f8437043012ccf80e2fab91e36", + "difficulty": "NORMAL", + "songID": 453, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11008, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fdfeba228061a73079c66b7dcda666e8fc971ed0", + "difficulty": "ANOTHER", + "songID": 454, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11009, + "notecount": 873, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5361697b0d4f2f23316567afdbf13ad1816f4de6", + "difficulty": "HYPER", + "songID": 454, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11009, + "notecount": 746, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d35ab030b99ef647f2282a2a890ac756d4167a3", + "difficulty": "NORMAL", + "songID": 454, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11009, + "notecount": 546, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e8dfd75329dc5750cef5e4969b762233ed64fc92", + "difficulty": "ANOTHER", + "songID": 454, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11009, + "notecount": 866, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "472f037d951ba127e8f78528278f243e600169aa", + "difficulty": "HYPER", + "songID": 454, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11009, + "notecount": 750, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e75039b4d52a1d2cd5c3c93a16e900450c9f94cd", + "difficulty": "NORMAL", + "songID": 454, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11009, + "notecount": 553, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "77f03a076fcd3f158b08a3edd70a9bddb5fda627", + "difficulty": "ANOTHER", + "songID": 455, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 11010, + "notecount": 1139, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f73e980c2645b3287ef443ab9d83922c6168916", + "difficulty": "HYPER", + "songID": 455, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11010, + "notecount": 897, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3b168ee2d11d6f7989b5db417df15e5ccbc2c4fe", + "difficulty": "NORMAL", + "songID": 455, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11010, + "notecount": 522, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b563c252f6ab40af1b6810671d40eadc7aff760", + "difficulty": "ANOTHER", + "songID": 455, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11010, + "notecount": 1111, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "974d58609ac6bede1c423481aec5f4b5879fc3a7", + "difficulty": "HYPER", + "songID": 455, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11010, + "notecount": 996, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fcb00d56b0ba610e9b2923fb8ae0bea6600ada89", + "difficulty": "NORMAL", + "songID": 455, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11010, + "notecount": 541, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a29c4a0f464866b611c312bfc726a150d531b714", + "difficulty": "HYPER", + "songID": 456, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11011, + "notecount": 736, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "92429abc5de191b298f1beabb7cd5645d5926dae", + "difficulty": "NORMAL", + "songID": 456, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11011, + "notecount": 451, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f327798d9e6b6671c41b9561b439edc7f3806e9", + "difficulty": "ANOTHER", + "songID": 456, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11011, + "notecount": 1006, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4d92f5c7e6dfdac2d06523b69aa5b03b1fed2ba5", + "difficulty": "HYPER", + "songID": 456, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11011, + "notecount": 744, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b513ab3919f3bb4d46d5f06c1c748d34d720763", + "difficulty": "NORMAL", + "songID": 456, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11011, + "notecount": 480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2445023e0a1a9b5eb66564019b4772287718b84c", + "difficulty": "ANOTHER", + "songID": 457, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11012, + "notecount": 1139, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32123d29fc9be8222174d24d3b4dd370ab4b2b49", + "difficulty": "HYPER", + "songID": 457, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11012, + "notecount": 1038, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd7e9fdda7852ac90dfe6db98b3ddf9afa14fb31", + "difficulty": "LEGGENDARIA", + "songID": 457, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 11012, + "notecount": 2070, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a3649860c6dc3b34fa0bd369aa0e0b39f62e099a", + "difficulty": "NORMAL", + "songID": 457, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11012, + "notecount": 564, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d00f81eab96382cb532aa5ce6877bda03a6c76c", + "difficulty": "ANOTHER", + "songID": 457, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11012, + "notecount": 1310, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "be19c987cdc067369151829a9889bcae2799fe95", + "difficulty": "BEGINNER", + "songID": 457, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 11012, + "notecount": 275, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8df698b9f517117bb27390338774c6c09da8f02a", + "difficulty": "HYPER", + "songID": 457, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11012, + "notecount": 1061, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e93419a7db180a68db29dd3614c7aa3fd1d274ab", + "difficulty": "LEGGENDARIA", + "songID": 457, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 11012, + "notecount": 1910, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.60", + "value": 12.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "87b9549c4ff3977acc257bfe62e7f9ed6e3f0107", + "difficulty": "NORMAL", + "songID": 457, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11012, + "notecount": 545, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "11-cs", + "8-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f268c411619c2fe0bc584dac2f6ec829e0bfa87", + "difficulty": "ANOTHER", + "songID": 458, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11013, + "notecount": 1568, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6561e292b761408c87312c2ff836bb87bbb9cfb9", + "difficulty": "HYPER", + "songID": 458, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11013, + "notecount": 1109, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ac685b9df797eb419b10b541362f1d4299da68c4", + "difficulty": "NORMAL", + "songID": 458, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11013, + "notecount": 512, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a0df35761270cfdad7363b9178a6a94888bd73f", + "difficulty": "ANOTHER", + "songID": 458, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11013, + "notecount": 1446, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b382c1cf9732e132b2fb7800d2d82a93b2497789", + "difficulty": "BEGINNER", + "songID": 458, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 11013, + "notecount": 375, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "857cca2463a9368a7b6b1484e4d16f653f443bd0", + "difficulty": "HYPER", + "songID": 458, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11013, + "notecount": 973, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a30bff8c4de95c29666f684d17eb24b2f8a58879", + "difficulty": "NORMAL", + "songID": 458, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11013, + "notecount": 517, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a68ff1a4d366dcaaee8bb297cf9182313dc0512b", + "difficulty": "HYPER", + "songID": 459, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11014, + "notecount": 744, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9af3e6bf1baa2621372ff5bc5829fa347df3b807", + "difficulty": "NORMAL", + "songID": 459, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11014, + "notecount": 469, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d96b8ae2f1fabc9e7f886ce692a0931bfd508ca", + "difficulty": "ANOTHER", + "songID": 459, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11014, + "notecount": 951, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "60e6579d972bf07a7c2e1e1c091862025a0cbdbe", + "difficulty": "HYPER", + "songID": 459, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11014, + "notecount": 745, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd1a61ce6a03eb777612d61b3249489164b0e1ce", + "difficulty": "NORMAL", + "songID": 459, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11014, + "notecount": 469, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ec780ada7038374aece38a0b7dd9b1837d2c329", + "difficulty": "HYPER", + "songID": 460, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11015, + "notecount": 507, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6077b547fab8c8525618af2f9094e50cfc98d1a3", + "difficulty": "NORMAL", + "songID": 460, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 11015, + "notecount": 230, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c7fcc19962f0b09310398bf03c81e3ad95974300", + "difficulty": "ANOTHER", + "songID": 460, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11015, + "notecount": 644, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bbf30d8a5f3a05026b130c55cca4c23cd29efb38", + "difficulty": "HYPER", + "songID": 460, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11015, + "notecount": 530, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a3dc1b9a5081739a522ee299186b5f158f8e9f52", + "difficulty": "NORMAL", + "songID": 460, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 11015, + "notecount": 230, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "995e7ef3916200ac796429c0f525c4a46da6b81f", + "difficulty": "ANOTHER", + "songID": 461, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11016, + "notecount": 805, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24cb6592d4bc05f06721018cdc22be931c5ac7ba", + "difficulty": "HYPER", + "songID": 461, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11016, + "notecount": 648, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "156ede572642f6639acdb0a4055cf148a6a3cc35", + "difficulty": "NORMAL", + "songID": 461, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11016, + "notecount": 484, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21f145253fb0369c37e829d36cf58f134a80ec1b", + "difficulty": "ANOTHER", + "songID": 461, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11016, + "notecount": 828, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0110a1bbe50720a0470490491e7a213758f74d4d", + "difficulty": "HYPER", + "songID": 461, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11016, + "notecount": 629, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b69a83da4666310cfbc4f2d31f02dd53286bb64", + "difficulty": "NORMAL", + "songID": 461, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11016, + "notecount": 472, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d4d365e31b442e9fbc54399e6daa7a6e9aa0fac", + "difficulty": "HYPER", + "songID": 462, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11017, + "notecount": 615, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97665f12680e42aacd0bc1850b9cd11730dc422c", + "difficulty": "NORMAL", + "songID": 462, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11017, + "notecount": 358, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1bd7a4b6012cfc55f1069ebce9f046a9d339846a", + "difficulty": "ANOTHER", + "songID": 462, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11017, + "notecount": 837, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68762f09623e46126da114af5e731c8d758c4cea", + "difficulty": "HYPER", + "songID": 462, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11017, + "notecount": 615, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c2b7ab7bfbd6d224d615239e1abb61c2d350a356", + "difficulty": "NORMAL", + "songID": 462, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11017, + "notecount": 358, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0381b4f5d05a61f55430411d50c25ed8abadc2ab", + "difficulty": "ANOTHER", + "songID": 463, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11018, + "notecount": 1058, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9e0ecb9fa545c7672e95c10ff0bf2bc3bcf2e238", + "difficulty": "HYPER", + "songID": 463, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11018, + "notecount": 751, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80a406149cbe7304bf2ba3f5bab9774eca6e641a", + "difficulty": "NORMAL", + "songID": 463, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11018, + "notecount": 521, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cbfa6e1bb82f8d754433873845ea3d00f3a29c73", + "difficulty": "ANOTHER", + "songID": 463, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11018, + "notecount": 948, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab61737307e4de8a3701e6d7c001252f5333edf5", + "difficulty": "HYPER", + "songID": 463, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11018, + "notecount": 755, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "759a2460f0458979b3ffe6b5f134aa1012abf3bd", + "difficulty": "NORMAL", + "songID": 463, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11018, + "notecount": 529, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f886e747a3e0d14c9df454712e4555c49c5b95b2", + "difficulty": "HYPER", + "songID": 464, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11019, + "notecount": 574, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab58f8bb36bd56b09644e6e03368e843ca9b9ebc", + "difficulty": "NORMAL", + "songID": 464, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 11019, + "notecount": 247, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a54cc04964f5a3ba2422388b656ff121e81c5083", + "difficulty": "ANOTHER", + "songID": 464, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11019, + "notecount": 937, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b3dc3fc2cacf0935a6e937c76f96b712f421c3a3", + "difficulty": "HYPER", + "songID": 464, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11019, + "notecount": 574, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "368446856668fd0df612df9d9ed7f88c801a149e", + "difficulty": "NORMAL", + "songID": 464, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 11019, + "notecount": 247, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a856c7a93ca21a7883352f066b74605950aa57c9", + "difficulty": "ANOTHER", + "songID": 465, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11020, + "notecount": 1149, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ecfcf82a95ee2df5f1cc5eff6f0dc9c31aa46fbf", + "difficulty": "HYPER", + "songID": 465, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11020, + "notecount": 938, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "afe62debb58ab2251f2458fb19521975e1ae0078", + "difficulty": "NORMAL", + "songID": 465, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11020, + "notecount": 511, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e6a40f94a4df1518dc4b86d98fe339b12a6acdd", + "difficulty": "ANOTHER", + "songID": 465, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11020, + "notecount": 1080, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c70cf629f97a2623d5cff716185350f85b07435a", + "difficulty": "BEGINNER", + "songID": 465, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 11020, + "notecount": 204, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a181dd69f453083fb7b5653bd5ab48d4ccd8740a", + "difficulty": "HYPER", + "songID": 465, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11020, + "notecount": 938, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "104b8584561e6a78679187208f1fd39514b2ac46", + "difficulty": "NORMAL", + "songID": 465, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11020, + "notecount": 511, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7e797dccc2c1bfad71df852234f94cf8de8edc14", + "difficulty": "HYPER", + "songID": 466, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11021, + "notecount": 691, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ff07a1e7e62178a3462fe5c8427055c0ce56f9e", + "difficulty": "NORMAL", + "songID": 466, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 11021, + "notecount": 378, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b373f79f42219b76e02aa202737ed61eaa8d3987", + "difficulty": "ANOTHER", + "songID": 466, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11021, + "notecount": 909, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "abd88d6dd967a2c37e71dbf3963e5a3fe333e819", + "difficulty": "HYPER", + "songID": 466, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11021, + "notecount": 691, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a8146fab185e7e637d4086a8a01d81276f25b3d", + "difficulty": "NORMAL", + "songID": 466, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11021, + "notecount": 378, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "010dc959b094822bcfa38a57dd47aeaf591ca36d", + "difficulty": "ANOTHER", + "songID": 467, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11022, + "notecount": 1440, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ce3ec5377d40b540af0b7f2a9ead4cd8c385bae", + "difficulty": "HYPER", + "songID": 467, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11022, + "notecount": 822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "038c1c421d1a6fef0bcbce607f3bc4c95de06003", + "difficulty": "NORMAL", + "songID": 467, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11022, + "notecount": 459, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b36ef866328ee8ddc89a8c5828cb5b38071cab29", + "difficulty": "ANOTHER", + "songID": 467, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11022, + "notecount": 1089, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca216ac9cd211126d4924933ebe07292202acbc3", + "difficulty": "HYPER", + "songID": 467, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11022, + "notecount": 822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dce0ce9530d920c499681bbc8dda31e3afbae292", + "difficulty": "NORMAL", + "songID": 467, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11022, + "notecount": 459, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7d0997b1cdae4792a8bb28ffb6a076ba2d0b7a6f", + "difficulty": "ANOTHER", + "songID": 468, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11023, + "notecount": 1000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c847c2ec8baabc013bc744c53202a05b788ce2c2", + "difficulty": "HYPER", + "songID": 468, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11023, + "notecount": 817, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "759a7a4443aa5db5eb98c3c2c053b221a4a92325", + "difficulty": "NORMAL", + "songID": 468, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11023, + "notecount": 434, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "25bf56d3c6df75b823678fcdf196fce625854f0c", + "difficulty": "ANOTHER", + "songID": 468, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11023, + "notecount": 1000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cfd19367945ef330aff50fed17970b32b303e81e", + "difficulty": "HYPER", + "songID": 468, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11023, + "notecount": 817, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "057017c334452cc5965ed46f28bff5d92d753d5e", + "difficulty": "NORMAL", + "songID": 468, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11023, + "notecount": 434, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c216eb51a0ccebf21650926d7f9ec56f872e8d3", + "difficulty": "HYPER", + "songID": 469, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11024, + "notecount": 705, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85b7ce612d38b39433b939e6ea3c5fd9148ead55", + "difficulty": "NORMAL", + "songID": 469, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 11024, + "notecount": 385, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "99f7efc5b15259b3fea614938055c48cad40520d", + "difficulty": "ANOTHER", + "songID": 469, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11024, + "notecount": 971, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d561c6b4b436334492747d83d02089870122549", + "difficulty": "HYPER", + "songID": 469, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11024, + "notecount": 705, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27ac9f820fff2133e3e37ac46f76d67ad2fe373e", + "difficulty": "NORMAL", + "songID": 469, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11024, + "notecount": 385, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22c2c7f3ff0bf520f9ce65c5855efaa09411d190", + "difficulty": "ANOTHER", + "songID": 470, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11025, + "notecount": 1086, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7db698af0e7a8e450ab91828c8124603b6f24bf9", + "difficulty": "HYPER", + "songID": 470, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11025, + "notecount": 729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9251374733a4c744d44a8225bf5c24e69a711eec", + "difficulty": "NORMAL", + "songID": 470, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11025, + "notecount": 451, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "105eec12e1b9c18e319bc47566418ddb0c699dd5", + "difficulty": "ANOTHER", + "songID": 470, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11025, + "notecount": 1062, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "cbdfd01fa0860c32b2663e02ed596f13ac86d1e4", + "difficulty": "HYPER", + "songID": 470, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11025, + "notecount": 747, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "752a5d00d77096c10835f09e842eb17cc9e2b990", + "difficulty": "NORMAL", + "songID": 470, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11025, + "notecount": 489, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f04be02212dea45cd9b222fb57b421da354d2c93", + "difficulty": "ANOTHER", + "songID": 471, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 11026, + "notecount": 1730, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "892d14d06fa15f1d996067bf725e8fee381a0c76", + "difficulty": "HYPER", + "songID": 471, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11026, + "notecount": 1031, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9fa711bbf08798473fb3718135efaa23453467e7", + "difficulty": "NORMAL", + "songID": 471, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11026, + "notecount": 473, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b438cc053268bc0635a815db1d5dc87443b8b606", + "difficulty": "ANOTHER", + "songID": 471, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 11026, + "notecount": 1414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "11-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": true + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "38168426b1bcbc7d78eb4dc54ad3e1482c431515", + "difficulty": "HYPER", + "songID": 471, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11026, + "notecount": 1111, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "11-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1c1391c61d5ccea1d197183cb423dd6c2702ad76", + "difficulty": "NORMAL", + "songID": 471, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11026, + "notecount": 422, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c1d00e46ae281e206bda178ac06d63a44a14ddc", + "difficulty": "HYPER", + "songID": 472, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11027, + "notecount": 553, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "672d4cf966315502169b1da1403289ac1fed14cc", + "difficulty": "NORMAL", + "songID": 472, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 11027, + "notecount": 359, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb5e93fc0e468caf6cec265a9924632f0a4ef7b0", + "difficulty": "ANOTHER", + "songID": 472, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11027, + "notecount": 769, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "720769b6555fa42f5a99254b1afc72593c973627", + "difficulty": "HYPER", + "songID": 472, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11027, + "notecount": 532, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b60f811aa052511fdb74993702a2decca08078d", + "difficulty": "NORMAL", + "songID": 472, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11027, + "notecount": 343, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0302c94d9c2a55819f478f4e12227bb4953809a7", + "difficulty": "ANOTHER", + "songID": 473, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11028, + "notecount": 989, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "141dbe8512c2362e0c91a45606650747ff4cd634", + "difficulty": "HYPER", + "songID": 473, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11028, + "notecount": 855, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a587fca2ee0314cb86dd6311a764d1e7a9ad1d8", + "difficulty": "NORMAL", + "songID": 473, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11028, + "notecount": 535, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8d7892eb662c07be146959ac1cf9fa23817abd9b", + "difficulty": "ANOTHER", + "songID": 473, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11028, + "notecount": 992, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a94628384b43f68cfee44df205bc0a3edbd1913", + "difficulty": "BEGINNER", + "songID": 473, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 11028, + "notecount": 246, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e2ba8df799d5996bbbf40c6d9daf0cfa5cf50adc", + "difficulty": "HYPER", + "songID": 473, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11028, + "notecount": 874, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eb8a4921cc8b2547d79f2955c9f6abd372d140b6", + "difficulty": "LEGGENDARIA", + "songID": 473, + "playtype": "SP", + "levelNum": 0, + "level": "10", + "data": { + "inGameID": 11028, + "notecount": 1144, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9be0ed4f107cb2c02af294f93cd4fd68aa9544c3", + "difficulty": "NORMAL", + "songID": 473, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11028, + "notecount": 536, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b93ffad858f738bf01a66fc90e97f9d3f76a8bce", + "difficulty": "HYPER", + "songID": 474, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11029, + "notecount": 596, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e4589fd918f54fd902459ffad794a1625382f3b", + "difficulty": "NORMAL", + "songID": 474, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 11029, + "notecount": 371, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a02e671809a43ec20f198129cbebd01e5e621dbe", + "difficulty": "ANOTHER", + "songID": 474, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11029, + "notecount": 1076, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bfa10a2b248d3c04fa573dd73611efcac03b0db5", + "difficulty": "HYPER", + "songID": 474, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11029, + "notecount": 596, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a64e3f3e3d750fad95c849e56f789c7d77813a4", + "difficulty": "NORMAL", + "songID": 474, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11029, + "notecount": 371, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1a276006a60a4c64c80b60a78723f5751321318", + "difficulty": "ANOTHER", + "songID": 475, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 11030, + "notecount": 1178, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "66054ffcc902cbb09fd79d2ff4b9748a866d00e9", + "difficulty": "HYPER", + "songID": 475, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 11030, + "notecount": 879, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "774f159557e7c42648f9c0cfe418c58dcd1c41fc", + "difficulty": "NORMAL", + "songID": 475, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11030, + "notecount": 534, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "18b9029ff0b49ff064f686a0bd6ada7da6aef81a", + "difficulty": "ANOTHER", + "songID": 475, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 11030, + "notecount": 1231, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": true + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "692ea129c5e21cd3c98131ee32c261cdea22da49", + "difficulty": "HYPER", + "songID": 475, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11030, + "notecount": 916, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e8fe1c375b256dc2ce5ad3ad9de73ba8f382e94e", + "difficulty": "NORMAL", + "songID": 475, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11030, + "notecount": 534, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "426b3e70e2e5b348f2ed4964e89dcfa6de56edea", + "difficulty": "ANOTHER", + "songID": 476, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11031, + "notecount": 1039, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b41d7efebdb38e47d04577a9feb0bd150b76d30", + "difficulty": "HYPER", + "songID": 476, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11031, + "notecount": 735, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6bc23452155c6099234f23961bd216c79e82fa63", + "difficulty": "NORMAL", + "songID": 476, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11031, + "notecount": 462, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8b7e49959c4bd1af1f97c3d21aef6916451ffcb", + "difficulty": "ANOTHER", + "songID": 476, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11031, + "notecount": 1097, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f4f5de97542afa7068beca2a0b3c73685920ed40", + "difficulty": "HYPER", + "songID": 476, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11031, + "notecount": 737, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "70f2a154b0305c3176b477ea1c0733fe3ec616c2", + "difficulty": "NORMAL", + "songID": 476, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11031, + "notecount": 462, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c2d7f4496853ca60c32adcd53ceb0837671dd66e", + "difficulty": "ANOTHER", + "songID": 477, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11032, + "notecount": 1232, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d6a7c1265b3a716c6b61238156174e38a1c7cc28", + "difficulty": "HYPER", + "songID": 477, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11032, + "notecount": 941, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f7d6609be9547c8bd9e0e2e8a9168e7505b950f", + "difficulty": "LEGGENDARIA", + "songID": 477, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 11032, + "notecount": 1502, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e5fcc5e2dab9b1ad3d73695faa01e992b35697c", + "difficulty": "NORMAL", + "songID": 477, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11032, + "notecount": 611, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d13ef410983658078fbfb98bcec6bfc9e9d1f5f9", + "difficulty": "ANOTHER", + "songID": 477, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11032, + "notecount": 1184, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "11-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1c964098d2954f4c8d2e7b723d77a2d1f79f7317", + "difficulty": "BEGINNER", + "songID": 477, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 11032, + "notecount": 89, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "25b0bab426fbd3ec247972699e0256e97bee2aec", + "difficulty": "HYPER", + "songID": 477, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11032, + "notecount": 975, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9a4f79cc755b2c5574c66b3f714f398940307dc", + "difficulty": "LEGGENDARIA", + "songID": 477, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 11032, + "notecount": 1566, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "87c5d8a852a1c8986d778170e1f905dfcabefe4f", + "difficulty": "NORMAL", + "songID": 477, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11032, + "notecount": 567, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ccae67801238dd3a6bca342f87500e35e4d3dd3", + "difficulty": "HYPER", + "songID": 478, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11033, + "notecount": 562, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff561aeec6af76329e054cbe7157ed236376b522", + "difficulty": "NORMAL", + "songID": 478, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11033, + "notecount": 344, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a962054572b5df849aae9aca23400041459f2833", + "difficulty": "ANOTHER", + "songID": 478, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11033, + "notecount": 712, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3af7d8cd0b5a9c6a915bc581f321c9281acc96b7", + "difficulty": "HYPER", + "songID": 478, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11033, + "notecount": 562, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e76c2835cb45d085cfbcf376e256d943e5f86c72", + "difficulty": "NORMAL", + "songID": 478, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 11033, + "notecount": 344, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0464f488b19ee222381e67443ae279cf6ffb423f", + "difficulty": "HYPER", + "songID": 479, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11034, + "notecount": 767, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17c1b9c9cf1f3f907d766d5755ef47eb49ad30ae", + "difficulty": "NORMAL", + "songID": 479, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11034, + "notecount": 496, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d58d500aa9b32abfe5b47464ea696658eb5f3431", + "difficulty": "ANOTHER", + "songID": 479, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11034, + "notecount": 1019, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "61f7d63ef85ddf95e62b189d7d084b9500e6190b", + "difficulty": "HYPER", + "songID": 479, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11034, + "notecount": 747, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ea9be8e0833ff3dbba4a29f0483ed5fe10cf0b7", + "difficulty": "NORMAL", + "songID": 479, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11034, + "notecount": 553, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45d363a63a536c15e1d4c7a83e29c582d786dd52", + "difficulty": "ANOTHER", + "songID": 480, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11035, + "notecount": 1055, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10ee78497bcbaebef0bfc612806367b0e0566cd1", + "difficulty": "HYPER", + "songID": 480, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11035, + "notecount": 861, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "0723e6995595a9d5520999efa233f6695477cf80", + "difficulty": "LEGGENDARIA", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 480, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 11035, + "arcChartID": null, + "notecount": 1614, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "5d148f8bb74837119546952a3a9ac360b6a32f1a", + "difficulty": "NORMAL", + "songID": 480, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11035, + "notecount": 558, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e83e6c6e3a8999b0079bcb6751c7bc15837a23f4", + "difficulty": "ANOTHER", + "songID": 480, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11035, + "notecount": 1114, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1922a08fc7c419a73329367637821728db92c6b6", + "difficulty": "HYPER", + "songID": 480, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11035, + "notecount": 894, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "ea214177ef58d0660d6dcc544baf34e2df1729de", + "difficulty": "LEGGENDARIA", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 480, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 11035, + "arcChartID": null, + "notecount": 1463, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "b751b752773309507a9145d47fa914fd7c15ebff", + "difficulty": "NORMAL", + "songID": 480, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11035, + "notecount": 559, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9378c30e63979a3245b52d211bc7c1a0275786b", + "difficulty": "ANOTHER", + "songID": 481, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11036, + "notecount": 903, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "111dc4a10f0a1e748808a711c551f40a367eaeae", + "difficulty": "HYPER", + "songID": 481, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11036, + "notecount": 689, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6a9750285b73b863f3b19d6e0abea97ca3454113", + "difficulty": "NORMAL", + "songID": 481, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11036, + "notecount": 464, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e066de37ba16405b6493eb5b2b775103dc9f4a68", + "difficulty": "ANOTHER", + "songID": 481, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11036, + "notecount": 948, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a31d41fe3bfd21c0c6e71f8d6df4e556be329123", + "difficulty": "BEGINNER", + "songID": 481, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 11036, + "notecount": 305, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4dc08ccd08faff239b347a25823c9bacbd7363f9", + "difficulty": "HYPER", + "songID": 481, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11036, + "notecount": 888, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d4f6ffe1134f85d1cb568e75908ffae01b6ed6fb", + "difficulty": "NORMAL", + "songID": 481, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11036, + "notecount": 537, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6eb4f68acde672bcf7315d903270fe1eb870e99b", + "difficulty": "ANOTHER", + "songID": 482, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 11037, + "notecount": 1344, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0fec09eb60f6ddc7bff4f02f06d6678c40a83c35", + "difficulty": "HYPER", + "songID": 482, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 11037, + "notecount": 1110, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b632c37bb318f166e14e5879440e2ad9bcde80e", + "difficulty": "NORMAL", + "songID": 482, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11037, + "notecount": 754, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83d6790c860383d84b9e9de932dedd4ad69cf5d9", + "difficulty": "ANOTHER", + "songID": 482, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 11037, + "notecount": 1301, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12F", + "value": 11.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.50", + "value": 12.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b0b3e92576de8d9090472d118c424e08d1bdd826", + "difficulty": "BEGINNER", + "songID": 482, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 11037, + "notecount": 355, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da294eb0ad6c2b1b6f65e157c7af93c9ab521da5", + "difficulty": "HYPER", + "songID": 482, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 11037, + "notecount": 1116, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12F", + "value": 11.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.50", + "value": 12.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "979010869d205ef1540a77795d90e0ae4a022043", + "difficulty": "NORMAL", + "songID": 482, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11037, + "notecount": 771, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51f07ae45b5922a7b13ee2a462babf2ccffa1a09", + "difficulty": "ANOTHER", + "songID": 483, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11038, + "notecount": 1027, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0375233a95a94d6f76645ac93de5e726d86340fd", + "difficulty": "HYPER", + "songID": 483, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11038, + "notecount": 818, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "05103d4e5295d4f8f9c505a1cbda12cacdb9d49c", + "difficulty": "NORMAL", + "songID": 483, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11038, + "notecount": 547, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c2ac824cda1c373e18cca9984e190aa680b5a89", + "difficulty": "ANOTHER", + "songID": 483, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11038, + "notecount": 990, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b239b562583d3fc29ae3ad71c8fbad18b275fcaa", + "difficulty": "HYPER", + "songID": 483, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11038, + "notecount": 786, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd4a87f572de3f525a9def933fd6ce8f0a0867b5", + "difficulty": "NORMAL", + "songID": 483, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11038, + "notecount": 546, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b0fc7f877d5ac210eed59ddd169189b869fe61f9", + "difficulty": "ANOTHER", + "songID": 485, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1202, + "notecount": 215, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "95da79df165a79ccc260b99307f9a6193ea3afd1", + "difficulty": "HYPER", + "songID": 485, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1202, + "notecount": 205, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4082f04d37dc6da5bea2f89f0d577d990777367", + "difficulty": "HYPER", + "songID": 485, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1202, + "notecount": 210, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "3-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a752167712c3a9e20b907c3824cc7297b811bdec", + "difficulty": "HYPER", + "songID": 486, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1211, + "notecount": 227, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b6db3172d38315c871dab8080da3af9616a42d3", + "difficulty": "HYPER", + "songID": 486, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1211, + "notecount": 169, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "019c21ebae2ddff92f38c9b5abf415218428ddc7", + "difficulty": "ANOTHER", + "songID": 487, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11039, + "notecount": 1319, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f05fa04f1415f5de1635c4b120c226bdc5d3a79e", + "difficulty": "HYPER", + "songID": 487, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11039, + "notecount": 847, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1aa4e02213949f5ae4406ec2a344b60a16fe869d", + "difficulty": "NORMAL", + "songID": 487, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11039, + "notecount": 488, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54ebeec4c7cd8bf7dfea2fd051d5f555c4ebbd6f", + "difficulty": "ANOTHER", + "songID": 487, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11039, + "notecount": 1234, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d667a2e1f226c09e2549393240e00878a8cc4edf", + "difficulty": "BEGINNER", + "songID": 487, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 11039, + "notecount": 176, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89c64ef7f90d4bb48fa24b9213e1c79620674f4b", + "difficulty": "HYPER", + "songID": 487, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11039, + "notecount": 854, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db0808700bff235d3a02759714bd73ead15d4e11", + "difficulty": "NORMAL", + "songID": 487, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11039, + "notecount": 511, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f50fada294fd94afb48215c172bafcd686abf80d", + "difficulty": "ANOTHER", + "songID": 488, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 11040, + "notecount": 1739, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc63134bd7da647e67e6074f37179da30739ef62", + "difficulty": "HYPER", + "songID": 488, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11040, + "notecount": 997, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f059e53963850860c98298b9b9c25e07c3a35df", + "difficulty": "NORMAL", + "songID": 488, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11040, + "notecount": 659, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e1fbd5bfe34351cb8c4869eddebc34241ec4546", + "difficulty": "ANOTHER", + "songID": 488, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 11040, + "notecount": 1834, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "11-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c873be77d89ae1bc3c1bac75ddf9b2de5a3fe6af", + "difficulty": "HYPER", + "songID": 488, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11040, + "notecount": 1386, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "95bd4cfdc20bf8a510abe7fa07fe6bb7393e95ab", + "difficulty": "NORMAL", + "songID": 488, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11040, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "371495e3924dcc6aa799ae10e2eebea4119669a6", + "difficulty": "ANOTHER", + "songID": 489, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11041, + "notecount": 779, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c0beecf9ce7bc11f12c10e45c410886bda36c3d0", + "difficulty": "HYPER", + "songID": 489, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11041, + "notecount": 493, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f44983cb84679aa1ebd1d6366c0c40c6428950d7", + "difficulty": "NORMAL", + "songID": 489, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 11041, + "notecount": 347, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca739177730f0eb86129c86ce073821e3d644152", + "difficulty": "ANOTHER", + "songID": 489, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11041, + "notecount": 699, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "afda4e17ca252496f4b6fd5a4db429853cf402ca", + "difficulty": "HYPER", + "songID": 489, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11041, + "notecount": 487, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bea68f258878a39b30eadd11f679bb3bdcbf0e54", + "difficulty": "NORMAL", + "songID": 489, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 11041, + "notecount": 350, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "16cbf077de1fadbe2082f50d8eede24e089860b7", + "difficulty": "HYPER", + "songID": 490, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11042, + "notecount": 626, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c189df1df3bc9aeac1faddd7706fc7745495528", + "difficulty": "NORMAL", + "songID": 490, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11042, + "notecount": 375, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c941b30b572795386f0bdd414d1f1a573a4eaa1", + "difficulty": "ANOTHER", + "songID": 490, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11042, + "notecount": 1071, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef3977f89bf5107dd5d4285397639ec11a995393", + "difficulty": "HYPER", + "songID": 490, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11042, + "notecount": 613, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fea5d83f3b9396344368e5db902af9374cae205a", + "difficulty": "NORMAL", + "songID": 490, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11042, + "notecount": 387, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "080cff0941e173505a2a345653aa8400c830d167", + "difficulty": "ANOTHER", + "songID": 491, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11043, + "notecount": 653, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a722211d3dec8fe065d06d4eb3fbd4be98f83eae", + "difficulty": "HYPER", + "songID": 491, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11043, + "notecount": 425, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ce824b2c4e705dd54f9fce0b2989ea9a392835d", + "difficulty": "NORMAL", + "songID": 491, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 11043, + "notecount": 298, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e7eb705f0c5b8bc49c9694bc2ad79f20fa501109", + "difficulty": "ANOTHER", + "songID": 491, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11043, + "notecount": 826, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1dbe5d59d4a776ecbffeb0b165c715aae2995b1", + "difficulty": "BEGINNER", + "songID": 491, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 11043, + "notecount": 132, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1c1fa23f57fbe461c386db443dc04cab85aecd3", + "difficulty": "HYPER", + "songID": 491, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11043, + "notecount": 431, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f4904690b70c915123dbd21809365a7215b75086", + "difficulty": "NORMAL", + "songID": 491, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 11043, + "notecount": 299, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f5dcbe6b4b67fa750dfc7ec6d9c14162ecff827", + "difficulty": "HYPER", + "songID": 492, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11044, + "notecount": 864, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11b1bbd71e4332d273eee048c03faf2287345e05", + "difficulty": "NORMAL", + "songID": 492, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11044, + "notecount": 602, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4be6eb0df0e17380c83611cd6c5707da138e18ae", + "difficulty": "ANOTHER", + "songID": 492, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11044, + "notecount": 1186, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b6281617e2c30dc0ffbdeadbc529267026c1a7f", + "difficulty": "HYPER", + "songID": 492, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11044, + "notecount": 879, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f4cbcd08d8ab52f15d5a40278773b27050d68fa1", + "difficulty": "NORMAL", + "songID": 492, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11044, + "notecount": 607, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79966f248382606f350364367f01d72d7a1e3b0b", + "difficulty": "ANOTHER", + "songID": 493, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11045, + "notecount": 829, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "256f50a8de721f4c88b9fc0058d9a5a810560c3d", + "difficulty": "HYPER", + "songID": 493, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11045, + "notecount": 679, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d069a9d496999e4c22afc3b36fcfeaa060c767f", + "difficulty": "NORMAL", + "songID": 493, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11045, + "notecount": 406, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8bd90c92b28cf7878093f8c9ed493e90b1b8dc5f", + "difficulty": "ANOTHER", + "songID": 493, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11045, + "notecount": 848, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb24f2688473c46c04d666d27a9210c871a8191f", + "difficulty": "BEGINNER", + "songID": 493, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 11045, + "notecount": 203, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "879acc511660089df47aae64d686e82a73be15fb", + "difficulty": "HYPER", + "songID": 493, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11045, + "notecount": 689, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34af00ead961aac5d537931269ceb9f341dc13eb", + "difficulty": "NORMAL", + "songID": 493, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11045, + "notecount": 417, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50dbe2066478b040eeb212b647aae2aa5858f6c9", + "difficulty": "HYPER", + "songID": 494, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11046, + "notecount": 466, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "638a2f3275126cf8d5b43e9af5dd9773a6f83f49", + "difficulty": "NORMAL", + "songID": 494, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 11046, + "notecount": 309, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bccf67a63064f7246e293695a76c2ec50a6a0941", + "difficulty": "ANOTHER", + "songID": 494, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11046, + "notecount": 751, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e9c6926c4c8ee1d9697dd0a48690d7377d8ae2d", + "difficulty": "HYPER", + "songID": 494, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11046, + "notecount": 459, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "62aabb55c01064b99df890f2b3fb582717400517", + "difficulty": "NORMAL", + "songID": 494, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 11046, + "notecount": 289, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8787c143e96d5d91ef7ad97e245ffaf8fe49a06e", + "difficulty": "ANOTHER", + "songID": 495, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11047, + "notecount": 948, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "699934dbcdc491a8730271a6d4d89d6289fe8fc0", + "difficulty": "HYPER", + "songID": 495, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11047, + "notecount": 671, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "967c9be445806d3d6793a78b826c8b655cdcf475", + "difficulty": "NORMAL", + "songID": 495, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 11047, + "notecount": 379, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5b2589806f886f65f7db1d8e75cf88420942f3d4", + "difficulty": "ANOTHER", + "songID": 495, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11047, + "notecount": 969, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb61bd200eea0936d5278b3b28e1033c36713341", + "difficulty": "BEGINNER", + "songID": 495, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 11047, + "notecount": 173, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af7460d4869379cd13cf6c90b37331404f4c9052", + "difficulty": "HYPER", + "songID": 495, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11047, + "notecount": 671, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d016e2cb18ba6a2e231b46445fed25b9751fa05", + "difficulty": "NORMAL", + "songID": 495, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11047, + "notecount": 379, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4a5d050bce76baf57785d3d764cc6c6db4de17c", + "difficulty": "ANOTHER", + "songID": 496, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11048, + "notecount": 891, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f596e95cadaa19eb0f460dd1328078d84eb93f66", + "difficulty": "HYPER", + "songID": 496, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11048, + "notecount": 530, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8d6966fef1b960d8506e9f427e07cb1aa1aa9f73", + "difficulty": "NORMAL", + "songID": 496, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 11048, + "notecount": 294, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84fe0e63f0495f710f81781d9ebd719e1a2861d8", + "difficulty": "ANOTHER", + "songID": 496, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11048, + "notecount": 854, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29450474cdc18304a1b2bd49dbea2d54e5d6037d", + "difficulty": "HYPER", + "songID": 496, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11048, + "notecount": 530, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ee1d0e3b538f43194b45cbd776df8318190634a", + "difficulty": "NORMAL", + "songID": 496, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 11048, + "notecount": 294, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b58cf4065e8654841ba9b6f3c455be8c6edf1505", + "difficulty": "ANOTHER", + "songID": 497, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11049, + "notecount": 858, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "64a6fe126cff63444df4fb5b1089398366ff94ab", + "difficulty": "HYPER", + "songID": 497, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11049, + "notecount": 773, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6c90b4193063423b8d77ab4950bea46e77a84f4", + "difficulty": "NORMAL", + "songID": 497, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11049, + "notecount": 498, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50050db1bcee06a6d16d01e120a4c5ebaeaea1f1", + "difficulty": "ANOTHER", + "songID": 497, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11049, + "notecount": 858, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "16afc93650be407b26259544ec91dde93028bbb8", + "difficulty": "HYPER", + "songID": 497, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11049, + "notecount": 773, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f26f4e81b902135c35640d339c55a6979063e24c", + "difficulty": "NORMAL", + "songID": 497, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11049, + "notecount": 498, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "11-cs", + "8-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a7fb5d0ab24c5f3cf60f19f8f2ac156150de94b8", + "difficulty": "ANOTHER", + "songID": 498, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11050, + "notecount": 1155, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ec0aa38cf1bf32cb3aa850c3e743b0cf21c98e6e", + "difficulty": "HYPER", + "songID": 498, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11050, + "notecount": 1029, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9177bb335018471c92dcab297969f53ad45b716d", + "difficulty": "NORMAL", + "songID": 498, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11050, + "notecount": 724, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d65211cacdaa14f95f87aee1604c0a3d2cb19acf", + "difficulty": "ANOTHER", + "songID": 498, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11050, + "notecount": 1241, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45c760d9eadcfdec95f508cf367447ec1ca21684", + "difficulty": "HYPER", + "songID": 498, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11050, + "notecount": 1029, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dea9c2773ac20fcb9d15bd7bb7b4a0538463926c", + "difficulty": "NORMAL", + "songID": 498, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11050, + "notecount": 691, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c4e73048acf2fdb775e5d93a2d226e30d429349b", + "difficulty": "ANOTHER", + "songID": 499, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11051, + "notecount": 901, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1dd68fd6e38993935645e085d4c83625f9742a27", + "difficulty": "HYPER", + "songID": 499, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11051, + "notecount": 772, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a33a07da4a6f61a0d5543f1a922d1f8ce2ac95f8", + "difficulty": "NORMAL", + "songID": 499, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11051, + "notecount": 524, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b8f69d95f31edd4547f591bc1a6ba5e3af88827", + "difficulty": "ANOTHER", + "songID": 499, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 11051, + "notecount": 932, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c7f36ac9cb1b588d688e6ebed147a85a818dcdc", + "difficulty": "HYPER", + "songID": 499, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11051, + "notecount": 797, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9bb7e9cffdf1be560ac83c17efca5797fd6c2379", + "difficulty": "NORMAL", + "songID": 499, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11051, + "notecount": 531, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c357659d4e8646d3f282c7297474e052f6e83b7a", + "difficulty": "ANOTHER", + "songID": 500, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 11052, + "notecount": 1456, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9017f6fe935e3bb069aa717fe89768af2779218", + "difficulty": "HYPER", + "songID": 500, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 11052, + "notecount": 1211, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "75c670ca62ac10ee5b69458edbe1b232f667bbe3", + "difficulty": "NORMAL", + "songID": 500, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11052, + "notecount": 588, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a18de7467403ba19db23ba3a800792e62c8dceb1", + "difficulty": "ANOTHER", + "songID": 500, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11052, + "notecount": 1222, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c8baa5db5a61cc68ffcf44625ff87460f8b65fa1", + "difficulty": "HYPER", + "songID": 500, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11052, + "notecount": 1103, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "febce9118a009e8bb564a013f5b1cb335b630eb9", + "difficulty": "NORMAL", + "songID": 500, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 11052, + "notecount": 587, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "62339148515fb3d23f380ac58f5a161d02ad59f7", + "difficulty": "ANOTHER", + "songID": 502, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 11201, + "notecount": 1972, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cc3676d91953c1feffc0cf776ed7aa49b3a82a2d", + "difficulty": "HYPER", + "songID": 502, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11201, + "notecount": 1249, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dfd77e1b28f4ce68938abf777e174daee6a8c647", + "difficulty": "NORMAL", + "songID": 502, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11201, + "notecount": 526, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d340ed4bcedeba9fdb93fed48ec7a94c0b5e1a93", + "difficulty": "ANOTHER", + "songID": 502, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 11201, + "notecount": 1396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4df71b10021837ec8fe821fb63cdb936f6731a7", + "difficulty": "HYPER", + "songID": 502, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 11201, + "notecount": 1249, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83f65ed283d64a496b9da8064d01a6ddbb1c3253", + "difficulty": "NORMAL", + "songID": 502, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 11201, + "notecount": 526, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f70f2f803ab50a8747589115494d1b4663594a2", + "difficulty": "HYPER", + "songID": 503, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1219, + "notecount": 217, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f5c57e8a92d7f36b7af2d0ab710ceb9ef18ceb1d", + "difficulty": "HYPER", + "songID": 503, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 1219, + "notecount": 139, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13d8837479417e3bee773c71325f83256d350555", + "difficulty": "HYPER", + "songID": 504, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1401, + "notecount": 223, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d74a00788469b49e9cc843f1c7b455728fb2ef6", + "difficulty": "HYPER", + "songID": 504, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 1401, + "notecount": 190, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93fa6de0bf100a8b33f46eea125b95c89b413dad", + "difficulty": "ANOTHER", + "songID": 505, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11202, + "notecount": 705, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "221a2c4e17f8fe379c3a87e18e32399683b091c5", + "difficulty": "HYPER", + "songID": 505, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11202, + "notecount": 371, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4669872bac55cbec42600cd5845c105582870ecd", + "difficulty": "NORMAL", + "songID": 505, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 11202, + "notecount": 260, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "00d7a566dab7a6662193567e0a12f618e810e3f6", + "difficulty": "ANOTHER", + "songID": 505, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11202, + "notecount": 705, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6252e930919cffcf51837f1e2535824fcb48213a", + "difficulty": "HYPER", + "songID": 505, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 11202, + "notecount": 371, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba3ce6ba59d0fbbe893ca854b0a8a226d5b9acf8", + "difficulty": "NORMAL", + "songID": 505, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 11202, + "notecount": 260, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8286adac8c9b75bdc3dcca9c4e0e1333e2d47e70", + "difficulty": "ANOTHER", + "songID": 506, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 11203, + "notecount": 799, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0e2cbbc5b084d0a9ac1cb3523214597c5e7ae16", + "difficulty": "HYPER", + "songID": 506, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 11203, + "notecount": 321, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "09a0cbd00e1518c556e5721384f4a2269297c38a", + "difficulty": "NORMAL", + "songID": 506, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 11203, + "notecount": 228, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b647f21f5144a68de9c58f62de6d566174b81d28", + "difficulty": "ANOTHER", + "songID": 506, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 11203, + "notecount": 799, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1fb4ba289d18704083424d2c623f3744cd85a3d", + "difficulty": "HYPER", + "songID": 506, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 11203, + "notecount": 321, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24489d8426a3471d8b6f47c6a9aacb48d451c459", + "difficulty": "NORMAL", + "songID": 506, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 11203, + "notecount": 228, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "11-cs", + "bmus" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "430423da0c4fdedaaefc71179805c6d18af4306f", + "difficulty": "HYPER", + "songID": 507, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12000, + "notecount": 1048, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3367ccbaa13d9ce43c4dd95ef596fb02f614fd7b", + "difficulty": "NORMAL", + "songID": 507, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12000, + "notecount": 527, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c100f4b90d6910e5e3257bd61192e9ff476b66c", + "difficulty": "ANOTHER", + "songID": 507, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12000, + "notecount": 1206, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba17df20c616d37747e33752352681ee98156062", + "difficulty": "HYPER", + "songID": 507, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12000, + "notecount": 1066, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c151896bcad91402d4949b70c9c6ec8d911ba31", + "difficulty": "NORMAL", + "songID": 507, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 12000, + "notecount": 527, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7617a608a8164d339ccab0592548418ac95d262c", + "difficulty": "ANOTHER", + "songID": 508, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12001, + "notecount": 1075, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cff5c07e792be022dc60764108f5e17b746f4fd7", + "difficulty": "HYPER", + "songID": 508, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12001, + "notecount": 689, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "148b0802e287457cb756fbc2cb2c6964d60f3413", + "difficulty": "NORMAL", + "songID": 508, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12001, + "notecount": 409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8dba3a0c97caf63bb1af9348cbe515667a8e08b4", + "difficulty": "ANOTHER", + "songID": 508, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12001, + "notecount": 1079, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7055d91a820caed97ffb13679ba95159c81ad8b1", + "difficulty": "HYPER", + "songID": 508, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12001, + "notecount": 689, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "00a46980a942851aad6ea31daca579cf9171bcd1", + "difficulty": "NORMAL", + "songID": 508, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12001, + "notecount": 409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d48d6f174139dcd03fcf82e118e2183505c098ca", + "difficulty": "ANOTHER", + "songID": 509, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12002, + "notecount": 1610, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1eff11f5c457e1e0e44415ba5021a58038f8e4a", + "difficulty": "HYPER", + "songID": 509, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12002, + "notecount": 1171, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e6b3825553198dbeccd38454aea829263b270e6", + "difficulty": "LEGGENDARIA", + "songID": 509, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 12002, + "notecount": 2035, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "176751a69dbc6e8b566234ab1b44a7d806b4c8a2", + "difficulty": "NORMAL", + "songID": 509, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12002, + "notecount": 560, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7af3d674bcf8504057b3476fdf8034d25493f4e7", + "difficulty": "ANOTHER", + "songID": 509, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12002, + "notecount": 1420, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "61b8cf314028a987ddd204e181637e17caa1f92d", + "difficulty": "HYPER", + "songID": 509, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12002, + "notecount": 1118, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f01a5c52a7dcc1bb4238f26bb9c623f2c36c594e", + "difficulty": "LEGGENDARIA", + "songID": 509, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 12002, + "notecount": 1946, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d427e258b82b28c19cb74def8800cf079365e02f", + "difficulty": "NORMAL", + "songID": 509, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12002, + "notecount": 558, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de838ea1b89ac5dc9b7c676525da8f38e8f3f9da", + "difficulty": "ANOTHER", + "songID": 510, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12003, + "notecount": 943, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba1d3c742d7599cdd6ffd30044e88578e2f69d90", + "difficulty": "HYPER", + "songID": 510, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12003, + "notecount": 856, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b5409e35900136339cfc37b82f590234e2958100", + "difficulty": "NORMAL", + "songID": 510, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12003, + "notecount": 396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e2c493ee3ddce73aaaf4d292acb1774701ab4216", + "difficulty": "ANOTHER", + "songID": 510, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12003, + "notecount": 1042, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bcd1fc3e53e2c1c001079159a26767a07f8e628e", + "difficulty": "BEGINNER", + "songID": 510, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 12003, + "notecount": 149, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "206ee28716a9de8cbd06f526bffeb116c13ba699", + "difficulty": "HYPER", + "songID": 510, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12003, + "notecount": 947, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34c91334f9da529efe474274061ab804b060bf5d", + "difficulty": "NORMAL", + "songID": 510, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 12003, + "notecount": 285, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c1e5ad12d9c21675764136873be19fd8a489a93c", + "difficulty": "ANOTHER", + "songID": 511, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 12004, + "notecount": 2000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "948df1cb02309cd85a6fdfdac66586ce4f634c02", + "difficulty": "HYPER", + "songID": 511, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12004, + "notecount": 1104, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "507e553a79ab46bfdd695e5ca262153cf415b354", + "difficulty": "NORMAL", + "songID": 511, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12004, + "notecount": 555, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b40b86ed92909dacbe3f7ecb21e92ea4d1e76c60", + "difficulty": "ANOTHER", + "songID": 511, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 12004, + "notecount": 2000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "12-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12S+", + "value": 13.2, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.60", + "value": 13.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "871db812f3ee5002266edfe7b2cf48b4b2451302", + "difficulty": "BEGINNER", + "songID": 511, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 12004, + "notecount": 302, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "06eb55df38403b09e1d1f764ce2b561f37bd1c27", + "difficulty": "HYPER", + "songID": 511, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12004, + "notecount": 1111, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "875ab9e16ff7238ed7f33a48959d706be1f70c9a", + "difficulty": "NORMAL", + "songID": 511, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12004, + "notecount": 555, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9c0abcbc38d03481e9b162b7ab824a2f23303ce", + "difficulty": "HYPER", + "songID": 512, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12005, + "notecount": 598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dfafde16080c2937fe33bb9f1846e2965e9f8ea0", + "difficulty": "NORMAL", + "songID": 512, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12005, + "notecount": 433, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1c30a14139ca7de2f83858efb93473823f0ea2f", + "difficulty": "ANOTHER", + "songID": 512, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12005, + "notecount": 957, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc9b1051cad33c3ebbae58b6287cb298a848fa49", + "difficulty": "HYPER", + "songID": 512, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12005, + "notecount": 598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7af3da7c70dcdddf307d15e2a34ac2ae25537404", + "difficulty": "NORMAL", + "songID": 512, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12005, + "notecount": 434, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ffa633d516654a02b9c396ccaef7b7d782425e3", + "difficulty": "ANOTHER", + "songID": 513, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12006, + "notecount": 1471, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c12d6d4120862b99941558134cd82f40667a5149", + "difficulty": "HYPER", + "songID": 513, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12006, + "notecount": 939, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2eb638544823fa7a73a592d97a08c4f1f556d48f", + "difficulty": "NORMAL", + "songID": 513, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12006, + "notecount": 542, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ec62785adea6ef63bde8275cfcb2d7f74397c5a5", + "difficulty": "ANOTHER", + "songID": 513, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12006, + "notecount": 1261, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea735ff743205a36a40e604cea65a903a3fa6a0a", + "difficulty": "HYPER", + "songID": 513, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12006, + "notecount": 949, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "adf335088bd8df9d3e07fd3621e4ea3343509c25", + "difficulty": "NORMAL", + "songID": 513, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12006, + "notecount": 654, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a815ffc3be9c34f2c547b8e0cde3486496852c96", + "difficulty": "ANOTHER", + "songID": 514, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12007, + "notecount": 1215, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e34329656b67cfc0f8fecdba6a5ffb9b30232fba", + "difficulty": "HYPER", + "songID": 514, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12007, + "notecount": 1081, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a574e2c49db0e6a960679d225e7276e31ade55f", + "difficulty": "NORMAL", + "songID": 514, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 12007, + "notecount": 697, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49082cd0a6e006e8da793b64d5423f0edef5fc37", + "difficulty": "ANOTHER", + "songID": 514, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 12007, + "notecount": 1527, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "64a5eaaacf1b3e782a359b4d745e1ce0bfd9535a", + "difficulty": "HYPER", + "songID": 514, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12007, + "notecount": 1060, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e08faf380fb586a760c58a3ea93f08741d4c27ca", + "difficulty": "NORMAL", + "songID": 514, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12007, + "notecount": 697, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84950bc0ce65bd9d41146fa26e786e6cc9999e37", + "difficulty": "ANOTHER", + "songID": 515, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 12008, + "notecount": 1554, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "306d56d3572c0ce5b8e295e95cc4b8bb9248adb2", + "difficulty": "HYPER", + "songID": 515, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12008, + "notecount": 917, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c24fbaef30fdff28f93f760994418c37738a0385", + "difficulty": "NORMAL", + "songID": 515, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 12008, + "notecount": 584, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ebb1a011912722f26695324d528f50a4678c4be8", + "difficulty": "ANOTHER", + "songID": 515, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12008, + "notecount": 1368, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5a76debad3d74e498b8615de3e7a09e15e7063b3", + "difficulty": "HYPER", + "songID": 515, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12008, + "notecount": 930, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d166e9e28fa6b1c81c18ecabf339419e36aae1be", + "difficulty": "NORMAL", + "songID": 515, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12008, + "notecount": 561, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f97b179c6e60a00a54223b11e5ae4956c7395dd2", + "difficulty": "ANOTHER", + "songID": 516, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12009, + "notecount": 1073, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e2b317a3678cebf1d74b241cf1b6c331eb89bf36", + "difficulty": "HYPER", + "songID": 516, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12009, + "notecount": 776, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8757bf69147234ef60f2b09b41de23c6f5b4564b", + "difficulty": "NORMAL", + "songID": 516, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 12009, + "notecount": 555, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27dd0e32221e7179adf9e9f4681c7c5b3693759c", + "difficulty": "ANOTHER", + "songID": 516, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12009, + "notecount": 1052, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "01b60f5125ef5123c3840943c047446d167f3e3e", + "difficulty": "BEGINNER", + "songID": 516, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 12009, + "notecount": 332, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8572cfe353edada07cdfe2a66bca4ae96dd3d29c", + "difficulty": "HYPER", + "songID": 516, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12009, + "notecount": 782, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1bd1251675f666b14b240298222ab04831247daa", + "difficulty": "NORMAL", + "songID": 516, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12009, + "notecount": 555, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb3c8da76b01642106ec273971de02819931861a", + "difficulty": "ANOTHER", + "songID": 517, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12010, + "notecount": 1377, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6000316cfc356bd1997c6da4187fecc279605b66", + "difficulty": "HYPER", + "songID": 517, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12010, + "notecount": 733, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bed44913776ece4776e8cc873c2a26cc4a0e4ff7", + "difficulty": "NORMAL", + "songID": 517, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12010, + "notecount": 640, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "15c33022c81f42c43e9da1dc32465f850f13f761", + "difficulty": "ANOTHER", + "songID": 517, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12010, + "notecount": 1363, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a3e14670ffe80a5e6633a62da4dfd3ce356353f", + "difficulty": "HYPER", + "songID": 517, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12010, + "notecount": 969, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "59e79a664255d787e64f57b0fd960153c665776a", + "difficulty": "LEGGENDARIA", + "songID": 517, + "playtype": "SP", + "levelNum": 0, + "level": "11", + "data": { + "inGameID": 12010, + "notecount": 1637, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "469e0a0c76565b7dfe01fc06f5eb85d3ebd149af", + "difficulty": "NORMAL", + "songID": 517, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 12010, + "notecount": 660, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "551a894a25191047c8c8921d606c963bab201523", + "difficulty": "ANOTHER", + "songID": 518, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12011, + "notecount": 1235, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c93fb3532e7649dc0f1a8624828ff9890a0b01f3", + "difficulty": "HYPER", + "songID": 518, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12011, + "notecount": 936, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a7f6d6f0712c58b26f7c62a0f1c66e261a19ff1a", + "difficulty": "NORMAL", + "songID": 518, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12011, + "notecount": 540, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9fed344258692817cb5e4abea90c31fa3cee0e02", + "difficulty": "ANOTHER", + "songID": 518, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12011, + "notecount": 1243, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "10f3292e7f1c91bb9c3e7d8c7b1b43fc8d9d929f", + "difficulty": "BEGINNER", + "songID": 518, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 12011, + "notecount": 144, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a07a6f9d89dca26b457036fcdd82f5dfe5cfaa96", + "difficulty": "HYPER", + "songID": 518, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12011, + "notecount": 946, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9bfa974bceaa07c9a1e9af97705379512e11d8be", + "difficulty": "NORMAL", + "songID": 518, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12011, + "notecount": 541, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4367fdf0fea7d17f0492f4654a9cc0dc8662d417", + "difficulty": "ANOTHER", + "songID": 519, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12012, + "notecount": 922, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c102523a5d608f50aadd0c3df04d0acfabe89d0", + "difficulty": "HYPER", + "songID": 519, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12012, + "notecount": 685, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49aa953689b900514995d36d948ea03decc28864", + "difficulty": "NORMAL", + "songID": 519, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12012, + "notecount": 403, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32c838988b95785c54837db2be729a67024396a2", + "difficulty": "ANOTHER", + "songID": 519, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12012, + "notecount": 925, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ab72d59a8967bb6265dc82c28ac054d1f86684d", + "difficulty": "BEGINNER", + "songID": 519, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 12012, + "notecount": 201, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82d6efe7275eab952caace97a9407944fcf3764d", + "difficulty": "HYPER", + "songID": 519, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12012, + "notecount": 678, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60e02643e9443976e6360890f7617996f6a87e21", + "difficulty": "NORMAL", + "songID": 519, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12012, + "notecount": 405, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "710261aa4f83fa321b23773612343aa5dfc53465", + "difficulty": "ANOTHER", + "songID": 520, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12013, + "notecount": 1175, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "085dd5dd830a091a3010412f9350af2d72885818", + "difficulty": "HYPER", + "songID": 520, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12013, + "notecount": 922, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c48b93c27bda84e424b9e37991bcae1743ecd0e2", + "difficulty": "NORMAL", + "songID": 520, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12013, + "notecount": 440, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d524ab618c31c813c9b6da349339cdd0da2437d", + "difficulty": "ANOTHER", + "songID": 520, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12013, + "notecount": 1246, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68d0c7d09758ac1ef2a72d995315b7f9ddad4d21", + "difficulty": "HYPER", + "songID": 520, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12013, + "notecount": 900, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da58c24c9620960b7e3e5a744144db027116ae51", + "difficulty": "NORMAL", + "songID": 520, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12013, + "notecount": 455, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9b7effc6a4f392b040183e9930781c62d2eea77", + "difficulty": "ANOTHER", + "songID": 521, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12014, + "notecount": 830, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e20c7b4e242628dcf85ca70814aa3c32755d075d", + "difficulty": "HYPER", + "songID": 521, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12014, + "notecount": 670, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "543c28f05d479a3cb48c1f733ff27adc290946b5", + "difficulty": "NORMAL", + "songID": 521, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12014, + "notecount": 390, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5268b5495ac6d3a998325d76a7d698aca8e5a7ee", + "difficulty": "ANOTHER", + "songID": 521, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12014, + "notecount": 875, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ea729f82867a2c29d34c88ef0cde22358702b00", + "difficulty": "BEGINNER", + "songID": 521, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 12014, + "notecount": 202, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6a141f0a888bc5d6b87008e21fb5df22c2bbab84", + "difficulty": "HYPER", + "songID": 521, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12014, + "notecount": 710, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "034e1b6eb1d2ba61d65b0e954666d0cf6635d882", + "difficulty": "NORMAL", + "songID": 521, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12014, + "notecount": 458, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4dfb354d543346a88cf60d29956aac9fb5d65d71", + "difficulty": "ANOTHER", + "songID": 522, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12015, + "notecount": 1498, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "00369fbec26b38473e046196352df19d435c7e7e", + "difficulty": "HYPER", + "songID": 522, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12015, + "notecount": 1089, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10d0f6d5e8f5fd5fde34f68657fc766efb5e7853", + "difficulty": "NORMAL", + "songID": 522, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12015, + "notecount": 559, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9c1368e83781a8c8e2ab6a45e1645cf6dea5513a", + "difficulty": "ANOTHER", + "songID": 522, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12015, + "notecount": 1520, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7f5b5f3e3640e2848985b85a574dffbf95a37030", + "difficulty": "BEGINNER", + "songID": 522, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 12015, + "notecount": 205, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf096c92809fcf932aae7695202b465d76a5ec88", + "difficulty": "HYPER", + "songID": 522, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12015, + "notecount": 1135, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d08999a61eab54e1fc91f51a538b0ea1836a3ad4", + "difficulty": "NORMAL", + "songID": 522, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12015, + "notecount": 571, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51e5fd301a77732b76725b8f1b7324127c28f695", + "difficulty": "ANOTHER", + "songID": 523, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12016, + "notecount": 1070, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6da648d51cc71e0af2e9bbcc59acc8596c498003", + "difficulty": "HYPER", + "songID": 523, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12016, + "notecount": 976, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "66a706480e2c2cc1ece416c2d8329b405ae07c9d", + "difficulty": "LEGGENDARIA", + "songID": 523, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 12016, + "notecount": 1748, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fccb61b52e241c8941d552160e9efd868006c76f", + "difficulty": "NORMAL", + "songID": 523, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 12016, + "notecount": 707, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc6872d2324d3308b44d294b8be2c70a25ba84ca", + "difficulty": "ANOTHER", + "songID": 523, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12016, + "notecount": 1033, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "75d1a9d3a7d71f02375fbdc97d563b61e21bf78c", + "difficulty": "HYPER", + "songID": 523, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12016, + "notecount": 778, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b05e1fbd823efaec2e7f62118971f1e49c44e1a", + "difficulty": "LEGGENDARIA", + "songID": 523, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 12016, + "notecount": 1684, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "9949960e0f52c4d2df557a27c680dd0009a80ae1", + "difficulty": "NORMAL", + "songID": 523, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 12016, + "notecount": 630, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cef3332d6c4e76d2aba06a7b54e9c1a7d5d39804", + "difficulty": "HYPER", + "songID": 524, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12018, + "notecount": 883, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1aa56fe6ea857712d170b118c4809ad924ee2c95", + "difficulty": "NORMAL", + "songID": 524, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12018, + "notecount": 611, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "464c5a5f3ae556ea5edc0217604dd38eaf45180b", + "difficulty": "ANOTHER", + "songID": 524, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12018, + "notecount": 1096, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b0370244c7a55f45f8ca49eca2e31a251be06a6", + "difficulty": "HYPER", + "songID": 524, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12018, + "notecount": 883, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "31701050a21b97a7301499a9e8cebb7e63481f51", + "difficulty": "NORMAL", + "songID": 524, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12018, + "notecount": 555, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "170753a506507df3a3e7c234e5bb4bbebb5c047b", + "difficulty": "ANOTHER", + "songID": 525, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12019, + "notecount": 935, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32d2906a2c09f4a75cd590ee292a5a6f67eb6563", + "difficulty": "HYPER", + "songID": 525, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12019, + "notecount": 784, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9405e6ea793f5d468da8e51cc2b2c8fa16ed76a9", + "difficulty": "NORMAL", + "songID": 525, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12019, + "notecount": 556, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1edd4192bab0468a4d21adbfcbccf2d068a8f1a4", + "difficulty": "ANOTHER", + "songID": 525, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12019, + "notecount": 972, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "93941f1572a6a692b8900dd07cb19d6f160dc82d", + "difficulty": "HYPER", + "songID": 525, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12019, + "notecount": 807, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c55769154b8834b4b3bce37cbd5d57e1e05c638b", + "difficulty": "NORMAL", + "songID": 525, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12019, + "notecount": 564, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "88fb98c26f4b7d1a634de3053fa2130ca689c85c", + "difficulty": "ANOTHER", + "songID": 526, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 12020, + "notecount": 1396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b74ce067facd27b2a019cd20fcd7855e43db2da", + "difficulty": "HYPER", + "songID": 526, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12020, + "notecount": 774, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a264161d81c237207dfe97f28e8e9726caa4d70", + "difficulty": "NORMAL", + "songID": 526, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12020, + "notecount": 461, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df1c056869c120cecbc40868e265c388ff4c0633", + "difficulty": "ANOTHER", + "songID": 526, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12020, + "notecount": 1100, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35f5fd970cd89a8cddc1b77a3dfc0109bbf679ac", + "difficulty": "HYPER", + "songID": 526, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12020, + "notecount": 773, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9e7d648acf5dcbe66275e42c869fa14ae2c0c86", + "difficulty": "NORMAL", + "songID": 526, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12020, + "notecount": 440, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2df2b210323a2225488364328f85c99e4c2a0437", + "difficulty": "ANOTHER", + "songID": 527, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12021, + "notecount": 1051, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ad92eea5427aa4bae51ffab65b7c140cdfdfc62", + "difficulty": "HYPER", + "songID": 527, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12021, + "notecount": 791, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed6a793d68434e00228160a2b73391362b680012", + "difficulty": "NORMAL", + "songID": 527, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12021, + "notecount": 465, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e8e15d4408ed6b5a1419dc19fa53ce470e9545c", + "difficulty": "ANOTHER", + "songID": 527, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12021, + "notecount": 1051, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c78e67927f620c06d30887e29cc26683f3748f6", + "difficulty": "BEGINNER", + "songID": 527, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 12021, + "notecount": 95, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94bdfb2b07a18971fa3f38e00b887b35944a2c5f", + "difficulty": "HYPER", + "songID": 527, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12021, + "notecount": 850, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d001b4afe6c8f2073a1dffe0f97171316d88ba35", + "difficulty": "NORMAL", + "songID": 527, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12021, + "notecount": 466, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2fa43cfcc2122a36cb67f0ab4674532b794b5201", + "difficulty": "HYPER", + "songID": 528, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12022, + "notecount": 1000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df1ceddd87d8b0512dc2f35f27d72a5d7bd9a6f8", + "difficulty": "NORMAL", + "songID": 528, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12022, + "notecount": 491, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c792eaeaa9468e84cfb8e03e78f9da4222fd192", + "difficulty": "ANOTHER", + "songID": 528, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12022, + "notecount": 1178, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e10c2610acb3f2af086b6044e4745cfa08e5b1d", + "difficulty": "HYPER", + "songID": 528, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12022, + "notecount": 1000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "790b756256c443702103f84d1b7c43c4453aaf99", + "difficulty": "NORMAL", + "songID": 528, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12022, + "notecount": 495, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "468f8d85127be07749b540638d4635af30e31346", + "difficulty": "HYPER", + "songID": 529, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3201, + "notecount": 485, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2053989b81a3d9d62e7ac41b25ec1d47b6962d7", + "difficulty": "HYPER", + "songID": 529, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 3201, + "notecount": 413, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fdb13a1c7012e6b85572efa3996216f5db44b3f0", + "difficulty": "ANOTHER", + "songID": 530, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12023, + "notecount": 842, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d3b4138151bac122161291d56fdb9b8ae23ae280", + "difficulty": "HYPER", + "songID": 530, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12023, + "notecount": 526, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4439aa32ce56a854ffb53f69aa7494d1cb6625f", + "difficulty": "NORMAL", + "songID": 530, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 12023, + "notecount": 334, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb029dfd2c573ef7fde1c28446604b7cfa5d3894", + "difficulty": "ANOTHER", + "songID": 530, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12023, + "notecount": 843, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f6b9f7abeed4f4a58205a085c22bd6a9fccd9957", + "difficulty": "HYPER", + "songID": 530, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12023, + "notecount": 526, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1fef05c0acd78897c0f056024ec4002555509d2", + "difficulty": "NORMAL", + "songID": 530, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 12023, + "notecount": 334, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0e9b8a2ccf0472654f67702acedf5b07cedc546", + "difficulty": "HYPER", + "songID": 531, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12024, + "notecount": 676, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0722879fe7d64079e302edac7349020b78b18434", + "difficulty": "NORMAL", + "songID": 531, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12024, + "notecount": 385, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3253522feb5a4391b2dfd85a53f6c08361ce3502", + "difficulty": "ANOTHER", + "songID": 531, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12024, + "notecount": 862, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21edba5805caebf385ba5f502b213cd7430721c1", + "difficulty": "HYPER", + "songID": 531, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12024, + "notecount": 676, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d5c1f174caf6c6a7a5d5407d90a054e18e3796d6", + "difficulty": "NORMAL", + "songID": 531, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12024, + "notecount": 385, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d0b6171381fd604200cb2eb06fffc1526dd5f58", + "difficulty": "ANOTHER", + "songID": 532, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12025, + "notecount": 1414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d223794be2a35999cc51f63b5f38ad57fe38237b", + "difficulty": "HYPER", + "songID": 532, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12025, + "notecount": 871, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c91c1f6007a9929fdb39d158233c7285c87a38e", + "difficulty": "NORMAL", + "songID": 532, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12025, + "notecount": 474, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f6349d1d9a9bb1508bea8f4aafbd7f585701ce3", + "difficulty": "ANOTHER", + "songID": 532, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12025, + "notecount": 903, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2c1708f5634d8b64545f06a51233ded1eb3ca066", + "difficulty": "HYPER", + "songID": 532, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12025, + "notecount": 871, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b276de22e2c4b151b2e83d84e221168b101e80a", + "difficulty": "NORMAL", + "songID": 532, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12025, + "notecount": 474, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9044bc1741f3fb873e9b0e7537ce2023ef50397", + "difficulty": "HYPER", + "songID": 533, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12026, + "notecount": 848, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb898eed339c808288572f1d7002513ae303f78c", + "difficulty": "NORMAL", + "songID": 533, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12026, + "notecount": 479, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4d8e290585d36e06670fbfe7b51a630153f15553", + "difficulty": "ANOTHER", + "songID": 533, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12026, + "notecount": 1145, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e7ea11a1f93bbea84c5e30907538d7eb10ba454", + "difficulty": "HYPER", + "songID": 533, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12026, + "notecount": 848, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb530db1856c39cd7b4fd79b383d6560117802ee", + "difficulty": "NORMAL", + "songID": 533, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12026, + "notecount": 479, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d8b7330741254580b07ca58c990035b9f6ceadde", + "difficulty": "ANOTHER", + "songID": 534, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12027, + "notecount": 661, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54307aa21f91e0c5660f3601175fe2f0e1e67240", + "difficulty": "HYPER", + "songID": 534, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 12027, + "notecount": 545, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef152b3486ce234f04c48e63c21e88e4372cb620", + "difficulty": "NORMAL", + "songID": 534, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12027, + "notecount": 432, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf2d700aa734aa134c1b1310c59ef4c4fa5ff605", + "difficulty": "ANOTHER", + "songID": 534, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12027, + "notecount": 661, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1fe5657190ced1fb0ce74c2221819fd9200f7a59", + "difficulty": "HYPER", + "songID": 534, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 12027, + "notecount": 545, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ae58063c2dce0e082094b49ac5f6fe1fa041c73", + "difficulty": "NORMAL", + "songID": 534, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12027, + "notecount": 432, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de710c5d5918088dd5ecc8ffa645c45b9e9a5eb7", + "difficulty": "HYPER", + "songID": 535, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3212, + "notecount": 247, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c499329cf6ad4df69bb62439337fc5083719f387", + "difficulty": "HYPER", + "songID": 535, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 3212, + "notecount": 247, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9b8e2261426a287a56642c52471b0d3c0142dbb", + "difficulty": "ANOTHER", + "songID": 536, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12028, + "notecount": 1259, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1154a1682e5823e1e19791cf5e38fe745b266ba", + "difficulty": "HYPER", + "songID": 536, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12028, + "notecount": 884, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d47e0db435b15cee067042147d8e07d291289090", + "difficulty": "NORMAL", + "songID": 536, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12028, + "notecount": 552, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba17853813c78a8ed2acc1d262e61a8d612a3657", + "difficulty": "ANOTHER", + "songID": 536, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12028, + "notecount": 1309, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b34d86e91d32590d39dcb62216d1a26ea6bdfbef", + "difficulty": "BEGINNER", + "songID": 536, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 12028, + "notecount": 338, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9bec657766eb8388eec752b13931ce3efa6d577a", + "difficulty": "HYPER", + "songID": 536, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12028, + "notecount": 864, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8de6b36e5ca507e1d419bce7e5da59d31cc47a2f", + "difficulty": "NORMAL", + "songID": 536, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12028, + "notecount": 548, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5340c9d31f39f4ff2ec7f39f0e72176a453526eb", + "difficulty": "ANOTHER", + "songID": 537, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12029, + "notecount": 1033, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1c64d31a6cef69190a234aab75ac698024fbe92", + "difficulty": "HYPER", + "songID": 537, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12029, + "notecount": 723, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c31aa85ee92577d55949b055f37a98ce610b371", + "difficulty": "NORMAL", + "songID": 537, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12029, + "notecount": 368, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1763d1db21361947c4ea259c60716ccac9902218", + "difficulty": "ANOTHER", + "songID": 537, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12029, + "notecount": 1034, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11, + "individualDifference": true + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "ca6c4888344abe9dab9ee95cfe5060b0d2279578", + "difficulty": "HYPER", + "songID": 537, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 12029, + "notecount": 498, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52f1cf3e44bd00bc66243ab0c0d2f4e7ee7a3cff", + "difficulty": "NORMAL", + "songID": 537, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12029, + "notecount": 369, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6e2ab17d4b2e4a516e0343cad25a18924a3d3f6d", + "difficulty": "ANOTHER", + "songID": 538, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12030, + "notecount": 1438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f581ef67de6f9d75365a6006d8e12209a605189", + "difficulty": "HYPER", + "songID": 538, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12030, + "notecount": 880, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c031706d36d3bb2d7a1c2d5d9e19b087a0098545", + "difficulty": "LEGGENDARIA", + "songID": 538, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 12030, + "notecount": 1796, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9e54f53c1334b3f82ff41f26a49616f75e1ffebd", + "difficulty": "NORMAL", + "songID": 538, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12030, + "notecount": 493, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4748ee8599c6ca47ce836a46b3abd483db498793", + "difficulty": "ANOTHER", + "songID": 538, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12030, + "notecount": 1156, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "be31fc23b03c53aa58a3a7b599a5b8b2e7ee2ede", + "difficulty": "BEGINNER", + "songID": 538, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 12030, + "notecount": 233, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "06a48c0ec08910a0763023e15e22d064393d1306", + "difficulty": "HYPER", + "songID": 538, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12030, + "notecount": 956, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93d82b7200e4e7122ffb72a5f527d6290f7e80e6", + "difficulty": "LEGGENDARIA", + "songID": 538, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12030, + "notecount": 1707, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d64d00247ef195fb5770c9c47eb14957397209a", + "difficulty": "NORMAL", + "songID": 538, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12030, + "notecount": 492, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "126854ecf3fbdf881962057ca0e70cb18b8a8b53", + "difficulty": "ANOTHER", + "songID": 539, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12031, + "notecount": 829, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a53a0b53da98b8caf4950f60cc91360ddb80151", + "difficulty": "HYPER", + "songID": 539, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12031, + "notecount": 644, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fecf0440cb0b0b39dcc7d384f8c6e60c6430f129", + "difficulty": "NORMAL", + "songID": 539, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12031, + "notecount": 464, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "07a565ecd1a6f8173b2741a548990283814c5540", + "difficulty": "ANOTHER", + "songID": 539, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12031, + "notecount": 1278, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b1dd097518c7efc75539a6097b4725b520ef397f", + "difficulty": "HYPER", + "songID": 539, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 12031, + "notecount": 590, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60a050c67c3600368ad5f241c8793acf24386df6", + "difficulty": "NORMAL", + "songID": 539, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12031, + "notecount": 405, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e286837c7cb0c794cad59d698ae984e843dec7aa", + "difficulty": "ANOTHER", + "songID": 540, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12032, + "notecount": 913, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a51855309dae87910aba3b01e11b50a1cc5b5abf", + "difficulty": "HYPER", + "songID": 540, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12032, + "notecount": 689, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26dbc6b427cad87c4cda8acb75cb17f2b0d87822", + "difficulty": "NORMAL", + "songID": 540, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12032, + "notecount": 418, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa9b9208381c424f150231035bc4ec8b16dcb3a7", + "difficulty": "ANOTHER", + "songID": 540, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12032, + "notecount": 913, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c13cf857cde20d3eac5e3e6bf8b5fe2ec528fdd", + "difficulty": "HYPER", + "songID": 540, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 12032, + "notecount": 582, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8ab196c232af5688c51a498bc7662aa3375faf6b", + "difficulty": "NORMAL", + "songID": 540, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12032, + "notecount": 418, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ded3a24e8ca983b0c12ffe99a26b1ff34eb1414", + "difficulty": "ANOTHER", + "songID": 541, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12033, + "notecount": 927, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c9b9ef761d980a5d5889535859907f863359007", + "difficulty": "HYPER", + "songID": 541, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12033, + "notecount": 797, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "977d413bf7ee3439dabd6a7b60e5c9db9fcaa30a", + "difficulty": "NORMAL", + "songID": 541, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12033, + "notecount": 511, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed1b7027e4d8a4ecf94d3d17ad405f71d7051cae", + "difficulty": "ANOTHER", + "songID": 541, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12033, + "notecount": 1040, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a95d86c5920d25cc4fed2a34c31878dce19a3f49", + "difficulty": "HYPER", + "songID": 541, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12033, + "notecount": 840, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd9d6030b3a44f572aebed9a6c89bd153bb25ce7", + "difficulty": "NORMAL", + "songID": 541, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12033, + "notecount": 489, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f5036683b109c7b1234ecda4ebd2d4c2ff2e4845", + "difficulty": "HYPER", + "songID": 542, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12034, + "notecount": 890, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3711d9727ad178423c7b1f9b5d60f20338b4596e", + "difficulty": "NORMAL", + "songID": 542, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12034, + "notecount": 595, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35f56a16423b6bdc97e8b7f74b9ad50c6ee02922", + "difficulty": "ANOTHER", + "songID": 542, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12034, + "notecount": 1158, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ace1f595e85841672811156fce2a3268d99b9a2b", + "difficulty": "HYPER", + "songID": 542, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12034, + "notecount": 892, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "772bb7c6b4dfe1e98cd58bdd5759766227fae5b9", + "difficulty": "NORMAL", + "songID": 542, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12034, + "notecount": 599, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a4f176974cc74f8696ecdb357ea6dcc9f18845f4", + "difficulty": "ANOTHER", + "songID": 543, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12035, + "notecount": 1049, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98cf1751a01c4b3c44740bbc867e18a48ab9fb24", + "difficulty": "HYPER", + "songID": 543, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12035, + "notecount": 814, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "134254acfd0cb291c6df280717e98f626733961f", + "difficulty": "NORMAL", + "songID": 543, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12035, + "notecount": 501, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e8321ea52f71bfdd85f39ed9005c734701721e41", + "difficulty": "ANOTHER", + "songID": 543, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12035, + "notecount": 1051, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1d4773795a3cea906b6e153e4bddc668d8ad2ca", + "difficulty": "HYPER", + "songID": 543, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12035, + "notecount": 742, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa83cf5953167c1f2bf852e4e816a6be5ff97434", + "difficulty": "NORMAL", + "songID": 543, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12035, + "notecount": 501, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33a7e9b4b2aeb3ba80fd6d8f54a84d759d1a86e7", + "difficulty": "ANOTHER", + "songID": 544, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12036, + "notecount": 1057, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7dde3376222c745be468660d0faa53a1fc8f1bb0", + "difficulty": "HYPER", + "songID": 544, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12036, + "notecount": 831, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3f3f6991d1962b0a3a09a3fb65145c2aa328c07", + "difficulty": "NORMAL", + "songID": 544, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12036, + "notecount": 396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c7aab5d9904b1add523a65e91eca3a6743e1077", + "difficulty": "ANOTHER", + "songID": 544, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12036, + "notecount": 1103, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e2e6220473e9a3920c0dd2a91bff9fe3299cef44", + "difficulty": "HYPER", + "songID": 544, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12036, + "notecount": 829, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1433eef128856892462e6f9f8747de29bf35e649", + "difficulty": "NORMAL", + "songID": 544, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12036, + "notecount": 409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "caa33d8287ef517560ae9938a5057066371e658d", + "difficulty": "ANOTHER", + "songID": 545, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12037, + "notecount": 789, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63b0976cade39ce14eaf65379d0fe7f13aa8bc06", + "difficulty": "HYPER", + "songID": 545, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12037, + "notecount": 752, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ec1c1ba15bc59a273c586a4e2ee5d169bd7e17f7", + "difficulty": "NORMAL", + "songID": 545, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12037, + "notecount": 414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "671c8fb9642bc656e3c19a00e2abb5003bd846c8", + "difficulty": "ANOTHER", + "songID": 545, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12037, + "notecount": 873, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f5b76fcb0e9db6146e2f216771250d89bcb6942", + "difficulty": "BEGINNER", + "songID": 545, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 12037, + "notecount": 117, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "904ccf3faff7995d14580892b89c76730205c751", + "difficulty": "HYPER", + "songID": 545, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12037, + "notecount": 763, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68d71dd16c98c47e88958cbe24ff895c7e9c3e56", + "difficulty": "NORMAL", + "songID": 545, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12037, + "notecount": 414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dbcc268223797f183db097bb14c9c74607255384", + "difficulty": "ANOTHER", + "songID": 546, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12038, + "notecount": 873, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4599c972d5e790d1f87f873127ac3b1ccb621cc7", + "difficulty": "HYPER", + "songID": 546, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12038, + "notecount": 490, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4efae3d7e088df877df3f850a9c45c3e5027dec7", + "difficulty": "NORMAL", + "songID": 546, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 12038, + "notecount": 336, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bcec45e6e9bd47cfb2ecb876889abb8ddfa94c7f", + "difficulty": "ANOTHER", + "songID": 546, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12038, + "notecount": 837, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0568ca6e19a3660b74bbf6fb97453d57b8bd0c83", + "difficulty": "BEGINNER", + "songID": 546, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 12038, + "notecount": 155, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c9d7018a529ab0c47a055154cf11b52b1c79315", + "difficulty": "HYPER", + "songID": 546, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12038, + "notecount": 490, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0148b1150c7fa3d0025e613f2e9ad0b1f705b47", + "difficulty": "NORMAL", + "songID": 546, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 12038, + "notecount": 336, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e686086ac41d7cc218d354951cc815e7d86a5ff6", + "difficulty": "ANOTHER", + "songID": 547, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12039, + "notecount": 852, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb06884cead83b627b2a179bfab0752d124ca7e3", + "difficulty": "HYPER", + "songID": 547, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12039, + "notecount": 640, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8662bc9cdaaeff42cf0df34a14904c1d9a323c2c", + "difficulty": "NORMAL", + "songID": 547, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12039, + "notecount": 360, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c3cca2aa0bd3407f7f096c10d4056cdeae7b366a", + "difficulty": "ANOTHER", + "songID": 547, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12039, + "notecount": 852, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "382262f97ae4cd59649c3b5e09286d42c1243427", + "difficulty": "HYPER", + "songID": 547, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12039, + "notecount": 647, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87ff94a08df8c36114624c26a58fa20510c4689c", + "difficulty": "NORMAL", + "songID": 547, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12039, + "notecount": 360, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "65baa0733f87ae3c5c3b5a7158b21d321227a9f7", + "difficulty": "ANOTHER", + "songID": 548, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12040, + "notecount": 1020, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50b1bb0ee1a3f52f20df8c9d9e73287627a6b4da", + "difficulty": "HYPER", + "songID": 548, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12040, + "notecount": 728, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "143e6521ef60630e89e77ff431f2d8c3c17c492a", + "difficulty": "NORMAL", + "songID": 548, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12040, + "notecount": 401, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55aa40d4f943dc2f4282b743031765dfd2c29a11", + "difficulty": "ANOTHER", + "songID": 548, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12040, + "notecount": 1010, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "234c669dca3a726a55748779f280c4765a7a3e51", + "difficulty": "HYPER", + "songID": 548, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12040, + "notecount": 728, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd4af084684d3bc220911a3751e634a5a9927e11", + "difficulty": "NORMAL", + "songID": 548, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12040, + "notecount": 401, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ec58baa0fddb58b7dc599712ab20b945ba7a61f2", + "difficulty": "HYPER", + "songID": 549, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12041, + "notecount": 895, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a0e9943551b5caba9940c1ebfb3723d3a7787ae5", + "difficulty": "NORMAL", + "songID": 549, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12041, + "notecount": 515, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc4bcc14b285d05335ebccade51566be1b71cfbc", + "difficulty": "ANOTHER", + "songID": 549, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12041, + "notecount": 991, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04a50531bb4f54b87e5a37b5804771e028fa45e0", + "difficulty": "HYPER", + "songID": 549, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12041, + "notecount": 895, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ef937a09f33319c64fa32adc8adf1ddc5c9e736", + "difficulty": "NORMAL", + "songID": 549, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12041, + "notecount": 515, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6b58a3dc382b367d9a98c0143e645bc337c816f", + "difficulty": "ANOTHER", + "songID": 550, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12042, + "notecount": 825, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb2365875ae7bea3bd89bd66ba2f22d211864540", + "difficulty": "HYPER", + "songID": 550, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 12042, + "notecount": 679, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "58e8aea3cd13a772bbde4cafc30c5a73845ff585", + "difficulty": "NORMAL", + "songID": 550, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12042, + "notecount": 355, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "70d13d5ebd7c59dcd0e4529bcd5b1a62d02b6997", + "difficulty": "ANOTHER", + "songID": 550, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12042, + "notecount": 814, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff1d34af1db5a089505f84a9aa2407b95a64f29b", + "difficulty": "BEGINNER", + "songID": 550, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 12042, + "notecount": 196, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5e56b2776815228157481e6a12615fa9f4474444", + "difficulty": "HYPER", + "songID": 550, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12042, + "notecount": 681, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26ca78e9dcf33a12107ba69488634b73ec1168ce", + "difficulty": "NORMAL", + "songID": 550, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12042, + "notecount": 355, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "306e5b7f2a3281b7ccef7c47e52fdb8e2533bccf", + "difficulty": "ANOTHER", + "songID": 551, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12043, + "notecount": 1077, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "054bb03d174107ad5d891b20dcd7bfc335affdc5", + "difficulty": "HYPER", + "songID": 551, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12043, + "notecount": 819, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "00d4cd04d384ed818f899c3cb934dd3b6825eb3b", + "difficulty": "NORMAL", + "songID": 551, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12043, + "notecount": 421, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f25860814252531d725ea8993768bd209c12fda", + "difficulty": "ANOTHER", + "songID": 551, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12043, + "notecount": 1077, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ec4576aa91566afcfdc17b157823d9d50cd0f176", + "difficulty": "HYPER", + "songID": 551, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12043, + "notecount": 808, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33d27a17e852cd0d5bcec76c8160fc783fb83741", + "difficulty": "NORMAL", + "songID": 551, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12043, + "notecount": 421, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca17c3cd1efccce00ae5bd184097d5174df8664e", + "difficulty": "ANOTHER", + "songID": 552, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12044, + "notecount": 1123, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30cebfbc9395b696ccc4fbe621e79a9327825b78", + "difficulty": "HYPER", + "songID": 552, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12044, + "notecount": 828, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3a8d636585f63e1ee1284540da61c12b3fd98e8", + "difficulty": "NORMAL", + "songID": 552, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 12044, + "notecount": 494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "826bbe082a94a1c4b03253967b8aae6b0b959227", + "difficulty": "ANOTHER", + "songID": 552, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12044, + "notecount": 1123, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ead0410f1b375aa114db95a7227d8bd8a22f7b6", + "difficulty": "HYPER", + "songID": 552, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12044, + "notecount": 827, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0228ac16222056272985857bf9fe06eba388250a", + "difficulty": "NORMAL", + "songID": 552, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 12044, + "notecount": 507, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1c75cd99f21db2f67376024e41f69e1789e1765", + "difficulty": "ANOTHER", + "songID": 553, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 12045, + "notecount": 1072, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "25fca40d985e2f6bce0eca161d25e1230d941867", + "difficulty": "HYPER", + "songID": 553, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12045, + "notecount": 863, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3720cd97081f3230c781ff0cc864d56aaa70bd30", + "difficulty": "NORMAL", + "songID": 553, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 12045, + "notecount": 579, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0be80236ebd7e3c2520b8a9c800f43886612ef32", + "difficulty": "ANOTHER", + "songID": 553, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 12045, + "notecount": 1073, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": true + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": true + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "aa996f7b846d7a1a487d2c872f8fd915436d6bd3", + "difficulty": "HYPER", + "songID": 553, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12045, + "notecount": 869, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45abbdc041c7f49d25e97fba7c5f2aac55145f8b", + "difficulty": "NORMAL", + "songID": 553, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12045, + "notecount": 609, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84ac80a58c2828dc10e356b9d06f08ed48593368", + "difficulty": "HYPER", + "songID": 554, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12046, + "notecount": 550, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "be924d12023e10becebdf3621b596f83eb4473e1", + "difficulty": "NORMAL", + "songID": 554, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12046, + "notecount": 380, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "109ffcf72a395c4e69ac8a3bc1a1b1989c3e6482", + "difficulty": "ANOTHER", + "songID": 554, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12046, + "notecount": 840, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "407d04a29a0d096949c67a1063d23267099ce32e", + "difficulty": "HYPER", + "songID": 554, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12046, + "notecount": 550, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d03d4df2410034a434f51821ff06d0b12a7c49d2", + "difficulty": "NORMAL", + "songID": 554, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12046, + "notecount": 395, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f18dd63672e907790986128a5111e08f8ecfdc8", + "difficulty": "HYPER", + "songID": 555, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12047, + "notecount": 704, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a69ae6c46324cb55bbc1abc7fec65a900abdf46e", + "difficulty": "NORMAL", + "songID": 555, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12047, + "notecount": 393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f6c815607560343872520908cb9f1dbde2de177", + "difficulty": "ANOTHER", + "songID": 555, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12047, + "notecount": 717, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e9a0bb9e72938c03b0339d777f498e1709ba9ba", + "difficulty": "HYPER", + "songID": 555, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12047, + "notecount": 704, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8352f5f0b21dcbc3ab40587f8a748d6a22b67b99", + "difficulty": "NORMAL", + "songID": 555, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12047, + "notecount": 393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1aff93e4bf67116ff4def39f0280d0bfd3e1b6ed", + "difficulty": "HYPER", + "songID": 556, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12048, + "notecount": 679, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87152658187dc7f011ea5e5d2cbfbc59302c70df", + "difficulty": "NORMAL", + "songID": 556, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 12048, + "notecount": 386, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "130590a7cad70be12e0574ec93d5befc20c383ce", + "difficulty": "ANOTHER", + "songID": 556, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12048, + "notecount": 929, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a6ec3abeb61cd24558dc957c0fbab7749af35eb", + "difficulty": "HYPER", + "songID": 556, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12048, + "notecount": 679, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8627cb6c35f98d50e7253b3926f6c0f80aa0293d", + "difficulty": "NORMAL", + "songID": 556, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12048, + "notecount": 390, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "945848a34152cd8d4d0f5bb405e435a44691f005", + "difficulty": "ANOTHER", + "songID": 557, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12049, + "notecount": 1218, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ff66facd59b8a08101a6674c1eb9a9344450e86", + "difficulty": "HYPER", + "songID": 557, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12049, + "notecount": 1043, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "673182ea9c3221334e337cb413efa10a46fff427", + "difficulty": "NORMAL", + "songID": 557, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12049, + "notecount": 675, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "64bed7a7ead2c006417e2f4614987773f19ca8f0", + "difficulty": "ANOTHER", + "songID": 557, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12049, + "notecount": 1280, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "40c4513b7bba9296ab6343ffe79db0e874560b0c", + "difficulty": "HYPER", + "songID": 557, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12049, + "notecount": 1100, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c1e2f9f8eb77bee31190bf9a500cc88ea10e96f", + "difficulty": "NORMAL", + "songID": 557, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12049, + "notecount": 714, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32c64f7d44ba68e996951b6c19bd3192d7bdf9ab", + "difficulty": "HYPER", + "songID": 558, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12050, + "notecount": 965, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "643e85a7409ff9291f018b01c550eaa82f0cca41", + "difficulty": "NORMAL", + "songID": 558, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12050, + "notecount": 413, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c60561f95394c1b87e08fe82046c7c091aae488", + "difficulty": "ANOTHER", + "songID": 558, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12050, + "notecount": 1017, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0484e8f3ab6c6dae1311ff4f2980cf76b438aaf9", + "difficulty": "BEGINNER", + "songID": 558, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 12050, + "notecount": 170, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "acbf0658809e4f217fcada7f3d0abde4a6c9860f", + "difficulty": "HYPER", + "songID": 558, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12050, + "notecount": 857, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80abfc2bd7909f0a845951daf4a358c213211a75", + "difficulty": "NORMAL", + "songID": 558, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12050, + "notecount": 413, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f4223491bb5587c8e850383a7afd31e8f0d9679a", + "difficulty": "ANOTHER", + "songID": 559, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12051, + "notecount": 770, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f782cc449afe072870f8cba2b1d5e6a99a554299", + "difficulty": "HYPER", + "songID": 559, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12051, + "notecount": 486, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2421f67bf8251cebee778e27849f8ca4b770e89a", + "difficulty": "NORMAL", + "songID": 559, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 12051, + "notecount": 297, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3f2d610bae4889137d8beb648caa085e18dd5bb", + "difficulty": "ANOTHER", + "songID": 559, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12051, + "notecount": 708, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "66624f8162c7949744e84f3ef3abb314fcb2da8e", + "difficulty": "BEGINNER", + "songID": 559, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 12051, + "notecount": 119, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b2880c26ad582e51b9d6c7e0effb7c5e40b0dd76", + "difficulty": "HYPER", + "songID": 559, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12051, + "notecount": 486, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04b633fc64ede2025427921e013c33f04d70b987", + "difficulty": "NORMAL", + "songID": 559, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 12051, + "notecount": 297, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e1d3eaa03d2286daabff76fdf980181385859dd", + "difficulty": "ANOTHER", + "songID": 560, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12052, + "notecount": 1179, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "236f0f0620ba1a03ecc8f2123c0c56623806e002", + "difficulty": "HYPER", + "songID": 560, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12052, + "notecount": 909, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c76429b9942b0145366233bba869b49c713767a2", + "difficulty": "NORMAL", + "songID": 560, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 12052, + "notecount": 661, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "71b6e9859414d4a77ca2a659cc7e0d3d6eb60e6c", + "difficulty": "ANOTHER", + "songID": 560, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12052, + "notecount": 1073, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "111253ab814c8ebe73f1afe79b48ef1e35b1283b", + "difficulty": "HYPER", + "songID": 560, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12052, + "notecount": 858, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82cdbaf2cd940b7860346285f157533747088aa6", + "difficulty": "LEGGENDARIA", + "songID": 560, + "playtype": "SP", + "levelNum": 0, + "level": "11", + "data": { + "inGameID": 12052, + "notecount": 1247, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "518413b2e8e7f0dacfd8550823039fcb72e76810", + "difficulty": "NORMAL", + "songID": 560, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 12052, + "notecount": 674, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f98a32038e1a7c8eb8bfa7932800be33d8fe8b5", + "difficulty": "ANOTHER", + "songID": 561, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12053, + "notecount": 1366, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8714467df8eee7887d8c4e47617a46458de30f30", + "difficulty": "HYPER", + "songID": 561, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12053, + "notecount": 1005, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fef20d028794d625d43c20d5527bd29b882ede83", + "difficulty": "NORMAL", + "songID": 561, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12053, + "notecount": 879, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a05768dee407476b769e4b724b07b1e9c9c9eaa", + "difficulty": "ANOTHER", + "songID": 561, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12053, + "notecount": 1275, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1956fe134a97dccc2abd653f0de9e59bf2e23bb3", + "difficulty": "HYPER", + "songID": 561, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12053, + "notecount": 1059, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d055c3cffd2d3a1cea7b0bf2d830b3932ca27f3a", + "difficulty": "LEGGENDARIA", + "songID": 561, + "playtype": "SP", + "levelNum": 0, + "level": "11", + "data": { + "inGameID": 12053, + "notecount": 1466, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0edcd88d28035b7a08581857cdf6e042c4e6acc", + "difficulty": "NORMAL", + "songID": 561, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12053, + "notecount": 875, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "64202d85956171459b874df7348d75550ff1771c", + "difficulty": "HYPER", + "songID": 562, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4026, + "notecount": 542, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "408c242b8528faa017c67ad3dd307fcb08df1b4a", + "difficulty": "NORMAL", + "songID": 562, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 4026, + "notecount": 340, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a9e72a3f95b679029e8df205649aee3b23ef2bd", + "difficulty": "HYPER", + "songID": 562, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 4026, + "notecount": 546, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7354b99b460fa6a1f5a1553fcac302bc1f80bec8", + "difficulty": "NORMAL", + "songID": 562, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 4026, + "notecount": 343, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "5-cs", + "4-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19835b3c5c8b61f2462ca6a8858585e7c1e47792", + "difficulty": "ANOTHER", + "songID": 563, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 12054, + "notecount": 1382, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3c71273579eacf92c418403410bfd8df97da118", + "difficulty": "HYPER", + "songID": 563, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12054, + "notecount": 1269, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "287eb1b0c331ab0fac9bd336f1cd40c09fcd50e0", + "difficulty": "NORMAL", + "songID": 563, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12054, + "notecount": 1079, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54cc0d53d5ebbff81fd39d6bffa00e33a9f6208e", + "difficulty": "ANOTHER", + "songID": 563, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 12054, + "notecount": 1575, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f8c7f27b4b2e153069b2aadebe45a6f214055952", + "difficulty": "HYPER", + "songID": 563, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12054, + "notecount": 1155, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df88c57608eb184a419e7355353b387478a1f4ee", + "difficulty": "LEGGENDARIA", + "songID": 563, + "playtype": "SP", + "levelNum": 0, + "level": "12", + "data": { + "inGameID": 12054, + "notecount": 1749, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d3677051e9823de6a2b0616855e571b122d72fd1", + "difficulty": "NORMAL", + "songID": 563, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12054, + "notecount": 865, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "37a9aa0c6c69a0f1dce404344dce69cdeee79886", + "difficulty": "ANOTHER", + "songID": 565, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12202, + "notecount": 924, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "abfd678244ac7a0f54e9304437159b9630dd1867", + "difficulty": "HYPER", + "songID": 565, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 12202, + "notecount": 583, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b680e603906dee00c36c93266cf8924e10100b2", + "difficulty": "NORMAL", + "songID": 565, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 12202, + "notecount": 251, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f17364289ba721705f89b032d2b8a01248851aa", + "difficulty": "ANOTHER", + "songID": 565, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12202, + "notecount": 766, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "44eedb3bed0248a3e8b6c9d850ea127085635aa6", + "difficulty": "HYPER", + "songID": 565, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 12202, + "notecount": 572, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9653b43ddbd6f962f85c16a356c53920bfc5e8a1", + "difficulty": "NORMAL", + "songID": 565, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 12202, + "notecount": 228, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a79eb9d48264f2ed7581353943a6df73e027fd2b", + "difficulty": "HYPER", + "songID": 566, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 12203, + "notecount": 886, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "181288fa5b0d5faacaa1f4f6f2364166c30c2797", + "difficulty": "NORMAL", + "songID": 566, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12203, + "notecount": 325, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a00afe6fb13ecd354d4287f2038600a2d702e897", + "difficulty": "ANOTHER", + "songID": 566, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12203, + "notecount": 902, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d2ae825e27ef10447ec2e2eca24f2ef274dfc21c", + "difficulty": "HYPER", + "songID": 566, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 12203, + "notecount": 550, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d72fccfede85388fa4412a57aa4c1537aa69e4ab", + "difficulty": "NORMAL", + "songID": 566, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 12203, + "notecount": 249, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7acbe3b039017682e1cd0397ebc35dd500aad135", + "difficulty": "ANOTHER", + "songID": 568, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 12205, + "notecount": 1225, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5723e8eb0fe3f30c3542f1844c29539a2a0c131e", + "difficulty": "HYPER", + "songID": 568, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 12205, + "notecount": 730, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "76823aa311ca2861a11db0c375408a3a09f3e5de", + "difficulty": "NORMAL", + "songID": 568, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12205, + "notecount": 458, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "70df14e244cec7a8d9e6feb42cf81cc30118aae4", + "difficulty": "ANOTHER", + "songID": 568, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 12205, + "notecount": 933, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43cce8f1fa03d7dc0009e3d8df15028866cf2c1c", + "difficulty": "HYPER", + "songID": 568, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 12205, + "notecount": 718, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff7ebc504fdb0fabff98d7c498fb3a07a2133c4c", + "difficulty": "NORMAL", + "songID": 568, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 12205, + "notecount": 458, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6edb124d1b3b83976b029b911e14a179ab63ccd6", + "difficulty": "ANOTHER", + "songID": 569, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 13000, + "notecount": 1481, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "767ede09b76e9256c38a86820c0d2dc5fdaed038", + "difficulty": "HYPER", + "songID": 569, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13000, + "notecount": 1041, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7e2348eccb24b20cb7c16f6e0f8df6e0042ac14f", + "difficulty": "NORMAL", + "songID": 569, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13000, + "notecount": 626, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb17b373311e303ed93917fdfa5c3e9cb10deac0", + "difficulty": "ANOTHER", + "songID": 569, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13000, + "notecount": 1500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f1f7a5e49cd75d30707856343c72ddd0b4a1ebfa", + "difficulty": "HYPER", + "songID": 569, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13000, + "notecount": 1064, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b137811c1aae7fede89e1f849f90f35a3cdd8099", + "difficulty": "NORMAL", + "songID": 569, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13000, + "notecount": 638, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ecb8c761f53cebd61a2fbf4cc8c80460fd6f653", + "difficulty": "ANOTHER", + "songID": 570, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13001, + "notecount": 1191, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "165b0e3aa714976e14251e7348ffb9feb025d25e", + "difficulty": "HYPER", + "songID": 570, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13001, + "notecount": 797, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "25d9e5bbf039a835bf310c920d55a8c0162d2db0", + "difficulty": "NORMAL", + "songID": 570, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13001, + "notecount": 470, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7164699fb529c64f0b968226e3988ba89f20090e", + "difficulty": "ANOTHER", + "songID": 570, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13001, + "notecount": 1026, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "531d5a70c4b02da03ee3be0d1efcffb78fe4ef43", + "difficulty": "BEGINNER", + "songID": 570, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 13001, + "notecount": 256, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74abd3a6c6cc2c26b695e7c28f4ca93c3ae2dae2", + "difficulty": "HYPER", + "songID": 570, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13001, + "notecount": 726, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "688c4476349fd20595cbe4d89205d390b464cccd", + "difficulty": "NORMAL", + "songID": 570, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13001, + "notecount": 472, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f09bdcdcf10ed4291f58c6bd60f3840a19118634", + "difficulty": "ANOTHER", + "songID": 571, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13002, + "notecount": 1189, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9abe10f59909a590632a48111d0fd5c50483172", + "difficulty": "HYPER", + "songID": 571, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13002, + "notecount": 1122, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d474c7888c4ff7af23b2e75d4cb0c295d2da869b", + "difficulty": "NORMAL", + "songID": 571, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13002, + "notecount": 723, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c5349b0dbe1eecd54c1a437ec76953761645ca1", + "difficulty": "ANOTHER", + "songID": 571, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13002, + "notecount": 1327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "58a2dfea6a6430fa69763d700af12ef661e4ad89", + "difficulty": "HYPER", + "songID": 571, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13002, + "notecount": 1154, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9bef6f1f422fe2aa9a57540bc3a7b7d025d28446", + "difficulty": "NORMAL", + "songID": 571, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13002, + "notecount": 740, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d97707bc3e5b20addf326d8d91f7163b5d8c868", + "difficulty": "ANOTHER", + "songID": 572, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13003, + "notecount": 1228, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d9124436bd42d78f2321ef794d2bf6eb5d9e7d9", + "difficulty": "HYPER", + "songID": 572, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13003, + "notecount": 888, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c7dcc8f2d34cd413cd6abeae16021e5b0db06b04", + "difficulty": "NORMAL", + "songID": 572, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13003, + "notecount": 505, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "830fb013fed27cef9162bf517bd2b9a56dd27762", + "difficulty": "ANOTHER", + "songID": 572, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13003, + "notecount": 1178, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "716ea9781306ee481cb6f0d76b28b58069b99365", + "difficulty": "HYPER", + "songID": 572, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13003, + "notecount": 998, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c1bfda8b5223329ecc01a715f394da17f04c4816", + "difficulty": "NORMAL", + "songID": 572, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13003, + "notecount": 513, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9447e880fd4b66f83ad9c4395c16c29be50a7cb8", + "difficulty": "HYPER", + "songID": 573, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13004, + "notecount": 966, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc01633a3b9d4a9dab35634d71aa73ceaa1f0eba", + "difficulty": "NORMAL", + "songID": 573, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13004, + "notecount": 495, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12cdc682942fb1bde1b9495fdf93ac5f6655a558", + "difficulty": "ANOTHER", + "songID": 573, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13004, + "notecount": 1300, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5df850385272324559182a07d6a2a6b84bbd32bf", + "difficulty": "BEGINNER", + "songID": 573, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 13004, + "notecount": 227, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad42d589c1010271ae99a3b60eef6068f27b6d90", + "difficulty": "HYPER", + "songID": 573, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13004, + "notecount": 1003, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd1c4d29f04ba7dc3d339c729567fa0addbdc28d", + "difficulty": "NORMAL", + "songID": 573, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13004, + "notecount": 543, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9f165b97a5feff6bbe4f478eeb17a79600694d8", + "difficulty": "ANOTHER", + "songID": 574, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 13005, + "notecount": 2000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "07690e07663fd79415126f9341ac99b126224a68", + "difficulty": "HYPER", + "songID": 574, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13005, + "notecount": 1281, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee9842c32960c23caeb5622976dc623262d894ea", + "difficulty": "NORMAL", + "songID": 574, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13005, + "notecount": 875, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8b69f9b52cd4c2025a217a1a4fc240b2a5a8462", + "difficulty": "ANOTHER", + "songID": 574, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 13005, + "notecount": 2000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "ee2f2866efcdf70ff14ad07f7869b319025f0de1", + "difficulty": "HYPER", + "songID": 574, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13005, + "notecount": 1281, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f2b32f2d6e86409e7f0dbd6cfa2e707a5e2be070", + "difficulty": "NORMAL", + "songID": 574, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13005, + "notecount": 902, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eb29fd038fef5408aeac48a178c34e10be88d687", + "difficulty": "HYPER", + "songID": 575, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13006, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f283cfc52d83f94ae40b56fa0aacc739ee9741f", + "difficulty": "NORMAL", + "songID": 575, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13006, + "notecount": 399, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b31a200f065bad22524a1ca25572b0e1dbb15ddd", + "difficulty": "ANOTHER", + "songID": 575, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13006, + "notecount": 933, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8ea6931b5382a6460e052410990f8e7c6d2fbcbc", + "difficulty": "BEGINNER", + "songID": 575, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 13006, + "notecount": 211, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c571e8dba74f9d811331ad04daee7bfe234d4acc", + "difficulty": "HYPER", + "songID": 575, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13006, + "notecount": 673, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d78b25fffabbeae98255c6bf90a77ca1ecd4e36", + "difficulty": "NORMAL", + "songID": 575, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13006, + "notecount": 397, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21658d5bb4b829adcf5309d7db812c35d9e901b4", + "difficulty": "ANOTHER", + "songID": 576, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13007, + "notecount": 904, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10b670af4c25a6e19f2d9ce1626f926ff0248fef", + "difficulty": "HYPER", + "songID": 576, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13007, + "notecount": 670, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "99b2fb4d6cd16cd11e86dc981febf15f12f79c14", + "difficulty": "NORMAL", + "songID": 576, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13007, + "notecount": 494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0abf78dfb1a69e1ea1e0eed12ec45cc1e249d801", + "difficulty": "ANOTHER", + "songID": 576, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13007, + "notecount": 905, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c20bfdaa71322bd572f38c95ffe22b8e65a9fc7", + "difficulty": "BEGINNER", + "songID": 576, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 13007, + "notecount": 100, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5649d206cd5c6b587f60353d07ff7dc1f62ca500", + "difficulty": "HYPER", + "songID": 576, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13007, + "notecount": 680, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d38e7add7c72d75f5a333259be12dbf6c378716", + "difficulty": "NORMAL", + "songID": 576, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13007, + "notecount": 494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d390fb4cffce89ec9619da71718ad5857f45c8a", + "difficulty": "ANOTHER", + "songID": 577, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13008, + "notecount": 784, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "069f4a72de3fd51c00c989f019160fb4b655f5af", + "difficulty": "HYPER", + "songID": 577, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13008, + "notecount": 601, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3661d1a1788154a12e58d26fcda2287ae716dd42", + "difficulty": "NORMAL", + "songID": 577, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13008, + "notecount": 400, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "62e6da915fca28d2d3e50993fc48549ae8d67cc6", + "difficulty": "ANOTHER", + "songID": 577, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13008, + "notecount": 758, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fcda03d3fb068fb58c4ae4234582d313ee22eb9d", + "difficulty": "BEGINNER", + "songID": 577, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 13008, + "notecount": 180, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ea9f9618db9d30be657c93a74a4e575ff4c70d2", + "difficulty": "HYPER", + "songID": 577, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13008, + "notecount": 600, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e690d444f374f490455a6d1b8c47b2d6aaede9af", + "difficulty": "NORMAL", + "songID": 577, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13008, + "notecount": 401, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e8f556ae6fec2b55fd7e2b911cfee748f945f82", + "difficulty": "ANOTHER", + "songID": 578, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13009, + "notecount": 1280, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de46add0119ca3e1514b4dc33ccb763ddd4725d1", + "difficulty": "HYPER", + "songID": 578, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13009, + "notecount": 1009, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ca8c6eb3573567bca449b13e12def6a51e57e26", + "difficulty": "NORMAL", + "songID": 578, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13009, + "notecount": 574, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f824b575662a4f506e5a74de883f54846c3d0c30", + "difficulty": "ANOTHER", + "songID": 578, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13009, + "notecount": 1094, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c030db51ec510815e28f0ba181a650de492d2bb5", + "difficulty": "BEGINNER", + "songID": 578, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 13009, + "notecount": 131, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9575ee40eeda5be5999dc3c977938709a4b87b4", + "difficulty": "HYPER", + "songID": 578, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13009, + "notecount": 1012, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c9f32cc206e47ca01065715ffd08108ab5c8892f", + "difficulty": "NORMAL", + "songID": 578, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13009, + "notecount": 574, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9546e6c330c6c4176d760a6fdcd566a098df3d6a", + "difficulty": "ANOTHER", + "songID": 579, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 13010, + "notecount": 1050, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f078d1786e33dc29b29e3d2c5851615988625120", + "difficulty": "HYPER", + "songID": 579, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13010, + "notecount": 856, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "530cb333a0d1cd085f6a5353d02bc2272c8a0f0e", + "difficulty": "LEGGENDARIA", + "songID": 579, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 13010, + "notecount": 1545, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80a88fbf962001708ba5482638c82dec02700ddd", + "difficulty": "NORMAL", + "songID": 579, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13010, + "notecount": 607, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e776deb0893a2bb2b6fd89662e45d756b0e3f6d", + "difficulty": "ANOTHER", + "songID": 579, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13010, + "notecount": 1056, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "eba00cbe0adbb402329c7276e4d3423bab6db4a6", + "difficulty": "HYPER", + "songID": 579, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13010, + "notecount": 863, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e24ed453633f2b0419bd1b5e7f148e18753fce11", + "difficulty": "LEGGENDARIA", + "songID": 579, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 13010, + "notecount": 1418, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "53263b567bc415eb55b74f610e998d45285b3ddc", + "difficulty": "NORMAL", + "songID": 579, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13010, + "notecount": 648, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17a9bf10820f5ab2e45cb3f0fefef06dd6c292aa", + "difficulty": "ANOTHER", + "songID": 580, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13011, + "notecount": 1175, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97b1f44aa74f381be3c80bce9223e28a1a612626", + "difficulty": "HYPER", + "songID": 580, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13011, + "notecount": 856, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef42b7e06d31f3bde4fc2a8dc5412f0bca420eee", + "difficulty": "NORMAL", + "songID": 580, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13011, + "notecount": 600, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e955731d977b1664dc12a9315f961e361c41e6b3", + "difficulty": "ANOTHER", + "songID": 580, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13011, + "notecount": 1008, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b04ed9053197b3461eb4c01406f98f1cbcd5881a", + "difficulty": "HYPER", + "songID": 580, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13011, + "notecount": 828, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c6826137c15528c09ff2b44d0da9534ee5fe363", + "difficulty": "NORMAL", + "songID": 580, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13011, + "notecount": 601, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24a22884416e8c7df451184df3ecc318a9678528", + "difficulty": "HYPER", + "songID": 581, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 1215, + "notecount": 232, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3672fddc695ebc32e2094b28ff4464b05a8c4ffb", + "difficulty": "HYPER", + "songID": 581, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 1215, + "notecount": 220, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f10ec9a62f8311df7fd993d0f01c4bed7ea7d70d", + "difficulty": "ANOTHER", + "songID": 582, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13012, + "notecount": 969, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a723090c9d4d1775fc4a690b65f3f61a068f21d", + "difficulty": "HYPER", + "songID": 582, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13012, + "notecount": 721, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f63fde364f229877272ac228514553f3015bb166", + "difficulty": "NORMAL", + "songID": 582, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13012, + "notecount": 503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50fad9b14b68d1da55515a58772acc0160d6a396", + "difficulty": "ANOTHER", + "songID": 582, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13012, + "notecount": 976, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97843a387dcb353da67a70cdcc54ac214a64e2cd", + "difficulty": "HYPER", + "songID": 582, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13012, + "notecount": 726, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e5f2087aa4e2436b3e8be3c593df2fc05d9cb36d", + "difficulty": "NORMAL", + "songID": 582, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13012, + "notecount": 503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dde2c108a7c9f80224b1d2cb41ab72aacbc8b957", + "difficulty": "ANOTHER", + "songID": 583, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13013, + "notecount": 1024, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "209ee4d505c82a347ea814bfbdc267737524a87c", + "difficulty": "HYPER", + "songID": 583, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13013, + "notecount": 714, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9be868953f5635e87be198f1fe7c90bd501dafd", + "difficulty": "NORMAL", + "songID": 583, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13013, + "notecount": 386, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d91e6d85dcaf4e5aefbea3122d68f387fb1b7421", + "difficulty": "ANOTHER", + "songID": 583, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13013, + "notecount": 1116, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f865fcc658bce3ee89e19dac88486546eb4a5648", + "difficulty": "BEGINNER", + "songID": 583, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 13013, + "notecount": 197, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a8fe874f98e863eefda3db6a28741da7ece6ad4", + "difficulty": "HYPER", + "songID": 583, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13013, + "notecount": 714, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4232a498f613f070c452c21b3a3ae640780dfa24", + "difficulty": "NORMAL", + "songID": 583, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13013, + "notecount": 396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6106b3911ad7a5cc0c3d8f396344275b073ed81", + "difficulty": "ANOTHER", + "songID": 584, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13014, + "notecount": 1043, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "708a3b725ddf93911371230e392728c6fb9f001c", + "difficulty": "HYPER", + "songID": 584, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13014, + "notecount": 838, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1580733ecaa985998a4f6bacc2a023527581537e", + "difficulty": "NORMAL", + "songID": 584, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13014, + "notecount": 548, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "815cc74c90a1cf1d5d22d80bbc5008665c01b653", + "difficulty": "ANOTHER", + "songID": 584, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13014, + "notecount": 1049, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4de8a44831d3d730d24a174a3c78fa4d17271b87", + "difficulty": "BEGINNER", + "songID": 584, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 13014, + "notecount": 222, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52e3a943c7572990168f57bad5f2cdc7d6044ae3", + "difficulty": "HYPER", + "songID": 584, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13014, + "notecount": 838, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "671c4ed84936910be6c5a34b34bf9f2ac529ac4a", + "difficulty": "NORMAL", + "songID": 584, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13014, + "notecount": 548, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e66611b0c01e7fcd4903a3ab83d39075f720f29e", + "difficulty": "ANOTHER", + "songID": 585, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13015, + "notecount": 1165, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b7db2cefe4d2b6d6d45efdc4b8e9db23bd662297", + "difficulty": "HYPER", + "songID": 585, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13015, + "notecount": 901, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b5bc6c3e214daf1306dd1bf9a9f482f8402922ab", + "difficulty": "NORMAL", + "songID": 585, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13015, + "notecount": 552, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "86c95f30b1ebefbc30a43677cb05a0904e9fb4a0", + "difficulty": "ANOTHER", + "songID": 585, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13015, + "notecount": 1166, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1dfb262a9455e010e635989e480affaf61cd0113", + "difficulty": "BEGINNER", + "songID": 585, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 13015, + "notecount": 322, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c7e1c7177a644d15e11e030ac8fe22970b63f17", + "difficulty": "HYPER", + "songID": 585, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13015, + "notecount": 904, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "679957d1cc29f0d1908800dcb893e72eaac4329b", + "difficulty": "NORMAL", + "songID": 585, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13015, + "notecount": 559, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d2b41d66effca9487422f48bf3229622842a28f", + "difficulty": "HYPER", + "songID": 586, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13016, + "notecount": 641, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5132fc214280b607e17f5f27b20b4e96d250d2af", + "difficulty": "NORMAL", + "songID": 586, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13016, + "notecount": 352, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2cee07d0094b020cc69c298eace11ec39d2b0b9c", + "difficulty": "ANOTHER", + "songID": 586, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13016, + "notecount": 888, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49ac835cf5e5cd96a095df0f7220f2532a8c3632", + "difficulty": "BEGINNER", + "songID": 586, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 13016, + "notecount": 151, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f8b534b2a7efcaa1698dbd83755aefb07daae42", + "difficulty": "HYPER", + "songID": 586, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13016, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b760da5fd52123f2bd7c87e21e83391b7edf56e", + "difficulty": "NORMAL", + "songID": 586, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13016, + "notecount": 352, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4662ae785f9bfc73d75995f3445317d1c5bba319", + "difficulty": "ANOTHER", + "songID": 587, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13017, + "notecount": 1270, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d765ef159acdf82331fa606063fbe0d03546451f", + "difficulty": "HYPER", + "songID": 587, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13017, + "notecount": 981, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f50e69a9e68151f6b32b1fe624ea5f8ca6880dcb", + "difficulty": "NORMAL", + "songID": 587, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13017, + "notecount": 480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d29bc8aa0a3d174dce1342360972a30abc7da923", + "difficulty": "ANOTHER", + "songID": 587, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13017, + "notecount": 1214, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3cb97b11313657f9f59cd1ce859c6c642e7a0afe", + "difficulty": "BEGINNER", + "songID": 587, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 13017, + "notecount": 121, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a5723bb5c90cc95d7d1ee7da6df64f4f68ae6e0f", + "difficulty": "HYPER", + "songID": 587, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13017, + "notecount": 921, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8905a67209ec78ed9db1ae45344d6969439636e0", + "difficulty": "NORMAL", + "songID": 587, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13017, + "notecount": 510, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "759606b64382cd09394d305f4b602728299c8842", + "difficulty": "HYPER", + "songID": 588, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13018, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "125a65fe743de0cfa54fb3e3c2ea0c619d3c55d5", + "difficulty": "NORMAL", + "songID": 588, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13018, + "notecount": 352, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e01edb47fa745ab6ac27d22f4334fc137b4d21b0", + "difficulty": "ANOTHER", + "songID": 588, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13018, + "notecount": 854, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "40c24d6d7bdbb942d1c12ad5d714d1d90be0625c", + "difficulty": "HYPER", + "songID": 588, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13018, + "notecount": 585, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd31a0f4ee6ff96046ac005f4903ceceb966b9d1", + "difficulty": "NORMAL", + "songID": 588, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13018, + "notecount": 354, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc2a817403910466e817b0d9e9d5e5f69afb86ae", + "difficulty": "ANOTHER", + "songID": 589, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13019, + "notecount": 1060, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a5571db40eab27840edc9dc3b4432acbf036df9b", + "difficulty": "HYPER", + "songID": 589, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13019, + "notecount": 805, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f05a4b8529e7227bdea93da135ab169ce3f7dadb", + "difficulty": "NORMAL", + "songID": 589, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13019, + "notecount": 421, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fcdf87f3ec9241aacbd1e792d7f302ed19731755", + "difficulty": "ANOTHER", + "songID": 589, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13019, + "notecount": 1060, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "879040c8f5d090111ffc70e237b038c9020df0b8", + "difficulty": "HYPER", + "songID": 589, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13019, + "notecount": 806, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ce61253d7a7a478079fce3c96b426df56c55190", + "difficulty": "NORMAL", + "songID": 589, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13019, + "notecount": 421, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eb6c16a73809c81f5fbee10d6b34b052aa257241", + "difficulty": "ANOTHER", + "songID": 590, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13020, + "notecount": 1416, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0afd91cbe8d18ea696182aa641a7c9425f928470", + "difficulty": "HYPER", + "songID": 590, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13020, + "notecount": 948, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29a1b345e8d4355cbf26e6560b6e42bbfcba4d9c", + "difficulty": "NORMAL", + "songID": 590, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13020, + "notecount": 506, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de129533a7175d871fa23d765b777466a7fd1ee0", + "difficulty": "ANOTHER", + "songID": 590, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13020, + "notecount": 1216, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a7286b7086f8e19d78c7cc3fe73249d752fe9fb4", + "difficulty": "BEGINNER", + "songID": 590, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 13020, + "notecount": 112, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "547b4e5e8d3efbedd3d459263f1c1dd2c145063d", + "difficulty": "HYPER", + "songID": 590, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13020, + "notecount": 959, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87f38ff858efee6163f70a17bfafaaaf608d9082", + "difficulty": "NORMAL", + "songID": 590, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13020, + "notecount": 505, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "304b0f22151cb908b8364fbfb4799f3cbbf0bdfe", + "difficulty": "ANOTHER", + "songID": 591, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13021, + "notecount": 1324, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea546c1a3cd4c7449353306ce4acc89e58aa88d7", + "difficulty": "HYPER", + "songID": 591, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13021, + "notecount": 580, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0eef1505a02f7875ca919cf2c766d299766c7f17", + "difficulty": "NORMAL", + "songID": 591, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13021, + "notecount": 398, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4eec7007adc1a332fc37e3b7929e382135707668", + "difficulty": "ANOTHER", + "songID": 591, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13021, + "notecount": 891, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a87bfcc43ab0910c28340b21a37d48dc0bb31fd", + "difficulty": "HYPER", + "songID": 591, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13021, + "notecount": 580, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f102936adc6543900c462dedac5dfa4797533ffb", + "difficulty": "NORMAL", + "songID": 591, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13021, + "notecount": 398, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c9c4e39c0d53c6c2c51983436fe1d4986077ddc9", + "difficulty": "HYPER", + "songID": 592, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13022, + "notecount": 730, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9b84d09609733963836e8e51b928c7af5a8af05", + "difficulty": "NORMAL", + "songID": 592, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13022, + "notecount": 420, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "40d6c95e921c1f66696c07a46185e3fb65e0d91a", + "difficulty": "ANOTHER", + "songID": 592, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13022, + "notecount": 868, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43e8ec87c80f7c7c72d1c3afc91c3fb6b1cca7f3", + "difficulty": "HYPER", + "songID": 592, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13022, + "notecount": 730, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af8c9a1a97cb70cadad8dacad15df2baa6086f8a", + "difficulty": "NORMAL", + "songID": 592, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13022, + "notecount": 420, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7bf7585a2492495ac48385d770f422f29e8bca53", + "difficulty": "ANOTHER", + "songID": 593, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13023, + "notecount": 1207, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "62d60a00b16dde56184b830710845c2949080d74", + "difficulty": "HYPER", + "songID": 593, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13023, + "notecount": 961, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79e76efd7da641a78ff313776db502b783c6c240", + "difficulty": "NORMAL", + "songID": 593, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13023, + "notecount": 473, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e4f7bf1e52428f5e1ef31fed77dc5d5ecb84b7b", + "difficulty": "ANOTHER", + "songID": 593, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13023, + "notecount": 1174, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "56d31a6e0b0fbb6236a9488a6c235a2a67bbd2fd", + "difficulty": "HYPER", + "songID": 593, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13023, + "notecount": 867, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b9e38061e97b0879fd4e69ccb5fe07e5f59b5cd", + "difficulty": "NORMAL", + "songID": 593, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13023, + "notecount": 292, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d76d4d1a12221a08afc2275f6cf5ade74d7166df", + "difficulty": "HYPER", + "songID": 594, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13024, + "notecount": 906, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8af74a7228e72a1644f8802dbd78a47bd478f85f", + "difficulty": "NORMAL", + "songID": 594, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13024, + "notecount": 489, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "885eb19c343d77821b462c6a9a18464684804d4d", + "difficulty": "ANOTHER", + "songID": 594, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13024, + "notecount": 1249, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad06f5ea40ff06ab0bcea75c4293be5db281cefa", + "difficulty": "HYPER", + "songID": 594, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13024, + "notecount": 910, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "25429cd6e43c59ec59b98bd5e6a61e048bd824da", + "difficulty": "NORMAL", + "songID": 594, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13024, + "notecount": 473, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13c92041340667ba8be447f993e86f1b6065252d", + "difficulty": "HYPER", + "songID": 595, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13025, + "notecount": 730, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cc49e743b59054acec2eac7005e2707bf4380fd1", + "difficulty": "NORMAL", + "songID": 595, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13025, + "notecount": 374, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9f6e0c3331aba3d14dd61c08e8377a56b1749cb", + "difficulty": "ANOTHER", + "songID": 595, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13025, + "notecount": 1231, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c4cde6f80bb2a37787639f5f1bccab2d2dfcd81b", + "difficulty": "HYPER", + "songID": 595, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13025, + "notecount": 777, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e8cc024c82a220d3c055554d56f0282db5be69d1", + "difficulty": "NORMAL", + "songID": 595, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 13025, + "notecount": 283, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3b49ed91fa0831d6cdcb943277d6f214dc6cdf5d", + "difficulty": "ANOTHER", + "songID": 596, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 13026, + "notecount": 1363, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43bd7b7f22bad27a507646435b87f6e929595949", + "difficulty": "HYPER", + "songID": 596, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13026, + "notecount": 951, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "12da76e286b690ba968a363717d2608c49f32a70", + "difficulty": "LEGGENDARIA", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 596, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 13026, + "arcChartID": null, + "notecount": 1391, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "4b9ef165d015b70cef17d8c85cb17b8beffdc7e0", + "difficulty": "NORMAL", + "songID": 596, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13026, + "notecount": 612, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0781ab04ceaaa5bcd436322832af46684ddb305f", + "difficulty": "ANOTHER", + "songID": 596, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13026, + "notecount": 1199, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": true + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e01f5f45c2710c86e5c3d6cb9c5c609d6d117a13", + "difficulty": "HYPER", + "songID": 596, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13026, + "notecount": 884, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "0d10ce53e74bb3123bec65ad80bc55ebf15522c2", + "difficulty": "LEGGENDARIA", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 596, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 13026, + "arcChartID": null, + "notecount": 1356, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "5f5af85418703a9f198987687ab9cb23592c1ee8", + "difficulty": "NORMAL", + "songID": 596, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13026, + "notecount": 571, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4afb49288ecc15324e093551276a67cd0dc9fbe6", + "difficulty": "ANOTHER", + "songID": 597, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13027, + "notecount": 792, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "443394941a8f718966ea2cb133100fbd214fc95e", + "difficulty": "HYPER", + "songID": 597, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13027, + "notecount": 615, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e38943ecfe09cc14a0142e244c7f3b0d24c7ae8a", + "difficulty": "NORMAL", + "songID": 597, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 13027, + "notecount": 337, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30aa46ae2dd10ab8211cf7624f1f646c8b6837e7", + "difficulty": "ANOTHER", + "songID": 597, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13027, + "notecount": 835, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b55599f892c217793dbbe1341faa6216b7e2313f", + "difficulty": "HYPER", + "songID": 597, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13027, + "notecount": 628, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8d82eda4995071c3f1371b6b2a83dc7a6964e1ff", + "difficulty": "NORMAL", + "songID": 597, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13027, + "notecount": 325, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98ab55dbf652ce5c34b6f0396b35705e7d923ce2", + "difficulty": "HYPER", + "songID": 598, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13028, + "notecount": 560, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6948b644e4af623aca990f0f9742f949a068ccd0", + "difficulty": "NORMAL", + "songID": 598, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13028, + "notecount": 357, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1ceee25cb9f74a53293e9457088904739796adb", + "difficulty": "ANOTHER", + "songID": 598, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13028, + "notecount": 764, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "14d18a463f252602f4105b8d14e22d0020d4b9e0", + "difficulty": "HYPER", + "songID": 598, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13028, + "notecount": 554, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9c53a6c128ca9bace4a1579da6338e16491ff1e3", + "difficulty": "NORMAL", + "songID": 598, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13028, + "notecount": 367, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7bb8b871d46e0babf0987dd9c237fea004762c5d", + "difficulty": "ANOTHER", + "songID": 599, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13029, + "notecount": 1158, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c58fbdd2d1509694299cf07e78abfd8793028dd3", + "difficulty": "HYPER", + "songID": 599, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13029, + "notecount": 856, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cc275189ece1c74d19a2a1b5d46da748b396cf03", + "difficulty": "NORMAL", + "songID": 599, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13029, + "notecount": 449, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "558bfde7254f9d7cc2864b9fc9a27c16d1bbc30f", + "difficulty": "ANOTHER", + "songID": 599, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13029, + "notecount": 1234, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d7cf51305f3df0512c14e3a52d0abce0f3a60cf1", + "difficulty": "HYPER", + "songID": 599, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13029, + "notecount": 777, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "551ba10c4caf507967837d085c4d3973b7ce107a", + "difficulty": "NORMAL", + "songID": 599, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 13029, + "notecount": 287, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0ecb2f38aec143b613f8181f88e04c5dbac4d73", + "difficulty": "HYPER", + "songID": 600, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13030, + "notecount": 554, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ec1de840754891ecddb645e68e38de83877c22ac", + "difficulty": "NORMAL", + "songID": 600, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13030, + "notecount": 348, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ab9c3d4585e08dbf7920f00e1ba6861918fb2d7", + "difficulty": "ANOTHER", + "songID": 600, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13030, + "notecount": 738, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2bbe4860954f15ae64ff0b8ee354c045afdfea58", + "difficulty": "HYPER", + "songID": 600, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13030, + "notecount": 554, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b439fb019144149479d760b5de63e4c6bcb204ed", + "difficulty": "NORMAL", + "songID": 600, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13030, + "notecount": 348, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f1ea1293a5ee30610179d82ca5ce9be7544c31c", + "difficulty": "ANOTHER", + "songID": 601, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 13031, + "notecount": 1543, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c57f37955a664e4c2aaefdd0d2c2a4ba56c9af3", + "difficulty": "HYPER", + "songID": 601, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13031, + "notecount": 791, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a48e91ab6806ddea360a17f64044daae859bb33", + "difficulty": "NORMAL", + "songID": 601, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13031, + "notecount": 470, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a02f2db3650d9edf9be43718756c1a15f4160fb", + "difficulty": "ANOTHER", + "songID": 601, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 13031, + "notecount": 1073, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "13-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": true + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3bcf0371d0f394fda48e6ead7f0db21a059f8d68", + "difficulty": "HYPER", + "songID": 601, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13031, + "notecount": 791, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ec7e01f6f39a7bedee07029f5577c2ac7540204", + "difficulty": "NORMAL", + "songID": 601, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13031, + "notecount": 470, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe9239858dd6465d203f6e83412b27c22e14c47d", + "difficulty": "ANOTHER", + "songID": 602, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13032, + "notecount": 1148, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f6e81489eb2d2f73fa787aad8848a9409f4b8f28", + "difficulty": "HYPER", + "songID": 602, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13032, + "notecount": 927, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2930ae916a24d123a6c40fac5ea2b7996b8e3331", + "difficulty": "NORMAL", + "songID": 602, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13032, + "notecount": 520, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94c2e0a4fa5f46821c162873d7166fb93e9489a8", + "difficulty": "ANOTHER", + "songID": 602, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13032, + "notecount": 1151, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60a507100b033dddf278e1bdefdc06ab78161a62", + "difficulty": "HYPER", + "songID": 602, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13032, + "notecount": 938, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a1ba6d01a3a4e3db3ebf0037f73fa832293d8b8", + "difficulty": "NORMAL", + "songID": 602, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13032, + "notecount": 520, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8072b61b1d6c63f3a25eed73fb2b11018541d911", + "difficulty": "HYPER", + "songID": 603, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13033, + "notecount": 590, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c12891ea127d4833e539e46250b0bf2d0b1203d5", + "difficulty": "NORMAL", + "songID": 603, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 13033, + "notecount": 321, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89cd5f3254579612186a3f85e554cf0759238219", + "difficulty": "ANOTHER", + "songID": 603, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13033, + "notecount": 748, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f6f583ecff03d26f52567fd9984f31ec9c3d4b57", + "difficulty": "HYPER", + "songID": 603, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13033, + "notecount": 590, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8aba49c0286c48b60c6cfde8b13e359d0e85c373", + "difficulty": "NORMAL", + "songID": 603, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 13033, + "notecount": 321, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c523b6aea006913a65151185dffa4491511f66a", + "difficulty": "HYPER", + "songID": 604, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13034, + "notecount": 1081, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1dca2a841c92efa0c8e95fcee7267a3d762819b8", + "difficulty": "NORMAL", + "songID": 604, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13034, + "notecount": 725, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9c5b7917cdb68a11f7578bfa743315036af3306", + "difficulty": "ANOTHER", + "songID": 604, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 13034, + "notecount": 1360, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0425afc509d4de2587809933eef7d3dc6559acc9", + "difficulty": "HYPER", + "songID": 604, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13034, + "notecount": 989, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "81c8006aaf02665427f95a3c5ad634ddc9d8e9c2", + "difficulty": "NORMAL", + "songID": 604, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13034, + "notecount": 686, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4d67bbf421baa520d4dcfaec13784a4245a965ee", + "difficulty": "ANOTHER", + "songID": 605, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13035, + "notecount": 1065, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8bf517706edd4f36986d3f85f486dc74e3b8a240", + "difficulty": "HYPER", + "songID": 605, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13035, + "notecount": 861, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "015aafcdae2c10fa89e95c3898fdf934a243e610", + "difficulty": "NORMAL", + "songID": 605, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13035, + "notecount": 512, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd4ade3ed0cf8d26f56503cdba136dd457104374", + "difficulty": "ANOTHER", + "songID": 605, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13035, + "notecount": 1077, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e991bce592a577b6175184449dd379fd2afdec80", + "difficulty": "HYPER", + "songID": 605, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13035, + "notecount": 848, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33d22ee266a35f59397bd02136fedc284700629b", + "difficulty": "NORMAL", + "songID": 605, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13035, + "notecount": 513, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "23d401c80521d212ed5f0ae90e8e2e66c49f1ab4", + "difficulty": "HYPER", + "songID": 606, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13036, + "notecount": 820, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "654658bb5441c4e7834f15a799dc313a5d440392", + "difficulty": "NORMAL", + "songID": 606, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13036, + "notecount": 520, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c3f9ec96a9303c40436845cc20a3176c78766152", + "difficulty": "ANOTHER", + "songID": 606, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13036, + "notecount": 975, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7bae628b3f0391597a3134d5ebefe1deab7d9544", + "difficulty": "HYPER", + "songID": 606, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13036, + "notecount": 805, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "07436245989c724086d9fc1bfab2228a7b723fd5", + "difficulty": "NORMAL", + "songID": 606, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13036, + "notecount": 520, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45d161c288171656a4559c89d49cf21d7400ad02", + "difficulty": "ANOTHER", + "songID": 607, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13037, + "notecount": 1214, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f3b5f799fdae06e77fbba90fd9a82952409f1f0", + "difficulty": "HYPER", + "songID": 607, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13037, + "notecount": 853, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e18afec103b933ad00c7e190abe832b887afca0", + "difficulty": "NORMAL", + "songID": 607, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13037, + "notecount": 548, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9b547d5514642e0e7e352bebfa1cd188bf3254d", + "difficulty": "ANOTHER", + "songID": 607, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13037, + "notecount": 1191, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "263233b8161747ab8aef3aaf0c7c46404f686cc0", + "difficulty": "HYPER", + "songID": 607, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13037, + "notecount": 784, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a0b04ffe52ff2b4b1d03de435099f9856492e0e", + "difficulty": "NORMAL", + "songID": 607, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13037, + "notecount": 556, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6056014d9ce2f1df1afa255e1010cccc26ac86b6", + "difficulty": "ANOTHER", + "songID": 608, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13038, + "notecount": 1399, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "726981f2ebd2b3c0f5d8a1695e86f19b7fc1f49d", + "difficulty": "HYPER", + "songID": 608, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13038, + "notecount": 966, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2fd36d24036703739beb8b175a7ca856000d073d", + "difficulty": "LEGGENDARIA", + "songID": 608, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 13038, + "notecount": 2000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "92dd263a9eb145799ab6943256b84a1ee30f4be8", + "difficulty": "NORMAL", + "songID": 608, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13038, + "notecount": 647, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "567c71957619a179b34283eff76f4ca049db5453", + "difficulty": "ANOTHER", + "songID": 608, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13038, + "notecount": 1457, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0f0cbe96d93fc052a8544dde146614f99c41d206", + "difficulty": "HYPER", + "songID": 608, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13038, + "notecount": 997, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ae93cf18803f1444c5c61ae822a7e1df963b112", + "difficulty": "LEGGENDARIA", + "songID": 608, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 13038, + "notecount": 2000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "df60671a9f550b8bfd7ebf9a57a5481fd213f5be", + "difficulty": "NORMAL", + "songID": 608, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13038, + "notecount": 658, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "386dcff775684b68d35f2dac937f4fe9ac0082ab", + "difficulty": "ANOTHER", + "songID": 609, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13039, + "notecount": 1122, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c1d255a0c66a05e32658320689c6bf807a77907", + "difficulty": "HYPER", + "songID": 609, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13039, + "notecount": 896, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c147b9821b72d6c7663bcaabdc55e48d891125b", + "difficulty": "NORMAL", + "songID": 609, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13039, + "notecount": 457, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8a2489e32357fd4d8039e8f0ae11ba049688688", + "difficulty": "ANOTHER", + "songID": 609, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13039, + "notecount": 1127, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "68b7668394bc356847b80e096c80b20e4d1d5001", + "difficulty": "HYPER", + "songID": 609, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13039, + "notecount": 902, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c64285c1e0e85f3df322e7a77f1330db0fa76bac", + "difficulty": "NORMAL", + "songID": 609, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13039, + "notecount": 457, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "44a790855327f036a2b8805b88788cecb06f5327", + "difficulty": "ANOTHER", + "songID": 610, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 13040, + "notecount": 1163, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7569b2859e08d4a989b9a4b1b781068cf1d1bf22", + "difficulty": "HYPER", + "songID": 610, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13040, + "notecount": 906, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8de568b656f42fa6fd62d4311483639e9f583ffb", + "difficulty": "NORMAL", + "songID": 610, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13040, + "notecount": 517, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa45ba594b4e225c5d1f24fbeedcc56a0127eeda", + "difficulty": "ANOTHER", + "songID": 610, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13040, + "notecount": 1158, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "126491b02198baaa5335765787e0d46120c28cbd", + "difficulty": "HYPER", + "songID": 610, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13040, + "notecount": 917, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51878e740201a3dcfa56d480287dcd00cb678393", + "difficulty": "NORMAL", + "songID": 610, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13040, + "notecount": 524, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d08cf762ff88ceda3071db3093a8ed813d0ab020", + "difficulty": "ANOTHER", + "songID": 611, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13041, + "notecount": 1363, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "614cef31db7ca8f186e1ecb0338d8b8926440f78", + "difficulty": "HYPER", + "songID": 611, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13041, + "notecount": 893, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f74a5a8b804c4da7f62bb9c017621f9dfb9f3dc1", + "difficulty": "NORMAL", + "songID": 611, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13041, + "notecount": 494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f8192d1d5dc8d8d965d066ff3489557e047f2b5", + "difficulty": "ANOTHER", + "songID": 611, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13041, + "notecount": 1056, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0d509f5c56bc631e004f07a03df1f7013e550c3", + "difficulty": "HYPER", + "songID": 611, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13041, + "notecount": 933, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "05b5e47b599fb7c73d5270ec1882854a857a47ff", + "difficulty": "NORMAL", + "songID": 611, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13041, + "notecount": 497, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c658a010fdc3e251796a08331857ac657e768e02", + "difficulty": "ANOTHER", + "songID": 612, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13042, + "notecount": 970, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dcadb816cfaea499172c5b3ece35aa16215efd9c", + "difficulty": "HYPER", + "songID": 612, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13042, + "notecount": 721, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5323a274555807402c447558148a5da6c9f71dd1", + "difficulty": "NORMAL", + "songID": 612, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13042, + "notecount": 408, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "09f0ae6e352c665d5a933e99ae3dffdb77425903", + "difficulty": "ANOTHER", + "songID": 612, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13042, + "notecount": 951, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e891a81032def76be2e293c31667a2d639873411", + "difficulty": "HYPER", + "songID": 612, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13042, + "notecount": 712, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c59685b7fa633dca40fbff5aa48edf27ba00f604", + "difficulty": "NORMAL", + "songID": 612, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13042, + "notecount": 400, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c01963c281082036f6fec2aa99690eef640a711e", + "difficulty": "HYPER", + "songID": 613, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13043, + "notecount": 748, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "229b61cc7af8af8907d9d6d1be8ace6875fb8e21", + "difficulty": "NORMAL", + "songID": 613, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13043, + "notecount": 499, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c31e952b8e0e6ccbf67baf8fcb0872aa8f0c36f7", + "difficulty": "ANOTHER", + "songID": 613, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13043, + "notecount": 982, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b40c0dfa4cef86c5025ac377f2fb6340a2df0359", + "difficulty": "HYPER", + "songID": 613, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13043, + "notecount": 748, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "336ddcc09f7a029b6e2ca1f1118385433a9417d2", + "difficulty": "NORMAL", + "songID": 613, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13043, + "notecount": 499, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d50440d197566b6d2c16c391b507f3aff8c2c75", + "difficulty": "HYPER", + "songID": 614, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13044, + "notecount": 990, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b83e985efad3e6858c19b450362248b497b3ec82", + "difficulty": "NORMAL", + "songID": 614, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13044, + "notecount": 576, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "750aeb57d14897ad728b1164cd1754bc443f15f3", + "difficulty": "ANOTHER", + "songID": 614, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13044, + "notecount": 1237, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "095843c05ff703560c88ef700195014a5f77d30e", + "difficulty": "HYPER", + "songID": 614, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13044, + "notecount": 974, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d788e50a523dc318626d94434da7c1e32936dfd6", + "difficulty": "NORMAL", + "songID": 614, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13044, + "notecount": 571, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74eca7c672e79db9f6d8a08a72c133c1a93dea44", + "difficulty": "ANOTHER", + "songID": 615, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13045, + "notecount": 996, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cc48807fda567bf252e53a1c2fd20dc789e06466", + "difficulty": "HYPER", + "songID": 615, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13045, + "notecount": 605, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "952c1bac240f129686558bd412c14251a2ac19ac", + "difficulty": "NORMAL", + "songID": 615, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13045, + "notecount": 436, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "141df948b0c2a0d919b4fa1532100020697005d7", + "difficulty": "ANOTHER", + "songID": 615, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13045, + "notecount": 836, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "05571dc1234b107fe0b0dc65e5f6dfa79399f6d7", + "difficulty": "HYPER", + "songID": 615, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13045, + "notecount": 596, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1a367bad3646d372547b28d13b80486ee579c7d", + "difficulty": "NORMAL", + "songID": 615, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13045, + "notecount": 435, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "239137c83d29cde047b7164a7a2d3039fc408003", + "difficulty": "ANOTHER", + "songID": 616, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13046, + "notecount": 899, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a097d5df0b93c02bf8e1793beb6abfa8bdab98c7", + "difficulty": "HYPER", + "songID": 616, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13046, + "notecount": 727, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f66f1acaf2487f811c87cb9cec208b67bf6233b", + "difficulty": "NORMAL", + "songID": 616, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13046, + "notecount": 436, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9279c7cd70caa3a69a3970622eceada69cc9d2c1", + "difficulty": "ANOTHER", + "songID": 616, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13046, + "notecount": 1019, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e37a2468f4b2dba1a96dd9e09c01d7a056a9c2ce", + "difficulty": "HYPER", + "songID": 616, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13046, + "notecount": 726, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17e09f31c4a34a1bade6b10ee7c7c03ce5f6e669", + "difficulty": "NORMAL", + "songID": 616, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13046, + "notecount": 454, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7141d2461e7dee6815e5861ee649fedaccea8e37", + "difficulty": "ANOTHER", + "songID": 617, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13047, + "notecount": 1127, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de567c0644aed68d742ddbb31c29a427b6f0745f", + "difficulty": "HYPER", + "songID": 617, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13047, + "notecount": 730, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "288eee3115bf24e8ee5a0a63dbe04b3ce86dcb24", + "difficulty": "NORMAL", + "songID": 617, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13047, + "notecount": 393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c3ebe7190595af944778a9740009eb57304da0b", + "difficulty": "ANOTHER", + "songID": 617, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13047, + "notecount": 909, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "982d79f972da4e0a98c73d7d6709b931aa9940a6", + "difficulty": "BEGINNER", + "songID": 617, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 13047, + "notecount": 94, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9af21b1c112143ad560ef503a75af935b47bb766", + "difficulty": "HYPER", + "songID": 617, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13047, + "notecount": 671, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4735f9edd7704959805843851b44c2760d3d8003", + "difficulty": "NORMAL", + "songID": 617, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 13047, + "notecount": 292, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b137142e560d1508829b7e163221325c91c0c50b", + "difficulty": "ANOTHER", + "songID": 618, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13048, + "notecount": 1207, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cee39b84324b7b0e63a6a21db5686f54c7138039", + "difficulty": "HYPER", + "songID": 618, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13048, + "notecount": 776, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "842d311e064b6a6afa24d4b71715eed5021e8973", + "difficulty": "NORMAL", + "songID": 618, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13048, + "notecount": 492, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e1d56fab318706ab813f7a581ea3000a297e244", + "difficulty": "ANOTHER", + "songID": 618, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13048, + "notecount": 1209, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1757d3c8c1f2e5392ec8aa6adb31a5a85ce1754f", + "difficulty": "BEGINNER", + "songID": 618, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 13048, + "notecount": 120, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f908b81c3413f07422c5ff81d09c474e0f2d73c9", + "difficulty": "HYPER", + "songID": 618, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13048, + "notecount": 790, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6486ab46d3f2f46135510be548e2323eb3e7dd48", + "difficulty": "NORMAL", + "songID": 618, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13048, + "notecount": 493, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33dbbfb06a0a8c71a28fb0dc4eafbc06e130db5c", + "difficulty": "ANOTHER", + "songID": 619, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13049, + "notecount": 1195, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "25237fe6dd22d0b8b1a0169aedb75e06416c0bba", + "difficulty": "HYPER", + "songID": 619, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13049, + "notecount": 985, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29c83ff988cfa6857dd7d6b7229fed51ecfcc874", + "difficulty": "NORMAL", + "songID": 619, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13049, + "notecount": 703, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a133a3f14c9c1fb3555edc03b0f0dfbefbe32c87", + "difficulty": "ANOTHER", + "songID": 619, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13049, + "notecount": 1194, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45ce19c48bd6bacf6add0078bdb7f0e2346bce61", + "difficulty": "HYPER", + "songID": 619, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13049, + "notecount": 966, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f60b021790225a9629bf0227e44e204c5ff81e49", + "difficulty": "NORMAL", + "songID": 619, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13049, + "notecount": 686, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c325b1a703be9e6d1c3ac75698bcf3468640f02d", + "difficulty": "ANOTHER", + "songID": 620, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13050, + "notecount": 988, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c26cb836ac0ec55893e9f9f7fc1f16908f3e9e2", + "difficulty": "HYPER", + "songID": 620, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13050, + "notecount": 793, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "81db13b724a7f26694b84ba001d10b4d3bfcf02f", + "difficulty": "NORMAL", + "songID": 620, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13050, + "notecount": 532, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a3930d7cbeda9946063ddcb5553e18e56e4ba31", + "difficulty": "ANOTHER", + "songID": 620, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13050, + "notecount": 990, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eb31a1a5b0b11ead5319e7c6d6d2e68d2a8704bf", + "difficulty": "HYPER", + "songID": 620, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13050, + "notecount": 824, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4fd5238838b36bcfc022fff7fd0546b14cc9d32b", + "difficulty": "NORMAL", + "songID": 620, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13050, + "notecount": 532, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c57c782004344c8508343b8506905cba0287af9", + "difficulty": "ANOTHER", + "songID": 621, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 13051, + "notecount": 1367, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6e5e1e152c24a20baa826060d9b98fffe3402bba", + "difficulty": "HYPER", + "songID": 621, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13051, + "notecount": 968, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c189b84a95f2b179b48e4defad241a07549f49ce", + "difficulty": "NORMAL", + "songID": 621, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13051, + "notecount": 653, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d7b3cbaede920fd01b40f4a20dc01fb04919f74b", + "difficulty": "ANOTHER", + "songID": 621, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13051, + "notecount": 1258, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "75d6ad2905baf31235f454ecacc38700326c0eab", + "difficulty": "HYPER", + "songID": 621, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13051, + "notecount": 1020, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e56f090a9501ec6af02d42b23d121ce318c86493", + "difficulty": "NORMAL", + "songID": 621, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13051, + "notecount": 646, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "afe142135843c290d60d3f7b87490c55810c1621", + "difficulty": "HYPER", + "songID": 622, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13052, + "notecount": 1048, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1aa47d9d9456b9aaa87a9811b97532ce98ee1139", + "difficulty": "NORMAL", + "songID": 622, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13052, + "notecount": 436, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "717d08d094163bd9ec27b225fd1353115cad6b73", + "difficulty": "ANOTHER", + "songID": 622, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13052, + "notecount": 1118, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c14ac167a2141d14609878cb8b5a0bacaab18468", + "difficulty": "BEGINNER", + "songID": 622, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 13052, + "notecount": 185, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "410feae98206d472e667a0b3f53637069a00e96f", + "difficulty": "HYPER", + "songID": 622, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13052, + "notecount": 1067, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3cbf08e873d8ea650fac91f85c8910c8748e7b2c", + "difficulty": "NORMAL", + "songID": 622, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13052, + "notecount": 436, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8969554bbdd4ab4b257f6b65138ca3b7c2c38190", + "difficulty": "ANOTHER", + "songID": 623, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13053, + "notecount": 934, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26139dc919b0fe9ebe9498d20e8ef3a403658b20", + "difficulty": "HYPER", + "songID": 623, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13053, + "notecount": 793, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13a4b3989086547aea0f84cd0fbeef1a9896a306", + "difficulty": "NORMAL", + "songID": 623, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13053, + "notecount": 488, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba085e1570f4e35654af5471d417b48f5d4cf1aa", + "difficulty": "ANOTHER", + "songID": 623, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13053, + "notecount": 934, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "876c1d284d63b272725a33d83b061e8d187bd60d", + "difficulty": "BEGINNER", + "songID": 623, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 13053, + "notecount": 127, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ca8d263ac2fda5fd0224d26f5f97a2bc3a4cde9", + "difficulty": "HYPER", + "songID": 623, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13053, + "notecount": 792, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5801df2b8853e63c6575af4367bad04f39007fb6", + "difficulty": "NORMAL", + "songID": 623, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13053, + "notecount": 488, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c00d3b55b9dc6a0d609742fecfed41d3ab04b43a", + "difficulty": "ANOTHER", + "songID": 624, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 13054, + "notecount": 1425, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd86a8550f090a7318b58745cb17eb1ae36ffbba", + "difficulty": "HYPER", + "songID": 624, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13054, + "notecount": 972, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed56d4e86337f45b7dc4958b0d44f91e09bfe846", + "difficulty": "NORMAL", + "songID": 624, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13054, + "notecount": 486, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "88523fdc55401b8cd5f49ded427d33267cd16fac", + "difficulty": "ANOTHER", + "songID": 624, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 13054, + "notecount": 1311, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7d495aad1d8e07a499e30373b44e2e1257c21281", + "difficulty": "BEGINNER", + "songID": 624, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 13054, + "notecount": 198, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ac456e3388aed8e7c24e8f3f247bc9d80c6a38dd", + "difficulty": "HYPER", + "songID": 624, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13054, + "notecount": 915, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d38a2c1fa806d9d0205e6925c5147863e28fa171", + "difficulty": "NORMAL", + "songID": 624, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13054, + "notecount": 460, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ddd0788a31e39911f5792e439e041563b6e74af", + "difficulty": "ANOTHER", + "songID": 625, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 13055, + "notecount": 1586, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d64d5a4609967227d8eeb16a711142acf8c105a0", + "difficulty": "HYPER", + "songID": 625, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13055, + "notecount": 978, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24f8ff66cbacb81be431f0aed5836547025f9225", + "difficulty": "NORMAL", + "songID": 625, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13055, + "notecount": 581, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5e3dda64f5ab8c00855428695d6c4980818d9c8a", + "difficulty": "ANOTHER", + "songID": 625, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 13055, + "notecount": 1325, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.60", + "value": 12.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "aa87f48af5a7a658e3f518f07cf5a45ea6750d5e", + "difficulty": "BEGINNER", + "songID": 625, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 13055, + "notecount": 232, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7108649aa6336344e313c3e240b3edab17bbb41f", + "difficulty": "HYPER", + "songID": 625, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13055, + "notecount": 944, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e81f0437543df328d08559075ed19b28b8e80bba", + "difficulty": "NORMAL", + "songID": 625, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13055, + "notecount": 581, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "441b958dce8fbe11906d65548258965eef9c712e", + "difficulty": "ANOTHER", + "songID": 627, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13201, + "notecount": 626, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd1e34fa220684886c76a71ac5ba0de87b43a23a", + "difficulty": "HYPER", + "songID": 627, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13201, + "notecount": 436, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ace8c1f2cbf5d7e66e8d415ba824511b79a99800", + "difficulty": "NORMAL", + "songID": 627, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13201, + "notecount": 294, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6d4f4d4182c929c9981be8f7fc1649ed84160c1", + "difficulty": "ANOTHER", + "songID": 627, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13201, + "notecount": 588, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c1f71b6fdcfc27e06c0bdc6fdf32d022024f91f", + "difficulty": "HYPER", + "songID": 627, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13201, + "notecount": 413, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b5f5958165cdf1e2bd4c4c4ac5403af4d54fed3d", + "difficulty": "NORMAL", + "songID": 627, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13201, + "notecount": 276, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cddc8befa9fe1200b39c8f222829211b92e3a86c", + "difficulty": "ANOTHER", + "songID": 628, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13202, + "notecount": 403, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "81069cc218163eef7f693e42c1b987b24e6d2206", + "difficulty": "HYPER", + "songID": 628, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13202, + "notecount": 378, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94e2aa7c5e77cbb8e461739f4ed1494b41bef209", + "difficulty": "NORMAL", + "songID": 628, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13202, + "notecount": 324, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "feeb407982744878759071013b78bbed05a593ea", + "difficulty": "ANOTHER", + "songID": 628, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13202, + "notecount": 397, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3df9a6051657e56fa6e6d0fbde45bf320911f89a", + "difficulty": "HYPER", + "songID": 628, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13202, + "notecount": 323, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b43e87a08515d18486032caed13aa45515dffdf", + "difficulty": "NORMAL", + "songID": 628, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 13202, + "notecount": 139, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "47958bc020fba1c4227b855cd2d96bc30a89cb8e", + "difficulty": "ANOTHER", + "songID": 629, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13203, + "notecount": 1560, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "afb62aab0829002d5cc7280749c6580aa1f378cd", + "difficulty": "HYPER", + "songID": 629, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13203, + "notecount": 1323, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c365579ed11610357de6994b7401d67e64e8ffc7", + "difficulty": "NORMAL", + "songID": 629, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13203, + "notecount": 903, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff497edd64cfec12ebc1302a899747402d45f3ed", + "difficulty": "ANOTHER", + "songID": 629, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13203, + "notecount": 1344, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c49713794172b674d059270ff96e9e9d5f1e1c45", + "difficulty": "HYPER", + "songID": 629, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13203, + "notecount": 1075, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9f83436308cc73802c47c0b9e490657d1a4e58c", + "difficulty": "NORMAL", + "songID": 629, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13203, + "notecount": 713, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bbd9031ee32213bc7976a51740e75e6a350f140a", + "difficulty": "ANOTHER", + "songID": 630, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13204, + "notecount": 1297, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74d0f7582c87081f543277d8ff44dc8c6fe8c4e3", + "difficulty": "HYPER", + "songID": 630, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13204, + "notecount": 1025, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c9266bd1da9e52a18116511528b1dc294ba06de0", + "difficulty": "NORMAL", + "songID": 630, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13204, + "notecount": 616, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0973c991a3ea84c3621025af3cfcb7030895b594", + "difficulty": "ANOTHER", + "songID": 630, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13204, + "notecount": 1412, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2fd01c7bead385c1d1a6db068a471f190905475c", + "difficulty": "HYPER", + "songID": 630, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13204, + "notecount": 982, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35673678878cabb56184729255c666d3228c0f73", + "difficulty": "NORMAL", + "songID": 630, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13204, + "notecount": 616, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2bdc0c78af8731e1186bc3430a9cab7264d42f73", + "difficulty": "HYPER", + "songID": 631, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13205, + "notecount": 763, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02e4aaa06bef53b2cf4c292afc558be588cab727", + "difficulty": "NORMAL", + "songID": 631, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13205, + "notecount": 437, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94fa3f263918b0d0a0afea425bb0ca479163895d", + "difficulty": "ANOTHER", + "songID": 631, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13205, + "notecount": 1017, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1f029f433b6469a7e01ecbef6996521b348c505", + "difficulty": "HYPER", + "songID": 631, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13205, + "notecount": 763, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ac88ad4e55b8c7e580b9d927b0f44515f3c2046b", + "difficulty": "NORMAL", + "songID": 631, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13205, + "notecount": 437, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f0f842d4b74bcf4b5f3a750398629baa5bc7349", + "difficulty": "ANOTHER", + "songID": 632, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13206, + "notecount": 754, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e0c228e04551e40b7ba24361bb8c35ff9c04c37", + "difficulty": "HYPER", + "songID": 632, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13206, + "notecount": 665, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a4bd61fbc513fdc5001d71b4f2d15bb1f753c5a", + "difficulty": "NORMAL", + "songID": 632, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13206, + "notecount": 438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "00ba471aa2af3701df00cfe287c74dddcc554a99", + "difficulty": "ANOTHER", + "songID": 632, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13206, + "notecount": 787, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "362f01b58a45f44860d3b949e72c949cca59fa5e", + "difficulty": "HYPER", + "songID": 632, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13206, + "notecount": 686, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cef8f948b7a516aef64c972eb1f89fb52a6920f6", + "difficulty": "NORMAL", + "songID": 632, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13206, + "notecount": 436, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7fe3f9fc4e2c1f9b4fb23ec376081bb04d862d59", + "difficulty": "HYPER", + "songID": 633, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13208, + "notecount": 686, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d74bc32a66f8a6827b67d25679e7626b108ebb0", + "difficulty": "NORMAL", + "songID": 633, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13208, + "notecount": 369, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b92b92e67feeec7993a848f469b7aee9605e0a9", + "difficulty": "ANOTHER", + "songID": 633, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13208, + "notecount": 858, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5e90fea45b2c34cb24aec114e8705f5cbf9e150c", + "difficulty": "HYPER", + "songID": 633, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13208, + "notecount": 686, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41c20caba2b877a393772239a2d43404a3c5708a", + "difficulty": "NORMAL", + "songID": 633, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13208, + "notecount": 369, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fcb31b1536d97bfb213cc574462d68d40f9fb15e", + "difficulty": "ANOTHER", + "songID": 634, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13209, + "notecount": 529, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a7bab91108c146b3724626fd9df44d7308e03a1b", + "difficulty": "HYPER", + "songID": 634, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13209, + "notecount": 476, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a697616bcba2b7beaeeea82eb0a318e9bc63039a", + "difficulty": "NORMAL", + "songID": 634, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 13209, + "notecount": 315, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5e5f56e93aa3e8eceb30555748157f5a6edc3914", + "difficulty": "ANOTHER", + "songID": 634, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13209, + "notecount": 532, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a9ff46c1b1932a0f44219f8922ad4276836b7fe", + "difficulty": "HYPER", + "songID": 634, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13209, + "notecount": 486, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0946199edef9056840e8efccaa7d4084f6073794", + "difficulty": "NORMAL", + "songID": 634, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 13209, + "notecount": 314, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b94448131ec1e61ca36a5ff02d637cf9b53bd106", + "difficulty": "ANOTHER", + "songID": 635, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13211, + "notecount": 483, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c23387dea38ac5c9b35b68b28d09fbb5ea6f1157", + "difficulty": "HYPER", + "songID": 635, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13211, + "notecount": 452, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aebb5b00c4a22dd9c9f9fab11f34e50f646623ef", + "difficulty": "NORMAL", + "songID": 635, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13211, + "notecount": 391, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a38f0c128144c77e10414c293d23f6bf7c2ed3d0", + "difficulty": "ANOTHER", + "songID": 635, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13211, + "notecount": 483, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "261743aeebe05736af4c7e34b79eba17b6de46ed", + "difficulty": "HYPER", + "songID": 635, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13211, + "notecount": 395, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "485605367330d504d55c36e64377efa46a89a5e7", + "difficulty": "NORMAL", + "songID": 635, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13211, + "notecount": 349, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9e53dda802820d629e24cc20f6945cd5fbf84aa", + "difficulty": "ANOTHER", + "songID": 636, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 13212, + "notecount": 1716, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3cb55a166faa0a3f537bd2fb68e6718dfc92be34", + "difficulty": "HYPER", + "songID": 636, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 13212, + "notecount": 1332, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63ed1b912676d46bfb04966ca028a8c8e685cd57", + "difficulty": "NORMAL", + "songID": 636, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13212, + "notecount": 904, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "07ca4992d8ddf9339b277232f28de40901f52a96", + "difficulty": "ANOTHER", + "songID": 636, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13212, + "notecount": 1404, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a612f4f90a1349a2942412fa81bf7082817ec22", + "difficulty": "HYPER", + "songID": 636, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13212, + "notecount": 1012, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7699a91a9714c53e4a7233a223edab30f465cbdd", + "difficulty": "NORMAL", + "songID": 636, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 13212, + "notecount": 732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f47bdc8c4accbbb4ed67797abe13a4fe33b0377", + "difficulty": "ANOTHER", + "songID": 637, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13213, + "notecount": 1392, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a917c41cf0f6c02ad77ccae89e6cd84eccd46235", + "difficulty": "HYPER", + "songID": 637, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13213, + "notecount": 900, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce9fa4444dff61a7f15e4e48dddbac15b77d193c", + "difficulty": "NORMAL", + "songID": 637, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13213, + "notecount": 668, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "62434f272c147af6d5a6f211ccfd738d5b312299", + "difficulty": "ANOTHER", + "songID": 637, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13213, + "notecount": 1261, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc35ac05395827f1cef99a15d458d8f51dc20dc0", + "difficulty": "HYPER", + "songID": 637, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 13213, + "notecount": 829, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c780ab6046512222e7f92c26ed263ec958e5e4ae", + "difficulty": "NORMAL", + "songID": 637, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 13213, + "notecount": 542, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "402bb18f96beb260ade272edd2ddcbcd6be0c111", + "difficulty": "ANOTHER", + "songID": 638, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13214, + "notecount": 1143, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8456bdcfc1f1a466d09fed7a345ce59753b05ec1", + "difficulty": "HYPER", + "songID": 638, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13214, + "notecount": 735, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b70c140bf960ad8b41365c8a3304f4f03d2f25d", + "difficulty": "NORMAL", + "songID": 638, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 13214, + "notecount": 351, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "414dd54bcbbf2336670f2b89d2f108c0da8c0965", + "difficulty": "ANOTHER", + "songID": 638, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 13214, + "notecount": 1120, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "759da2ac944851ae2fb68eea754d298a089e84d4", + "difficulty": "HYPER", + "songID": 638, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 13214, + "notecount": 700, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3dbe1dfea4ae7b9daccb20e59fa3d69561dde50c", + "difficulty": "NORMAL", + "songID": 638, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 13214, + "notecount": 295, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5e0a782be572b4a5ebbe0545ec43a0d72d4b967c", + "difficulty": "HYPER", + "songID": 639, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14000, + "notecount": 888, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8ece95858a8ef55198107e84abf88b2fb53c12a", + "difficulty": "NORMAL", + "songID": 639, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14000, + "notecount": 661, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9e561c87638b7b56b96b400b3a68e1d54e993633", + "difficulty": "ANOTHER", + "songID": 639, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14000, + "notecount": 1223, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b5a1adb982d6a4e8ea85d4171ce3db8d92b1c98d", + "difficulty": "HYPER", + "songID": 639, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14000, + "notecount": 887, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9aed7f4102fbd023c4c090cf5e98151e49e091f4", + "difficulty": "NORMAL", + "songID": 639, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14000, + "notecount": 666, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c0fca82dc63c7c462149b1597b48eb38e2cc0956", + "difficulty": "ANOTHER", + "songID": 640, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14001, + "notecount": 1730, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b876a1af11b1c86edff5d3fed68baf517670fa7", + "difficulty": "HYPER", + "songID": 640, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14001, + "notecount": 1241, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e599f16d25e8a8626df53629d65299f6c94a1e45", + "difficulty": "NORMAL", + "songID": 640, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14001, + "notecount": 699, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7275f96e5b6e401d32893a0c22f93430b802f884", + "difficulty": "ANOTHER", + "songID": 640, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14001, + "notecount": 1614, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2632d1ff2541f7c84453738f78f9644bd0f04ba0", + "difficulty": "HYPER", + "songID": 640, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14001, + "notecount": 1330, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1fe2c89393e954756b82cb50b1894e0eca98e6f", + "difficulty": "NORMAL", + "songID": 640, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14001, + "notecount": 701, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "106b399cd8996e9ee08202221eeb49fda0954a51", + "difficulty": "ANOTHER", + "songID": 641, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14002, + "notecount": 1409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2f6744587403f43955b7270ea931f3dfab670a9", + "difficulty": "HYPER", + "songID": 641, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14002, + "notecount": 1086, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4200ef852c066740de41905dd9d6c05f116fd367", + "difficulty": "NORMAL", + "songID": 641, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14002, + "notecount": 747, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ce76a13019ee24ea0df370f890bbf98e952677a", + "difficulty": "ANOTHER", + "songID": 641, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14002, + "notecount": 1162, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe16bc2986d94f7a9e1534249da5de42e143e65b", + "difficulty": "HYPER", + "songID": 641, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14002, + "notecount": 1002, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c4240ccd67a31c80483c0dd5348f89bc43f78e4", + "difficulty": "NORMAL", + "songID": 641, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14002, + "notecount": 701, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a43928ad7f4f078f83d66f7e3d6ff20554c29ca3", + "difficulty": "HYPER", + "songID": 642, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14003, + "notecount": 533, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "697bb1a20748bc5c61225e1a4bc2552ad5f1703c", + "difficulty": "NORMAL", + "songID": 642, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14003, + "notecount": 396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "859f5d340918dc33b970a81ad37fc50d9c0c98a2", + "difficulty": "ANOTHER", + "songID": 642, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14003, + "notecount": 538, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c88175d419658c9f0ca1ac0994bbd40675027be", + "difficulty": "BEGINNER", + "songID": 642, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 14003, + "notecount": 115, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f5c963eafd77782f94fcfc3a6a7978e0838a21e", + "difficulty": "HYPER", + "songID": 642, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14003, + "notecount": 400, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9c21e86c80e64e1a1826684e165c471c08ea61d0", + "difficulty": "NORMAL", + "songID": 642, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 14003, + "notecount": 293, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89067fc762bcba7c545cbeb19506f3b83582d327", + "difficulty": "ANOTHER", + "songID": 643, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14004, + "notecount": 1141, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7af228ac707e6931e5cb6a01b4a754a38225033d", + "difficulty": "HYPER", + "songID": 643, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14004, + "notecount": 947, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17245fb14d340b1fa7e4d623d83df0288641eb5a", + "difficulty": "LEGGENDARIA", + "songID": 643, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14004, + "notecount": 1563, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32b014cb0dd6428d0dbc432f65aae0b7b687fdf0", + "difficulty": "NORMAL", + "songID": 643, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14004, + "notecount": 449, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a971fb1b5cb83bec0f2d77a08fc8b48c984bfdd", + "difficulty": "ANOTHER", + "songID": 643, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14004, + "notecount": 1141, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "94999fc1d053331327db1ac5cf5d680d18f49b68", + "difficulty": "HYPER", + "songID": 643, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14004, + "notecount": 929, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2b5b6d28760a9e0ce5ee5e2847f75f7a1506acf", + "difficulty": "LEGGENDARIA", + "songID": 643, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14004, + "notecount": 1546, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "58f735a02bc5dca5dd9d4b352c0b7b71abc16abd", + "difficulty": "NORMAL", + "songID": 643, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14004, + "notecount": 414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e337a53598e55193304ddc85e96eaa18646a2e35", + "difficulty": "ANOTHER", + "songID": 644, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14005, + "notecount": 1348, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae4dc8dd892d14878105b47070b3f996c7ffe4e6", + "difficulty": "HYPER", + "songID": 644, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14005, + "notecount": 863, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d59c16b32378222805e6c2ab4aa91626938e20a0", + "difficulty": "NORMAL", + "songID": 644, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14005, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1c5f984bf29cf60471f7494a5fb2201a0ce3f08", + "difficulty": "ANOTHER", + "songID": 644, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14005, + "notecount": 1798, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f98896e0dcdf7994c2ed38f452b1bf3dadd345f8", + "difficulty": "BEGINNER", + "songID": 644, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 14005, + "notecount": 332, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c07aa02cc9d5d8bc7b290688ad0c47d0fd189d9f", + "difficulty": "HYPER", + "songID": 644, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14005, + "notecount": 1308, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2fbbdd152a6de817f681f80a9bcf36611d23687", + "difficulty": "NORMAL", + "songID": 644, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14005, + "notecount": 800, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9396482bf9b57e1b42d6de76c82e4b25e8d72f2", + "difficulty": "HYPER", + "songID": 645, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14006, + "notecount": 690, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "91e2f844c2985b2b2bcb5557a5aa2f7636abf5df", + "difficulty": "NORMAL", + "songID": 645, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14006, + "notecount": 413, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "633fe7b028e8629aaaa82bace9d0e80677ba64c1", + "difficulty": "ANOTHER", + "songID": 645, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14006, + "notecount": 915, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "20941a1f2f707ce1a3587be135e42f453230f337", + "difficulty": "BEGINNER", + "songID": 645, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 14006, + "notecount": 128, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf6c89f3024c60e923a9cbce245ddccb76785757", + "difficulty": "HYPER", + "songID": 645, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14006, + "notecount": 691, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "790e2089b1ceb3e388d9800e9e26fd0cc4ab8660", + "difficulty": "NORMAL", + "songID": 645, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14006, + "notecount": 414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "072f159a2392e9235129bbf28e68d1e22f1d3afe", + "difficulty": "ANOTHER", + "songID": 646, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14007, + "notecount": 1186, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5070e151f6a1c5acd822cf39446f1b147376895f", + "difficulty": "HYPER", + "songID": 646, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14007, + "notecount": 851, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bff3304345d34b085f27cc8f4390b79ba7a513cc", + "difficulty": "NORMAL", + "songID": 646, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14007, + "notecount": 601, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9b758c4d5e6fcca1f5097975d7a69a8afefe2da", + "difficulty": "ANOTHER", + "songID": 646, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14007, + "notecount": 1199, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "dbece3e1d537f91b2d0a4bfbb6d1ce98cf08a20c", + "difficulty": "BEGINNER", + "songID": 646, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 14007, + "notecount": 282, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e61dc88b80824e8fbd09cf87a6b16ee6b750d14b", + "difficulty": "HYPER", + "songID": 646, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14007, + "notecount": 764, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e6de5f3b4f331716a1d44ee945a508db8265b1c3", + "difficulty": "NORMAL", + "songID": 646, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14007, + "notecount": 608, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f58bd969b6174f6e3325e5ebb1c2f27408e51bcb", + "difficulty": "ANOTHER", + "songID": 647, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14008, + "notecount": 1319, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89d131097e693598b0d6601a8bb66edbe725e42c", + "difficulty": "HYPER", + "songID": 647, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14008, + "notecount": 1078, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "58a107484695f3a9c183fb182af53174422bfc56", + "difficulty": "NORMAL", + "songID": 647, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14008, + "notecount": 710, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f6be03e838ad3f299f30c0a00f4f92e656eeaeb", + "difficulty": "ANOTHER", + "songID": 647, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14008, + "notecount": 1127, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7eb8208d2d45d2d09be0bda8bdaa8c0c2b7c4393", + "difficulty": "HYPER", + "songID": 647, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14008, + "notecount": 1017, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "90435fc915b50eef1270e7def2df954231c31fa2", + "difficulty": "NORMAL", + "songID": 647, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14008, + "notecount": 677, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab36afcdec0fc824bc61dc03e1c5f9af5229db35", + "difficulty": "ANOTHER", + "songID": 648, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14009, + "notecount": 1297, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c418114bd7884ac052564dc46da8c588310ab994", + "difficulty": "HYPER", + "songID": 648, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14009, + "notecount": 938, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca4a8be061cb7dfcf3a0322cf28800daf420f3dc", + "difficulty": "LEGGENDARIA", + "songID": 648, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14009, + "notecount": 1633, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "299c908d6f16976d15631ac57c63616ec8fd3920", + "difficulty": "NORMAL", + "songID": 648, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14009, + "notecount": 588, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c85227b5c7efb3eff9cc1099847dc6572180e63", + "difficulty": "ANOTHER", + "songID": 648, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14009, + "notecount": 1228, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b3519ae5aa3fa58dcaaca0f671e44de2e2e8b8e6", + "difficulty": "HYPER", + "songID": 648, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14009, + "notecount": 938, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0b60c515b4b222d0684d4b956c1aa409db0baada", + "difficulty": "LEGGENDARIA", + "songID": 648, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14009, + "notecount": 1771, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "577e2447b9c9f9c8dcce3305c674847a446afeda", + "difficulty": "NORMAL", + "songID": 648, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14009, + "notecount": 591, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9b189b7e6b88804e4d2e68da5d63d0beb8e8c3a", + "difficulty": "HYPER", + "songID": 649, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14010, + "notecount": 741, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33a8b4ab56e8d007ef54ea37aceae7fc809195ed", + "difficulty": "NORMAL", + "songID": 649, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 14010, + "notecount": 324, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eddee41a47872c26560536a02beb6f9228f58fa8", + "difficulty": "ANOTHER", + "songID": 649, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14010, + "notecount": 742, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "25c2c3b947ff45795f1aeacf257a872dad8a65a5", + "difficulty": "BEGINNER", + "songID": 649, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 14010, + "notecount": 113, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28b8187f9d368a371e1425b3898688dc0ab2909c", + "difficulty": "HYPER", + "songID": 649, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14010, + "notecount": 524, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "77bff235ba9fe51959ca948f961429428021adf0", + "difficulty": "NORMAL", + "songID": 649, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 14010, + "notecount": 322, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "99b35863c30bc62adbcbf5abcd2ddd9ec9d188f3", + "difficulty": "ANOTHER", + "songID": 650, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14011, + "notecount": 1267, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0871af411dc06355fc091ca58fb58935fd7ec2e5", + "difficulty": "HYPER", + "songID": 650, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14011, + "notecount": 962, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8876307e3a2e1947723dc8466bd9a97c839d2826", + "difficulty": "NORMAL", + "songID": 650, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14011, + "notecount": 609, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6a8471d9486df92897f7054a0b0530f750a4d427", + "difficulty": "ANOTHER", + "songID": 650, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14011, + "notecount": 1099, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "86f6820c052a8ae20dd45b6045e2aa46bcf2805c", + "difficulty": "HYPER", + "songID": 650, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14011, + "notecount": 933, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50c1b244a9e4cfea5bb24a2c0420898fa0f0b825", + "difficulty": "NORMAL", + "songID": 650, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14011, + "notecount": 614, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e559e382245279e425e001bcfacb687c4d373692", + "difficulty": "ANOTHER", + "songID": 651, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14012, + "notecount": 1154, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d1fcf865ed1a6fdcb2ca708e6966b9a273eeba5", + "difficulty": "HYPER", + "songID": 651, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14012, + "notecount": 909, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30d28e19b61214415d521651fa641ade271165eb", + "difficulty": "NORMAL", + "songID": 651, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14012, + "notecount": 601, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb279a9fcb34e87b573cd5e919a6bae2767f30c9", + "difficulty": "ANOTHER", + "songID": 651, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14012, + "notecount": 1162, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6e071685bb2aa43878945fad560c68ce8db7c57d", + "difficulty": "BEGINNER", + "songID": 651, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 14012, + "notecount": 110, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5229bd7db4671fa0aecde5ba82094e431cea4422", + "difficulty": "HYPER", + "songID": 651, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14012, + "notecount": 912, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e46f437534d2e52023315d899957d426a14eea3e", + "difficulty": "LEGGENDARIA", + "songID": 651, + "playtype": "SP", + "levelNum": 0, + "level": "10", + "data": { + "inGameID": 14012, + "notecount": 1380, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb654a7fbbb748c03d8a45256812f57674cd3c9e", + "difficulty": "NORMAL", + "songID": 651, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14012, + "notecount": 596, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "206573620328565fffad36973847e5841e23032d", + "difficulty": "HYPER", + "songID": 652, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14013, + "notecount": 875, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8d904007112e0ed5ca2af33c239e0b3e28f8f05", + "difficulty": "NORMAL", + "songID": 652, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14013, + "notecount": 554, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83e104661133f925e25389d0f79360b61e78873e", + "difficulty": "ANOTHER", + "songID": 652, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14013, + "notecount": 1081, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "88a1445681b2f70f0e84c30a66737dc942a42005", + "difficulty": "BEGINNER", + "songID": 652, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 14013, + "notecount": 85, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e334011159b1fd62822ab8ac4a8b34d4fa77fce", + "difficulty": "HYPER", + "songID": 652, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14013, + "notecount": 874, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5366cd9da4e4f4c0cfbe76a5dfeb57ad4a5ca766", + "difficulty": "NORMAL", + "songID": 652, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14013, + "notecount": 554, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed76b9b0e06c366529368c1335929b4d3cf0a04b", + "difficulty": "ANOTHER", + "songID": 653, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14014, + "notecount": 1134, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc9767f1f375cce78baf2c6654c163922a5b5282", + "difficulty": "HYPER", + "songID": 653, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14014, + "notecount": 950, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dac6fe01c1444fbd5a6401838b55c6729c6adee6", + "difficulty": "NORMAL", + "songID": 653, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14014, + "notecount": 618, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8af4d9738012f78a3005df80ba9e2d38528e45e", + "difficulty": "ANOTHER", + "songID": 653, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14014, + "notecount": 1245, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + }, + "kt-HC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c32334b6f121993235082be73afb8137d0c0da19", + "difficulty": "BEGINNER", + "songID": 653, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 14014, + "notecount": 142, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a75785ab6abe034abb91427fd31266a59598281", + "difficulty": "HYPER", + "songID": 653, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14014, + "notecount": 1001, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "36f66386e4853f54f2f69ce23a9dbcfb075af22e", + "difficulty": "NORMAL", + "songID": 653, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14014, + "notecount": 679, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9f0163a987485c7eacd34e8b46d17606220c618", + "difficulty": "ANOTHER", + "songID": 654, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14015, + "notecount": 794, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8060fef4c5f7af7c5ef939a66fe360ba25659066", + "difficulty": "HYPER", + "songID": 654, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14015, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d362e2c0db11008a2f8c486068be1c2053a76da", + "difficulty": "NORMAL", + "songID": 654, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14015, + "notecount": 455, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53b065a8de039134ac7b17fa08ae69b1bcec0e1c", + "difficulty": "ANOTHER", + "songID": 654, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14015, + "notecount": 868, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b69f61c52ac7a121a11a3f7861dde9acc923d197", + "difficulty": "HYPER", + "songID": 654, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14015, + "notecount": 687, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4dd6d84933198ac174cfefa3d82c2012636aec75", + "difficulty": "NORMAL", + "songID": 654, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14015, + "notecount": 499, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7be069fa1d2a97d5044e3efd5a665a333ccbbf4c", + "difficulty": "ANOTHER", + "songID": 655, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14016, + "notecount": 1003, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad2208329c1a0db2a19700997f5379174d479463", + "difficulty": "HYPER", + "songID": 655, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14016, + "notecount": 739, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f34d591a718a6b4528927dc3bf509ff84ee866e6", + "difficulty": "NORMAL", + "songID": 655, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14016, + "notecount": 523, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "142f393201f2fe48b330937c12a95c24f47e2bc3", + "difficulty": "ANOTHER", + "songID": 655, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14016, + "notecount": 987, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32a64bcc81d6eeda471d2706fdb746b337dab52f", + "difficulty": "HYPER", + "songID": 655, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14016, + "notecount": 728, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8dca64fe2e0f196ae81e5b90dc71cd45215abfb", + "difficulty": "NORMAL", + "songID": 655, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14016, + "notecount": 470, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f27df687c14b2a548e43627b2a581a597925360", + "difficulty": "ANOTHER", + "songID": 656, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14017, + "notecount": 1117, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "503b2e6982e86661b6cad82d238c99576680deba", + "difficulty": "HYPER", + "songID": 656, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14017, + "notecount": 881, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "495c493b63d7133f462acadec50776a52872db90", + "difficulty": "NORMAL", + "songID": 656, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14017, + "notecount": 406, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "511ee9b262df133380471ff8b7ef72b6a5e55a55", + "difficulty": "ANOTHER", + "songID": 656, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14017, + "notecount": 1115, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0b6ef0b07173a76cd01e482026eaf9a004579c0", + "difficulty": "HYPER", + "songID": 656, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14017, + "notecount": 876, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ef5a45060b4f9ad6c79fe6288c349a7b996374b", + "difficulty": "NORMAL", + "songID": 656, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14017, + "notecount": 408, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b02163c6cf6e13fef1a2dc9baef95b317c06690", + "difficulty": "HYPER", + "songID": 657, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14018, + "notecount": 1084, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89df97701e8aa55d0077924fee3dca7ddea531aa", + "difficulty": "NORMAL", + "songID": 657, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14018, + "notecount": 534, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "562254dc987788e836b97325203ca30d7940b242", + "difficulty": "ANOTHER", + "songID": 657, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14018, + "notecount": 1255, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "59e0206436c9c27075e5f6af7f582fc0ac901374", + "difficulty": "HYPER", + "songID": 657, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14018, + "notecount": 982, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff3e6583f2a1ae52c3e44edb58c555bdb5019f4a", + "difficulty": "NORMAL", + "songID": 657, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14018, + "notecount": 501, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1092f0d7cc5e03284173f46785cae192f349cb0", + "difficulty": "ANOTHER", + "songID": 658, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14019, + "notecount": 1081, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9947a7a45379b63272198613b605e1b3687d1f3a", + "difficulty": "HYPER", + "songID": 658, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14019, + "notecount": 929, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "272049d4a1eb2823733e4ad8aecf276a0a32823e", + "difficulty": "NORMAL", + "songID": 658, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14019, + "notecount": 610, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9890ea3c6abb3c9655b862f88e67c52ee223d6ee", + "difficulty": "ANOTHER", + "songID": 658, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14019, + "notecount": 1200, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5b49b8de2b70283e2364418ae50af0586a4373c2", + "difficulty": "BEGINNER", + "songID": 658, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 14019, + "notecount": 234, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "18690a56881a528b31add0dd51c94bf020aa3c1c", + "difficulty": "HYPER", + "songID": 658, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14019, + "notecount": 980, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb28f907b7ea485097f6148d15f800f30f9e100f", + "difficulty": "NORMAL", + "songID": 658, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14019, + "notecount": 637, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21d732b56264a86a7f6e3f7413f56d35b33b8de3", + "difficulty": "ANOTHER", + "songID": 659, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14020, + "notecount": 1628, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f96fd340bbc8a62492a4e63c724a7fd9dd0f9ec", + "difficulty": "HYPER", + "songID": 659, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14020, + "notecount": 1145, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4ead2f96903dba1768a7d21d17e8de29165184c1", + "difficulty": "NORMAL", + "songID": 659, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14020, + "notecount": 766, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "59fd8e62e4e9f2cbd93fe66407210a3f4cf16f35", + "difficulty": "ANOTHER", + "songID": 659, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14020, + "notecount": 1464, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "cd6919562a4811e5624ffcd095350352e8974597", + "difficulty": "HYPER", + "songID": 659, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14020, + "notecount": 1107, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "444f624eee91416181fb866869a31639953fabbd", + "difficulty": "NORMAL", + "songID": 659, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14020, + "notecount": 744, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "67957ccb0f4e5d14f926e960493c76fe17c9b6ad", + "difficulty": "ANOTHER", + "songID": 660, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14021, + "notecount": 1721, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3dff1fdb3d0830398eb4931b79983021d42321be", + "difficulty": "HYPER", + "songID": 660, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14021, + "notecount": 1254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8834715a0fcc4e51435026650ead0e1dd22799f2", + "difficulty": "NORMAL", + "songID": 660, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14021, + "notecount": 696, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b194fc0048a7cb752ff407f3b067eb76f74566ed", + "difficulty": "ANOTHER", + "songID": 660, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14021, + "notecount": 1644, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "701c54327772add3ef3eb67aad503d272d55817d", + "difficulty": "HYPER", + "songID": 660, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14021, + "notecount": 1250, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a52fc2e49c3e55eeba6536920874df711514bd28", + "difficulty": "NORMAL", + "songID": 660, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14021, + "notecount": 732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "70ba0319159b4dd9eb97d6000d5e950509a74945", + "difficulty": "ANOTHER", + "songID": 661, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14022, + "notecount": 1396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "abc79966d4f98b4debba73026457b19ad4ad6e51", + "difficulty": "HYPER", + "songID": 661, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14022, + "notecount": 1056, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d81eab99136cdc2a037bc6be30f677d49e90e725", + "difficulty": "LEGGENDARIA", + "songID": 661, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14022, + "notecount": 1855, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e22d251a95b97d475b58219740699a479e2c6c8b", + "difficulty": "NORMAL", + "songID": 661, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14022, + "notecount": 813, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3052e3b20ccb4625df8fda270233e18d133695a7", + "difficulty": "ANOTHER", + "songID": 661, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14022, + "notecount": 1328, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ef9d8239db0bff750ae9898051fa13cba2d01fa", + "difficulty": "HYPER", + "songID": 661, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14022, + "notecount": 1012, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f8a75ac5435a7c1b8c6c002e06379566537711b", + "difficulty": "LEGGENDARIA", + "songID": 661, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14022, + "notecount": 1744, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": true + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.60", + "value": 12.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e4f16118edef65c3111c7094e9fc252bda0a44f4", + "difficulty": "NORMAL", + "songID": 661, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14022, + "notecount": 423, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "535bc6fde792d575a615973b57d42ceb24e9210b", + "difficulty": "ANOTHER", + "songID": 662, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14023, + "notecount": 1047, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ec96e47550013eb46926478d975a806e55c86b8", + "difficulty": "HYPER", + "songID": 662, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14023, + "notecount": 857, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb8dbd6e05635ae40f6415ab24f8d1e7d5dfb78a", + "difficulty": "NORMAL", + "songID": 662, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14023, + "notecount": 575, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "751e03fdb173415dea50f56694e999ee86b9a28b", + "difficulty": "ANOTHER", + "songID": 662, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14023, + "notecount": 1097, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4787e56fbb3bce3dff45a472b3f98d6d3b9ecf7a", + "difficulty": "HYPER", + "songID": 662, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14023, + "notecount": 883, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "08c45a60e1d52e2bc33f0f93f922081aa639257d", + "difficulty": "NORMAL", + "songID": 662, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14023, + "notecount": 574, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eda96e5c65765515397eabae91a4425dcb88883b", + "difficulty": "HYPER", + "songID": 663, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14024, + "notecount": 742, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e52217d4bf596ee69211fc13bee921efed8fc34", + "difficulty": "NORMAL", + "songID": 663, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14024, + "notecount": 387, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55b2ed7ee827d29fc8584e43bd0e0903521dcfd8", + "difficulty": "ANOTHER", + "songID": 663, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14024, + "notecount": 953, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bbf35dfc286d4261426f94b11676703c2be3a33e", + "difficulty": "HYPER", + "songID": 663, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14024, + "notecount": 742, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "125aaeff4b0f3a149b26b02a5930de4b83631f92", + "difficulty": "NORMAL", + "songID": 663, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14024, + "notecount": 387, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "91464ba8d65b9ba210a89cb335c93e257eba16fd", + "difficulty": "ANOTHER", + "songID": 664, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14025, + "notecount": 996, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c42b7ab58a3160dc7328e38e63e50cc3c8bd0eff", + "difficulty": "HYPER", + "songID": 664, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14025, + "notecount": 748, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "539ab763ccf87a1fa1e06d95df9483c645dc40d1", + "difficulty": "NORMAL", + "songID": 664, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14025, + "notecount": 584, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30c1bdcb5fb940add9014760c46641ab58990b8b", + "difficulty": "ANOTHER", + "songID": 664, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14025, + "notecount": 1037, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0db6329988807afdfdf1524797fefdc7c23f0d5a", + "difficulty": "HYPER", + "songID": 664, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14025, + "notecount": 792, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "76fa827ed501cbddd56b9fe3c71b7988a53f042c", + "difficulty": "NORMAL", + "songID": 664, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14025, + "notecount": 599, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b64ee9401ffb52c15267c4109550c894d9299033", + "difficulty": "HYPER", + "songID": 665, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14026, + "notecount": 731, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f5759185277d74358681225736f63857b1582cc7", + "difficulty": "NORMAL", + "songID": 665, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14026, + "notecount": 497, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "46fba5310cfd5296a8526e3a65518ced114fee31", + "difficulty": "ANOTHER", + "songID": 665, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14026, + "notecount": 1139, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d19341212d14788b0d5a07b76619758448b1ae35", + "difficulty": "HYPER", + "songID": 665, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14026, + "notecount": 727, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eca9bb776cc8a68782f770067f2b3abb2bef281a", + "difficulty": "NORMAL", + "songID": 665, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14026, + "notecount": 476, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c2e55c89608a84059a7089ce48580d090f2852a9", + "difficulty": "ANOTHER", + "songID": 666, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14027, + "notecount": 1018, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a612151511dd43811d0a0157ae4ef431cdfd444", + "difficulty": "HYPER", + "songID": 666, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14027, + "notecount": 660, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "310f36d696a6023eb4ebf9d8a40c0e267c9966e6", + "difficulty": "NORMAL", + "songID": 666, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14027, + "notecount": 393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e7fa54e5d5f5ca195cda011f70d918eb1f2b0e79", + "difficulty": "ANOTHER", + "songID": 666, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14027, + "notecount": 1048, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3da1ab733f1b491419f62e0cc320bdef28a9d4bf", + "difficulty": "HYPER", + "songID": 666, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14027, + "notecount": 675, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6de326ab944c0219b844cda7f92411ec32035848", + "difficulty": "NORMAL", + "songID": 666, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14027, + "notecount": 394, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4d6e7bed6e6842c62af63ee540a67cfbf365f512", + "difficulty": "ANOTHER", + "songID": 667, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14028, + "notecount": 838, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6bcbeabc5854b963302e0c95bb69140d94e6447c", + "difficulty": "HYPER", + "songID": 667, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14028, + "notecount": 615, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "955cb3b111127a39b059ecd1211ff62a71d514a1", + "difficulty": "NORMAL", + "songID": 667, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14028, + "notecount": 493, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1411d26b991869ae4c5663389a3f054d759a6e90", + "difficulty": "ANOTHER", + "songID": 667, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14028, + "notecount": 719, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1997fa7337fbc5f2d8930f05af69a256d740501", + "difficulty": "HYPER", + "songID": 667, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14028, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "be1169c8058a5d0cd9b56959c126f909f7e15a01", + "difficulty": "NORMAL", + "songID": 667, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14028, + "notecount": 367, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a25e10928a1f06a4da7811596e5011a6027b278", + "difficulty": "ANOTHER", + "songID": 668, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14029, + "notecount": 1732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1dea3e1f2b2a2858dafa0c936879e2fbe56063b6", + "difficulty": "HYPER", + "songID": 668, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14029, + "notecount": 1207, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e66daf7f0f6fec6a21c9ef82066fc5cf9b993c6d", + "difficulty": "NORMAL", + "songID": 668, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14029, + "notecount": 775, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9c78bd24c6f41874821d2bafc3384de9aef3817", + "difficulty": "ANOTHER", + "songID": 668, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14029, + "notecount": 1725, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "009aa903a4b9fac40138deb8c5162280a747ae66", + "difficulty": "BEGINNER", + "songID": 668, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 14029, + "notecount": 335, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93d267e788de6f714123125fb9f7ed6ddbf175cb", + "difficulty": "HYPER", + "songID": 668, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14029, + "notecount": 1255, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "466d695dd7ca943b4ba622c4eb2d1b1c8eb83b0a", + "difficulty": "NORMAL", + "songID": 668, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14029, + "notecount": 785, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43b6136fb8a9d145d436b169a30c6c86f8864034", + "difficulty": "ANOTHER", + "songID": 669, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14030, + "notecount": 1162, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e484c3523d2968f05870e75e502573d220cc469", + "difficulty": "HYPER", + "songID": 669, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14030, + "notecount": 962, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83d6499224ddd08258edb8ce352e38bbc0f0609c", + "difficulty": "NORMAL", + "songID": 669, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14030, + "notecount": 616, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a542606390e71b6da5e8930d7b9a8d27d4045f3", + "difficulty": "ANOTHER", + "songID": 669, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14030, + "notecount": 1405, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5b4bf383e44746468c21bf800eac0ef13e72d2f4", + "difficulty": "BEGINNER", + "songID": 669, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 14030, + "notecount": 287, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9c554b7b62e613ec96fd4fb7fbda5de5c0dfd7f0", + "difficulty": "HYPER", + "songID": 669, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14030, + "notecount": 927, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24e50dd18534b1a0961698970ae9461cc1404773", + "difficulty": "NORMAL", + "songID": 669, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14030, + "notecount": 616, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a0cc552bed47d34c5e138b53d39d02a4d61f0df", + "difficulty": "ANOTHER", + "songID": 670, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14031, + "notecount": 1394, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e747bf3c080cb6c4b1b590b8d941926486ea88f", + "difficulty": "HYPER", + "songID": 670, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14031, + "notecount": 1090, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "99bb2879aa1669b91e5b485f89682204274db282", + "difficulty": "NORMAL", + "songID": 670, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14031, + "notecount": 616, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6531541ed92ca7a2a4cd9ba0f388fd8b8b87db00", + "difficulty": "ANOTHER", + "songID": 670, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14031, + "notecount": 1480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0ca3a8814d3803383fe7ab6ed3cca1498e986399", + "difficulty": "HYPER", + "songID": 670, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14031, + "notecount": 1084, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f412372430a6b28f98ea64524fc2328f522d8e4", + "difficulty": "NORMAL", + "songID": 670, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14031, + "notecount": 618, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "36dae45076a29b504d300339a00dca4ea8283e7e", + "difficulty": "ANOTHER", + "songID": 671, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14032, + "notecount": 904, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f2b12ed4443ca92217b3c7b72c64600fd7ed0f7", + "difficulty": "HYPER", + "songID": 671, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14032, + "notecount": 720, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "14a34fef8c9c5436b394b466e729c9bcfeb29c75", + "difficulty": "NORMAL", + "songID": 671, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14032, + "notecount": 488, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cada74e69352fa4b946f6531a193062fef316afa", + "difficulty": "ANOTHER", + "songID": 671, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14032, + "notecount": 922, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5449cbe5beca8fa90724cb5e159c72193a29a3fe", + "difficulty": "HYPER", + "songID": 671, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14032, + "notecount": 622, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68264f021eb31824004aa4f15c2f15afeeb651de", + "difficulty": "NORMAL", + "songID": 671, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14032, + "notecount": 489, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8cd6eba7e646156fb98515e736f2e69380ce5f29", + "difficulty": "ANOTHER", + "songID": 672, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14033, + "notecount": 1069, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b9b8a7532647a27b7d6184ebbd0f3d8f899eca3", + "difficulty": "HYPER", + "songID": 672, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14033, + "notecount": 704, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c0fb59e6db891775c46f4be30828d3fecdc0bab", + "difficulty": "NORMAL", + "songID": 672, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14033, + "notecount": 500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1cf30b9f47175c0e2fff7d8df662f1000e065a52", + "difficulty": "ANOTHER", + "songID": 672, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14033, + "notecount": 1069, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "8c8917854d96a23a40b844beca846f7211c26be6", + "difficulty": "BEGINNER", + "songID": 672, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 14033, + "notecount": 112, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d7864481c8c085d94fd136a76855281ddaa884f", + "difficulty": "HYPER", + "songID": 672, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14033, + "notecount": 787, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9487e5fa8e49778624aedda729fe4309790511fe", + "difficulty": "NORMAL", + "songID": 672, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14033, + "notecount": 500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4893e43c3fd3e14dd32cd8bbff035f85445c3789", + "difficulty": "ANOTHER", + "songID": 673, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14034, + "notecount": 1058, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a525c3c6ca11d41ab02eab5fedee4b2187467ed", + "difficulty": "HYPER", + "songID": 673, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14034, + "notecount": 795, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b0db2a7cb7cf15fe537822b8a299636127956d6", + "difficulty": "NORMAL", + "songID": 673, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14034, + "notecount": 609, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "67176f5da6d5ebeb36d89648b64df5210c04a1cb", + "difficulty": "ANOTHER", + "songID": 673, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14034, + "notecount": 1073, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd031b85d037846bfabfca4101be5e10ae43c0a9", + "difficulty": "HYPER", + "songID": 673, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14034, + "notecount": 805, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "23a4883c4c3c3d225a94e928d387fdf1e1537e84", + "difficulty": "NORMAL", + "songID": 673, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14034, + "notecount": 611, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8730fb746ec7f1d5620232e8d691416d7da82388", + "difficulty": "ANOTHER", + "songID": 674, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14035, + "notecount": 1474, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "38e4c365bddfd1d8025cf1a65a0458425f81bba8", + "difficulty": "HYPER", + "songID": 674, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14035, + "notecount": 1179, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad9dea8bcb9b7b29d515ea8ea442ce1a3a607be1", + "difficulty": "NORMAL", + "songID": 674, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14035, + "notecount": 792, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cfca8c7ff43ada6eb44d68c8cab029b45226a028", + "difficulty": "ANOTHER", + "songID": 674, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14035, + "notecount": 1517, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": true + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a4f36ebd13ca62b707cdf8c4ec2a5452a290d306", + "difficulty": "HYPER", + "songID": 674, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14035, + "notecount": 1179, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e7dc76d45e6b05e7aa9b705aaae16ac7fc02e309", + "difficulty": "NORMAL", + "songID": 674, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14035, + "notecount": 788, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "2e06a73ecca3e3ecca3deb6f67c6fd7ca49703a7", + "difficulty": "ANOTHER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 675, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 14036, + "arcChartID": null, + "notecount": 904, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "bc87b742d74fc44f00af10faf4efd89a3a87524d", + "difficulty": "HYPER", + "songID": 675, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14036, + "notecount": 635, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e10ce060e93e6f7675b54fae9186fa8fc1c695a9", + "difficulty": "NORMAL", + "songID": 675, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14036, + "notecount": 311, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8fef7bc0fc7cd351b1942106509333cab0b4b207", + "difficulty": "ANOTHER", + "songID": 675, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14036, + "notecount": 854, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d05cfc8509fe5e3cbe920719c2b370568b25cbc", + "difficulty": "HYPER", + "songID": 675, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14036, + "notecount": 612, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45972bf0c85ca8e2cba6559175128b8be633487d", + "difficulty": "NORMAL", + "songID": 675, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14036, + "notecount": 307, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e0c4be26ad1acd6c90740c23f8de290b1bd3ebc", + "difficulty": "ANOTHER", + "songID": 676, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14037, + "notecount": 1115, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52e1c8d09ca4c20ebcd4f18d56095dcdad529214", + "difficulty": "HYPER", + "songID": 676, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14037, + "notecount": 836, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3063fbaf8333d4a47e200bc8e775d37ca07b7130", + "difficulty": "NORMAL", + "songID": 676, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14037, + "notecount": 451, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "62da00fbfb75c282634f3a1f25d86ba7c5efd28c", + "difficulty": "ANOTHER", + "songID": 676, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14037, + "notecount": 1086, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9275e60a5bd881d9deeab7f832526d0d85d340a6", + "difficulty": "HYPER", + "songID": 676, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14037, + "notecount": 836, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "14f8085e8a6466fb17de3b7f8e8523301345c2fd", + "difficulty": "NORMAL", + "songID": 676, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14037, + "notecount": 451, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51bdec72ab53097f859357a1994813dfa7d4d943", + "difficulty": "ANOTHER", + "songID": 677, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14038, + "notecount": 921, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7091583f273a01e1ce3b32f9222ec3c1a7712750", + "difficulty": "HYPER", + "songID": 677, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14038, + "notecount": 706, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f90bc3a897afdb44022320cb310e404814c8f24", + "difficulty": "NORMAL", + "songID": 677, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14038, + "notecount": 419, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "446f843f1fd0b211816df182e0f84e4522865022", + "difficulty": "ANOTHER", + "songID": 677, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14038, + "notecount": 928, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e73a369bbc639f8bfca9b00ec167c772300fcae2", + "difficulty": "BEGINNER", + "songID": 677, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 14038, + "notecount": 204, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "47162d5e76609b54bc12ebd07392e98decb82231", + "difficulty": "HYPER", + "songID": 677, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14038, + "notecount": 711, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "863101e53fcc13e6a75ed5ecd8193e594514ce8e", + "difficulty": "NORMAL", + "songID": 677, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14038, + "notecount": 418, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f223f8fd9869684434a224874188a5272ad512d", + "difficulty": "ANOTHER", + "songID": 678, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14039, + "notecount": 786, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f622ff96e0001b883385f07aee01284a98f9a913", + "difficulty": "HYPER", + "songID": 678, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14039, + "notecount": 616, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "91bc2ce4d5e9a7f78517f6a495d1aecb94928bd6", + "difficulty": "NORMAL", + "songID": 678, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14039, + "notecount": 362, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "471a17850859322f675f0f03f67dd817ac4865dc", + "difficulty": "ANOTHER", + "songID": 678, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14039, + "notecount": 788, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3fb05d8b7e68c340f0257c1c405e8a9c75d03119", + "difficulty": "BEGINNER", + "songID": 678, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 14039, + "notecount": 79, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8302931f41aa4cc78e25d2640e475a7e392e0081", + "difficulty": "HYPER", + "songID": 678, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14039, + "notecount": 597, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "875dcd705b9bf86c4742ebd88221a55f1e493a3d", + "difficulty": "NORMAL", + "songID": 678, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14039, + "notecount": 366, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d6edd76dae9159453df269e1fe84eba62c1b5bd6", + "difficulty": "ANOTHER", + "songID": 679, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14040, + "notecount": 1075, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "66759d2fab4101ebc36e3c1e4108184b856bb6bb", + "difficulty": "HYPER", + "songID": 679, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14040, + "notecount": 753, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d58f4b0109cb3f3f8f16663aa7a87796e60e4f71", + "difficulty": "NORMAL", + "songID": 679, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14040, + "notecount": 459, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3576d41478ed334557822b0f448c5d543eae3871", + "difficulty": "ANOTHER", + "songID": 679, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14040, + "notecount": 1073, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10214378fee5f102c0718880cfcb64f7b8ed0a60", + "difficulty": "HYPER", + "songID": 679, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14040, + "notecount": 741, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4afab04fe5792db1702aef40d658a0ad8cd5a18", + "difficulty": "NORMAL", + "songID": 679, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14040, + "notecount": 458, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "470a5c80686992e9b1cd1cca2b8216e210b2783d", + "difficulty": "ANOTHER", + "songID": 680, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14041, + "notecount": 859, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "975d760be3011a2c9a773830c9ec2c119184ecb1", + "difficulty": "HYPER", + "songID": 680, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14041, + "notecount": 675, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b5beee10b47fdece78747f67499f01d7ffd47a3c", + "difficulty": "NORMAL", + "songID": 680, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14041, + "notecount": 388, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a612912f63c8ca892e07919960302f84e500a71b", + "difficulty": "ANOTHER", + "songID": 680, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14041, + "notecount": 860, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ee7fb7c4de2af75da264373b9378ced0eaaeab3", + "difficulty": "HYPER", + "songID": 680, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14041, + "notecount": 676, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41b5e366763680aacbbf66338cce4d84291b6c9c", + "difficulty": "NORMAL", + "songID": 680, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14041, + "notecount": 388, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8873430f1b88c6b9da21bfb04b9cf038454b0d57", + "difficulty": "ANOTHER", + "songID": 681, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14042, + "notecount": 1017, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c593e9be204569cb877f016991b898f7fb799de1", + "difficulty": "HYPER", + "songID": 681, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14042, + "notecount": 602, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9c5e4f2c08a87fccbbe7f4ee4f2b841a871cd1d0", + "difficulty": "NORMAL", + "songID": 681, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14042, + "notecount": 533, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cacd55168ab15d856ac8b5ba0b3ba2dc536dd0b6", + "difficulty": "ANOTHER", + "songID": 681, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14042, + "notecount": 1006, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "730b3c20d74b6983d14074e4a27887e1f2487d8f", + "difficulty": "HYPER", + "songID": 681, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14042, + "notecount": 676, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df555bde76af7b709440554ffd36cce4e9fa8122", + "difficulty": "NORMAL", + "songID": 681, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14042, + "notecount": 519, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4aac4d12e2553d98946e08cb29fe3afa6ad4e59c", + "difficulty": "ANOTHER", + "songID": 682, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14043, + "notecount": 1059, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6622381383d41abe4b713c29f6453b1c98817d33", + "difficulty": "HYPER", + "songID": 682, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14043, + "notecount": 793, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd9f0d77241bf79f03cbfa39bfdb61f3a1c3051b", + "difficulty": "NORMAL", + "songID": 682, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14043, + "notecount": 464, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "adc3a585a09e0f0b1f02ef0cd55e9b8f7caac665", + "difficulty": "ANOTHER", + "songID": 682, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14043, + "notecount": 1063, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35d25afe65509c4ab0eefa4443525479935a6f4d", + "difficulty": "HYPER", + "songID": 682, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14043, + "notecount": 811, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "38933c005933fd1f4afd423960acf856cd115d02", + "difficulty": "NORMAL", + "songID": 682, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14043, + "notecount": 449, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "95df6cd715617d99024a214fef84170c8735b7a4", + "difficulty": "ANOTHER", + "songID": 683, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14044, + "notecount": 858, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa56a8f160ae93647459b334f41e2ea70c4c51a1", + "difficulty": "HYPER", + "songID": 683, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14044, + "notecount": 714, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "430ffd9b2ddcd8d7d6052434f424a62002dcf055", + "difficulty": "NORMAL", + "songID": 683, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14044, + "notecount": 334, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "164df2070eeee79013079b92d17924dcb5b975ab", + "difficulty": "ANOTHER", + "songID": 683, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14044, + "notecount": 836, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a6fcae73dab28fa1b167e7bed5db9fecf0338283", + "difficulty": "HYPER", + "songID": 683, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14044, + "notecount": 699, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bdf2b263cb2ec14640d789e54f282f4e87783bb2", + "difficulty": "NORMAL", + "songID": 683, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14044, + "notecount": 319, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e8e12859be1f5f10107c519388c4d7f0261dabbe", + "difficulty": "HYPER", + "songID": 684, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14045, + "notecount": 629, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d8f564dbb23418f3489486fd123bf777b0f1c96b", + "difficulty": "NORMAL", + "songID": 684, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14045, + "notecount": 325, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0107efceed9e5fef3a9c18605b4b4153d2d429c3", + "difficulty": "ANOTHER", + "songID": 684, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14045, + "notecount": 981, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1563a1238be8944a49e7c6d2da537093f5b1cf7", + "difficulty": "HYPER", + "songID": 684, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14045, + "notecount": 629, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3fc04b7d9070b0f3d3a28afca3487840fb93480", + "difficulty": "NORMAL", + "songID": 684, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 14045, + "notecount": 323, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d6fa4e83d2b281b808d710b1d1c09ec72178779", + "difficulty": "ANOTHER", + "songID": 685, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14046, + "notecount": 1662, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e75bef45c9d78ea499d6f30aec36fcc4a585bdd", + "difficulty": "HYPER", + "songID": 685, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14046, + "notecount": 1335, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "36b5d8ebd24b0e872fdf3ba2277b71abe94f8e30", + "difficulty": "LEGGENDARIA", + "songID": 685, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14046, + "notecount": 2000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "293f537a92b0dd636efff2d7fe8e6cd3ab57879f", + "difficulty": "NORMAL", + "songID": 685, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14046, + "notecount": 1005, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff572415766da4d1cd3374ea92e2abffda0b88ef", + "difficulty": "ANOTHER", + "songID": 685, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14046, + "notecount": 1368, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "83a7f3232f63b047c512396ef76b742f882d8b26", + "difficulty": "HYPER", + "songID": 685, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14046, + "notecount": 1039, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a19082dc0aa2089b79926566019abc4c76028d89", + "difficulty": "LEGGENDARIA", + "songID": 685, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14046, + "notecount": 2000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S+", + "value": 13.1, + "individualDifference": false + }, + "kt-HC": { + "text": "12S+", + "value": 13.2, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.50", + "value": 13.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f033556323fd5af8b519aa1042462fe320ed1281", + "difficulty": "NORMAL", + "songID": 685, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14046, + "notecount": 647, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd38e398c3235e29c5b1b44f5420c523743a4e24", + "difficulty": "HYPER", + "songID": 686, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14047, + "notecount": 736, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32239251858147967fe6909234133a2767f444a8", + "difficulty": "NORMAL", + "songID": 686, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14047, + "notecount": 451, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "829a112854ccb245f1d94a700cfbfc266c6104f9", + "difficulty": "ANOTHER", + "songID": 686, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14047, + "notecount": 832, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "006c4b6b1e1897c204b8c51828f5937e19312997", + "difficulty": "HYPER", + "songID": 686, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14047, + "notecount": 735, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d4cd05525a911a8fdf75fb1eb0b163a65add67a", + "difficulty": "NORMAL", + "songID": 686, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14047, + "notecount": 451, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b31971652d240d23fa3b75ac6519db12aaaf92b", + "difficulty": "ANOTHER", + "songID": 687, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14048, + "notecount": 920, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "00d2b1a7d564f18af534119016b030e49c2d4a65", + "difficulty": "HYPER", + "songID": 687, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14048, + "notecount": 721, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54bb66510e836eda30c024b1e68b4c4490402217", + "difficulty": "NORMAL", + "songID": 687, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14048, + "notecount": 574, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89429494b636eaaa6a87bd5194f4c044dac13a60", + "difficulty": "ANOTHER", + "songID": 687, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14048, + "notecount": 957, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a7e18136ae1eb03430fd1a39502ef52991ed4a5", + "difficulty": "HYPER", + "songID": 687, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14048, + "notecount": 716, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a7981a9f64d2d67c28d806e10af9c369786aa13d", + "difficulty": "NORMAL", + "songID": 687, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14048, + "notecount": 590, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87a17abe9b501a4507cd6f2697aff57e8c7c136d", + "difficulty": "ANOTHER", + "songID": 688, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14049, + "notecount": 1110, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef732308bf2cfe4f8d5d0618895b41b4556b3a9b", + "difficulty": "HYPER", + "songID": 688, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14049, + "notecount": 822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4fac9377b77aed732c05a32de6bfbdb0e41514ec", + "difficulty": "NORMAL", + "songID": 688, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14049, + "notecount": 422, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9927803c5447f56264ae604a00a38eea9af2f74", + "difficulty": "ANOTHER", + "songID": 688, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14049, + "notecount": 897, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f4af6d0da9cc5f21b8dcb447bc79dcaec0d82965", + "difficulty": "BEGINNER", + "songID": 688, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 14049, + "notecount": 214, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e79e3909557b04e21e4c0cf9b1bb5a14814626f", + "difficulty": "HYPER", + "songID": 688, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14049, + "notecount": 663, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "039936acac3dd84ddb2e3894e31b949193978d36", + "difficulty": "NORMAL", + "songID": 688, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14049, + "notecount": 435, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21de6163a199440f0e05661fbf8ece2a65221291", + "difficulty": "ANOTHER", + "songID": 689, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14050, + "notecount": 1123, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4ae01cd568bc91e93bab9ecabb88e2de546a6078", + "difficulty": "HYPER", + "songID": 689, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14050, + "notecount": 771, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff22b18811350ed9103566e0b5b44b80efe6572a", + "difficulty": "NORMAL", + "songID": 689, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14050, + "notecount": 439, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3883f2d3c8ca596c7950ba6873984609ca3ae595", + "difficulty": "ANOTHER", + "songID": 689, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14050, + "notecount": 1106, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "06acbead44e406c41e8827186850950096ffe6e5", + "difficulty": "BEGINNER", + "songID": 689, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 14050, + "notecount": 204, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "096593777626b49f4a05dc458238f37829da9c8d", + "difficulty": "HYPER", + "songID": 689, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14050, + "notecount": 788, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fbc968be5d2d28bdcb3c6a79ea3b08219f545286", + "difficulty": "NORMAL", + "songID": 689, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14050, + "notecount": 438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9150bcceea6047ff39a45bd22c61f99ff61c2c7", + "difficulty": "ANOTHER", + "songID": 690, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14051, + "notecount": 904, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50cb5902a9c48b6dba3d672703483a009afe932a", + "difficulty": "HYPER", + "songID": 690, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14051, + "notecount": 697, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28bdc07fd54cf4199eda0d0f2e4cbc52aade62bb", + "difficulty": "NORMAL", + "songID": 690, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14051, + "notecount": 523, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "616cd8fb9f1a646513b0bc9ecb2522cdefb44b40", + "difficulty": "ANOTHER", + "songID": 690, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14051, + "notecount": 815, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e6b480eba3d7aaca43f05fcc243cae558f846b72", + "difficulty": "BEGINNER", + "songID": 690, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 14051, + "notecount": 170, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3dfea4490c48c18cbdc50edd0f9c03e7a788448b", + "difficulty": "HYPER", + "songID": 690, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14051, + "notecount": 658, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "573c2e85d7a89c969240d944cab785a02f9fcf11", + "difficulty": "NORMAL", + "songID": 690, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14051, + "notecount": 472, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0eb61e7b1f378acbd6dd7c1d2cbcdd73048c7cd8", + "difficulty": "ANOTHER", + "songID": 691, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14052, + "notecount": 1167, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "64bfe2ff0dc19f25e3f31a0e83dbd36bab0091bc", + "difficulty": "HYPER", + "songID": 691, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14052, + "notecount": 825, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f44e52e43ed6046906ca52b84942205a5940152e", + "difficulty": "NORMAL", + "songID": 691, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14052, + "notecount": 475, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c8d007ad1385eb04941ffc112b8879161587ceb", + "difficulty": "ANOTHER", + "songID": 691, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14052, + "notecount": 1313, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": true + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": true + }, + "kt-EXHC": { + "text": "12.40", + "value": 12.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "fb380412cf2345027429728e07319770bbdf42ee", + "difficulty": "HYPER", + "songID": 691, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14052, + "notecount": 876, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11, + "individualDifference": true + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "80c8e3e4d3ee318082f6528fa69b6f39078e0b9f", + "difficulty": "NORMAL", + "songID": 691, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14052, + "notecount": 508, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89b323ef4d165e79c67bc62e13066d2be38b20b0", + "difficulty": "ANOTHER", + "songID": 692, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14053, + "notecount": 1750, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "71a2281b5de37628bd7b141308bdfc8a7cd10caf", + "difficulty": "HYPER", + "songID": 692, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14053, + "notecount": 1173, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe553be04ce73e4af191e41e1906e967cf1fe50b", + "difficulty": "NORMAL", + "songID": 692, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14053, + "notecount": 407, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db26230f655900ac453147726cf413435d932f6c", + "difficulty": "ANOTHER", + "songID": 692, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14053, + "notecount": 1409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "91076b64d7aae8f053a9cc1b6849fbefcde68717", + "difficulty": "BEGINNER", + "songID": 692, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 14053, + "notecount": 118, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2aed8af59ee7534b215b774985c70d8fd27529da", + "difficulty": "HYPER", + "songID": 692, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14053, + "notecount": 1173, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4771e0a786f920a026227248e7baa5a4664e37b9", + "difficulty": "LEGGENDARIA", + "songID": 692, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14053, + "notecount": 1709, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12F", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12F", + "value": 11.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.50", + "value": 12.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4d06ac9954daf9a030899395670ed2b3478c4147", + "difficulty": "NORMAL", + "songID": 692, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14053, + "notecount": 403, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d8aaec25bcc7a0963e8f20db40e55dbfb3ea651b", + "difficulty": "ANOTHER", + "songID": 693, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14054, + "notecount": 1085, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80c392a9047a521f4ca2864f5e87de9a5a3a0b20", + "difficulty": "HYPER", + "songID": 693, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14054, + "notecount": 690, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c6659f017f439c93c01f715cbacd522cbba673e9", + "difficulty": "NORMAL", + "songID": 693, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14054, + "notecount": 405, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7d8671cf23d5df661651dc5d60900effe780bda4", + "difficulty": "ANOTHER", + "songID": 693, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14054, + "notecount": 1036, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8536c1167ee235c1c9c07740af55ef45348bc0fb", + "difficulty": "BEGINNER", + "songID": 693, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 14054, + "notecount": 101, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5732534a93618eb830fa97e0d8f6e0733a306d03", + "difficulty": "HYPER", + "songID": 693, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14054, + "notecount": 723, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45041300428c2c409db4a719d17cc5ebb889aa64", + "difficulty": "NORMAL", + "songID": 693, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14054, + "notecount": 404, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8bf2ba1e0d225d7c98feb79df2c980be48c229cb", + "difficulty": "HYPER", + "songID": 694, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14055, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9fce917cb6e75ba7d5231e9bf1eb1c54158d2d28", + "difficulty": "NORMAL", + "songID": 694, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14055, + "notecount": 386, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ddd2bb01b04c3714cae347af6a3edf0c6c7ed864", + "difficulty": "ANOTHER", + "songID": 694, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14055, + "notecount": 867, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "275e441a1589572ce76067e7db8a51755d6133b3", + "difficulty": "BEGINNER", + "songID": 694, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 14055, + "notecount": 70, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b840ce9a823318397a8a556a1e13e172a09552f", + "difficulty": "HYPER", + "songID": 694, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14055, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "769ab18863bf466e0e3a4748909b6c340b92a089", + "difficulty": "NORMAL", + "songID": 694, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14055, + "notecount": 386, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3af797f4f622eca7d27d3698eb95b24cf83f50b8", + "difficulty": "ANOTHER", + "songID": 695, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14056, + "notecount": 1182, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22841f455b3810e0d7b746bb39e93f51bf1af5b3", + "difficulty": "HYPER", + "songID": 695, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14056, + "notecount": 816, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a8037d886d45c80b524a98b18ec078c4cc97bec", + "difficulty": "NORMAL", + "songID": 695, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14056, + "notecount": 538, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "297a193271286c07b39f4478836dcce642885136", + "difficulty": "ANOTHER", + "songID": 695, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14056, + "notecount": 1144, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d13ce9d0b458d2d77ee92957a68df649a4ee723a", + "difficulty": "BEGINNER", + "songID": 695, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 14056, + "notecount": 216, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1be3cb452dd6e05fbec4dd411a7fd0b5fb421888", + "difficulty": "HYPER", + "songID": 695, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14056, + "notecount": 766, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd5550fc77d26be585bcf4be1226c932643dc628", + "difficulty": "NORMAL", + "songID": 695, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14056, + "notecount": 500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "863e6b0cf4932321ff429d457c000951e523d3ff", + "difficulty": "HYPER", + "songID": 696, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14057, + "notecount": 1082, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c7e2487150ce2c1921f86781b12b5f4e14eb3886", + "difficulty": "NORMAL", + "songID": 696, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14057, + "notecount": 552, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "101ae5a23a8e95510cb6f6a3b1f6bdaacf7ae3db", + "difficulty": "ANOTHER", + "songID": 696, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14057, + "notecount": 1114, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29f7e78c0b9062cb8b12b327253a6dd0358612e1", + "difficulty": "BEGINNER", + "songID": 696, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 14057, + "notecount": 110, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "38a054abe3b0f769e67feb934e5faaa9660c8653", + "difficulty": "HYPER", + "songID": 696, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14057, + "notecount": 734, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9a470cc7f3f5e9a7daa5e44c2d3a4006ec6e1c7", + "difficulty": "NORMAL", + "songID": 696, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14057, + "notecount": 415, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5edd18a062ed7897904a9a897398b5df76d23bd8", + "difficulty": "HYPER", + "songID": 697, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14058, + "notecount": 544, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dfc8833cb8a78c18eeced36433f373ad037e5094", + "difficulty": "NORMAL", + "songID": 697, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14058, + "notecount": 377, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "450358e9097feb5dcf7ae68d13abfca0d67655f8", + "difficulty": "ANOTHER", + "songID": 697, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14058, + "notecount": 837, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "899e0bdb3f8ceeac126b349fb37fad7c19a50c61", + "difficulty": "HYPER", + "songID": 697, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14058, + "notecount": 544, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3eed835ff023f17d3c49751aa882ecd7b02a8819", + "difficulty": "NORMAL", + "songID": 697, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14058, + "notecount": 377, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ec30ae05ee7e1ed25c51ba6f7b4919416c46320", + "difficulty": "ANOTHER", + "songID": 700, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 14201, + "notecount": 1039, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "329e438fc6726b6210f3e9eae08b9ef57c896124", + "difficulty": "HYPER", + "songID": 700, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14201, + "notecount": 777, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1aa26c78b8de9042ebcb30ab12b0b20c8f0d7e89", + "difficulty": "NORMAL", + "songID": 700, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14201, + "notecount": 651, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "efac0babddc741306e818c388f306426027491d7", + "difficulty": "ANOTHER", + "songID": 700, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14201, + "notecount": 860, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d7133199b932e4d572d017a25a8a8cd2644ffd9e", + "difficulty": "HYPER", + "songID": 700, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14201, + "notecount": 675, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f5219ae68dab2d865a480065e87fe2d84d618f96", + "difficulty": "NORMAL", + "songID": 700, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14201, + "notecount": 447, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d669ea10dc348d043991a2119b5aa858edbdce43", + "difficulty": "ANOTHER", + "songID": 701, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14203, + "notecount": 1043, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1396a8415965be794ecbd0caf5efc4cc1caf093", + "difficulty": "HYPER", + "songID": 701, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14203, + "notecount": 801, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04b476a45763f513f8ac308495529d442a50326f", + "difficulty": "NORMAL", + "songID": 701, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14203, + "notecount": 415, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72f42306805bee1aae249cb73bbbb3b4998cce8d", + "difficulty": "ANOTHER", + "songID": 701, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14203, + "notecount": 883, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd49d4c35b0c104aea053d89743604a0a1b87b8f", + "difficulty": "HYPER", + "songID": 701, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14203, + "notecount": 670, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10183e0558d1483ca353cb7fa328f4c7a8547890", + "difficulty": "NORMAL", + "songID": 701, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14203, + "notecount": 304, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d342891a3cad8f96637c7d1c88cfc5c4654888ee", + "difficulty": "ANOTHER", + "songID": 702, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 14204, + "notecount": 1282, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc169b67a7304762a4996e05cdd14977ddf7c3da", + "difficulty": "HYPER", + "songID": 702, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14204, + "notecount": 885, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b13b91cfa8fa3a748ba93d42d8954162e4cab3fa", + "difficulty": "NORMAL", + "songID": 702, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14204, + "notecount": 587, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2188cd75e551158af3f76a1e447088a315b01f7", + "difficulty": "ANOTHER", + "songID": 702, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14204, + "notecount": 947, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97194a92bb4191126ed6f69709ed4b20d80bc352", + "difficulty": "HYPER", + "songID": 702, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14204, + "notecount": 733, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21a907688adf04bd4e3008d97f99d8d11549cf38", + "difficulty": "NORMAL", + "songID": 702, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14204, + "notecount": 341, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5e920ebe9eaa08b6d37bf7e18610189ca4e3c013", + "difficulty": "ANOTHER", + "songID": 703, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 14205, + "notecount": 820, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2f9573093f94ef221085f1bb9656dd6856a7222", + "difficulty": "HYPER", + "songID": 703, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14205, + "notecount": 513, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4fc2d18c1a917bc915bd681bddf9fba2f68cf993", + "difficulty": "NORMAL", + "songID": 703, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14205, + "notecount": 396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e5d3c046dbbed3bfc372116daaeedf4956265964", + "difficulty": "ANOTHER", + "songID": 703, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14205, + "notecount": 899, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd5d08b9766dd104c9b85d3bf32e45e281b37001", + "difficulty": "HYPER", + "songID": 703, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14205, + "notecount": 692, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9cd873afafc1768f9d2238c13767f693727a4e89", + "difficulty": "NORMAL", + "songID": 703, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 14205, + "notecount": 202, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "526496a6f199fb7391efcb0f89d1378e0da755e2", + "difficulty": "ANOTHER", + "songID": 704, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14206, + "notecount": 1207, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "997def2544e3bf123b756772db80df46826d705e", + "difficulty": "HYPER", + "songID": 704, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14206, + "notecount": 837, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7d5da5d78300531eef0f75373423012dd699db71", + "difficulty": "NORMAL", + "songID": 704, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14206, + "notecount": 577, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a34c36a148fae5893cc7052c31e982d52d4cd9a2", + "difficulty": "ANOTHER", + "songID": 704, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14206, + "notecount": 1297, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3363081d73d2ce57311fecfb50f48b663bbc208d", + "difficulty": "HYPER", + "songID": 704, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14206, + "notecount": 948, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0c80ea4361d2844d5af03aa443290b25ee5ffef", + "difficulty": "NORMAL", + "songID": 704, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14206, + "notecount": 622, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf7d996015d3889012282b45821821d422e47394", + "difficulty": "ANOTHER", + "songID": 705, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14207, + "notecount": 1073, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d8ce25aae64200cf2d9d1a371151916f11992881", + "difficulty": "HYPER", + "songID": 705, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14207, + "notecount": 816, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3faeb5e7426870be1f24fa32ef9a1c6b0bcbc593", + "difficulty": "NORMAL", + "songID": 705, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14207, + "notecount": 548, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba9eea407af13fcb60b1ca23899816c29445d04c", + "difficulty": "ANOTHER", + "songID": 705, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14207, + "notecount": 693, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7226810a300e4b1b35b0be8db838fd52a7ce0a8e", + "difficulty": "HYPER", + "songID": 705, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14207, + "notecount": 470, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a66a4b2066fed22fefd0339eb0e4c08b0facba36", + "difficulty": "NORMAL", + "songID": 705, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14207, + "notecount": 351, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3b239eca75d589efecda43510ba674c697226e05", + "difficulty": "ANOTHER", + "songID": 706, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14212, + "notecount": 1021, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c44997130152196df1a6a771009fb559de452124", + "difficulty": "HYPER", + "songID": 706, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14212, + "notecount": 839, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82b1f1c05372c94e732928ea77db83911e873a91", + "difficulty": "NORMAL", + "songID": 706, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 14212, + "notecount": 661, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8d063c86aece7024f4f24dddf40becf0e6a02ee0", + "difficulty": "ANOTHER", + "songID": 706, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 14212, + "notecount": 1103, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6fc9fc029dcaa3958b48c8816c6ea40bd4274a94", + "difficulty": "HYPER", + "songID": 706, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 14212, + "notecount": 884, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d870427d9a9849bb6243db3d5c9bb7d21e30499a", + "difficulty": "NORMAL", + "songID": 706, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 14212, + "notecount": 374, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e0e77416960167034ce71e6dfa9734ad3549696", + "difficulty": "ANOTHER", + "songID": 707, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14213, + "notecount": 381, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e43f946d15ed96375ebade3b10bfcf50fa23fb05", + "difficulty": "HYPER", + "songID": 707, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14213, + "notecount": 248, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "efe9f197e525ca44da298d38b9512c81ddd600ca", + "difficulty": "NORMAL", + "songID": 707, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 14213, + "notecount": 207, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02e9065a84f151f6cebc10b84289a6dec2ce26ec", + "difficulty": "ANOTHER", + "songID": 707, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 14213, + "notecount": 382, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24692675f15210aa44eb190c57b286565c3bf8ec", + "difficulty": "HYPER", + "songID": 707, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 14213, + "notecount": 247, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a0be0a9b2953628d19d5974db077635a5c1beb5", + "difficulty": "NORMAL", + "songID": 707, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 14213, + "notecount": 202, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dcd7b891c2670a4387d35dccffa7ac9c95f48edd", + "difficulty": "ANOTHER", + "songID": 708, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15000, + "notecount": 1603, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "587ec23941d3a493fdd8201c8d603ff5209ac94e", + "difficulty": "HYPER", + "songID": 708, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15000, + "notecount": 1291, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2453ec4d77352df9fff83a0d28b5a1c7d01b520", + "difficulty": "LEGGENDARIA", + "songID": 708, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15000, + "notecount": 1956, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28b35f180b0174116e333837770e8c338ed77121", + "difficulty": "NORMAL", + "songID": 708, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15000, + "notecount": 637, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04c978e6724c739afe471ed28b053f33f6a6f27d", + "difficulty": "ANOTHER", + "songID": 708, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15000, + "notecount": 1443, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "fda142a18547351ad1085c7a82fc0546a5aeba57", + "difficulty": "BEGINNER", + "songID": 708, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 15000, + "notecount": 256, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "201e9b8f6e2c4f5ea4999b493722dcf541b2c4d1", + "difficulty": "HYPER", + "songID": 708, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15000, + "notecount": 1089, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d4067d5bc2c83df58c5e037ed16ea770ab456175", + "difficulty": "LEGGENDARIA", + "songID": 708, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15000, + "notecount": 1971, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9ee55c2fa14fcf276d46ce24d3a655afa2fd943", + "difficulty": "NORMAL", + "songID": 708, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15000, + "notecount": 631, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a5b8ba8ed5aa11d8b0c4eb4922dea70709b3ceaa", + "difficulty": "HYPER", + "songID": 709, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10005, + "notecount": 386, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3441b31bea5f11aa487e8f190e3ebf1b5c403872", + "difficulty": "NORMAL", + "songID": 709, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 10005, + "notecount": 245, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8877e7544f4a0e487f77a897ee9c52fe482029a2", + "difficulty": "ANOTHER", + "songID": 709, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 10005, + "notecount": 386, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "241bf4783b8bb8450a386d0f43142985075a5b69", + "difficulty": "HYPER", + "songID": 709, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 10005, + "notecount": 331, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ac9f419d79484f8f917d036eb83ccbd759d826a", + "difficulty": "NORMAL", + "songID": 709, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 10005, + "notecount": 245, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "318a806f8cbf854c0fe22eeb9e0565fae3cd884f", + "difficulty": "HYPER", + "songID": 710, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15002, + "notecount": 576, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c43136c3e5c46173204b2931b74674e2a3b7d057", + "difficulty": "NORMAL", + "songID": 710, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15002, + "notecount": 345, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b870aea9226ea3b0c8c48286111f792d3e2da2e6", + "difficulty": "ANOTHER", + "songID": 710, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15002, + "notecount": 695, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b7367e990ab8251597dc85b9a8ffe46284881d0", + "difficulty": "BEGINNER", + "songID": 710, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 15002, + "notecount": 85, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c09debbe14c8da4d5eabc0a08acbf19642abde3", + "difficulty": "HYPER", + "songID": 710, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15002, + "notecount": 512, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea737a6b94671f7c7bda15dfa6b1de0db36375ca", + "difficulty": "NORMAL", + "songID": 710, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15002, + "notecount": 354, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad0038258d99348c5b43be12a794e524a1b52aec", + "difficulty": "ANOTHER", + "songID": 711, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15003, + "notecount": 1572, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8ea2912fe7b1a3de42ec67aef3ac96d212d8389", + "difficulty": "HYPER", + "songID": 711, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15003, + "notecount": 1130, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "152cb15f82973c85632450876bb7496b48646a5b", + "difficulty": "NORMAL", + "songID": 711, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15003, + "notecount": 752, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "683766662892de7b6b71ed623216515624efa9d9", + "difficulty": "ANOTHER", + "songID": 711, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15003, + "notecount": 1348, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53978253c493013d7e5f6cb4161cba6691414fb2", + "difficulty": "BEGINNER", + "songID": 711, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 15003, + "notecount": 205, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5083e26b80b0d35e7fce7450311f7404c0fe0067", + "difficulty": "HYPER", + "songID": 711, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15003, + "notecount": 1100, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c8dcf4880fec12bae2bdf3bb083c6af684749cd2", + "difficulty": "NORMAL", + "songID": 711, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15003, + "notecount": 730, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8fc57b2a12c0f5b2499ff83a28f168b909257c0f", + "difficulty": "ANOTHER", + "songID": 712, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15004, + "notecount": 1037, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a978c5bb902a0a6e68b2f5dd7c87c203545ed60c", + "difficulty": "HYPER", + "songID": 712, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15004, + "notecount": 803, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fcdc3bbb57656ee4c3ef50603e8552ccc3a8516b", + "difficulty": "LEGGENDARIA", + "songID": 712, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15004, + "notecount": 1662, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5488f9a2389d3969da2c9aa16ced84045d9394b8", + "difficulty": "NORMAL", + "songID": 712, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15004, + "notecount": 587, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2fecac2edd3db3fbd1c621c9b158d8e1265b62b5", + "difficulty": "ANOTHER", + "songID": 712, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15004, + "notecount": 1149, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "719b865582fe63cc16e4a376a28296853c19ec95", + "difficulty": "BEGINNER", + "songID": 712, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 15004, + "notecount": 174, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "91ff1803cd18edeb53e2102e2de9c0dec509e95e", + "difficulty": "HYPER", + "songID": 712, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15004, + "notecount": 812, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "38bd9ce59428447155842131b331a73bef16947a", + "difficulty": "LEGGENDARIA", + "songID": 712, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15004, + "notecount": 1702, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "263850fc8b719c03b910c127680f2d1eb90a7d50", + "difficulty": "NORMAL", + "songID": 712, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15004, + "notecount": 514, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9611e01f5a7b68948e8fd89215ed64b1e29e4685", + "difficulty": "ANOTHER", + "songID": 713, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15005, + "notecount": 1264, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "92d2d3e291196d870d1fb0a68aaaf0b268142da5", + "difficulty": "HYPER", + "songID": 713, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15005, + "notecount": 965, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e88d60509862058af2fd8bb013d314451793f9e", + "difficulty": "NORMAL", + "songID": 713, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15005, + "notecount": 481, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78dedf18777a10a4c47508a473235367e9762de9", + "difficulty": "ANOTHER", + "songID": 713, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15005, + "notecount": 1225, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "03a88465d655f95a50233a5ab9b41ee0ed1e2cde", + "difficulty": "HYPER", + "songID": 713, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15005, + "notecount": 988, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb98a47d36a74631b3009d0d0bd425cb76be7250", + "difficulty": "LEGGENDARIA", + "songID": 713, + "playtype": "SP", + "levelNum": 0, + "level": "12", + "data": { + "inGameID": 15005, + "notecount": 1518, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0ed32d0768f9b46cd7b7315a492cb08c3dadefb", + "difficulty": "NORMAL", + "songID": 713, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15005, + "notecount": 481, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3af990f42bb81eecb7199efc3ba434978db3390d", + "difficulty": "HYPER", + "songID": 714, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15006, + "notecount": 465, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2acc443b2c4e4ea029a29dbbcfa5f1b4bda3a00f", + "difficulty": "NORMAL", + "songID": 714, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 15006, + "notecount": 258, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae8382878051e9c10e63f8f83349a7479a07d78a", + "difficulty": "ANOTHER", + "songID": 714, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15006, + "notecount": 673, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f41c638800df3f5ed079ed64ba1cc692e6976c49", + "difficulty": "BEGINNER", + "songID": 714, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 15006, + "notecount": 97, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "244c0de590ce2e0920a9f57b3af76ec09737a395", + "difficulty": "HYPER", + "songID": 714, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15006, + "notecount": 464, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf1f75484079f5ed6d0085b22efc7ace277d497e", + "difficulty": "NORMAL", + "songID": 714, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 15006, + "notecount": 258, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "439ddbe4e175912cec4d988f23655021d3cd89a3", + "difficulty": "ANOTHER", + "songID": 715, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15007, + "notecount": 1451, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6067a9e398603bb8bfbdc674c1edb7a5ef83562c", + "difficulty": "HYPER", + "songID": 715, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15007, + "notecount": 1133, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c4b314e1df22b046d3b12d82dd0cf751e5eb0a44", + "difficulty": "LEGGENDARIA", + "songID": 715, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15007, + "notecount": 1728, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d90ef2be467ef7ef841074b2e0b3511f0292c1ea", + "difficulty": "NORMAL", + "songID": 715, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15007, + "notecount": 622, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "05fe4ef840f0e5b42362ebb9b442f00c5b0fa7a1", + "difficulty": "ANOTHER", + "songID": 715, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15007, + "notecount": 1528, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c29c03903449bbe998640c7e9db74a76ec7fe06a", + "difficulty": "BEGINNER", + "songID": 715, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 15007, + "notecount": 274, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f0da5453b8c997cd0c795e5047040c34aff4bc3", + "difficulty": "HYPER", + "songID": 715, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15007, + "notecount": 1150, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4eaae798e88346e5b0415c2c344d52ff16eeca12", + "difficulty": "LEGGENDARIA", + "songID": 715, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15007, + "notecount": 1778, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a23dc07f66015227296345d8a0b26d1725e7984e", + "difficulty": "NORMAL", + "songID": 715, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15007, + "notecount": 556, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ddafe104a9d30a90ae3895d6e5263674cbe30beb", + "difficulty": "ANOTHER", + "songID": 716, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15008, + "notecount": 1367, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e022c047fcc34a3759ac4a9dc98e5de4b9368fb", + "difficulty": "HYPER", + "songID": 716, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15008, + "notecount": 1103, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a083e5fc7af20f29a10de125cdfbff75387c752f", + "difficulty": "LEGGENDARIA", + "songID": 716, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15008, + "notecount": 1676, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2dd1b471a468a83c86c41ae9296c1a8061a00298", + "difficulty": "NORMAL", + "songID": 716, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15008, + "notecount": 575, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b2b8a97ead04589cae2b175e607d1de01fd37f7f", + "difficulty": "ANOTHER", + "songID": 716, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15008, + "notecount": 1269, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "8fedb2ba88abca1c4a2696a8bdfc673671516d5f", + "difficulty": "HYPER", + "songID": 716, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15008, + "notecount": 1121, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a9d19fc6faf5aafca5b5376e8073340ff58d40b", + "difficulty": "LEGGENDARIA", + "songID": 716, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15008, + "notecount": 1701, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3adf5fd45cd4fbf1376b6ce85578894563d38fff", + "difficulty": "NORMAL", + "songID": 716, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15008, + "notecount": 560, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0972421acc55be1655e7da6bec41b2b11bc63a15", + "difficulty": "ANOTHER", + "songID": 717, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15009, + "notecount": 1599, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6fb1359071075e09e63b5744ba76cf6b65857ba3", + "difficulty": "HYPER", + "songID": 717, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15009, + "notecount": 1227, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ac2a75df443c976582be595301c1243ba2a69be", + "difficulty": "NORMAL", + "songID": 717, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15009, + "notecount": 704, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e7f9c083be0746e3cde94fb220a7c3af66fb43ce", + "difficulty": "ANOTHER", + "songID": 717, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15009, + "notecount": 1668, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "675ebf4acb10bffce2bf11a5d058ee22a04efc17", + "difficulty": "BEGINNER", + "songID": 717, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 15009, + "notecount": 257, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c57bd14d6c44aa950e8412113b3753d7dcc8e253", + "difficulty": "HYPER", + "songID": 717, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15009, + "notecount": 1405, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d2a482dc7483f5a09abbb9cfbd59e528b9925c5c", + "difficulty": "NORMAL", + "songID": 717, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15009, + "notecount": 708, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2bce04d516ea4c289226d81618ffcdb23429575b", + "difficulty": "ANOTHER", + "songID": 718, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15010, + "notecount": 1183, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ff50d4173fffff2d3c4b5f49cc9529f44853c78", + "difficulty": "HYPER", + "songID": 718, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15010, + "notecount": 946, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f20bf5dfee1e2f26eb7be6ed42439fb15bd05d89", + "difficulty": "NORMAL", + "songID": 718, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15010, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce447eec7b0483efb299b2486d8b58346c68d160", + "difficulty": "ANOTHER", + "songID": 718, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15010, + "notecount": 1183, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03c6e3935966e32e1480d5c979c07681b4c751e1", + "difficulty": "HYPER", + "songID": 718, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15010, + "notecount": 939, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "42650d1204f8b027df48f5d08c60b50408a5da4f", + "difficulty": "NORMAL", + "songID": 718, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15010, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "46ca4b211c045be1d0f9365b39492b3dc8661a04", + "difficulty": "ANOTHER", + "songID": 719, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15011, + "notecount": 746, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b871345d7f1745ab6ead65bab2f7634b0eca7ea", + "difficulty": "HYPER", + "songID": 719, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15011, + "notecount": 570, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "76b2240dee7aa9ca32810b3ad85601ef5d961090", + "difficulty": "NORMAL", + "songID": 719, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15011, + "notecount": 286, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c7ddbaedcd21d6a05fe922dfd52f4acc39cf745", + "difficulty": "ANOTHER", + "songID": 719, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15011, + "notecount": 875, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba6fe57f952889ce9fe048e2b40300f6ac08ac77", + "difficulty": "HYPER", + "songID": 719, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15011, + "notecount": 753, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ffc0f9cb165fdc7713d1356ab5e455160c5d3ef0", + "difficulty": "NORMAL", + "songID": 719, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 15011, + "notecount": 305, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a47f563ea379bbfc5905fdad92c903baacc2f9b", + "difficulty": "ANOTHER", + "songID": 720, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15012, + "notecount": 1204, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9ba3c5bf64059b29135addb245906124133e0fb", + "difficulty": "HYPER", + "songID": 720, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15012, + "notecount": 842, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f719ad3cb5612ec38af9ce079ef862159f2aef71", + "difficulty": "NORMAL", + "songID": 720, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15012, + "notecount": 475, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9555dbc30a26b555da587aad1c5d3dd816ff4e1", + "difficulty": "ANOTHER", + "songID": 720, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15012, + "notecount": 1005, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b3b7bca53bcc40f0b49c29e7f2c5a993608754d", + "difficulty": "HYPER", + "songID": 720, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15012, + "notecount": 777, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d62fe9064590390db6235a561b3ebf775b4ae056", + "difficulty": "NORMAL", + "songID": 720, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15012, + "notecount": 466, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5668be66c94a89b76cc3980b5d317df6a59149d8", + "difficulty": "ANOTHER", + "songID": 721, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15013, + "notecount": 1406, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12a2646c21913ccfcc206af19ddd9d4e88c24fa6", + "difficulty": "HYPER", + "songID": 721, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15013, + "notecount": 1061, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8438b13b8031067e32c319109d0dfb7a7500f5f6", + "difficulty": "NORMAL", + "songID": 721, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15013, + "notecount": 706, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35b8c747f2a15b0ada92748502414a356b9c7223", + "difficulty": "ANOTHER", + "songID": 721, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15013, + "notecount": 1493, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5774ac75fd5a681e44fd7f21327bb83aa3f076b2", + "difficulty": "HYPER", + "songID": 721, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15013, + "notecount": 1056, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "366dbc66b50be04811a59be58931b14575b1cff4", + "difficulty": "NORMAL", + "songID": 721, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15013, + "notecount": 747, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e72998a40af42dce928eb6cb96e01c1da844ab3", + "difficulty": "ANOTHER", + "songID": 722, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15014, + "notecount": 1174, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7286841007453a4631466c7e1e028b6da8870fd9", + "difficulty": "HYPER", + "songID": 722, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15014, + "notecount": 936, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "07c8c0b27c1badf722e7eba627e4fa82b42eecfb", + "difficulty": "LEGGENDARIA", + "songID": 722, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15014, + "notecount": 1265, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "71d59390e0135f98b425db23415380924bfdd010", + "difficulty": "NORMAL", + "songID": 722, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15014, + "notecount": 400, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2659e20fb12fd97f9912881da1b59844928fb4ef", + "difficulty": "ANOTHER", + "songID": 722, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15014, + "notecount": 1386, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12F", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12F", + "value": 11.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.60", + "value": 12.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "42fe786b7af412634ab8c2d939bad0d9dc29e38e", + "difficulty": "BEGINNER", + "songID": 722, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 15014, + "notecount": 177, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "068885368001d6c1e43664774ee99850ee55384b", + "difficulty": "HYPER", + "songID": 722, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15014, + "notecount": 1032, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e90431ce077ec34206b1ca423fdac4598453d043", + "difficulty": "NORMAL", + "songID": 722, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15014, + "notecount": 609, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df25264f21e979881ceff7194457895433e6dab7", + "difficulty": "ANOTHER", + "songID": 723, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15015, + "notecount": 1278, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "374ff963a900633ed45eba892be2595f3e685318", + "difficulty": "HYPER", + "songID": 723, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15015, + "notecount": 969, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7cfe1c7fecf889f6ce69b2ec5bc532dc18c3f845", + "difficulty": "NORMAL", + "songID": 723, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15015, + "notecount": 556, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "389fa8123c7b793a050dc135d89fbbfd0787a601", + "difficulty": "ANOTHER", + "songID": 723, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15015, + "notecount": 1342, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db344d48fd09a8c844810bd84ae582ad355d45f7", + "difficulty": "HYPER", + "songID": 723, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15015, + "notecount": 1011, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dada8390e9fc7631f935a75d6f8c0cb547f2d0e3", + "difficulty": "LEGGENDARIA", + "songID": 723, + "playtype": "SP", + "levelNum": 0, + "level": "12", + "data": { + "inGameID": 15015, + "notecount": 1895, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "06432377af6331ecc3c60de337f46836f2030f06", + "difficulty": "NORMAL", + "songID": 723, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15015, + "notecount": 541, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "25699a10a913e38a06ad7b76ebb3caa16c09ec6e", + "difficulty": "ANOTHER", + "songID": 724, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15016, + "notecount": 1616, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74dae5605b23e3879106645a4753d84eeaea7588", + "difficulty": "HYPER", + "songID": 724, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15016, + "notecount": 1197, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78eb8786b64f6d3ef540770408b5494bdec7f9c9", + "difficulty": "NORMAL", + "songID": 724, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15016, + "notecount": 625, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10af21f79f497fe857bca12e6f0cde8ec3ab97ac", + "difficulty": "ANOTHER", + "songID": 724, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15016, + "notecount": 1496, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": true + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": true + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5ab5f7b88125a9f4542e3fab9e15983ca27098c4", + "difficulty": "HYPER", + "songID": 724, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15016, + "notecount": 1216, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72faec439675ad0ffa35d8fc874e7e63a4e2e160", + "difficulty": "LEGGENDARIA", + "songID": 724, + "playtype": "SP", + "levelNum": 0, + "level": "12", + "data": { + "inGameID": 15016, + "notecount": 1631, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1fb1851a9ef8abf8bcb4741a3354b91babb681a", + "difficulty": "NORMAL", + "songID": 724, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15016, + "notecount": 625, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "705a30c1f42776663ee6a9ef584eb592afe73b2b", + "difficulty": "ANOTHER", + "songID": 725, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15017, + "notecount": 1044, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78a60f32ba991c6eed85da1af44c182e5f9b240b", + "difficulty": "HYPER", + "songID": 725, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15017, + "notecount": 758, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f4b5489e5966542eb2f0235bee61ac8db867e675", + "difficulty": "NORMAL", + "songID": 725, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15017, + "notecount": 541, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb4252aace8b761271156b96584ba5c379112439", + "difficulty": "ANOTHER", + "songID": 725, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15017, + "notecount": 1000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af2e925db302271cccbf3cebfdc8df6990441234", + "difficulty": "HYPER", + "songID": 725, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15017, + "notecount": 725, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f879ea500b1866ec78abd3e6423b62f9a32500c", + "difficulty": "NORMAL", + "songID": 725, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15017, + "notecount": 506, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d94d256fd25cf473f3fc747c8326be685db69ea", + "difficulty": "ANOTHER", + "songID": 726, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15018, + "notecount": 879, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28fdeaf15479d888f75b410808d1102589d37ccf", + "difficulty": "HYPER", + "songID": 726, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15018, + "notecount": 636, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e2ab8643a9952ac42c0a54970f284e79c50f3ef", + "difficulty": "NORMAL", + "songID": 726, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15018, + "notecount": 428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a68347e2fb8d80561bffdcd3c80354e0bf742eb5", + "difficulty": "ANOTHER", + "songID": 726, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15018, + "notecount": 901, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b2f69279a19587a205d08552be2f87fccb19bfb", + "difficulty": "HYPER", + "songID": 726, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15018, + "notecount": 662, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1115a38e78d25d897c42d2d06c5d725090755567", + "difficulty": "NORMAL", + "songID": 726, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15018, + "notecount": 418, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1cc7ede198c8a86f15d635e441edc1b72cb1e52", + "difficulty": "ANOTHER", + "songID": 727, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15019, + "notecount": 1259, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b2d48466fc5deaf33d50d23d3c64b9aa8f58577", + "difficulty": "HYPER", + "songID": 727, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15019, + "notecount": 999, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6df52cfd14f57c9cc751f0513367096921bd7131", + "difficulty": "NORMAL", + "songID": 727, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15019, + "notecount": 664, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5fbe8951f654dbbcc73dca0dad356a281ada0fca", + "difficulty": "ANOTHER", + "songID": 727, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15019, + "notecount": 1093, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc67eb9f80c4f73636d677761dfcb2e6fbb8d7ef", + "difficulty": "HYPER", + "songID": 727, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15019, + "notecount": 955, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68ae569f0494f24314d1ccfd7dfd7cad5e29f907", + "difficulty": "NORMAL", + "songID": 727, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15019, + "notecount": 640, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28954b8f2f17e21f2c97346937b1afedb2d615f4", + "difficulty": "ANOTHER", + "songID": 728, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15020, + "notecount": 1756, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b5b95b9e64c0d4a5e6de431018934f656783600", + "difficulty": "HYPER", + "songID": 728, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15020, + "notecount": 806, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d76f05b37cdd38f8d712446e43d4d48840fa6b9c", + "difficulty": "NORMAL", + "songID": 728, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15020, + "notecount": 541, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc04e02c7d3c1b6741bc0fa4fa12db835b8a8630", + "difficulty": "ANOTHER", + "songID": 728, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15020, + "notecount": 1570, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2114497f2ec6026428992916183b04c446062d59", + "difficulty": "HYPER", + "songID": 728, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15020, + "notecount": 790, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c45ea036fe986ae00bbef378e186600ebd86207c", + "difficulty": "NORMAL", + "songID": 728, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15020, + "notecount": 552, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f6b1b3aa5ae0aa486cf596d7de06e3e6989e55f", + "difficulty": "ANOTHER", + "songID": 729, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15021, + "notecount": 1357, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "07799521de39318fcd2b38f97d11ca99ed06ea83", + "difficulty": "HYPER", + "songID": 729, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15021, + "notecount": 924, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5eac8e8e885abe76ab18ce3212cf81e26ef0a640", + "difficulty": "NORMAL", + "songID": 729, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15021, + "notecount": 523, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ac3f23df4261cbb6ac710c37de5a036116d3ed3", + "difficulty": "ANOTHER", + "songID": 729, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15021, + "notecount": 1268, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b5766c8f4f349bf72499cf23d015180ded47c1e0", + "difficulty": "HYPER", + "songID": 729, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15021, + "notecount": 924, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a5a230e78c6e0ca3556a2781e88b09dea0941fb4", + "difficulty": "NORMAL", + "songID": 729, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15021, + "notecount": 523, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03d70a30fc7a7376f71816a2d815ed37fcaa0e41", + "difficulty": "ANOTHER", + "songID": 730, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15022, + "notecount": 1037, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11e943e2a9ebb0f1a92397b9d01665ea0a09b5c6", + "difficulty": "HYPER", + "songID": 730, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15022, + "notecount": 740, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c2ad65ba0bd8e6caeea4851ca2b96ef32ba301f", + "difficulty": "NORMAL", + "songID": 730, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15022, + "notecount": 519, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f241e3fe9e2dd2e4664cc4432a8ab0424332422", + "difficulty": "ANOTHER", + "songID": 730, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15022, + "notecount": 997, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd8932f8ed03d18da39f9ed08f58cbe3c7fa12cf", + "difficulty": "HYPER", + "songID": 730, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15022, + "notecount": 720, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "23abad15bea3e389178d7483530acfecf77f9c23", + "difficulty": "NORMAL", + "songID": 730, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15022, + "notecount": 507, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d417fb0f1d7fe00d5bff7383f50e11d91b32846", + "difficulty": "ANOTHER", + "songID": 731, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15023, + "notecount": 1336, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28dc513563d4f766a13ed27e9451e5e43195bbc7", + "difficulty": "HYPER", + "songID": 731, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15023, + "notecount": 1038, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a993431d787caf54d927997874c4fdddb5d1514b", + "difficulty": "LEGGENDARIA", + "songID": 731, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15023, + "notecount": 2000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6362928a06c0c2e059916012296475bbfe1f86b", + "difficulty": "NORMAL", + "songID": 731, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15023, + "notecount": 687, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e7c2c3019f13b54703200a74cbc7b691a9a1813f", + "difficulty": "ANOTHER", + "songID": 731, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15023, + "notecount": 1301, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": true + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d32f7d15a99f999929276105b4f32be4bf15de13", + "difficulty": "HYPER", + "songID": 731, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15023, + "notecount": 1097, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "626bab7cbee43b78846fa7742df3a4599e0926ce", + "difficulty": "LEGGENDARIA", + "songID": 731, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15023, + "notecount": 2000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": false + }, + "kt-HC": { + "text": "12S+", + "value": 13.2, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.60", + "value": 13.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "bfb91346fdc13e277f2e637f1f4d7aee3cdcf7b6", + "difficulty": "NORMAL", + "songID": 731, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15023, + "notecount": 694, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32e38777dfc33785e6eef7d1be034562673f7fb7", + "difficulty": "ANOTHER", + "songID": 732, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15024, + "notecount": 1052, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9000ca8af92513621aab66bdb3bd1ec4a9b2cdc", + "difficulty": "HYPER", + "songID": 732, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15024, + "notecount": 696, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9c3faba374a5add6bcb69227650575e867130d2c", + "difficulty": "NORMAL", + "songID": 732, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15024, + "notecount": 433, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a48168c01535bb480a7bcc57f1a1e27755df143a", + "difficulty": "ANOTHER", + "songID": 732, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15024, + "notecount": 1115, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0ea98985e05cf5f806cf8215ad3a1ee15423451", + "difficulty": "BEGINNER", + "songID": 732, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 15024, + "notecount": 172, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c6401d045c9069cde4922eec2eb6021e554437a6", + "difficulty": "HYPER", + "songID": 732, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15024, + "notecount": 704, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "454d7c1cfbf023c3bbd580ea9928d49f1429edce", + "difficulty": "NORMAL", + "songID": 732, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15024, + "notecount": 455, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3cb222e806cfc5bdc746de67362647cf72968b81", + "difficulty": "ANOTHER", + "songID": 733, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15025, + "notecount": 982, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "009a5d0e379cfabdeca101b3159ebb242d4557ce", + "difficulty": "HYPER", + "songID": 733, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15025, + "notecount": 736, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "be7fb2091f9b0eceacdde944f873f90b8d6a7d9c", + "difficulty": "LEGGENDARIA", + "songID": 733, + "playtype": "DP", + "levelNum": 0, + "level": "12", + "data": { + "inGameID": 15025, + "notecount": 1312, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b3fd8cb39434f3dbab6f446e62a97a63ed0c319", + "difficulty": "NORMAL", + "songID": 733, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15025, + "notecount": 435, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4854af1652908ce30120aaf4a714a69b4a884adf", + "difficulty": "ANOTHER", + "songID": 733, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15025, + "notecount": 987, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": true + } + } + }, + { + "rgcID": null, + "chartID": "63bfb1fd25d1946785af4b5c29a0405555f2e7b8", + "difficulty": "HYPER", + "songID": 733, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15025, + "notecount": 816, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f65612cf9ddcfb6270138804e5797b8c5b88b803", + "difficulty": "LEGGENDARIA", + "songID": 733, + "playtype": "SP", + "levelNum": 0, + "level": "12", + "data": { + "inGameID": 15025, + "notecount": 1317, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "47be63ffa0a26afd7cccca2a8ddd5eff4525b305", + "difficulty": "NORMAL", + "songID": 733, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15025, + "notecount": 538, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3aa407978344fe319d561cbf0d7e5d29a51cd82b", + "difficulty": "ANOTHER", + "songID": 734, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15026, + "notecount": 1325, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72f396ef67b11a734eaaedbcbbbac97bfd8ce06a", + "difficulty": "HYPER", + "songID": 734, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15026, + "notecount": 985, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7e68be5e90452bb7fc7d6318cc0df4b3dc81ece8", + "difficulty": "NORMAL", + "songID": 734, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15026, + "notecount": 634, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "88fe2a1e9a4fc6a64352d3d6ab44deadafb0c88e", + "difficulty": "ANOTHER", + "songID": 734, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15026, + "notecount": 1458, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7f9e89c7cf0c37c2d86e8d5771f7da9a9252b1a7", + "difficulty": "HYPER", + "songID": 734, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15026, + "notecount": 1064, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cff493858721bb0bfc31ffcd27110f52fc67027a", + "difficulty": "LEGGENDARIA", + "songID": 734, + "playtype": "SP", + "levelNum": 0, + "level": "12", + "data": { + "inGameID": 15026, + "notecount": 1888, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8777bae5a5d6b15dea62b4bd0ad481c149841e95", + "difficulty": "NORMAL", + "songID": 734, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15026, + "notecount": 640, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7866afba6129144f7fa679ad51d05a48b58ca774", + "difficulty": "ANOTHER", + "songID": 735, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15027, + "notecount": 982, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4fb3a5c631b1ec88a6d765c0717331ea836530c8", + "difficulty": "HYPER", + "songID": 735, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15027, + "notecount": 694, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7170b02b0d53ca74f96e0585e161fdfaf1cb99cb", + "difficulty": "NORMAL", + "songID": 735, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15027, + "notecount": 390, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1885bd97b66bcf48723fcbae7b0801988d5a1e1", + "difficulty": "ANOTHER", + "songID": 735, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15027, + "notecount": 982, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "389891f6f833a2d3d2b34a4e483ced0b48375a1e", + "difficulty": "HYPER", + "songID": 735, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15027, + "notecount": 694, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83c7a2bdde6755a22409d47d714125fdb75e5e49", + "difficulty": "NORMAL", + "songID": 735, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15027, + "notecount": 390, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "62ce3b288378ec0fb7273fa617a72c3f61767e1c", + "difficulty": "ANOTHER", + "songID": 736, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15028, + "notecount": 1175, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b0d6aa6dbf8e91e7e1391be46904b8e9c0a0c11", + "difficulty": "HYPER", + "songID": 736, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15028, + "notecount": 813, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "96b9cff5aadb97305fe3bccb41c4967aaf21997e", + "difficulty": "NORMAL", + "songID": 736, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15028, + "notecount": 482, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "950879ed0084cb67446716c944de61742a3b1bc9", + "difficulty": "ANOTHER", + "songID": 736, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15028, + "notecount": 1096, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "df6917d25d776aee2c9e1b844d6df285bb91df55", + "difficulty": "HYPER", + "songID": 736, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15028, + "notecount": 815, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "219eef206a8fe28cf0e52c2a86ea2d0b92efde78", + "difficulty": "NORMAL", + "songID": 736, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15028, + "notecount": 480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b16f1a68ae149d2665583204d55b2a15daa2106", + "difficulty": "ANOTHER", + "songID": 737, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15029, + "notecount": 922, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3787573b54dc5cb42c55b6a705879dc78c1fbb97", + "difficulty": "HYPER", + "songID": 737, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15029, + "notecount": 678, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b95e8b2c8c217b6b03742a6009472cfc06cc7edf", + "difficulty": "NORMAL", + "songID": 737, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15029, + "notecount": 424, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "42a2ba7faa531abe4b152748e3449f641aff7888", + "difficulty": "ANOTHER", + "songID": 737, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15029, + "notecount": 923, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72c1a989bef60be4a8c1c62a3efe1e92233f6a7c", + "difficulty": "BEGINNER", + "songID": 737, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 15029, + "notecount": 174, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f27ecb9d46a3a84b8c81ef1c29a10f87219426d4", + "difficulty": "HYPER", + "songID": 737, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15029, + "notecount": 678, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "faff408e691e20a2d3f4a64bb11069b515cc4a65", + "difficulty": "NORMAL", + "songID": 737, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15029, + "notecount": 424, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82861ebff6196df06e1d53b4729b20849563604d", + "difficulty": "ANOTHER", + "songID": 738, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15030, + "notecount": 1233, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87f159a9f5bfb6625b99a78dd7df07fa32c78ce5", + "difficulty": "HYPER", + "songID": 738, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15030, + "notecount": 666, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a14479c123e706410136dfff7033bc40b53708fb", + "difficulty": "NORMAL", + "songID": 738, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15030, + "notecount": 419, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3edeb3c882c1a3ba8ecfb22707fc40173ff64e6b", + "difficulty": "ANOTHER", + "songID": 738, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15030, + "notecount": 1402, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "79f064c072ba04d9b4b3dd7be0e0c8d8a0e5c86a", + "difficulty": "HYPER", + "songID": 738, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15030, + "notecount": 684, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a5d4605fc3bf9363b0c44e8905b9271becb4e2d", + "difficulty": "NORMAL", + "songID": 738, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15030, + "notecount": 452, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79f5055face0cfb0a792c80214f42b675b6f50d1", + "difficulty": "ANOTHER", + "songID": 739, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15031, + "notecount": 942, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43631a327a81a40dffc4cd2e112f3da0b49e1d52", + "difficulty": "HYPER", + "songID": 739, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15031, + "notecount": 623, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6959d58a1b37ad38452767526f29492b076fedb9", + "difficulty": "NORMAL", + "songID": 739, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 15031, + "notecount": 319, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c48aec30eef619c41c91474d45d92612bc2ba532", + "difficulty": "ANOTHER", + "songID": 739, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15031, + "notecount": 945, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7950eef3fc36285f9f5d9686265634ab44113b79", + "difficulty": "HYPER", + "songID": 739, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15031, + "notecount": 631, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1812e54b8697534b27485a3d04145c9eb185e494", + "difficulty": "NORMAL", + "songID": 739, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15031, + "notecount": 363, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1fa867e0d4bfc9f2fc106f9fb8db1f8608a07d3", + "difficulty": "ANOTHER", + "songID": 740, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15032, + "notecount": 1335, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "472f2268ea879fea9a3f2339b3345cb5c0197bb2", + "difficulty": "HYPER", + "songID": 740, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15032, + "notecount": 1024, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "622e0fe540103b8a6160f88fe9215d6e63f934fd", + "difficulty": "NORMAL", + "songID": 740, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15032, + "notecount": 607, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83fb9179a3b96b9e6ad22a4ef9ea78a4e3dd1fa8", + "difficulty": "ANOTHER", + "songID": 740, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15032, + "notecount": 1443, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": true + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "056065388a1c63bd9f2d7d182c75aa4d52426537", + "difficulty": "HYPER", + "songID": 740, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15032, + "notecount": 1176, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb17bfd609a3985586c726c977a121506c506be9", + "difficulty": "LEGGENDARIA", + "songID": 740, + "playtype": "SP", + "levelNum": 0, + "level": "12", + "data": { + "inGameID": 15032, + "notecount": 1774, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea4298697fd4cf7cd072d9fd2622cd793c3726d2", + "difficulty": "NORMAL", + "songID": 740, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15032, + "notecount": 609, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28d35394ce9e5fc8d659ee419502c3dffe89c981", + "difficulty": "HYPER", + "songID": 741, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15033, + "notecount": 858, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a70b6dcead51167f491b1a70fde4fd5b88438a7e", + "difficulty": "NORMAL", + "songID": 741, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15033, + "notecount": 519, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f702491059ad11db0702f0e4582630b3d778fa06", + "difficulty": "ANOTHER", + "songID": 741, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15033, + "notecount": 1266, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ded4af4280b7c95c8aa98a3b14b7ed4afe39c70", + "difficulty": "HYPER", + "songID": 741, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15033, + "notecount": 843, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c3bf5a8a719113caa2cb7b805b0dc8d4d89a433", + "difficulty": "NORMAL", + "songID": 741, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15033, + "notecount": 524, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1fa27a76fb2cc482bfec832c48f4ba8e205349fc", + "difficulty": "ANOTHER", + "songID": 742, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15034, + "notecount": 1081, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bcfb1d1fc4e09b25f20feb463522e02da70408d8", + "difficulty": "HYPER", + "songID": 742, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15034, + "notecount": 710, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a22f6d7f87872029daf43bc339f77d6ab2dd3455", + "difficulty": "NORMAL", + "songID": 742, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15034, + "notecount": 469, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f15a304660b6a84185fe3eab5185452da81d1452", + "difficulty": "ANOTHER", + "songID": 742, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15034, + "notecount": 952, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef260459593b46fca8c3933f3aaf2777a5eb495f", + "difficulty": "HYPER", + "songID": 742, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15034, + "notecount": 648, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b7b2763f7f5a5bdc8b0679e6e133c92e84055fa7", + "difficulty": "NORMAL", + "songID": 742, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15034, + "notecount": 437, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4700c0e6a72a15bb296a226ce39f058cacd08f68", + "difficulty": "HYPER", + "songID": 743, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15035, + "notecount": 727, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8dab6c546eb5883388dad25600c7a7dd782008e1", + "difficulty": "NORMAL", + "songID": 743, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15035, + "notecount": 387, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "127809fa31f8a792ad69473e86a1eeff283d0c74", + "difficulty": "ANOTHER", + "songID": 743, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15035, + "notecount": 988, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce430b44b16dd22ec8f6acec65c73de770821cbf", + "difficulty": "HYPER", + "songID": 743, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15035, + "notecount": 727, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "737968893d1ec92abb8c1404bdf77c61e64e41fd", + "difficulty": "NORMAL", + "songID": 743, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15035, + "notecount": 387, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "96aabf52e7018721ebfb559f6469253b814337c9", + "difficulty": "ANOTHER", + "songID": 744, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15036, + "notecount": 1386, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "23eee2d7a0c7382b1dd7e0d6e2b09413f6f287b5", + "difficulty": "HYPER", + "songID": 744, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15036, + "notecount": 807, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "26-omni", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60f449def2638e9bf2e858f4b266571efd4cb0c0", + "difficulty": "NORMAL", + "songID": 744, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15036, + "notecount": 404, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "26-omni", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8b2f16283e7f9717df45799a7fb29613626f2b8", + "difficulty": "ANOTHER", + "songID": 744, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15036, + "notecount": 1264, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "26-omni", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0172dc2055f2b1e9b9a80c063841f2cd3de0803", + "difficulty": "HYPER", + "songID": 744, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15036, + "notecount": 818, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "26-omni", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a289fe46de9cfe5cbdda2b979deae14384c3d944", + "difficulty": "NORMAL", + "songID": 744, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15036, + "notecount": 416, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "26-omni", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eed71981f4ed21ef54cefa8a0e291da476bd77a9", + "difficulty": "HYPER", + "songID": 745, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15037, + "notecount": 894, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ebfdcd7ecfa30f83752028e7a74160195fa723c", + "difficulty": "NORMAL", + "songID": 745, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15037, + "notecount": 565, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f04361571ee12d9c277a02f869e0508305f665c", + "difficulty": "ANOTHER", + "songID": 745, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15037, + "notecount": 1073, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4aadcceaed2305ed59e32c266303c61bdf4332b", + "difficulty": "HYPER", + "songID": 745, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15037, + "notecount": 845, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "137ebb90a495630f681809267313f2a22cf589e1", + "difficulty": "NORMAL", + "songID": 745, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15037, + "notecount": 542, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2927b6f446016a95c4817d7fac8bc36ea5de9559", + "difficulty": "ANOTHER", + "songID": 746, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15038, + "notecount": 1527, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12205985c7cc9cde3d7ca674b35417a9571af5fb", + "difficulty": "HYPER", + "songID": 746, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15038, + "notecount": 1019, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "ca23ff007ef3d7de0867d1af16837348ce5dec13", + "difficulty": "LEGGENDARIA", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 746, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 15038, + "arcChartID": null, + "notecount": 2032, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "82dd101015502d5645470316d9a4e04954e5b691", + "difficulty": "NORMAL", + "songID": 746, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15038, + "notecount": 597, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "293679f8eb416ddaefff758e4b9b72cb580afd47", + "difficulty": "ANOTHER", + "songID": 746, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15038, + "notecount": 924, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a0964b648e0af4a7c407025ec3f4eef7b573163", + "difficulty": "HYPER", + "songID": 746, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15038, + "notecount": 592, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "8e4707952dc3face1fcbf42838104569a3e7d1ea", + "difficulty": "LEGGENDARIA", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 746, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 15038, + "arcChartID": null, + "notecount": 1558, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "31b43f65446ccdc67a3e835c5759a62db399cf77", + "difficulty": "NORMAL", + "songID": 746, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15038, + "notecount": 451, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3b3ab2b3e6af57d90f667e865b6cb204ae390117", + "difficulty": "ANOTHER", + "songID": 747, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15039, + "notecount": 1356, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f7ffb6d6c33b0924ec7951db724405472a032f45", + "difficulty": "HYPER", + "songID": 747, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15039, + "notecount": 1150, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7103ae2b905590f97066dcc2bef5217f6b3e9ab0", + "difficulty": "NORMAL", + "songID": 747, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15039, + "notecount": 681, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ec7890ebdfe8f5a610903ca04a1f08cb883c09a", + "difficulty": "ANOTHER", + "songID": 747, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15039, + "notecount": 1449, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a4db09d4aa621927773a1ae5074fee68e7bfad4c", + "difficulty": "HYPER", + "songID": 747, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15039, + "notecount": 1144, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "65905b06e15630b35f4932fc1759dd7dca904fae", + "difficulty": "NORMAL", + "songID": 747, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15039, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4d1e4042e3ebc414a1892f1247eb0acb065b25e4", + "difficulty": "ANOTHER", + "songID": 748, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15040, + "notecount": 831, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9aa5088742b2fb6ab64cde39841d15c908e52fd2", + "difficulty": "HYPER", + "songID": 748, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15040, + "notecount": 592, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52cb46ed755102227cf0715283499dd9ce0ab78b", + "difficulty": "NORMAL", + "songID": 748, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15040, + "notecount": 383, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b35f1250a427cfb3f47c0e1d894af52dd327e3d", + "difficulty": "ANOTHER", + "songID": 748, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15040, + "notecount": 766, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32326f683f12da88a6ac802a26ff1ac826843428", + "difficulty": "HYPER", + "songID": 748, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15040, + "notecount": 565, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b64966c307ac416f14f5224df4e47fae7cfa44e2", + "difficulty": "NORMAL", + "songID": 748, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15040, + "notecount": 335, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "565c0b0fac31c3b412f16b605b0e910cbe0c52ff", + "difficulty": "ANOTHER", + "songID": 749, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15041, + "notecount": 1717, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83d754c5db5a820a51dd7b8fe930db9d3f27f0ef", + "difficulty": "HYPER", + "songID": 749, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15041, + "notecount": 1063, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d6cd5f6ebda4d8e1c31ee57fa71bba21b9dfce79", + "difficulty": "NORMAL", + "songID": 749, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15041, + "notecount": 492, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b92745033c5e632164542e6968f4eb3eb2eb462", + "difficulty": "ANOTHER", + "songID": 749, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15041, + "notecount": 1215, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "96c712e055aa71dae3a2b4386b737eac328773b8", + "difficulty": "HYPER", + "songID": 749, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15041, + "notecount": 902, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "70563b4dff5bcb51933a5690e5f123a1a03e4de2", + "difficulty": "LEGGENDARIA", + "songID": 749, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15041, + "notecount": 1679, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b22d840bc8587aa2e112576538a5f70c8054657f", + "difficulty": "NORMAL", + "songID": 749, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15041, + "notecount": 479, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35a3cdbc25e86310240cb91b694594675639c1ad", + "difficulty": "ANOTHER", + "songID": 750, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15042, + "notecount": 835, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e55e7e04c2f5f84ec7dccf2c070e4c2b4f40b581", + "difficulty": "HYPER", + "songID": 750, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15042, + "notecount": 585, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60b1e97a8a759b2c210d2723d6d35e07e33a2867", + "difficulty": "NORMAL", + "songID": 750, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15042, + "notecount": 380, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54fe4ccdeb5bf29019fc6bca2801e50b445f7144", + "difficulty": "ANOTHER", + "songID": 750, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15042, + "notecount": 841, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "772756db2182cfbca706ee62357ebd2539f81c16", + "difficulty": "BEGINNER", + "songID": 750, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 15042, + "notecount": 116, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35c956f0983132b3b897d5378a7f9a3504353f59", + "difficulty": "HYPER", + "songID": 750, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15042, + "notecount": 586, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9556951e36ff70e349eb313747ba9f0ce6fc3deb", + "difficulty": "NORMAL", + "songID": 750, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15042, + "notecount": 380, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b2083cfd977c8752026359a1215540877d790701", + "difficulty": "ANOTHER", + "songID": 751, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15043, + "notecount": 1356, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "adcbcdad1cfc87ebb1275cd8cb6d9ac95af0e432", + "difficulty": "HYPER", + "songID": 751, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15043, + "notecount": 842, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "314f12abf33e982635d1c209ab049f079522f9fb", + "difficulty": "NORMAL", + "songID": 751, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15043, + "notecount": 599, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8687e10cb121f1d88fd764a3052e56fc1dc05775", + "difficulty": "ANOTHER", + "songID": 751, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15043, + "notecount": 1022, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0493b956a14beca895b3f0b5e2d7e3471387ee63", + "difficulty": "BEGINNER", + "songID": 751, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 15043, + "notecount": 162, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "64c89f9d692183553da69dd97b89c8522793a28d", + "difficulty": "HYPER", + "songID": 751, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15043, + "notecount": 800, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d5598cb6484a75d23013240fb20e4a5721f37854", + "difficulty": "NORMAL", + "songID": 751, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15043, + "notecount": 596, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32f329368ef4755f5331aba4fd237b8f2fe143dd", + "difficulty": "ANOTHER", + "songID": 752, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15044, + "notecount": 1016, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f7e5380757a414b8bdd2659fc2d66f97be6fc72", + "difficulty": "HYPER", + "songID": 752, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15044, + "notecount": 805, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4419e4fa0c118c108285d25617fb555a43da77e9", + "difficulty": "NORMAL", + "songID": 752, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15044, + "notecount": 545, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83e1a59adc0bd616d8756a3313d0f4777b58a770", + "difficulty": "ANOTHER", + "songID": 752, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15044, + "notecount": 963, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa601cf997186df29f87e2b0cff563ccea4480a9", + "difficulty": "HYPER", + "songID": 752, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15044, + "notecount": 722, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0dc9695c75c6a0eb21c1ccd5550a2c0642365741", + "difficulty": "NORMAL", + "songID": 752, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15044, + "notecount": 548, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6531115921ad116a8d97c46ff7421b1c4c588435", + "difficulty": "ANOTHER", + "songID": 753, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15045, + "notecount": 910, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b2d6a1f5003275618bae9248d8e36c9b9f8564d3", + "difficulty": "HYPER", + "songID": 753, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15045, + "notecount": 616, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5925ee9e25da5dd48a709acc7b4ca817d4ee7aa3", + "difficulty": "LEGGENDARIA", + "songID": 753, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15045, + "notecount": 1326, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bdae2308e9dd024197699abeced4f7735949585a", + "difficulty": "NORMAL", + "songID": 753, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 15045, + "notecount": 329, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd5b930ea606a039e65ef9ad91bc014d3d2004d9", + "difficulty": "ANOTHER", + "songID": 753, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15045, + "notecount": 762, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "397a6c03c648a2632869b581801eff579c7209d9", + "difficulty": "HYPER", + "songID": 753, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15045, + "notecount": 599, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aba1ba5d09a6e00670cb6c13862838b95fc314bb", + "difficulty": "LEGGENDARIA", + "songID": 753, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15045, + "notecount": 1300, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f3cd12554dc33c2503b93dc50dd46f9dde61057d", + "difficulty": "NORMAL", + "songID": 753, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15045, + "notecount": 386, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cc50864854fc117cca2004d8dc1c0714ee410c85", + "difficulty": "ANOTHER", + "songID": 754, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15046, + "notecount": 986, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff83ed4c1838e8b588bd63ac37bab0da7809a68c", + "difficulty": "HYPER", + "songID": 754, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15046, + "notecount": 602, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef6c4c8b59320a15348c4a2ca717544261928952", + "difficulty": "NORMAL", + "songID": 754, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15046, + "notecount": 399, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2cd63358df72540cbc00123daeec255df1c19da", + "difficulty": "ANOTHER", + "songID": 754, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15046, + "notecount": 990, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5bef0ccf74e3b48bdbedfaef93c04e84790ac3a0", + "difficulty": "HYPER", + "songID": 754, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15046, + "notecount": 736, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7bb5aaa144522093242e654e7486b2e785fcb2ee", + "difficulty": "NORMAL", + "songID": 754, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15046, + "notecount": 424, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "71023a9ec8c1e7789d1ad9417d0627d496fa845f", + "difficulty": "ANOTHER", + "songID": 755, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15047, + "notecount": 1306, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af37532ab8cadce6350041c564d65c52c2405b2b", + "difficulty": "HYPER", + "songID": 755, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15047, + "notecount": 862, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54ffc4463bed1ed4aec0b7e833d920d33a9e09f0", + "difficulty": "NORMAL", + "songID": 755, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15047, + "notecount": 404, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce13f6b8010b7dfe27a9ce604b441a84e52cd7cb", + "difficulty": "ANOTHER", + "songID": 755, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15047, + "notecount": 1159, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "217a4ee89c447edb429566177fa42e7189403aba", + "difficulty": "HYPER", + "songID": 755, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15047, + "notecount": 861, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "62881fe8716d3cce18f485265490c6d48ab26ca8", + "difficulty": "NORMAL", + "songID": 755, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15047, + "notecount": 480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "738b67febbc2e8f11029b93df222a23150053cb2", + "difficulty": "ANOTHER", + "songID": 757, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15048, + "notecount": 916, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b047825fefe94ca9268b99c3fbd0732154db9f88", + "difficulty": "HYPER", + "songID": 757, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15048, + "notecount": 669, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4840df1789070fef85bae96e3adf724a920504d8", + "difficulty": "NORMAL", + "songID": 757, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15048, + "notecount": 416, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52ecbf02c1eae5b707a63bea07552390d8d17d90", + "difficulty": "ANOTHER", + "songID": 757, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15048, + "notecount": 949, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f7c14287e59c6cc41cd4f6296a51694b6a5c8249", + "difficulty": "BEGINNER", + "songID": 757, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 15048, + "notecount": 173, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e94e9629fd59705ba72d05d27fe63819de588a1", + "difficulty": "HYPER", + "songID": 757, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15048, + "notecount": 650, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a0a95b573ceb727b5b70615fa8ff2afc78fccd1", + "difficulty": "NORMAL", + "songID": 757, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15048, + "notecount": 411, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b8c6cb2d76c161632739bc1b2ace50f430cc3d0d", + "difficulty": "ANOTHER", + "songID": 758, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15049, + "notecount": 1532, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e21e8d3529ca5b00fa1727cf33c32d80734024e", + "difficulty": "HYPER", + "songID": 758, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15049, + "notecount": 989, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "75a7b2dcd1f4f6f09a64891068283d90638f0ba2", + "difficulty": "NORMAL", + "songID": 758, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15049, + "notecount": 600, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d2c2945e23caaeecd6a74c62aada69e4722617e", + "difficulty": "ANOTHER", + "songID": 758, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15049, + "notecount": 1395, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": true + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3e7892b3e391ff31720747ae5abd0a95fafa52d4", + "difficulty": "HYPER", + "songID": 758, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15049, + "notecount": 954, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11, + "individualDifference": true + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7a32c7c8026af6e6662cddefb63ab9de26c11284", + "difficulty": "NORMAL", + "songID": 758, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15049, + "notecount": 558, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87948fe13d44200f187d66b1cf631da2e0c18759", + "difficulty": "ANOTHER", + "songID": 759, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15050, + "notecount": 929, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fdc552dbe663dc2c12acbd779131fbe491902774", + "difficulty": "HYPER", + "songID": 759, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15050, + "notecount": 762, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc20a874e8c2252be7f69364f72017d41fc83675", + "difficulty": "NORMAL", + "songID": 759, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15050, + "notecount": 333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1249c98f603f2163c4bd1a7222121757a563789c", + "difficulty": "ANOTHER", + "songID": 759, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15050, + "notecount": 935, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b32b6f0704a90cee7ab5a24015d18bb31dfd3de7", + "difficulty": "HYPER", + "songID": 759, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15050, + "notecount": 842, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3cb1e657508d65ccc7374bcaa8a14e0b627817dd", + "difficulty": "NORMAL", + "songID": 759, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15050, + "notecount": 353, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e6a3661e2131b0db0f32b11c2decd470e80be16d", + "difficulty": "ANOTHER", + "songID": 760, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15051, + "notecount": 998, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd2b1e27067641e9750258551c80a13e891f0c3a", + "difficulty": "HYPER", + "songID": 760, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15051, + "notecount": 731, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "809b65adc715a672875327665ae1ac988b76994f", + "difficulty": "NORMAL", + "songID": 760, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15051, + "notecount": 480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "23550559f2a3f836bc6c62e1de166119d4bbcb54", + "difficulty": "ANOTHER", + "songID": 760, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15051, + "notecount": 827, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e8875810b6b895b37e028a0f9a75ad14d17e28b", + "difficulty": "BEGINNER", + "songID": 760, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 15051, + "notecount": 103, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02ffbe90fbf27671d9a61a08f02c15e0a97f13b1", + "difficulty": "HYPER", + "songID": 760, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15051, + "notecount": 577, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2326399328cc7c39ba52a27b3d4ec418b62284e", + "difficulty": "NORMAL", + "songID": 760, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15051, + "notecount": 375, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f5e8d025a1bf3f9f0a05f487c10ae9d2e14b229", + "difficulty": "ANOTHER", + "songID": 761, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15052, + "notecount": 1188, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": false, + "versions": [ + "27-omni", + "27" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "69cdcb90d62798ba22c75bf045e86e77825ddd98", + "difficulty": "ANOTHER", + "songID": 761, + "playtype": "DP", + "levelNum": 11, + "level": "8", + "data": { + "inGameID": 15052, + "notecount": 1187, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28", + "28-omni", + "28", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d16a3dd75bee18fc5036444ef36ffe3ffc3c493", + "difficulty": "HYPER", + "songID": 761, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15052, + "notecount": 853, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": false, + "versions": [ + "27-omni", + "27" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b8d2f4c9a1498246c040a4f6935458cf98bc803", + "difficulty": "HYPER", + "songID": 761, + "playtype": "DP", + "levelNum": 9, + "level": "8", + "data": { + "inGameID": 15052, + "notecount": 839, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28", + "28-omni", + "28", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5bd3d05ebd15ecf56bee997d775113eb3da5551e", + "difficulty": "NORMAL", + "songID": 761, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15052, + "notecount": 463, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": false, + "versions": [ + "27-omni", + "27" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04e3cb8c5b5542e0de7d657d068c9a553a6e6936", + "difficulty": "NORMAL", + "songID": 761, + "playtype": "DP", + "levelNum": 5, + "level": "8", + "data": { + "inGameID": 15052, + "notecount": 477, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28", + "28-omni", + "28", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8acda911bc9311423d7dc9631afec63dfc1a92ed", + "difficulty": "ANOTHER", + "songID": 761, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15052, + "notecount": 998, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": false, + "versions": [ + "27-omni", + "27" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "052e2bda7854b7fb3d218b1e25eeefa04b934c0a", + "difficulty": "ANOTHER", + "songID": 761, + "playtype": "SP", + "levelNum": 11, + "level": "8", + "data": { + "inGameID": 15052, + "notecount": 1202, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28", + "28-omni", + "28", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d3f8869bc6675d568c76d518c1ddd828afaf58c6", + "difficulty": "HYPER", + "songID": 761, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15052, + "notecount": 865, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": false, + "versions": [ + "27-omni", + "27" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84375665ccc91a7f6e418322d914defe3083fdf7", + "difficulty": "HYPER", + "songID": 761, + "playtype": "SP", + "levelNum": 9, + "level": "8", + "data": { + "inGameID": 15052, + "notecount": 864, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28", + "28-omni", + "28", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c97eb55e79431d2120814593ee8848367d5fb13c", + "difficulty": "NORMAL", + "songID": 761, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15052, + "notecount": 463, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": false, + "versions": [ + "27-omni", + "27" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97b475355ed62750036d5374d9fcd594c996a10a", + "difficulty": "NORMAL", + "songID": 761, + "playtype": "SP", + "levelNum": 5, + "level": "8", + "data": { + "inGameID": 15052, + "notecount": 477, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28", + "28-omni", + "28", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68b1a94ab1f2946dfbb72fcdcb340bb37b55c559", + "difficulty": "ANOTHER", + "songID": 762, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15054, + "notecount": 1011, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d2dcf0a9ba97f96195fdde39ea881e499ab758b", + "difficulty": "HYPER", + "songID": 762, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15054, + "notecount": 801, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "469e7a5ac27a51e6ce181feca3dd89c626f683ab", + "difficulty": "NORMAL", + "songID": 762, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15054, + "notecount": 592, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "57a6c7b3d8de85e02d481d5ca0e469610528a48b", + "difficulty": "ANOTHER", + "songID": 762, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15054, + "notecount": 1029, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "61322a1d7dc669604c9a8621b60eeb887e60dbd6", + "difficulty": "BEGINNER", + "songID": 762, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 15054, + "notecount": 169, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "adc64139449567f085bcd848410ce8e21d8facc4", + "difficulty": "HYPER", + "songID": 762, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15054, + "notecount": 804, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dbee1688a1e8044879bab95554bdb57c5c712d79", + "difficulty": "LEGGENDARIA", + "songID": 762, + "playtype": "SP", + "levelNum": 0, + "level": "12", + "data": { + "inGameID": 15054, + "notecount": 1597, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd010cb30656b8e5b1497abb10f03ca2b7ac1cf8", + "difficulty": "NORMAL", + "songID": 762, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15054, + "notecount": 510, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "543133e79cdb7d471ed1af8e619bfb431e659be1", + "difficulty": "ANOTHER", + "songID": 763, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15055, + "notecount": 1069, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f7800451d32f47acc110b8cade12edb6a5cc30fc", + "difficulty": "HYPER", + "songID": 763, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15055, + "notecount": 790, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ad711c3f6ed3380f8f46b4756fd2b713b726706", + "difficulty": "NORMAL", + "songID": 763, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15055, + "notecount": 407, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "be1270f1646505c247a04bd057a8373f0f87eec3", + "difficulty": "ANOTHER", + "songID": 763, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15055, + "notecount": 1069, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b83b48401a4352c533bfefde2f19b87815e88394", + "difficulty": "BEGINNER", + "songID": 763, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 15055, + "notecount": 102, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89d80db1a3a73e904c321176d308e4f3fe4c8775", + "difficulty": "HYPER", + "songID": 763, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15055, + "notecount": 790, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4e64ab99ea4ab52e626e338f811116dce37dfa8", + "difficulty": "NORMAL", + "songID": 763, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15055, + "notecount": 407, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1b4304987d1680efc8f6e797f27de55d9521cae", + "difficulty": "ANOTHER", + "songID": 764, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15056, + "notecount": 1537, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df109ff49cab15005c97c9a628f9a19bf2b42ce3", + "difficulty": "HYPER", + "songID": 764, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15056, + "notecount": 1073, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ef075d088b7f40ddf05462f97b1d4ad0b217eaf", + "difficulty": "NORMAL", + "songID": 764, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15056, + "notecount": 575, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d9844d87aa6db1e385f7757f8c927745356838d", + "difficulty": "ANOTHER", + "songID": 764, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15056, + "notecount": 1345, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2edbdf3d7cf3f5f1916f1776620b916b3fb484a5", + "difficulty": "HYPER", + "songID": 764, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15056, + "notecount": 1097, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "653a26e4346d9a1948e64c9155106d7560f256db", + "difficulty": "NORMAL", + "songID": 764, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15056, + "notecount": 575, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "106cb95e2aa2dc159e4bdac5a157191741cbb91b", + "difficulty": "ANOTHER", + "songID": 766, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15057, + "notecount": 1241, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd30e291c5c3582fd9598e29748a1ecfa455110a", + "difficulty": "HYPER", + "songID": 766, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15057, + "notecount": 1040, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de365cb96bcff8853f5206ebc3e2434ffb0f3f1f", + "difficulty": "NORMAL", + "songID": 766, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15057, + "notecount": 681, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d9a2f60d1ea799eec95e43ddc0cb41bea9f149a", + "difficulty": "ANOTHER", + "songID": 766, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15057, + "notecount": 1279, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "cfbc3ecbeb21bc81718e58f9121b031b939659d0", + "difficulty": "HYPER", + "songID": 766, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15057, + "notecount": 1079, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1af40cda8747f9e0b2f385faf2e547c146195c92", + "difficulty": "NORMAL", + "songID": 766, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15057, + "notecount": 697, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87a1b687a63237102df78f0f53d0bafd270661df", + "difficulty": "ANOTHER", + "songID": 767, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15058, + "notecount": 1418, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc4426eca130cd1e9a06999a1e460d011d6ec26a", + "difficulty": "HYPER", + "songID": 767, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15058, + "notecount": 1249, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f2815a52c738932f2ca74fcd0892bcefb806830", + "difficulty": "NORMAL", + "songID": 767, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15058, + "notecount": 733, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ecd9b93611e7686c7c777f2a8005fff7140ecc39", + "difficulty": "ANOTHER", + "songID": 767, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15058, + "notecount": 1429, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "70067ae617c0f5f75d60af45784f821e6ad3d186", + "difficulty": "HYPER", + "songID": 767, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15058, + "notecount": 1105, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3455d5ad22fe13b530e6b2264c45e1bc4da8a543", + "difficulty": "NORMAL", + "songID": 767, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15058, + "notecount": 679, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa999ed4e904cb0bdf8d5a2464b1e330184266f5", + "difficulty": "ANOTHER", + "songID": 768, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15059, + "notecount": 1656, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4c4a8bad850eb0b64da624079eab6b723a0b9ac", + "difficulty": "HYPER", + "songID": 768, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15059, + "notecount": 1199, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7400d595200d365b2586ed35a40aa5950a6e34f8", + "difficulty": "NORMAL", + "songID": 768, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15059, + "notecount": 831, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0e369d2eb54194733e31f58d005cb1b2356b846", + "difficulty": "ANOTHER", + "songID": 768, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15059, + "notecount": 1293, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "88507eae45a8a75fe6eae7fcd4e46a667f527b02", + "difficulty": "HYPER", + "songID": 768, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15059, + "notecount": 983, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c08ff0aee53174bc7fe319ec81013532df80f34", + "difficulty": "NORMAL", + "songID": 768, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15059, + "notecount": 680, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a40db9e2bccdd15cb505d10c6fcf8cf9bca58b1c", + "difficulty": "ANOTHER", + "songID": 769, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15061, + "notecount": 1171, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "538559d8b942e2d7976be5f8036a24415ed1765b", + "difficulty": "HYPER", + "songID": 769, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15061, + "notecount": 953, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "be5a0da36ed7b2060175128b11f9ecd44e97b714", + "difficulty": "LEGGENDARIA", + "songID": 769, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15061, + "notecount": 1583, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "271cb247f23524c6a562b87458041507a2940e0b", + "difficulty": "NORMAL", + "songID": 769, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 15061, + "notecount": 536, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e733d13a76902ac45d55fdf2bd4e774611459d0a", + "difficulty": "ANOTHER", + "songID": 769, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15061, + "notecount": 1280, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "099c31b7581ef35d286705a9ca39bce5ef9c28e6", + "difficulty": "HYPER", + "songID": 769, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15061, + "notecount": 1019, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c17ccf05d686305cf0df4ca63a602030f2f91401", + "difficulty": "LEGGENDARIA", + "songID": 769, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15061, + "notecount": 1655, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2978919fa59b7b1423fb33fccbb7ab7934687b45", + "difficulty": "NORMAL", + "songID": 769, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15061, + "notecount": 555, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da6ef300f9fb054a9152a0166187d85ece596d3f", + "difficulty": "ANOTHER", + "songID": 776, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15203, + "notecount": 1810, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "215903000c77fe3324ab4b6984fff4d71febe218", + "difficulty": "HYPER", + "songID": 776, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15203, + "notecount": 1267, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af5b6ce77f46181eb7be1bbf0ec69f9521417e75", + "difficulty": "NORMAL", + "songID": 776, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15203, + "notecount": 706, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "335e9d678407cc5d796623e0a34c04e669bd785c", + "difficulty": "ANOTHER", + "songID": 776, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15203, + "notecount": 1593, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "893f2b7b3e87b2d75e859fac7c070f6ee1276a98", + "difficulty": "HYPER", + "songID": 776, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15203, + "notecount": 1299, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9af14b0c8fcaa85bf61573af6c4e22801fa4351", + "difficulty": "NORMAL", + "songID": 776, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15203, + "notecount": 498, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6e3c749271bd6c6306ba82cf327a2e9024708992", + "difficulty": "ANOTHER", + "songID": 777, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15206, + "notecount": 520, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c3ac4c6f9a4bfcd234f5df9a6299416ba789ef5d", + "difficulty": "HYPER", + "songID": 777, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15206, + "notecount": 384, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a64b5bd94236a3b6ecea88c49c0e01f405240d37", + "difficulty": "NORMAL", + "songID": 777, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15206, + "notecount": 359, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c3fad5c16ed7149840cee39a5528d8062ad9540", + "difficulty": "ANOTHER", + "songID": 777, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15206, + "notecount": 503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d1c000d23386973f6651693205db5214d6ed620", + "difficulty": "HYPER", + "songID": 777, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15206, + "notecount": 385, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d7985c533d550b6381a0f839ab23a0f1d25e6c7b", + "difficulty": "NORMAL", + "songID": 777, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15206, + "notecount": 333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "62f3bb329c824a81eec814ec4b3e87240046d084", + "difficulty": "ANOTHER", + "songID": 778, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15210, + "notecount": 1328, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0074b00ed2ec66ff9021a45530b9c9d43e591ca7", + "difficulty": "HYPER", + "songID": 778, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15210, + "notecount": 1045, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e516d9249098aa9ad3987d2241954eac98697e0", + "difficulty": "NORMAL", + "songID": 778, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15210, + "notecount": 466, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3dca0b86b02c5c1a3381654af633aa784adc48d2", + "difficulty": "ANOTHER", + "songID": 778, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15210, + "notecount": 1407, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "120a1704005b7e27ee424f0035e9080ecbec73fd", + "difficulty": "HYPER", + "songID": 778, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15210, + "notecount": 1052, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "deada39cc7bc4e3643a53131f46895d68717cc96", + "difficulty": "NORMAL", + "songID": 778, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 15210, + "notecount": 499, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1411aa37a047f659ca9049258c4353ca7319663e", + "difficulty": "ANOTHER", + "songID": 779, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15214, + "notecount": 1698, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "99687a0effeeee6472167dc59a854163d6ea62cc", + "difficulty": "HYPER", + "songID": 779, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15214, + "notecount": 1141, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d02804d855a3f2d3553da5150fa4560da472630d", + "difficulty": "NORMAL", + "songID": 779, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15214, + "notecount": 719, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73d46259472e568658f193a2acb68209cf026873", + "difficulty": "ANOTHER", + "songID": 779, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15214, + "notecount": 1367, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "08be4f30124ba30d72da6a2d67bb7e99fa3a1427", + "difficulty": "HYPER", + "songID": 779, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15214, + "notecount": 1008, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d61605cc0c69e250764f1e357e5f124f0a65d093", + "difficulty": "NORMAL", + "songID": 779, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15214, + "notecount": 547, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "67f0713ae226e4fe073dbfb6d04605faf14cae7f", + "difficulty": "ANOTHER", + "songID": 780, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15216, + "notecount": 837, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6358e821d93eff9b667ba461ddded4a470ba8ce9", + "difficulty": "HYPER", + "songID": 780, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15216, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9285d5590993bc9b4d3f73db73b1f017765ec7d2", + "difficulty": "NORMAL", + "songID": 780, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 15216, + "notecount": 392, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b715499b54f2bbe2831bfee2fb940c39094cb783", + "difficulty": "ANOTHER", + "songID": 780, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15216, + "notecount": 870, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b2aeb24569c9e51ac58b1645f9ab051092584da", + "difficulty": "HYPER", + "songID": 780, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 15216, + "notecount": 665, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3dc1a3aa5d171f116dd041823f9aedc1591ed661", + "difficulty": "NORMAL", + "songID": 780, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 15216, + "notecount": 300, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6666a2e233f344c5a6d4d4a4070ad572e373bdd9", + "difficulty": "ANOTHER", + "songID": 781, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16000, + "notecount": 1235, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0950dcd6deaf04ab260d97c25169856b7b4918b5", + "difficulty": "HYPER", + "songID": 781, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16000, + "notecount": 805, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "849b580aaf22c4c1858567f2257acb403d3fa1d5", + "difficulty": "LEGGENDARIA", + "songID": 781, + "playtype": "DP", + "levelNum": 0, + "level": "12", + "data": { + "inGameID": 16000, + "notecount": 1392, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "37e521252f661dde274c38d54f19c1cd8fdd6ad9", + "difficulty": "NORMAL", + "songID": 781, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16000, + "notecount": 493, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ca476dcaf0e1d6e799324da771a796a843f4f97", + "difficulty": "ANOTHER", + "songID": 781, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16000, + "notecount": 1221, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "9f99251bf88c0efecb6cbcc62d5cb64be4c82a9d", + "difficulty": "BEGINNER", + "songID": 781, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 16000, + "notecount": 123, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "abead92cd344edaeadd3dec06dfe292aba4c6903", + "difficulty": "HYPER", + "songID": 781, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16000, + "notecount": 894, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5895d2de346885965cbdbe2ede9c38737d2447ff", + "difficulty": "LEGGENDARIA", + "songID": 781, + "playtype": "SP", + "levelNum": 0, + "level": "12", + "data": { + "inGameID": 16000, + "notecount": 1543, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "269ca4a90da76230e9c1e9fdb7199dd0a9007281", + "difficulty": "NORMAL", + "songID": 781, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16000, + "notecount": 564, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d92b006b31f00d1327656d5c5cea089d5923eaf0", + "difficulty": "ANOTHER", + "songID": 782, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16001, + "notecount": 1086, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a038c1851351a5d5e76a56cf8f91bc5b80c97a1", + "difficulty": "HYPER", + "songID": 782, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16001, + "notecount": 838, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "151e0d8e76fa27a73214e02c25d62da7dcdd550f", + "difficulty": "LEGGENDARIA", + "songID": 782, + "playtype": "DP", + "levelNum": 0, + "level": "11", + "data": { + "inGameID": 16001, + "notecount": 1447, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b763aa8c260c8df23c1cccb7dd2b0db8746eae4", + "difficulty": "NORMAL", + "songID": 782, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16001, + "notecount": 503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "329006b23d21264f7dd660d72e19b73b232e95d4", + "difficulty": "ANOTHER", + "songID": 782, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16001, + "notecount": 988, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "507b2342d683a10cac317346fd5c743b129fb786", + "difficulty": "BEGINNER", + "songID": 782, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 16001, + "notecount": 129, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "228a82dc2ef6bb9da2bb1322fed460e695d169e8", + "difficulty": "HYPER", + "songID": 782, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16001, + "notecount": 765, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9712d2c03f0b62e23e2f0f4bf3278038ed8e3af2", + "difficulty": "LEGGENDARIA", + "songID": 782, + "playtype": "SP", + "levelNum": 0, + "level": "10", + "data": { + "inGameID": 16001, + "notecount": 1258, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c21e6fb392ad51103e8d158c7dfc076ca8981ec0", + "difficulty": "NORMAL", + "songID": 782, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16001, + "notecount": 454, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84a2448699a83d56f86aab376fc62b5bec8f2db8", + "difficulty": "ANOTHER", + "songID": 783, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16002, + "notecount": 1519, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4d426dfa65e945b55e459739aad8cbe47feae822", + "difficulty": "HYPER", + "songID": 783, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16002, + "notecount": 1189, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a14b381877062b3d09bddc6641906a2aaccce969", + "difficulty": "LEGGENDARIA", + "songID": 783, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16002, + "notecount": 1986, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "20ea7a1e7a89724a727195bb7f904a3ac8061a6d", + "difficulty": "NORMAL", + "songID": 783, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16002, + "notecount": 764, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b90096b4101ff9faa01630e0e09019be9d1884e2", + "difficulty": "ANOTHER", + "songID": 783, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16002, + "notecount": 1810, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "cdf622b7e2d1950dc900a362a1102c5c87a67548", + "difficulty": "HYPER", + "songID": 783, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16002, + "notecount": 1205, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf64b4afd46c7ea807434c50fa4c43ba674fcea7", + "difficulty": "LEGGENDARIA", + "songID": 783, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16002, + "notecount": 2360, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "88c089b03ad9dbfbeb081da3fc49d7f431576ede", + "difficulty": "NORMAL", + "songID": 783, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16002, + "notecount": 615, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c27e35a53f0eb5e5c30c1e5fc66a345708867028", + "difficulty": "ANOTHER", + "songID": 784, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16003, + "notecount": 1811, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d5b1c6d8ab0b66710a59a901b7cb3e76e7010663", + "difficulty": "HYPER", + "songID": 784, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16003, + "notecount": 1220, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "751516f093b8739c8afdad5943e563f85aa0fd22", + "difficulty": "NORMAL", + "songID": 784, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16003, + "notecount": 716, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d559ea992fa238fed1d089689cd8319e134bd5d", + "difficulty": "ANOTHER", + "songID": 784, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16003, + "notecount": 1773, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f17367f08b15d4af2823534180b290128852fb6c", + "difficulty": "BEGINNER", + "songID": 784, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 16003, + "notecount": 338, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c135ec5bda70e5db276a81efb16a2c819e227c95", + "difficulty": "HYPER", + "songID": 784, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16003, + "notecount": 1143, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "caf2c442b9b087e38cfcbeed84e31fbd718dc8b9", + "difficulty": "NORMAL", + "songID": 784, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16003, + "notecount": 570, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b1a31ce989a285bdb550b6687f8fe8fd71f15f9", + "difficulty": "ANOTHER", + "songID": 786, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15001, + "notecount": 1922, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e6818698743fde78d7ce27636285f0bc2086e697", + "difficulty": "HYPER", + "songID": 786, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 15001, + "notecount": 1231, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a0f2e4bc8a4403d39caca64b5679d749743e4df", + "difficulty": "LEGGENDARIA", + "songID": 786, + "playtype": "DP", + "levelNum": 0, + "level": "12", + "data": { + "inGameID": 15001, + "notecount": 2603, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3fcbc5e2bfaaece3069168fb15e7756c31b8a664", + "difficulty": "NORMAL", + "songID": 786, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15001, + "notecount": 569, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d273085a9b4612817998c4cd280f57c7f9bae10", + "difficulty": "ANOTHER", + "songID": 786, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 15001, + "notecount": 1831, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "dda2beb137f91f25b458d56f7328cee8383c2526", + "difficulty": "HYPER", + "songID": 786, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 15001, + "notecount": 1353, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5838aa863cac6057dfaa3bf06cd90701a2ed3976", + "difficulty": "LEGGENDARIA", + "songID": 786, + "playtype": "SP", + "levelNum": 0, + "level": "12", + "data": { + "inGameID": 15001, + "notecount": 2626, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c86b76cca5eda38047cd292260703e486bb69fd", + "difficulty": "NORMAL", + "songID": 786, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 15001, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "607b8a2675a549bc2b5997deb344b8e0f990a3b6", + "difficulty": "ANOTHER", + "songID": 787, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16004, + "notecount": 1686, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "782c0c2486b55dfeb46c98fbaf0d284df43e540b", + "difficulty": "HYPER", + "songID": 787, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16004, + "notecount": 1408, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79df411aea9b4bab7f6da05a75df95a8fe4e4249", + "difficulty": "NORMAL", + "songID": 787, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16004, + "notecount": 746, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11a86beb5e69f76ccbe7c858e6bf80cdd593711f", + "difficulty": "ANOTHER", + "songID": 787, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16004, + "notecount": 1810, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "738a4332f3aa8ef2c2ca698444621f7657c611cb", + "difficulty": "BEGINNER", + "songID": 787, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 16004, + "notecount": 400, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1477b7b8d4b949788dcc1a3cbb8576eb10057d7", + "difficulty": "HYPER", + "songID": 787, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16004, + "notecount": 1620, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c0c9c70727b3ba69c145798543ca7c9c34a40d9c", + "difficulty": "NORMAL", + "songID": 787, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16004, + "notecount": 751, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c7a3e56b668b760f7743eea49688cbdd8937ae6c", + "difficulty": "ANOTHER", + "songID": 788, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16005, + "notecount": 1309, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1608d559171c1ef0ef457123d3d790572980915c", + "difficulty": "HYPER", + "songID": 788, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16005, + "notecount": 1087, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e6a339df74f316a7a3b324ff975360e284958bab", + "difficulty": "NORMAL", + "songID": 788, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16005, + "notecount": 525, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd8d845999fd9ce743b03c1698cf326835a53837", + "difficulty": "ANOTHER", + "songID": 788, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16005, + "notecount": 1323, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4211aecda6b9f08497623ec69805308b93684363", + "difficulty": "HYPER", + "songID": 788, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16005, + "notecount": 1115, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f214f325d35df784d60170e85651cd7e21b6849d", + "difficulty": "NORMAL", + "songID": 788, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16005, + "notecount": 525, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da5666da7a25895339dfd8b5cc78624c48a4a85a", + "difficulty": "ANOTHER", + "songID": 789, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16006, + "notecount": 1486, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "962976b97b81bbd36292b8ea3031492bb08c2320", + "difficulty": "HYPER", + "songID": 789, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16006, + "notecount": 1018, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c825f81f0e7e482d85c3689c0d64b68540353704", + "difficulty": "NORMAL", + "songID": 789, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16006, + "notecount": 601, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad039f7668a1b18c700c9574391b0b71810c4f45", + "difficulty": "ANOTHER", + "songID": 789, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16006, + "notecount": 1682, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "03877a6ee4f639c8449065d6e35709b22e9224af", + "difficulty": "BEGINNER", + "songID": 789, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 16006, + "notecount": 306, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ed54570f29791a643715ad84a06f9f85138ce0a", + "difficulty": "HYPER", + "songID": 789, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16006, + "notecount": 1014, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6785f81152fb2fde831ff3a489364b5c7eb4223f", + "difficulty": "NORMAL", + "songID": 789, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16006, + "notecount": 601, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9dcd4b9c9e355902de05cb4f45250be06701d29", + "difficulty": "ANOTHER", + "songID": 790, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16007, + "notecount": 1342, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "46461428f7c680c478d6ce48a12a48761ea14ae9", + "difficulty": "HYPER", + "songID": 790, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16007, + "notecount": 934, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de86f168e1c98e9ea583baabdda69d4865866e28", + "difficulty": "NORMAL", + "songID": 790, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16007, + "notecount": 595, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "efb5ff0eabfe7257b12a7209520eb601043e7192", + "difficulty": "ANOTHER", + "songID": 790, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16007, + "notecount": 1284, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d6ecc1658be66669276f46bd1c95a0859079f9e", + "difficulty": "HYPER", + "songID": 790, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16007, + "notecount": 961, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e30f8d86a5993d5bbdca2c7131eefa49744e636f", + "difficulty": "NORMAL", + "songID": 790, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16007, + "notecount": 518, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd1e6954ec428d3ef7846517f72b7985b498bf61", + "difficulty": "ANOTHER", + "songID": 791, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16008, + "notecount": 1391, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "511012ac7478cd7e547a75f8732c6a56ad3e963b", + "difficulty": "HYPER", + "songID": 791, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16008, + "notecount": 1047, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d30f209ac4cf2630a995ca1953908c361114b6ba", + "difficulty": "NORMAL", + "songID": 791, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16008, + "notecount": 572, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "047bd471fbcb33cdd724ad358ff1275b70794a66", + "difficulty": "ANOTHER", + "songID": 791, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16008, + "notecount": 1385, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2567656e35ba1dce96eb7ee79bc845b43747b48d", + "difficulty": "HYPER", + "songID": 791, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16008, + "notecount": 1072, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ac8b82fca4002e40602c069849c7a82ec383113", + "difficulty": "NORMAL", + "songID": 791, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16008, + "notecount": 572, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf7e69dae0ff067bc95c47cdf55db5fbc92775bd", + "difficulty": "ANOTHER", + "songID": 792, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16009, + "notecount": 1574, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7997f452e3aa372d8360992715b52815ff80b9e6", + "difficulty": "HYPER", + "songID": 792, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16009, + "notecount": 1141, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2affd8033c6f21bf3d965cb2403486dcbd63b152", + "difficulty": "NORMAL", + "songID": 792, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16009, + "notecount": 564, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30132aa340a50383128522eece24b86eb3c64c47", + "difficulty": "ANOTHER", + "songID": 792, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16009, + "notecount": 1990, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e6b3645a8543654224140ac5854ab4584911b822", + "difficulty": "BEGINNER", + "songID": 792, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 16009, + "notecount": 365, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e55eb2b503149cfadde9aa69a2ad25972fd66238", + "difficulty": "HYPER", + "songID": 792, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16009, + "notecount": 1142, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c552eed9f1c937abd93503d82bc1a3741cc96aa4", + "difficulty": "NORMAL", + "songID": 792, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16009, + "notecount": 564, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1c102e8425d69beafb75bae483401013b0919bd", + "difficulty": "ANOTHER", + "songID": 793, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16010, + "notecount": 1061, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ac6abb2e2aaf1fa0fb0cdbae1fa6baeac1f9ab3d", + "difficulty": "HYPER", + "songID": 793, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16010, + "notecount": 894, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b92ec5efb94b7fa89c6fa6c1ecd4424ce66c1474", + "difficulty": "NORMAL", + "songID": 793, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16010, + "notecount": 412, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee20096270986182b3741f3c4167d106ed6b74c5", + "difficulty": "ANOTHER", + "songID": 793, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16010, + "notecount": 1016, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b0865dda2a141afc06c37638a6d85ce5763b8741", + "difficulty": "HYPER", + "songID": 793, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16010, + "notecount": 815, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "567af9340eb6deed63f2361bce4cd67414181c7f", + "difficulty": "NORMAL", + "songID": 793, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16010, + "notecount": 482, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3350ff45c9f4ca3b63e4388cd239a79b8be2cd50", + "difficulty": "ANOTHER", + "songID": 794, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16011, + "notecount": 1605, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f4360e9c9dd6e0f4b51dc0da69df992d88da3e53", + "difficulty": "HYPER", + "songID": 794, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16011, + "notecount": 1161, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "39deafac2e0e53fa0cc3983a43fa2288e7fbc926", + "difficulty": "LEGGENDARIA", + "songID": 794, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16011, + "notecount": 1991, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc5bdc1a451c2f705ea92b1158c8b18b494c52a8", + "difficulty": "NORMAL", + "songID": 794, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16011, + "notecount": 655, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db188550825645309a59548996d8193e6464f8fd", + "difficulty": "ANOTHER", + "songID": 794, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16011, + "notecount": 1504, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "bf1a2e5b9eaf4ab03702e73c62fc77cbc9a24e72", + "difficulty": "HYPER", + "songID": 794, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16011, + "notecount": 1166, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "64f4348bc0d1ec3a8e2bffbdc00a7979c620d381", + "difficulty": "LEGGENDARIA", + "songID": 794, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16011, + "notecount": 1888, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e2d2ec5ac81d91486c44ff03c22171eb3cc4cb17", + "difficulty": "NORMAL", + "songID": 794, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16011, + "notecount": 655, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0dab279353e3df626cea2a17cdd4ec8b05c786d7", + "difficulty": "ANOTHER", + "songID": 795, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16012, + "notecount": 1180, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89020d6a45bb8707a5bb2060f308cbe61fdb7782", + "difficulty": "HYPER", + "songID": 795, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16012, + "notecount": 889, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa78e0be486bb6fd6c04b94f5959bebf54036071", + "difficulty": "NORMAL", + "songID": 795, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16012, + "notecount": 560, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f83295c41ebf11dfd815e5a9f28aa62d7c7fb72", + "difficulty": "ANOTHER", + "songID": 795, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16012, + "notecount": 1075, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f018580c6560f755daa8a5f05155b6e278b84310", + "difficulty": "HYPER", + "songID": 795, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16012, + "notecount": 680, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5b9a66a6018770ad41f0a57af335c1a1933e3ce1", + "difficulty": "NORMAL", + "songID": 795, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16012, + "notecount": 451, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba363b86e904504657ebab61532626de62e6e8b6", + "difficulty": "ANOTHER", + "songID": 796, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16013, + "notecount": 1012, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb515e70acccbb4f9aeb9df86dba891b88b44c1e", + "difficulty": "HYPER", + "songID": 796, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16013, + "notecount": 772, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae9620cd3624b420104ba4ce01989c08ac543b04", + "difficulty": "NORMAL", + "songID": 796, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16013, + "notecount": 452, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17ba0f2d4e0ffa62fbc082d66b1cb1f560294145", + "difficulty": "ANOTHER", + "songID": 796, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16013, + "notecount": 1035, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2427b5263c50517301869cf510d6b3166b0081e3", + "difficulty": "HYPER", + "songID": 796, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16013, + "notecount": 700, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68e77fe1f540a80a01f88c9ee5c76333e9e72393", + "difficulty": "NORMAL", + "songID": 796, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16013, + "notecount": 339, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e07ae00fb7d354a05e7b030e3a0b230f0001484a", + "difficulty": "ANOTHER", + "songID": 797, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16014, + "notecount": 1012, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "967bef5c3a5ce20f0399cd7383e45a66217344f8", + "difficulty": "HYPER", + "songID": 797, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16014, + "notecount": 812, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bccc094dcb58781550514da03f779f9813131e96", + "difficulty": "NORMAL", + "songID": 797, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16014, + "notecount": 431, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9324407f985f9736976e08b5b9d0b35373ffd9c2", + "difficulty": "ANOTHER", + "songID": 797, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16014, + "notecount": 1135, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d3ba4033070eab4868134d8cadd2b242eeb2b515", + "difficulty": "HYPER", + "songID": 797, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16014, + "notecount": 872, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e2a122a4f386ff240b3b5e759be12a5834751ab", + "difficulty": "NORMAL", + "songID": 797, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16014, + "notecount": 428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f5372497af6dd3ee3c3501cec7fc7d1d8d6049c", + "difficulty": "ANOTHER", + "songID": 798, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16015, + "notecount": 1659, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d921abdc9cba1775be28c94c0c5f60b7c8a87fc", + "difficulty": "HYPER", + "songID": 798, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16015, + "notecount": 1301, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5cd1d612e553ad9c8c1c050aad67b480ecbfb8a3", + "difficulty": "LEGGENDARIA", + "songID": 798, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16015, + "notecount": 1999, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8468cac1eb7a63a6f925cf90c48a586bfc21d99c", + "difficulty": "NORMAL", + "songID": 798, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16015, + "notecount": 607, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "817826d50972d7048b50dae8aa1804d3dab33ff5", + "difficulty": "ANOTHER", + "songID": 798, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16015, + "notecount": 1657, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a7df3e32e319922d43a8eeb1cc877feaa7a3da52", + "difficulty": "HYPER", + "songID": 798, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16015, + "notecount": 1327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae15469b24b0f85373cfef683ade5b938ef988f9", + "difficulty": "LEGGENDARIA", + "songID": 798, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16015, + "notecount": 1999, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b9c7ede78cd575a8833730165dd50b76ecb03c60", + "difficulty": "NORMAL", + "songID": 798, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16015, + "notecount": 760, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dfb38ea209b25a8fc42e1081a57c90a078f1740f", + "difficulty": "ANOTHER", + "songID": 799, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16016, + "notecount": 1552, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "abd996b2704ef4236a4870ff4c69fb8942b45117", + "difficulty": "HYPER", + "songID": 799, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16016, + "notecount": 895, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "051f63e4558c1ec3a88c003eebcad0286a420a69", + "difficulty": "NORMAL", + "songID": 799, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16016, + "notecount": 548, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "66486cc2cef5857064688dddd07502f16d95defb", + "difficulty": "ANOTHER", + "songID": 799, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16016, + "notecount": 1398, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "50a18d8f02ae25c6c6f1b20f0ee56b310508242b", + "difficulty": "HYPER", + "songID": 799, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16016, + "notecount": 827, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f6044370de1cafd9b70f97f9f9762758f571c9d9", + "difficulty": "NORMAL", + "songID": 799, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16016, + "notecount": 500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ec9a2277a2446caad4b432524b43a6f09bc0c29", + "difficulty": "ANOTHER", + "songID": 800, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16017, + "notecount": 1224, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd920325b3daa4b546eac61d3c90a3fd5226640b", + "difficulty": "HYPER", + "songID": 800, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16017, + "notecount": 944, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "029ae74a2cead67ee8cd95c6763fe3f1d39184da", + "difficulty": "LEGGENDARIA", + "songID": 800, + "playtype": "DP", + "levelNum": 0, + "level": "12", + "data": { + "inGameID": 16017, + "notecount": 1729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b772b1486948b4df99d8e869bfbf14dc23e4f505", + "difficulty": "NORMAL", + "songID": 800, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16017, + "notecount": 606, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fcd3c672cc76f9f8537a2e6304ac709294f88f0f", + "difficulty": "ANOTHER", + "songID": 800, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16017, + "notecount": 1314, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f9409484b5f09b332d1efbd87a5ef0bde60284a7", + "difficulty": "HYPER", + "songID": 800, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16017, + "notecount": 971, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "532964fb64ebd0e50a21f1ce71d27a34e3e84a2a", + "difficulty": "LEGGENDARIA", + "songID": 800, + "playtype": "SP", + "levelNum": 0, + "level": "12", + "data": { + "inGameID": 16017, + "notecount": 1844, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9dccf1a720a2645e555562a7cbfbed7f727eae08", + "difficulty": "NORMAL", + "songID": 800, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16017, + "notecount": 533, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d445e6dbb3b8c996036e6805dd724fcacae8bef", + "difficulty": "ANOTHER", + "songID": 801, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16018, + "notecount": 1385, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a50436ebf20f9dea035ce93a6fd281a258aaae18", + "difficulty": "HYPER", + "songID": 801, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16018, + "notecount": 901, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fae5267a5a4909ab97d8c294db7ddb2a3863506c", + "difficulty": "LEGGENDARIA", + "songID": 801, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16018, + "notecount": 1500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4d7647671a00565160cad4fc58a5e00e5dd81c3", + "difficulty": "NORMAL", + "songID": 801, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16018, + "notecount": 478, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a07ee970bc9822294e0415a43ecaf7a18c81f706", + "difficulty": "ANOTHER", + "songID": 801, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16018, + "notecount": 1312, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c82554711df00aa5a60252e6252d07216e8f4414", + "difficulty": "HYPER", + "songID": 801, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16018, + "notecount": 1018, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "379fd97273bb475f25c89feb194838a51dfdb30e", + "difficulty": "LEGGENDARIA", + "songID": 801, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16018, + "notecount": 1618, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c54ee25f33178119c79e6ce6a185882beac60f3", + "difficulty": "NORMAL", + "songID": 801, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16018, + "notecount": 558, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa7548da791271942b143995a776b6e41d9c656b", + "difficulty": "ANOTHER", + "songID": 802, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16019, + "notecount": 1280, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "900af3455e9cb391c458a3c276f3595ed99280e6", + "difficulty": "HYPER", + "songID": 802, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16019, + "notecount": 1006, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ddab9a9b9afc1bdd9d05bb3f20414e52c9d8d970", + "difficulty": "NORMAL", + "songID": 802, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16019, + "notecount": 440, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "752fbe21c02ffaa27de976fd9a86d6b4218d2c9e", + "difficulty": "ANOTHER", + "songID": 802, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16019, + "notecount": 1347, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "99a6807e22830dabd3f3aa5631dda0fd38940220", + "difficulty": "BEGINNER", + "songID": 802, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 16019, + "notecount": 186, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "585153df52755cb4104e26c442690349e7dceb1c", + "difficulty": "HYPER", + "songID": 802, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16019, + "notecount": 1051, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "712aacfd3f52f28786b713cb818414756e250596", + "difficulty": "NORMAL", + "songID": 802, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16019, + "notecount": 449, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "36a75d8ccc4e281585870faaa8d19b529a8c621e", + "difficulty": "ANOTHER", + "songID": 803, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16020, + "notecount": 2194, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a0d2d93b07c155105483b92234ac28b2ec2dbb2", + "difficulty": "HYPER", + "songID": 803, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16020, + "notecount": 1396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6668b25a1586e8677cc8b1d88353070f0388b766", + "difficulty": "LEGGENDARIA", + "songID": 803, + "playtype": "DP", + "levelNum": 0, + "level": "12", + "data": { + "inGameID": 16020, + "notecount": 2333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dbfd1a9e608fa77045954ab0fc9804571168c1f2", + "difficulty": "NORMAL", + "songID": 803, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16020, + "notecount": 640, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3b8ddcfffd0fc5abb76f0372a006abdc4a99e02e", + "difficulty": "ANOTHER", + "songID": 803, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16020, + "notecount": 2119, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S+", + "value": 13.1, + "individualDifference": false + }, + "kt-HC": { + "text": "12S+", + "value": 13.2, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.50", + "value": 13.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "ccf3b54b2a2d9e197420b4044246cda5616ccfca", + "difficulty": "HYPER", + "songID": 803, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16020, + "notecount": 1442, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c352fc457945f97a0d36128eadc64d38b42e6a5d", + "difficulty": "LEGGENDARIA", + "songID": 803, + "playtype": "SP", + "levelNum": 0, + "level": "12", + "data": { + "inGameID": 16020, + "notecount": 2333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9754b4aab0b909dbb3240707fa65c5848e3d8621", + "difficulty": "NORMAL", + "songID": 803, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16020, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a853356e85e330b73190ab97a69f84293b6dec3a", + "difficulty": "ANOTHER", + "songID": 804, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16021, + "notecount": 1166, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "88dc7e8f5061a35a6eacdd271137b97659819af6", + "difficulty": "HYPER", + "songID": 804, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16021, + "notecount": 813, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c1181917a23e88442afab3137fb46cfc1814732e", + "difficulty": "NORMAL", + "songID": 804, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16021, + "notecount": 448, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "08b4223f759999bc5992f9fea465abc3c50220cb", + "difficulty": "ANOTHER", + "songID": 804, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16021, + "notecount": 1089, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1af1a81e2ac30f5e21ac1eb39ebb970894c1db95", + "difficulty": "BEGINNER", + "songID": 804, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 16021, + "notecount": 199, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c976b71d01d60493890c6493a54d2145faaf1aa", + "difficulty": "HYPER", + "songID": 804, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16021, + "notecount": 830, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db3191215a4ea7605ad13d537d46a637c53631a6", + "difficulty": "LEGGENDARIA", + "songID": 804, + "playtype": "SP", + "levelNum": 0, + "level": "11", + "data": { + "inGameID": 16021, + "notecount": 1436, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4e3ae7ded623bb8dc342817530d4c11eef58986", + "difficulty": "NORMAL", + "songID": 804, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16021, + "notecount": 418, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "06d96e43bd238fe1da9285d16a11a55c24fd212a", + "difficulty": "ANOTHER", + "songID": 805, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16022, + "notecount": 1001, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4094e0d715a44b37584ccc2f0952f0961396c3a3", + "difficulty": "HYPER", + "songID": 805, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16022, + "notecount": 815, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d034a861c41ee150ea5c6c45da4104f166aa92be", + "difficulty": "LEGGENDARIA", + "songID": 805, + "playtype": "DP", + "levelNum": 0, + "level": "10", + "data": { + "inGameID": 16022, + "notecount": 1318, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "980c8c64bf4d003b38b89639fa706b4e985825cc", + "difficulty": "NORMAL", + "songID": 805, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16022, + "notecount": 526, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bbe82f92d119667fd681ffb1b9b6b8ef375f98c3", + "difficulty": "ANOTHER", + "songID": 805, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16022, + "notecount": 1179, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1dc7ad00dad31e66a42b255d33fa3ead4e2d96a", + "difficulty": "HYPER", + "songID": 805, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16022, + "notecount": 964, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3007493a37634862835855fe354293492b6d7980", + "difficulty": "NORMAL", + "songID": 805, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16022, + "notecount": 467, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e34e136de06075021348bcd9aefe18a77036bcef", + "difficulty": "ANOTHER", + "songID": 806, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16023, + "notecount": 1181, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ebe97610410d9ffb0351f2fbbe93e5cf7604cb25", + "difficulty": "HYPER", + "songID": 806, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16023, + "notecount": 941, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "045d322a8344186a0435bb98768c4e1c97ad1551", + "difficulty": "NORMAL", + "songID": 806, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16023, + "notecount": 476, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b5ee246ee9cd1ea50720aff5e5614c785e94f4c", + "difficulty": "ANOTHER", + "songID": 806, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16023, + "notecount": 1161, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b026831b99bcb0c4b259c3446f969d2e75978474", + "difficulty": "BEGINNER", + "songID": 806, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 16023, + "notecount": 280, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9e239a846c09ce5b6fb5142028f90d7a6e3c140f", + "difficulty": "HYPER", + "songID": 806, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16023, + "notecount": 910, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cc358c55c48ce7eb32018bb79246545209457c41", + "difficulty": "NORMAL", + "songID": 806, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16023, + "notecount": 476, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0235d03d07fa3387b07e7c7a3c2019ce6ab0d0a5", + "difficulty": "ANOTHER", + "songID": 807, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16024, + "notecount": 1127, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "456a569d9ef8abc1848caa378744be65381fa836", + "difficulty": "HYPER", + "songID": 807, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16024, + "notecount": 708, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eac1d73a6520e512a544d3d95fda34f20c929d07", + "difficulty": "NORMAL", + "songID": 807, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16024, + "notecount": 445, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "893086db080c933fa0aef4823fb0863d0b5df01e", + "difficulty": "ANOTHER", + "songID": 807, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16024, + "notecount": 1033, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49d9ee8e2aa0b3179d919537ce024383b16ba9b2", + "difficulty": "HYPER", + "songID": 807, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16024, + "notecount": 737, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55f015183f5f5d377a3954bf76f3f9e7690e3ec9", + "difficulty": "LEGGENDARIA", + "songID": 807, + "playtype": "SP", + "levelNum": 0, + "level": "11", + "data": { + "inGameID": 16024, + "notecount": 1135, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "738176995897c3a1f363507de20032957f683e15", + "difficulty": "NORMAL", + "songID": 807, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16024, + "notecount": 398, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c410cb9ab8e80af5268ac792a50b35de3fa2c89", + "difficulty": "ANOTHER", + "songID": 808, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16025, + "notecount": 937, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f395b943f661ca83393ccf88f89beab39a87c59f", + "difficulty": "HYPER", + "songID": 808, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16025, + "notecount": 667, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "654b5bb73a56f8901f7198eec5d7255814c1a826", + "difficulty": "LEGGENDARIA", + "songID": 808, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16025, + "notecount": 1295, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "605c067a46890c48e9e079307e13b24373677a14", + "difficulty": "NORMAL", + "songID": 808, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16025, + "notecount": 353, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0cc158036be7ab41ea3c912531585b3879d9ec3", + "difficulty": "ANOTHER", + "songID": 808, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16025, + "notecount": 923, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "204b94938a992ee3539324c70b922dd4b05d4156", + "difficulty": "BEGINNER", + "songID": 808, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 16025, + "notecount": 261, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "109c9cc22a2d7b950403d079e92f96b90216fc5c", + "difficulty": "HYPER", + "songID": 808, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16025, + "notecount": 627, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "504268a50a3b991a9edb1134691dc956314006c1", + "difficulty": "LEGGENDARIA", + "songID": 808, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16025, + "notecount": 1135, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27d9adecb2326132257b1561c8a6cdc7c580a9b5", + "difficulty": "NORMAL", + "songID": 808, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16025, + "notecount": 443, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8ae9bef2bde3f66b7667c2bb438bd8809eb33a18", + "difficulty": "ANOTHER", + "songID": 809, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16026, + "notecount": 1882, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb9c3dd37b6dcfb616de7672e7cda880183561a0", + "difficulty": "HYPER", + "songID": 809, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16026, + "notecount": 1461, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1addc7e45ff556708338b5cd9a062ecd1e09fca", + "difficulty": "NORMAL", + "songID": 809, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16026, + "notecount": 804, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "67641fbca23a882ea5e21ac5566a1ad2b7ab4c8b", + "difficulty": "ANOTHER", + "songID": 809, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16026, + "notecount": 1871, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": true + }, + "kt-HC": { + "text": "12S+", + "value": 13.2, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.40", + "value": 13.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0b8722317353af3bbb28d8578b08c682a3a442aa", + "difficulty": "BEGINNER", + "songID": 809, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 16026, + "notecount": 280, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bcffa4977d3a500e5d2b784c186196cc1e21cd3f", + "difficulty": "HYPER", + "songID": 809, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16026, + "notecount": 1306, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1817eecc9a3bfecd41030a428d49ca44d9afb361", + "difficulty": "NORMAL", + "songID": 809, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16026, + "notecount": 772, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1fff105a6ca5593b0b682da3eff08a04998d6450", + "difficulty": "ANOTHER", + "songID": 810, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16027, + "notecount": 1257, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d4e80acdc26364e3c705c047f68dcffc128b261c", + "difficulty": "HYPER", + "songID": 810, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16027, + "notecount": 870, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1bd285a04e6544227b96eed95253e4047513d15e", + "difficulty": "NORMAL", + "songID": 810, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16027, + "notecount": 437, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd1545d5bb4319bcb85c58c530b05b1f8b8e2692", + "difficulty": "ANOTHER", + "songID": 810, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16027, + "notecount": 1142, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed8b651f6fbfbcb5bf258147d3bfe276f8e183bf", + "difficulty": "BEGINNER", + "songID": 810, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 16027, + "notecount": 353, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "90bad060bd700221850363ea366b92f88af6bf09", + "difficulty": "HYPER", + "songID": 810, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16027, + "notecount": 895, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "333630f481faf835f4a530b7fac8c4a9f40b53fa", + "difficulty": "NORMAL", + "songID": 810, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16027, + "notecount": 437, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74057765d7a20524d6412eb5254f1521e2fa03b3", + "difficulty": "ANOTHER", + "songID": 811, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16028, + "notecount": 1414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aed9ef1391f478565f5a157f99277d5a120531a8", + "difficulty": "HYPER", + "songID": 811, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16028, + "notecount": 936, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e787bb91f4565acc2a4a1a7fdcde7c183290c2cc", + "difficulty": "NORMAL", + "songID": 811, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16028, + "notecount": 549, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f5752c424e78fa8d4d42cc6d7d085d19d1297ba", + "difficulty": "ANOTHER", + "songID": 811, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16028, + "notecount": 1478, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a041a9b0645b350d42c1a223f9951f5e38a23c26", + "difficulty": "HYPER", + "songID": 811, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16028, + "notecount": 921, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3942915b4b99eff17c58019f1ae11d5a3c421d7a", + "difficulty": "NORMAL", + "songID": 811, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16028, + "notecount": 569, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b2d2325e88d57f7a7b5607a3c796c02884575eb5", + "difficulty": "ANOTHER", + "songID": 812, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16029, + "notecount": 1081, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "007f8134ae67b387085ef92866f2dd693ee2db66", + "difficulty": "HYPER", + "songID": 812, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16029, + "notecount": 873, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "58ff7e3e3fac8e3f6ea9efd5d2f7f92baa8d2639", + "difficulty": "NORMAL", + "songID": 812, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16029, + "notecount": 559, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f9a295cfc012732be1a83b317a61e7cdae8a041", + "difficulty": "ANOTHER", + "songID": 812, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16029, + "notecount": 1081, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c73a8105685aa6046c18b68baebb0f5f92ab750b", + "difficulty": "HYPER", + "songID": 812, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16029, + "notecount": 873, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55fb41e51c3bda3ed40973fc845cc187e0054a6a", + "difficulty": "NORMAL", + "songID": 812, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16029, + "notecount": 559, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9181907f1d9694ab9e2d01957fb94c72c6293f15", + "difficulty": "ANOTHER", + "songID": 813, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16030, + "notecount": 1012, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89a6e485c56f99588637f4b4fb0c5268dcec2ecf", + "difficulty": "HYPER", + "songID": 813, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16030, + "notecount": 846, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c12c9f9bd5965e1298c3bdeee799e092221c114", + "difficulty": "LEGGENDARIA", + "songID": 813, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16030, + "notecount": 1285, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6e557d96210cf89a01a65b9f46c4a835de724dd2", + "difficulty": "NORMAL", + "songID": 813, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16030, + "notecount": 526, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ec23a49bc6fcd0d2523cf039728f207b3edf044", + "difficulty": "ANOTHER", + "songID": 813, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16030, + "notecount": 951, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "daec5d11791b7e87c8a67968ce2cd9a066167f6e", + "difficulty": "BEGINNER", + "songID": 813, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 16030, + "notecount": 147, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "00e0c5bbefd4d7df4ad8ba4ab0e510ce87a06c4d", + "difficulty": "HYPER", + "songID": 813, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16030, + "notecount": 736, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc3c1e224260ff91438602de940beb4349f807a7", + "difficulty": "LEGGENDARIA", + "songID": 813, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16030, + "notecount": 1211, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55c7672da84ec1fbd683b7ea0471407e3842b6a0", + "difficulty": "NORMAL", + "songID": 813, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16030, + "notecount": 414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f3eb01a22b377179e2c532d65a8c4e54202a28a", + "difficulty": "ANOTHER", + "songID": 814, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16031, + "notecount": 853, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50b061dc33e872acc73ee7d53e491e51d01ff246", + "difficulty": "HYPER", + "songID": 814, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16031, + "notecount": 698, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ae7f870ac6f0453cae45fda83a8d810a5b248b0", + "difficulty": "LEGGENDARIA", + "songID": 814, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16031, + "notecount": 1276, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e036cff21eed34b901aaf2b518f464ad9243844a", + "difficulty": "NORMAL", + "songID": 814, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16031, + "notecount": 433, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50e49f508e3001c8d384a8b9c6a6f4e197964117", + "difficulty": "ANOTHER", + "songID": 814, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16031, + "notecount": 1088, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11, + "individualDifference": true + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "389e82aeebbe95519bf2957265f4e7126d90d27a", + "difficulty": "BEGINNER", + "songID": 814, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 16031, + "notecount": 314, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "96553c4f1e01f67efd4d010aac380d589b5fdc56", + "difficulty": "HYPER", + "songID": 814, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16031, + "notecount": 869, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8fe4cde207bd8f8cae89f2d92308f89e0ea075eb", + "difficulty": "LEGGENDARIA", + "songID": 814, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16031, + "notecount": 1380, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11S+", + "value": 12.2, + "individualDifference": true + } + } + }, + { + "rgcID": null, + "chartID": "819b3fa52cd9bfa63ba0049b006b803b6381e819", + "difficulty": "NORMAL", + "songID": 814, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16031, + "notecount": 433, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2985fc05de8962f9d29c6863efd2b5545a0c47ba", + "difficulty": "ANOTHER", + "songID": 815, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16032, + "notecount": 970, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fab8398e1404194e9fcf81f36c297de1b2b2a963", + "difficulty": "HYPER", + "songID": 815, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16032, + "notecount": 820, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19c1e63d042c4a2f93b9db007b35a2fab854c4a9", + "difficulty": "NORMAL", + "songID": 815, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16032, + "notecount": 590, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a87edb68c1710d6aec654c4dfacc761daf618b5c", + "difficulty": "ANOTHER", + "songID": 815, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16032, + "notecount": 1077, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6645e1d79f0f5deb36096e11dd40d77dbe3c3fb5", + "difficulty": "HYPER", + "songID": 815, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16032, + "notecount": 764, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dfd3feb8176d7fd7fcbf9b16573c1e3e533742b5", + "difficulty": "NORMAL", + "songID": 815, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16032, + "notecount": 502, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c4adad9ed7e85ac1a7a0d714a9a4c8257bec704", + "difficulty": "ANOTHER", + "songID": 816, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16033, + "notecount": 1363, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "293f4a209435dba3d739150d317f7ba9f5d08796", + "difficulty": "HYPER", + "songID": 816, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16033, + "notecount": 982, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f0d96e4e4570d596a6c8ff0c5d403940e79e939", + "difficulty": "NORMAL", + "songID": 816, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16033, + "notecount": 658, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41870683e78a9a7c5687ced1581d3938743c2886", + "difficulty": "ANOTHER", + "songID": 816, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16033, + "notecount": 1111, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5346c0ecf11e3a5bdc0c75e6bb7cb49208474cbe", + "difficulty": "HYPER", + "songID": 816, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16033, + "notecount": 850, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9cf98c0eb2ad975f9701ba3c5df10da244fbbdd", + "difficulty": "NORMAL", + "songID": 816, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16033, + "notecount": 489, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c8ffd5ea62c238b37e5193a0e6fc24bb0671a308", + "difficulty": "ANOTHER", + "songID": 817, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16034, + "notecount": 1355, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9c1ca07f0a492a693cf32fb1aaf90e0eb70ebb0a", + "difficulty": "HYPER", + "songID": 817, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16034, + "notecount": 1028, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a46347915dac3e2f1e62a1c3d9fa846f30be8fb", + "difficulty": "LEGGENDARIA", + "songID": 817, + "playtype": "DP", + "levelNum": 0, + "level": "12", + "data": { + "inGameID": 16034, + "notecount": 1771, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6553a81b506bf39f6893b3467a39cae83e827c94", + "difficulty": "NORMAL", + "songID": 817, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16034, + "notecount": 692, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa5af2f8443da16ad6be6a4132477ee44208d305", + "difficulty": "ANOTHER", + "songID": 817, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16034, + "notecount": 1269, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1b25bb9af0b24562b51cd857b9fadb697ec6a0b", + "difficulty": "BEGINNER", + "songID": 817, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 16034, + "notecount": 276, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f4216b0ca57a0ec2aab265db44d524985d66042", + "difficulty": "HYPER", + "songID": 817, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16034, + "notecount": 888, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de9dbb448e2671fca1412f07ecbc710b3e4a2642", + "difficulty": "LEGGENDARIA", + "songID": 817, + "playtype": "SP", + "levelNum": 0, + "level": "11", + "data": { + "inGameID": 16034, + "notecount": 1636, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d7ae0e4ce45a37174bcdb827502ea9d792559e45", + "difficulty": "NORMAL", + "songID": 817, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16034, + "notecount": 565, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fac35b2257bad8ebf03aa3aaa552543fc619d1c3", + "difficulty": "ANOTHER", + "songID": 818, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16035, + "notecount": 913, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1eda42fb9be653c48d335e9c01773c909baa947", + "difficulty": "HYPER", + "songID": 818, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16035, + "notecount": 605, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "58a56ef8fd8655ac78f578c19a1a4497c17343c2", + "difficulty": "NORMAL", + "songID": 818, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16035, + "notecount": 456, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52cb7ae7c77c9ba8a18568b5d450967ea1b49b5f", + "difficulty": "ANOTHER", + "songID": 818, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16035, + "notecount": 851, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "007d459a4ee5a2b29fdb5396d291a151b4915c58", + "difficulty": "BEGINNER", + "songID": 818, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 16035, + "notecount": 224, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b09ca3e86c68fe5c3139adb33b62fdb38feac74", + "difficulty": "HYPER", + "songID": 818, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16035, + "notecount": 666, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ecf33be904694b3b63f246eff7f76da1a00fe4de", + "difficulty": "NORMAL", + "songID": 818, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16035, + "notecount": 308, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da3bedf93c0243ea702179c7e6081852484d509c", + "difficulty": "ANOTHER", + "songID": 819, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16036, + "notecount": 1220, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b668e27a4d98198c96b74c089bfc8b3cee1d43e", + "difficulty": "HYPER", + "songID": 819, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16036, + "notecount": 850, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "61a078fa0c5e6e8b37601835909f2feb454554cc", + "difficulty": "NORMAL", + "songID": 819, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16036, + "notecount": 534, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a36ec1e4127d1ca0a7bc172194c0c774561c4630", + "difficulty": "ANOTHER", + "songID": 819, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16036, + "notecount": 1098, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb845b439e99f28f02b497377ef0a0d101fd1376", + "difficulty": "HYPER", + "songID": 819, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16036, + "notecount": 826, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "363e2b8d468225148a39290aa1824d8c295db877", + "difficulty": "NORMAL", + "songID": 819, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16036, + "notecount": 474, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "48219a891df0aa4faf4fed0382173db41e90c7bd", + "difficulty": "ANOTHER", + "songID": 820, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16037, + "notecount": 1299, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "700aecae0a8b9465ca765e1911ab9b5837c61e0d", + "difficulty": "HYPER", + "songID": 820, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16037, + "notecount": 940, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d8529b9a7ddbda4097d78f08fda3be6769ea4707", + "difficulty": "NORMAL", + "songID": 820, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16037, + "notecount": 537, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7425fc156460c7746522d44ecc21e8ef6de58224", + "difficulty": "ANOTHER", + "songID": 820, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16037, + "notecount": 1276, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "9f36656828c901bb6848f223f2417ad8472b75bb", + "difficulty": "HYPER", + "songID": 820, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16037, + "notecount": 962, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e2756ca522f6d7d326c0cc8987084ddd301b94b", + "difficulty": "NORMAL", + "songID": 820, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16037, + "notecount": 629, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "316d3d4a2016c33d7f086f3338dcfb4b1c4996f2", + "difficulty": "ANOTHER", + "songID": 821, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16038, + "notecount": 1797, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b87799b2bdc9d4ef8a2999cc046517925cd4dd71", + "difficulty": "HYPER", + "songID": 821, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16038, + "notecount": 1195, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e115636697286f6f080ea72c850e05f3c39415bb", + "difficulty": "LEGGENDARIA", + "songID": 821, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16038, + "notecount": 1951, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff77adbdf8f13832654e9fa1f3ff40314d16f975", + "difficulty": "NORMAL", + "songID": 821, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16038, + "notecount": 637, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc38f271fc7bcf65cc7499c16f7089be4f5c1180", + "difficulty": "ANOTHER", + "songID": 821, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16038, + "notecount": 1592, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "518c5fec6cdadd0a85881448a2f16a061e1224e2", + "difficulty": "HYPER", + "songID": 821, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16038, + "notecount": 1253, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1dac6a54b36a8c3867466081c67dc9561eb2766c", + "difficulty": "LEGGENDARIA", + "songID": 821, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16038, + "notecount": 2116, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "9ae5c3c34e9ac9948afe52e637b9c7e71f87692f", + "difficulty": "NORMAL", + "songID": 821, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16038, + "notecount": 638, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b2759811cda18d5ef19396849e7bd86fd9bd551c", + "difficulty": "ANOTHER", + "songID": 822, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16039, + "notecount": 1248, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c279ca9527ac25ff5df63cbc8dd14079e40d8d4", + "difficulty": "HYPER", + "songID": 822, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16039, + "notecount": 939, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9afeef394efa1ce8668b03a98781d26796459028", + "difficulty": "NORMAL", + "songID": 822, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16039, + "notecount": 482, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b8c3c493653f35b0f40d601f7ff61038f8d3ac2c", + "difficulty": "ANOTHER", + "songID": 822, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16039, + "notecount": 1251, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e57ed47f5541aa4711b948fd836a1fa5afb8e94b", + "difficulty": "HYPER", + "songID": 822, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16039, + "notecount": 1078, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d43bf097115d7545d9d8893b57b7bcb7dd994aa", + "difficulty": "NORMAL", + "songID": 822, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16039, + "notecount": 482, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "566608e81741e33f6bf07e0cd9e8b7b0c36ca0d5", + "difficulty": "ANOTHER", + "songID": 823, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16040, + "notecount": 1034, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "662135b2a09e6d73dc9a3ab4720f3ab262c47e60", + "difficulty": "HYPER", + "songID": 823, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16040, + "notecount": 675, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f42cd94edc214ed5a8d24e71509fe0f6352b1f2", + "difficulty": "LEGGENDARIA", + "songID": 823, + "playtype": "DP", + "levelNum": 0, + "level": "11", + "data": { + "inGameID": 16040, + "notecount": 1390, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "131223ed18ef412114da95e85ba023006cc89eb5", + "difficulty": "NORMAL", + "songID": 823, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16040, + "notecount": 476, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c90b59601f8378c3e121cf5034c5f4c6d23ffe6", + "difficulty": "ANOTHER", + "songID": 823, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16040, + "notecount": 864, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29aa55ecfa77f792166b12a8188a9d1468af66df", + "difficulty": "BEGINNER", + "songID": 823, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 16040, + "notecount": 227, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a955f4b67e5d8b73415d04976dcab05314bcb4b", + "difficulty": "HYPER", + "songID": 823, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16040, + "notecount": 682, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e823f3fb555f4e7bd0039cab7bf840ba48440703", + "difficulty": "LEGGENDARIA", + "songID": 823, + "playtype": "SP", + "levelNum": 0, + "level": "11", + "data": { + "inGameID": 16040, + "notecount": 1180, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d089fa29c312c3d7c2b272d9897b5ede136f873a", + "difficulty": "NORMAL", + "songID": 823, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16040, + "notecount": 504, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78c573db278d242067fdcd9d44fa1d8b3ea2c9dc", + "difficulty": "ANOTHER", + "songID": 824, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16041, + "notecount": 950, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f7458c54b00303a20918a00ebd77fea8980d118", + "difficulty": "HYPER", + "songID": 824, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16041, + "notecount": 759, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce63a0828b691720baa22423e3ff5bd903ee292f", + "difficulty": "NORMAL", + "songID": 824, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16041, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "726bc332acb2de0d912a1f6cd7f1ee4213268596", + "difficulty": "ANOTHER", + "songID": 824, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16041, + "notecount": 1061, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "519a1e30b9f563abb78654798be8304e55b1ef2c", + "difficulty": "BEGINNER", + "songID": 824, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 16041, + "notecount": 369, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ac2ed76addc6d04c25642be0da822bc27db115c", + "difficulty": "HYPER", + "songID": 824, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16041, + "notecount": 775, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c03b33f01f25940f67d703e026d357f5c1530429", + "difficulty": "NORMAL", + "songID": 824, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16041, + "notecount": 493, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "25ce11074447c3efa11e515de7287450eb30e4be", + "difficulty": "ANOTHER", + "songID": 825, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16042, + "notecount": 1443, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3031c959da9cd87c854b3142885fcf61e2be0f91", + "difficulty": "HYPER", + "songID": 825, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16042, + "notecount": 1051, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e96da5f9bf5e3bc6f7646b5e143277c3ea0a003", + "difficulty": "LEGGENDARIA", + "songID": 825, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16042, + "notecount": 1709, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c830e751465c0de37c4b68ad34d239cce48d3ab8", + "difficulty": "NORMAL", + "songID": 825, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16042, + "notecount": 618, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "88f2adf97a8d29f2dca9bded07529d1a308e98d2", + "difficulty": "ANOTHER", + "songID": 825, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16042, + "notecount": 1314, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a0b67afb6b3335a81dfe400d2ebf32d7d83f1924", + "difficulty": "BEGINNER", + "songID": 825, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 16042, + "notecount": 323, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d036b06fed3930ffbad63fdcec4b5ce49959f92", + "difficulty": "HYPER", + "songID": 825, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16042, + "notecount": 997, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d8fb96dfdcd1198977448036a572ddacaae656a3", + "difficulty": "LEGGENDARIA", + "songID": 825, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16042, + "notecount": 1640, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8fa5963a6d28a5f467c21036ac8f1ef296265d2f", + "difficulty": "NORMAL", + "songID": 825, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16042, + "notecount": 535, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "69072fc1ce4125960d01978321fa9dbb9a055cb8", + "difficulty": "ANOTHER", + "songID": 826, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16043, + "notecount": 1292, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "323d4debc8cb18fbfecada0d28611ccc4d4e1114", + "difficulty": "HYPER", + "songID": 826, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16043, + "notecount": 1079, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d7682f622e30d0ee95b8ce82cd19a4b3f46c428", + "difficulty": "NORMAL", + "songID": 826, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16043, + "notecount": 694, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b50909aa0a69084dc91e3a32c3dfb93a76ae30b", + "difficulty": "ANOTHER", + "songID": 826, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16043, + "notecount": 1278, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "edaa8463ac326baa34c99976c36f31a957e62190", + "difficulty": "BEGINNER", + "songID": 826, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 16043, + "notecount": 405, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b633bbbea1e46524f19fb88599d7c117c3be4c4a", + "difficulty": "HYPER", + "songID": 826, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16043, + "notecount": 944, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f376b8a6e372b66e0cf8b5714475cd7546725329", + "difficulty": "NORMAL", + "songID": 826, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16043, + "notecount": 553, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "88308136e0d9d7779b2ddd23c5d2db927c660041", + "difficulty": "ANOTHER", + "songID": 827, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16044, + "notecount": 1474, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e606107c8015fbe275abee287fa3947fcab3d6df", + "difficulty": "HYPER", + "songID": 827, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16044, + "notecount": 1076, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "444035ca6326ba16c2fd7787a7004b5ed245f548", + "difficulty": "NORMAL", + "songID": 827, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16044, + "notecount": 694, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d5d5547be1174d1fae23051f1b9f700d870af8f", + "difficulty": "ANOTHER", + "songID": 827, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16044, + "notecount": 1360, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54fe6a49fda894c84d4fc9d58f7b0a3350d13408", + "difficulty": "HYPER", + "songID": 827, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16044, + "notecount": 1174, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33c99657ad4a755eee017e720420c3c8f2069227", + "difficulty": "NORMAL", + "songID": 827, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16044, + "notecount": 725, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7975a8e5a0dfa652a8d5bfe395406149f9682546", + "difficulty": "ANOTHER", + "songID": 828, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16045, + "notecount": 1107, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f31c5cdf7433628c1192fc87316b2bcaed70e06c", + "difficulty": "HYPER", + "songID": 828, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16045, + "notecount": 863, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ddcebb5688d2e15ab31ec722f1b85f1cc650f9a", + "difficulty": "LEGGENDARIA", + "songID": 828, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16045, + "notecount": 1182, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7540c1aaefffa05a5972aa26fbb8166e90bb09d9", + "difficulty": "NORMAL", + "songID": 828, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16045, + "notecount": 437, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "938dd1b797b5bb5d4f93444580ffeddc67e99462", + "difficulty": "ANOTHER", + "songID": 828, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16045, + "notecount": 1090, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "31514932e4c4d3a8d4dd3b236e62ee93c8e66a72", + "difficulty": "HYPER", + "songID": 828, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16045, + "notecount": 858, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f3af60eb7c1d35de4f2ccb9f42c8bab18474373", + "difficulty": "LEGGENDARIA", + "songID": 828, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16045, + "notecount": 1534, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "409b667371b28f69a504004ce7c3726342c261db", + "difficulty": "NORMAL", + "songID": 828, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16045, + "notecount": 412, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "732617b634e79a21334be4ca60c4a91e73f9397d", + "difficulty": "ANOTHER", + "songID": 829, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16046, + "notecount": 1119, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6a264918f43ef430b96dc498d37b85863f27e68f", + "difficulty": "HYPER", + "songID": 829, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16046, + "notecount": 856, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4de16d0ac741cd2b3984fc1b1acdd74cf2949e3d", + "difficulty": "NORMAL", + "songID": 829, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16046, + "notecount": 491, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82b6700d6401d6cde26cef8afac94fc14ee89334", + "difficulty": "ANOTHER", + "songID": 829, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16046, + "notecount": 997, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ba5b22204cbcdeaab550a7e37a8744a7760dd9e", + "difficulty": "BEGINNER", + "songID": 829, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 16046, + "notecount": 128, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ee9851717a99df9e4e937ddb86848f085aa981b", + "difficulty": "HYPER", + "songID": 829, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16046, + "notecount": 802, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d65acf026e5c5abc511541cc99bbbc833693c0a5", + "difficulty": "NORMAL", + "songID": 829, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16046, + "notecount": 440, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a7902d144d49111bc5d9f6ae105a5c5b565be1f", + "difficulty": "ANOTHER", + "songID": 830, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16047, + "notecount": 1296, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "800a58518baf62836d0f6ea33732d01a14a8f66a", + "difficulty": "HYPER", + "songID": 830, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16047, + "notecount": 840, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "6d00e42919c0c5848f198d461045f4307e10cfe2", + "difficulty": "LEGGENDARIA", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 830, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 16047, + "arcChartID": null, + "notecount": 1873, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "392fbd9916a7e442146cb2eef0abc70ed90d4d01", + "difficulty": "NORMAL", + "songID": 830, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16047, + "notecount": 577, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b7003e5b6ecf8e8131a77038cc7687e1f6bb31ae", + "difficulty": "ANOTHER", + "songID": 830, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16047, + "notecount": 1242, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34bdf077fcc2bbcc01cea8a2a7956dc988212815", + "difficulty": "BEGINNER", + "songID": 830, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 16047, + "notecount": 111, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63eacec71d5870ef2430ab5e0db8da8e22298b40", + "difficulty": "HYPER", + "songID": 830, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16047, + "notecount": 838, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d240a30cef8a372001287a205128aff701cc22a", + "difficulty": "LEGGENDARIA", + "songID": 830, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16047, + "notecount": 1954, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "841e43286baa2b6a9f42b8004b8dc236245c551e", + "difficulty": "NORMAL", + "songID": 830, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16047, + "notecount": 544, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bbb2a1069ff26797b5670048ca768369bdd50869", + "difficulty": "ANOTHER", + "songID": 831, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16048, + "notecount": 1141, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1c6cc98ce3e9d3abb2e1c0de14d2d251e2e9e3e", + "difficulty": "HYPER", + "songID": 831, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16048, + "notecount": 789, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89201bebdf74ede181b4dcb2dec7551f1b4aec9f", + "difficulty": "NORMAL", + "songID": 831, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16048, + "notecount": 466, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cae4d24b86ef69f6ffd9afe6dbf7acd1d70c0768", + "difficulty": "ANOTHER", + "songID": 831, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16048, + "notecount": 948, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b0f7f654a1663d21eca4665f9f98912c655065b0", + "difficulty": "BEGINNER", + "songID": 831, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 16048, + "notecount": 129, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c021e6eeecda9996b2321ad230b26e14181b506", + "difficulty": "HYPER", + "songID": 831, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16048, + "notecount": 784, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4ef36149f5d45d2b6d526bb252c6fd0cae038953", + "difficulty": "NORMAL", + "songID": 831, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16048, + "notecount": 463, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d5d9f1bd405a00a94153ae4400391eadb4db4a1b", + "difficulty": "ANOTHER", + "songID": 832, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16049, + "notecount": 1252, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a5a4b8b57a69e5014dd1f13767b0b6cf29f2bdaf", + "difficulty": "HYPER", + "songID": 832, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16049, + "notecount": 852, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d978403cca4ed4d82f464c27f93af1004ee5fa9c", + "difficulty": "NORMAL", + "songID": 832, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16049, + "notecount": 466, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9de3044c1128f36d829c94affb1c1756e122a4b8", + "difficulty": "ANOTHER", + "songID": 832, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16049, + "notecount": 1086, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b927a3e173c3adf4d9a0745c91813daf3c9a6bd", + "difficulty": "HYPER", + "songID": 832, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16049, + "notecount": 714, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bcc851fe6ed40d11a9f289d03494251c6c6fd7b3", + "difficulty": "LEGGENDARIA", + "songID": 832, + "playtype": "SP", + "levelNum": 0, + "level": "11", + "data": { + "inGameID": 16049, + "notecount": 1232, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "202c297ff3ad28edcacf94099b2061e5fef44567", + "difficulty": "NORMAL", + "songID": 832, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16049, + "notecount": 465, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26aa9cad68e00f98aa4281eddefc2fb93fe3ef0b", + "difficulty": "ANOTHER", + "songID": 833, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16050, + "notecount": 1443, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8438584c38532910faa03d07388a8a63dd66988c", + "difficulty": "HYPER", + "songID": 833, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16050, + "notecount": 1094, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7147b4c1521f7c55242a1f5518c566e9661f01bb", + "difficulty": "LEGGENDARIA", + "songID": 833, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16050, + "notecount": 1766, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b2afb36211f0f74b037aeba3950268f5aff0f541", + "difficulty": "NORMAL", + "songID": 833, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16050, + "notecount": 659, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0c8df76e6c40f4685030ff7edcb3fb7bcbfed6e", + "difficulty": "ANOTHER", + "songID": 833, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16050, + "notecount": 1398, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "81aa485038cec17ac15c3f39c8127cdb027e038c", + "difficulty": "BEGINNER", + "songID": 833, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 16050, + "notecount": 198, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ffe764ac201594484f786e275bf13977a8745006", + "difficulty": "HYPER", + "songID": 833, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16050, + "notecount": 1087, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db27164236aa71032425bf87d1696b99f1ad0a6f", + "difficulty": "LEGGENDARIA", + "songID": 833, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16050, + "notecount": 1595, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a7f1a09a39a821feed5195a52df74890e9fa07d3", + "difficulty": "NORMAL", + "songID": 833, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16050, + "notecount": 672, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f7f94ce12dabe3892628c2c7b9d1743c2cee128", + "difficulty": "ANOTHER", + "songID": 834, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16051, + "notecount": 1087, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "426e7591c8dc8fffd4132d308543aea1ff4a2d28", + "difficulty": "HYPER", + "songID": 834, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16051, + "notecount": 822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8f6ea3609394afc323e9cb41e225a093ea3e0e6", + "difficulty": "NORMAL", + "songID": 834, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16051, + "notecount": 528, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "be9ba1290046427966e3aff168ac92632582167d", + "difficulty": "ANOTHER", + "songID": 834, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16051, + "notecount": 1166, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12S+", + "value": 13.2, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.50", + "value": 13.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "be9b86ac9a898efa539ad74ae3106a4dc82d5aa1", + "difficulty": "BEGINNER", + "songID": 834, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 16051, + "notecount": 276, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "322d7be451cbcb9f0a7a3498e162614d404fc9e1", + "difficulty": "HYPER", + "songID": 834, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16051, + "notecount": 899, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a36e9b75a86b32c3c5ef2e415a0b79b34411c81", + "difficulty": "NORMAL", + "songID": 834, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16051, + "notecount": 547, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9c7c1fa19fc1fddaf7b83c30b19ef7e374818876", + "difficulty": "ANOTHER", + "songID": 835, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16052, + "notecount": 1366, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e0ea4aafee64a3d9522c83182146017d67fc914", + "difficulty": "HYPER", + "songID": 835, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16052, + "notecount": 1138, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f94c899d5d6721964b21e2f8b66c810070801e4", + "difficulty": "NORMAL", + "songID": 835, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16052, + "notecount": 710, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4bf85da1132ebc7f8d86c9542cead6859bd69607", + "difficulty": "ANOTHER", + "songID": 835, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16052, + "notecount": 1187, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe28e61a285b7b3c3c23b0e5b139a3ef8644846a", + "difficulty": "HYPER", + "songID": 835, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16052, + "notecount": 1071, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0caee780c292e122ae28ada668634732bf9ae1a9", + "difficulty": "NORMAL", + "songID": 835, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16052, + "notecount": 741, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd7bb8086492749cf69c9199820e75d45be2bbf3", + "difficulty": "ANOTHER", + "songID": 836, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16053, + "notecount": 1276, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8299ef29b51e05d51bdcc2388572e1356aa78519", + "difficulty": "HYPER", + "songID": 836, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16053, + "notecount": 878, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a4e354a7c8330fc9a54b298369301cd5abe3dce6", + "difficulty": "NORMAL", + "songID": 836, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16053, + "notecount": 496, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "640a40f5f67cc3533116ff941326687cade50578", + "difficulty": "ANOTHER", + "songID": 836, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16053, + "notecount": 1272, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S+", + "value": 12.2, + "individualDifference": true + }, + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "41c1cdc065cde363a8565cdf6975ccd0176e2500", + "difficulty": "HYPER", + "songID": 836, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16053, + "notecount": 683, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "318a965707fb5906cc6ddd4923cf83919a918974", + "difficulty": "NORMAL", + "songID": 836, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16053, + "notecount": 415, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1bcc40fc4944e82b268195daae19920c24305c99", + "difficulty": "ANOTHER", + "songID": 846, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16201, + "notecount": 1777, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8d78686b867f53163f32dbf841e7dce8dad7d11", + "difficulty": "HYPER", + "songID": 846, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16201, + "notecount": 1173, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "746817db69695a1d41cf0a024a160fa329556df8", + "difficulty": "NORMAL", + "songID": 846, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16201, + "notecount": 710, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3982562f4a187e66b46c27bff27cc772501ed748", + "difficulty": "ANOTHER", + "songID": 846, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16201, + "notecount": 1405, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3eb3f3d15f628d172af1ab9a3265985af6305d31", + "difficulty": "HYPER", + "songID": 846, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16201, + "notecount": 1157, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f72362466b3127c7ac74cd0c6b4bcdf49300911e", + "difficulty": "NORMAL", + "songID": 846, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 16201, + "notecount": 523, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af78cf9d8a0d7498d9d2ea8a146b152afcc37ae7", + "difficulty": "ANOTHER", + "songID": 847, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16202, + "notecount": 1546, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33130c0d494aea2eb8e56957b49ea38a1f49fa6c", + "difficulty": "HYPER", + "songID": 847, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16202, + "notecount": 1129, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e74570f123982333ba518bf34393d47cc712e059", + "difficulty": "NORMAL", + "songID": 847, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16202, + "notecount": 693, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "430f55fad70991ae9d62f0178363fb249502b678", + "difficulty": "ANOTHER", + "songID": 847, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16202, + "notecount": 1285, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87b71fb209f2ed1dd32c814494432dec2eb8d321", + "difficulty": "HYPER", + "songID": 847, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16202, + "notecount": 987, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6823b140911ce19c7e376aa7983f6e564b69792e", + "difficulty": "NORMAL", + "songID": 847, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16202, + "notecount": 448, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1723503b49b0dc4c59829d5b1e0d3ccb32dd89d", + "difficulty": "ANOTHER", + "songID": 848, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 16203, + "notecount": 1625, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4d1b77fcc18a0eda8bc3a67e6f17aa6877386f7a", + "difficulty": "HYPER", + "songID": 848, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16203, + "notecount": 1152, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c665e3bc8a783984401c77dbe0eaf1937a898f4", + "difficulty": "NORMAL", + "songID": 848, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16203, + "notecount": 666, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5b75742d97047a09512a93e3ece03eec3f500c55", + "difficulty": "ANOTHER", + "songID": 848, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16203, + "notecount": 1384, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d50825ba35e971525162d2267a3fac4a52878a2f", + "difficulty": "HYPER", + "songID": 848, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16203, + "notecount": 1098, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4d41ed326e7d475950e83d7eb9b8e846e8da01c2", + "difficulty": "NORMAL", + "songID": 848, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16203, + "notecount": 446, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc7d887ae5a9fbbd5ec0f81a551e672e47f984b9", + "difficulty": "ANOTHER", + "songID": 849, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16204, + "notecount": 1295, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0c27998e32c50fa9a7eb00969ff69fc2f46b832", + "difficulty": "HYPER", + "songID": 849, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16204, + "notecount": 903, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e44c3a61a37b06f9a7b15848540e4c45c394cf3", + "difficulty": "NORMAL", + "songID": 849, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16204, + "notecount": 545, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd1d11c0777833035edcb25c54fdc850d2394a6b", + "difficulty": "ANOTHER", + "songID": 849, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16204, + "notecount": 1295, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50331f53ffc0eea8aefb71b6e53b200e6855feb2", + "difficulty": "HYPER", + "songID": 849, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16204, + "notecount": 903, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "86a8b52706b4748a76aa470c14c61f032e339f70", + "difficulty": "NORMAL", + "songID": 849, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16204, + "notecount": 545, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6e4e307ccd902f84847f66d080437dc33b1670ff", + "difficulty": "ANOTHER", + "songID": 850, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16206, + "notecount": 994, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e205718b28802b45a5118baecab34b718b86a71a", + "difficulty": "HYPER", + "songID": 850, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16206, + "notecount": 770, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a758d57a88ace0367ff8e59afb126eb631cbab6e", + "difficulty": "NORMAL", + "songID": 850, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16206, + "notecount": 439, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51bbad0472b4c7b4408d9e356da1309ddd88cf3f", + "difficulty": "ANOTHER", + "songID": 850, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16206, + "notecount": 994, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80eba9dbef1bf8831c206807e0eadbf6c6ba263a", + "difficulty": "HYPER", + "songID": 850, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16206, + "notecount": 770, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bee2e279e93c9e1e77eaae478ebd8357fe07e949", + "difficulty": "NORMAL", + "songID": 850, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16206, + "notecount": 439, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d615736723f765ff38fb555f4c9d35ea3ac9ffd2", + "difficulty": "ANOTHER", + "songID": 851, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16208, + "notecount": 1134, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8169b18efcb261ef0c6153746e1e60518b69c5e6", + "difficulty": "HYPER", + "songID": 851, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16208, + "notecount": 807, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1aa7f4ad648336cc4d55702cb3fec0888e227e93", + "difficulty": "NORMAL", + "songID": 851, + "playtype": "DP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 16208, + "notecount": 237, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8faba20ae02ca88b456804cf1202d50e2623f782", + "difficulty": "ANOTHER", + "songID": 851, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16208, + "notecount": 1135, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a524f20a9f92aa84954d5b5d7a35e8b39084e32", + "difficulty": "HYPER", + "songID": 851, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 16208, + "notecount": 913, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49fba795bffb939350b6b1072b87ba1ebe268e6e", + "difficulty": "NORMAL", + "songID": 851, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 16208, + "notecount": 277, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82be936e9a3baac3e0a08389459c61795c55d318", + "difficulty": "ANOTHER", + "songID": 852, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 16211, + "notecount": 1438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1eb1045d98e64ea5e746dc794000ef613c580209", + "difficulty": "HYPER", + "songID": 852, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 16211, + "notecount": 968, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c190667acb6e4b1edaab2dba2e65e9c968356b20", + "difficulty": "NORMAL", + "songID": 852, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 16211, + "notecount": 637, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2632b5cba73ed5ce3b7fc2efd47193f807dea4f6", + "difficulty": "ANOTHER", + "songID": 852, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 16211, + "notecount": 1127, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db320524bb80e366f28431264223a2dc925d31dc", + "difficulty": "HYPER", + "songID": 852, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 16211, + "notecount": 881, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3582fafc99d7b57ca3588935261070d34288f1b6", + "difficulty": "NORMAL", + "songID": 852, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 16211, + "notecount": 459, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "16-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c9e5292230d8486c206345bcea43061f97256036", + "difficulty": "ANOTHER", + "songID": 853, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17000, + "notecount": 1390, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "908d90b01db068de17667f3c0c144c7c0e8c0f67", + "difficulty": "HYPER", + "songID": 853, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17000, + "notecount": 822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55e695f2c65e6ab479eefb988d5a2f0fe6937256", + "difficulty": "NORMAL", + "songID": 853, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17000, + "notecount": 481, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bbbf709ab7ec1ace819066926f07e4ef611e6587", + "difficulty": "ANOTHER", + "songID": 853, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17000, + "notecount": 1152, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "868fa4e239b59a6eaeede9ea17fe15c466f018d5", + "difficulty": "BEGINNER", + "songID": 853, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 17000, + "notecount": 217, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2716363ce067bd57ea0663ef0359ec025e4b3dbf", + "difficulty": "HYPER", + "songID": 853, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17000, + "notecount": 754, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a481bbd22626ed609e7c1df72326b507eb90bd83", + "difficulty": "NORMAL", + "songID": 853, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17000, + "notecount": 462, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "419b38917ce6ad77e4528414d889ea2c7154546a", + "difficulty": "ANOTHER", + "songID": 854, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17001, + "notecount": 1521, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5cf243298b3be718cf8ae73ba57201b22b617acf", + "difficulty": "HYPER", + "songID": 854, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17001, + "notecount": 908, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ddfbef3cdd000849871916609e09dff9b7aa90f8", + "difficulty": "NORMAL", + "songID": 854, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17001, + "notecount": 636, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2666f0ebddfa8ac21faf40a0a1fc6822f708a736", + "difficulty": "ANOTHER", + "songID": 854, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17001, + "notecount": 1123, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1032cd8041d7bde43483ce76847bc48666ffd64e", + "difficulty": "HYPER", + "songID": 854, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17001, + "notecount": 943, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "acd4fd6afc85d062e0b1ffd56758bf76fbe78bc0", + "difficulty": "NORMAL", + "songID": 854, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17001, + "notecount": 646, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50478b50d1f074226207e309a3c0e69362411e85", + "difficulty": "ANOTHER", + "songID": 855, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17002, + "notecount": 1051, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5b1e20b27a876cd3c557f4a845fe57fce3464f29", + "difficulty": "HYPER", + "songID": 855, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17002, + "notecount": 857, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d93ab380f93fbf00627e48fe0c630d5e0860f12a", + "difficulty": "NORMAL", + "songID": 855, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17002, + "notecount": 471, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d2bd4e2a786474de20ffd186a6feaf3895e89914", + "difficulty": "ANOTHER", + "songID": 855, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17002, + "notecount": 1128, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f6f0fda75ad10315fb2cd68a9d52402c9aad029c", + "difficulty": "HYPER", + "songID": 855, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17002, + "notecount": 807, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c807560e1c63d338d7b7c5a787ba44dc19a37ce", + "difficulty": "NORMAL", + "songID": 855, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17002, + "notecount": 488, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "208ec98abae6e85f5d90ab1edb8e7a4672c1e5ef", + "difficulty": "ANOTHER", + "songID": 856, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17003, + "notecount": 1007, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed13c84033110efd004cb373abad4d4cb9464a12", + "difficulty": "HYPER", + "songID": 856, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17003, + "notecount": 713, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97d6f5740690ce7d6752756ef2c5cf3de747a674", + "difficulty": "NORMAL", + "songID": 856, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17003, + "notecount": 471, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7316076cd955fcbc1f7bef3e8d9ca59b1de37323", + "difficulty": "ANOTHER", + "songID": 856, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17003, + "notecount": 1112, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0bdb95b3360cb122ce45475c9eaad7641487536e", + "difficulty": "HYPER", + "songID": 856, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17003, + "notecount": 703, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d1a597a6e1a054c70e12c1916bf30f27f81692b", + "difficulty": "NORMAL", + "songID": 856, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17003, + "notecount": 360, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "258536d6fc85550551cd3c9f987b6aac5bb1c318", + "difficulty": "ANOTHER", + "songID": 857, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17004, + "notecount": 1268, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b8a18f3547c1b2fa8ce5878d633c2b50a5fbdfe", + "difficulty": "HYPER", + "songID": 857, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17004, + "notecount": 977, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d7084059cd2e1b3f725a5716b128c500a366818d", + "difficulty": "NORMAL", + "songID": 857, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17004, + "notecount": 390, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9b37a537b04fae8045c8128a879e1991a5fae95", + "difficulty": "ANOTHER", + "songID": 857, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17004, + "notecount": 1337, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "27270db6941d575ae94c028df1b21eec448fb9e9", + "difficulty": "BEGINNER", + "songID": 857, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 17004, + "notecount": 175, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "497e37f961f4b467af5fd9612ca09d1dbad294ce", + "difficulty": "HYPER", + "songID": 857, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17004, + "notecount": 1115, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a7bc90f26d687803d1a128ff55f4b0cb4b7604e", + "difficulty": "NORMAL", + "songID": 857, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17004, + "notecount": 435, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cab64cbc5d5f74fde5e97153cfff0b2cd15cdfd6", + "difficulty": "ANOTHER", + "songID": 858, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17005, + "notecount": 1025, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df74da591adb103f88c3057a4e27f1b61c6f1a95", + "difficulty": "HYPER", + "songID": 858, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17005, + "notecount": 683, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41ac268ebcb4c0745e8b885d78b80757a1188e2d", + "difficulty": "NORMAL", + "songID": 858, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17005, + "notecount": 500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f06cf0fd04a9944eb79eef6d0f680dbc032c706", + "difficulty": "ANOTHER", + "songID": 858, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17005, + "notecount": 1025, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d7eaf8be7fafdd96f635954521c3e917fb9ad7c5", + "difficulty": "BEGINNER", + "songID": 858, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 17005, + "notecount": 221, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d7aedfcfac67657c46baf1071734667aacf45551", + "difficulty": "HYPER", + "songID": 858, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17005, + "notecount": 683, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f620317830e3d3a35680e6507538773a166b63be", + "difficulty": "NORMAL", + "songID": 858, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17005, + "notecount": 447, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "481d49b49a178faad8fab95bbd7bd2e8b654ea95", + "difficulty": "ANOTHER", + "songID": 859, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17006, + "notecount": 2000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4d405f319dfed2e4e89713f421b0fae048f0eb6", + "difficulty": "HYPER", + "songID": 859, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17006, + "notecount": 1210, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "57911a71e8968477ccce61a2a72fd9a54c25f16a", + "difficulty": "NORMAL", + "songID": 859, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17006, + "notecount": 652, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "509a1e93e76ff15165307d58e20b0e023e3cd4ab", + "difficulty": "ANOTHER", + "songID": 859, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17006, + "notecount": 2000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "04e12c950c98e21749322c6efac8ca643a547e01", + "difficulty": "HYPER", + "songID": 859, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17006, + "notecount": 1210, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "58b97fd7f9333bc269bc5f64e05a49e915b38271", + "difficulty": "NORMAL", + "songID": 859, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17006, + "notecount": 906, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f63e8b677709bca50eed2e745e96c352d38dbdd9", + "difficulty": "ANOTHER", + "songID": 860, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17007, + "notecount": 1631, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1eafff345c8c5dfef269b97fb10c0a5b7369945e", + "difficulty": "HYPER", + "songID": 860, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17007, + "notecount": 1180, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "854d0d7bc69149a9c42f14e3d7f6dc205aa7997a", + "difficulty": "NORMAL", + "songID": 860, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17007, + "notecount": 601, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "95036b5b1387fe229d5a7a435b3bf331bd843788", + "difficulty": "ANOTHER", + "songID": 860, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17007, + "notecount": 1636, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "47c90b848052ac9334bc0ebb4f9491d31711b185", + "difficulty": "HYPER", + "songID": 860, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17007, + "notecount": 1194, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "026fbe14177eba0e55b45462f06656a196988669", + "difficulty": "NORMAL", + "songID": 860, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17007, + "notecount": 635, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4768a07c59e5ceddec80d47a280f4b6c105d5f1", + "difficulty": "ANOTHER", + "songID": 861, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17008, + "notecount": 1197, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f074e7a59ccf04475a9923af9492f273632ac6d6", + "difficulty": "HYPER", + "songID": 861, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17008, + "notecount": 979, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b09c9689cdeed5ae36c456f47e8fd657a75778e", + "difficulty": "NORMAL", + "songID": 861, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17008, + "notecount": 708, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db0120a8c2e4a7ecec1d7b8837a0dc00e2785462", + "difficulty": "ANOTHER", + "songID": 861, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17008, + "notecount": 1208, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1ec277b6f0cc1646c5a7664a36f71c538a35ce66", + "difficulty": "HYPER", + "songID": 861, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17008, + "notecount": 1036, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "05d8e52818c0a59879da17605358a2b128d38334", + "difficulty": "NORMAL", + "songID": 861, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17008, + "notecount": 733, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c03b189eef458e620baa33dd1569d6ba0dc918ee", + "difficulty": "ANOTHER", + "songID": 862, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17009, + "notecount": 1980, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2dc05f7eb7c4a109718be74d1affbfe557dc982", + "difficulty": "HYPER", + "songID": 862, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17009, + "notecount": 1392, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc2d87619f29f4df093385c7cba32305e147b1b0", + "difficulty": "NORMAL", + "songID": 862, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17009, + "notecount": 887, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4fae0da4da221edf5b330530cc84df1253acad6a", + "difficulty": "ANOTHER", + "songID": 862, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17009, + "notecount": 1964, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "97bd72f6a1ce8639a2fe5c0726b45b4cd03227a6", + "difficulty": "HYPER", + "songID": 862, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17009, + "notecount": 1417, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb05c23a72730ecdd9e03111c60f563c3b89f429", + "difficulty": "NORMAL", + "songID": 862, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17009, + "notecount": 628, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26d432b7e1baaee0b07b891d472c91093e053e30", + "difficulty": "ANOTHER", + "songID": 863, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17010, + "notecount": 1089, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "257d34d796c32448d82d297e1c928b3723e1660d", + "difficulty": "HYPER", + "songID": 863, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17010, + "notecount": 902, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6e4b1fe1e73845b1bf9773fa994e045e6eeeaea8", + "difficulty": "NORMAL", + "songID": 863, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17010, + "notecount": 470, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae7be8b8438fab21a37e7e500c5a56b3d5acfd03", + "difficulty": "ANOTHER", + "songID": 863, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17010, + "notecount": 1277, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f393d7ec2e403a1027629c7a93d892f4a020cb0a", + "difficulty": "HYPER", + "songID": 863, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17010, + "notecount": 917, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b786261b70d8ae6775079ef40b5ac9835ea2ca24", + "difficulty": "NORMAL", + "songID": 863, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17010, + "notecount": 465, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f908e895086ad24831dfb32d7b84aba8d4b9b8fb", + "difficulty": "ANOTHER", + "songID": 864, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17011, + "notecount": 995, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "71a5ff3feeb9c0c6f2575286211e80e013290d19", + "difficulty": "HYPER", + "songID": 864, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17011, + "notecount": 596, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "429d44903f64a05f5e83bb16674b1d140a7f40fa", + "difficulty": "NORMAL", + "songID": 864, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17011, + "notecount": 397, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a4a9f30a11b1a137255c82be49bcf7ddfd38549", + "difficulty": "ANOTHER", + "songID": 864, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17011, + "notecount": 914, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f4ada5a8e682e36a63b0ca3ffce03f694918ff4d", + "difficulty": "HYPER", + "songID": 864, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17011, + "notecount": 603, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa9d40282abd587120cef04883856c28b7701eb1", + "difficulty": "NORMAL", + "songID": 864, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17011, + "notecount": 396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f94fe422ea568fc002a770ab5676e4b1e184f1b2", + "difficulty": "ANOTHER", + "songID": 865, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17012, + "notecount": 864, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98d9a0bd7feae80fe8aa084a3d72a674ea12ffbc", + "difficulty": "HYPER", + "songID": 865, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17012, + "notecount": 555, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "abd8be651db13d5fc7f462db86537bcc007e4764", + "difficulty": "NORMAL", + "songID": 865, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 17012, + "notecount": 278, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c2c56872730cd1747592e5df7a14535bc698e5a6", + "difficulty": "ANOTHER", + "songID": 865, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17012, + "notecount": 998, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9452fb66a914a1f354fe0458264558d1bf5e5186", + "difficulty": "HYPER", + "songID": 865, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17012, + "notecount": 613, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74cc7717973a9c04743116ca3a8bf2b9763b84ab", + "difficulty": "NORMAL", + "songID": 865, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17012, + "notecount": 331, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b26cc751be354c832c2fcea04ddc34340d6e892", + "difficulty": "ANOTHER", + "songID": 866, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17013, + "notecount": 1020, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab9350c1b7cfc84829417d709d4fdc2518b078f6", + "difficulty": "HYPER", + "songID": 866, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17013, + "notecount": 795, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6082bab23a50907480cd213880ba1976b9b4e05b", + "difficulty": "NORMAL", + "songID": 866, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17013, + "notecount": 356, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45a7d8c553bcfd2f267c2c048a7a6cc53e3234f8", + "difficulty": "ANOTHER", + "songID": 866, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17013, + "notecount": 1002, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7551c2a33656c3065755e66519d245efcc6f7330", + "difficulty": "BEGINNER", + "songID": 866, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 17013, + "notecount": 217, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "338ff32c3265994313b2313600440f810eaab18c", + "difficulty": "HYPER", + "songID": 866, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17013, + "notecount": 801, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49e754e41a96f895b2c60fcaeb29797cfcaa9d07", + "difficulty": "NORMAL", + "songID": 866, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17013, + "notecount": 358, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b7aa05eee3b274f37f39f58ecac256caf18c52f", + "difficulty": "ANOTHER", + "songID": 867, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17014, + "notecount": 1574, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79f06df417bb3c67119fb67c65675c60f34859c5", + "difficulty": "HYPER", + "songID": 867, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17014, + "notecount": 1022, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df899e296632bb4bd004822962f64e30ee38538b", + "difficulty": "NORMAL", + "songID": 867, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17014, + "notecount": 650, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04c91033dd30467176805f48e51c2938d4145733", + "difficulty": "ANOTHER", + "songID": 867, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17014, + "notecount": 1357, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a9656edd1e9f6e88a326de8f4fcb1eb1eb4ce55b", + "difficulty": "HYPER", + "songID": 867, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17014, + "notecount": 1045, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f0c69bd49b08cc0afdd111522bc64d0a1112a74", + "difficulty": "NORMAL", + "songID": 867, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17014, + "notecount": 641, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df3129252cdbc0b7c4c7fcdab52f58852d2ffe76", + "difficulty": "ANOTHER", + "songID": 868, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17015, + "notecount": 1836, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b0e032f3b37d934a2ee376d51854291cff5ac2c4", + "difficulty": "HYPER", + "songID": 868, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17015, + "notecount": 1028, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f03e8e855aa292c534727127c830745aaa9863b", + "difficulty": "NORMAL", + "songID": 868, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17015, + "notecount": 564, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c595e4cb696505a462e001746ee9d2df63df52e3", + "difficulty": "ANOTHER", + "songID": 868, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17015, + "notecount": 1389, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3625c061aaf90c384868b7f3745f7b77edc63b27", + "difficulty": "BEGINNER", + "songID": 868, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 17015, + "notecount": 111, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5673b3625d2adfc1b23f5fd19bff2f5706d4810f", + "difficulty": "HYPER", + "songID": 868, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17015, + "notecount": 1184, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c59ee6ac3a9ccac64590eefdfb6ef7c049989e1", + "difficulty": "NORMAL", + "songID": 868, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17015, + "notecount": 614, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cbb90080e83d8ca50d5dbc08c4376c50732a696e", + "difficulty": "ANOTHER", + "songID": 869, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17016, + "notecount": 1764, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "39d35ceba9a9b2c593c1d59029402046d7494d47", + "difficulty": "HYPER", + "songID": 869, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17016, + "notecount": 1117, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "355fa7995aa91f09ff526001653bb832a8209e7d", + "difficulty": "NORMAL", + "songID": 869, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17016, + "notecount": 506, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34651ed9cee901f8aeeb0fb93f4b393967a72d9a", + "difficulty": "ANOTHER", + "songID": 869, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17016, + "notecount": 1629, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "172d4af3eadf3949823c9b37c5222a42ad65a679", + "difficulty": "HYPER", + "songID": 869, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17016, + "notecount": 1146, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": true + } + } + }, + { + "rgcID": null, + "chartID": "59a9a0e0357a5710a58012122e6b5576875f9697", + "difficulty": "NORMAL", + "songID": 869, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17016, + "notecount": 519, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa0b4cf6d61a9a8b2ec8f034a9261cab6c65916e", + "difficulty": "ANOTHER", + "songID": 870, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17017, + "notecount": 2290, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b14740ff034fb9da37e0a4f82855e6e34abb562", + "difficulty": "HYPER", + "songID": 870, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17017, + "notecount": 1259, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "90be25a8613f79f522d3fd14b33af0f958843419", + "difficulty": "NORMAL", + "songID": 870, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17017, + "notecount": 640, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1bc28e00a965f60584a57a003e19c24bad0df49b", + "difficulty": "ANOTHER", + "songID": 870, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17017, + "notecount": 1684, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": true + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "693cb9195a796d2507ef9030d2886feb57b8c50d", + "difficulty": "HYPER", + "songID": 870, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17017, + "notecount": 1214, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5bdaf9c06834bbabaac6afdf7b55c296ec465b78", + "difficulty": "NORMAL", + "songID": 870, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17017, + "notecount": 669, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c3ba050fc0d0c83304d901ec1b10b866ff0d850a", + "difficulty": "ANOTHER", + "songID": 871, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17018, + "notecount": 873, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e5dddcb48ae0d6deb3e7a5ac2e615d83f3da08c1", + "difficulty": "HYPER", + "songID": 871, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17018, + "notecount": 659, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "92e27e697c626132a40bd8ab297b038af0f89607", + "difficulty": "NORMAL", + "songID": 871, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17018, + "notecount": 475, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d75a1a80e93491c59fbe2001ba9eb353bd6fabe8", + "difficulty": "ANOTHER", + "songID": 871, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17018, + "notecount": 922, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "579d37bccf06594ae8791c965edeba9e0ea91fac", + "difficulty": "HYPER", + "songID": 871, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17018, + "notecount": 743, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78c14f9ef34913e37382e40230fff15161dd594f", + "difficulty": "NORMAL", + "songID": 871, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17018, + "notecount": 407, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "528a5bac3095f09d55c461fa37eb2dc0bf654c90", + "difficulty": "ANOTHER", + "songID": 872, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17019, + "notecount": 903, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0aac4855b2ecc4278241c410937319694679de4", + "difficulty": "HYPER", + "songID": 872, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17019, + "notecount": 568, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e5040d760cc6d4c9a3ece16e521cfe5f1d025319", + "difficulty": "NORMAL", + "songID": 872, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17019, + "notecount": 305, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8ff1692c97c6f7d30a80e6d8204d9c9dc2c760b8", + "difficulty": "ANOTHER", + "songID": 872, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17019, + "notecount": 951, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f83c38f1ee3977fee3b7abe566d06da0f60f057", + "difficulty": "HYPER", + "songID": 872, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17019, + "notecount": 518, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c0ca5f8de52210e4ef35e88ea455c7d8981e62b", + "difficulty": "NORMAL", + "songID": 872, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17019, + "notecount": 295, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fcd370d5a53ee0c50dc724fe7d4fb46d5e884461", + "difficulty": "ANOTHER", + "songID": 873, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17020, + "notecount": 951, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "76d6b97e62694580f6513dddadf2d10ade604040", + "difficulty": "HYPER", + "songID": 873, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17020, + "notecount": 590, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c8fa9840b485fde2db1be723892092ee317ae151", + "difficulty": "NORMAL", + "songID": 873, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17020, + "notecount": 412, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da19e737509c7cfcadadcc9b6036dd90d284b5da", + "difficulty": "ANOTHER", + "songID": 873, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17020, + "notecount": 940, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad58c9fe281e55b87b659827887c9b8d32a45cb6", + "difficulty": "HYPER", + "songID": 873, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17020, + "notecount": 705, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0bad25c119aba73741d7485895f9b53822e9b57", + "difficulty": "NORMAL", + "songID": 873, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17020, + "notecount": 422, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "417343c9874e2cdb018f73b0967f82facecfe475", + "difficulty": "ANOTHER", + "songID": 874, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17021, + "notecount": 1059, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f6a67bf8835b22a38451a7bbab2aa312eaee9326", + "difficulty": "HYPER", + "songID": 874, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17021, + "notecount": 840, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ce79bf996e261ac6e8e855d16b606d6f455b9ce", + "difficulty": "NORMAL", + "songID": 874, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17021, + "notecount": 434, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9e5c50f76a951e25f40bb2e435c0fd10bd70521", + "difficulty": "ANOTHER", + "songID": 874, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17021, + "notecount": 1197, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26138179ea5ea861185e1aebde9b922fef72d0a3", + "difficulty": "HYPER", + "songID": 874, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17021, + "notecount": 840, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49f68bd6c162f3e15d537a814dcf616bf52f2646", + "difficulty": "NORMAL", + "songID": 874, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17021, + "notecount": 443, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b980a86e21f73369b15899f582d51bcb8db5581b", + "difficulty": "ANOTHER", + "songID": 875, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17022, + "notecount": 1606, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d87ca09e0a821c4b1f3c6d0cab186552411bc399", + "difficulty": "HYPER", + "songID": 875, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17022, + "notecount": 1074, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e990bc5fe73b92e208c84117953c4b1e8452588", + "difficulty": "NORMAL", + "songID": 875, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17022, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d0d36165f67eac018700ac922cdc3fa0ab0fc1c", + "difficulty": "ANOTHER", + "songID": 875, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17022, + "notecount": 1656, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "30b87d716691a4aca5c3e29287e5e3a0f84f1182", + "difficulty": "HYPER", + "songID": 875, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17022, + "notecount": 989, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d2f4b2c745488bcfdfc212f26b6de9ff3d2b3888", + "difficulty": "NORMAL", + "songID": 875, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17022, + "notecount": 667, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ceee9fccebf3895201e4961dd5d076830abab29", + "difficulty": "ANOTHER", + "songID": 876, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17023, + "notecount": 1135, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2aec18693c311c1591a8ac70d10fd9ee8d2d74cd", + "difficulty": "HYPER", + "songID": 876, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17023, + "notecount": 885, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b847b0762bb14c758c8121b9cc156155e4bd8c4", + "difficulty": "NORMAL", + "songID": 876, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17023, + "notecount": 371, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f2bd1cf15a6849f43f00ebb43a60a49874b2857", + "difficulty": "ANOTHER", + "songID": 876, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17023, + "notecount": 1309, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6ba375e353ce6f173dcfe1fae26851d26ad51d96", + "difficulty": "HYPER", + "songID": 876, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17023, + "notecount": 960, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "15d65158a925a4208517a1426feca4be9b79efa4", + "difficulty": "NORMAL", + "songID": 876, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17023, + "notecount": 563, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca557a94ace461022da750a230f7d274a51a0a33", + "difficulty": "ANOTHER", + "songID": 877, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17024, + "notecount": 1257, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "59805e2a83e434cabc24104efb59547f20a15362", + "difficulty": "HYPER", + "songID": 877, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17024, + "notecount": 1021, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1cb5e0d105545f7563a2a4a551f8dc5e643b0fd", + "difficulty": "NORMAL", + "songID": 877, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17024, + "notecount": 598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3b3f8a2d181118bd80b9a5f3a8c7bbc60178faae", + "difficulty": "ANOTHER", + "songID": 877, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17024, + "notecount": 1313, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": true + } + } + }, + { + "rgcID": null, + "chartID": "57ac1d9d09af64e457b726223ce27238c72297de", + "difficulty": "HYPER", + "songID": 877, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17024, + "notecount": 1004, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a831d5cd8fc0850685fff839f2d64fef055c9f56", + "difficulty": "NORMAL", + "songID": 877, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17024, + "notecount": 770, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b513f400b80e18ceec6dd8edea163799ce48c37e", + "difficulty": "ANOTHER", + "songID": 878, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17025, + "notecount": 1384, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ebe3d771f9154be4a6fccc357f96b5d46f9ece9f", + "difficulty": "HYPER", + "songID": 878, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17025, + "notecount": 1109, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9fe8e311f7e999f2f8b531bb0790258602879d1", + "difficulty": "NORMAL", + "songID": 878, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17025, + "notecount": 646, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "187044d55080b9ae8c37739afdb01299bfaa7e7a", + "difficulty": "ANOTHER", + "songID": 878, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17025, + "notecount": 1313, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f68fd5dda2bfe7e5c8bcb961918ca87b5c8d4347", + "difficulty": "BEGINNER", + "songID": 878, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 17025, + "notecount": 198, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ab87c7aa8fb6c7847c4c63e6080a231d472b0dd", + "difficulty": "HYPER", + "songID": 878, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17025, + "notecount": 980, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e70b562ce47d271ff3b0d2fb38af66b58e67c17a", + "difficulty": "NORMAL", + "songID": 878, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17025, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e70c2d1ea37d6f744c57274a30d9fd12227fa77", + "difficulty": "ANOTHER", + "songID": 879, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17026, + "notecount": 1361, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19676b1230ddf90011403c72012c1c8a54957d13", + "difficulty": "HYPER", + "songID": 879, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17026, + "notecount": 898, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49a741a6b123428c25cc43a7ae1f4da12a9e0d0d", + "difficulty": "NORMAL", + "songID": 879, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17026, + "notecount": 559, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "05601fba4d7fe2e011cda403667fcfc7cf6ba42e", + "difficulty": "ANOTHER", + "songID": 879, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17026, + "notecount": 988, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fdad62b9b516644f10a6ecf58534a624ee5e544a", + "difficulty": "HYPER", + "songID": 879, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17026, + "notecount": 582, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e47145ccf77a8968716691e7537da0dec1c61b2", + "difficulty": "NORMAL", + "songID": 879, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17026, + "notecount": 415, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f293a526f6c752d7ef25e3e446660980d2bca7dc", + "difficulty": "ANOTHER", + "songID": 880, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17027, + "notecount": 1327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12d22422eab0e34d82d91624183fa72f4d07369b", + "difficulty": "HYPER", + "songID": 880, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17027, + "notecount": 872, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "025a49c820c3a07dd72207c10783c97b67a96545", + "difficulty": "NORMAL", + "songID": 880, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17027, + "notecount": 531, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f79e32d17b56617414b46ac33218f8205b05b5f", + "difficulty": "ANOTHER", + "songID": 880, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17027, + "notecount": 1446, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "49c8ba136dfc1a99d56fec31b96b264b25284084", + "difficulty": "HYPER", + "songID": 880, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17027, + "notecount": 1004, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "069ccf21a08123dfcc18792a64c80e32d1ccf7c3", + "difficulty": "NORMAL", + "songID": 880, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17027, + "notecount": 477, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d8114d8d10883a76cc254a638e9d6fb05e21cd34", + "difficulty": "ANOTHER", + "songID": 881, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17028, + "notecount": 1225, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4b96c9498af4d13971a907b433f55b25e146ae0", + "difficulty": "HYPER", + "songID": 881, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17028, + "notecount": 944, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "88be1553b259929de9a83b9f60cca64699d95b43", + "difficulty": "LEGGENDARIA", + "songID": 881, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17028, + "notecount": 1503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "047308905f7098058af3caa96511cb648e35de73", + "difficulty": "NORMAL", + "songID": 881, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17028, + "notecount": 587, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43ebc4a25baee16edea108c49e299a7f925fb71b", + "difficulty": "ANOTHER", + "songID": 881, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17028, + "notecount": 1189, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5d0ce8c1973e14aad82dd51c07fca8cdd5ad3dbb", + "difficulty": "BEGINNER", + "songID": 881, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 17028, + "notecount": 276, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7918a8233ac0ad905d592066c34ee82a69c6230c", + "difficulty": "HYPER", + "songID": 881, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17028, + "notecount": 952, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8fd89f5b3ac8ed2ebb1ec26aeeeca8bb3d0514ac", + "difficulty": "LEGGENDARIA", + "songID": 881, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17028, + "notecount": 1523, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": true + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "487e9c7611e7020aabf6d16868bbfc353619b2a3", + "difficulty": "NORMAL", + "songID": 881, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17028, + "notecount": 592, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8ffc4f044e1231eb91f779ba2df03e0bdb45251a", + "difficulty": "ANOTHER", + "songID": 882, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17029, + "notecount": 1192, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4df4f76e91332caed49e5f5cb2cb003cc95fc221", + "difficulty": "HYPER", + "songID": 882, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17029, + "notecount": 806, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50f027d2549044e544760ade19a96d8b4f15ccea", + "difficulty": "NORMAL", + "songID": 882, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17029, + "notecount": 401, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94d947277eec98fac4ff0d233d7fc6da59d6873e", + "difficulty": "ANOTHER", + "songID": 882, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17029, + "notecount": 1025, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "58ef94ce27660edca721f3138d001356d7faa178", + "difficulty": "HYPER", + "songID": 882, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17029, + "notecount": 754, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "01813e346b0a651726b6f8c1756efafd4f776eb6", + "difficulty": "NORMAL", + "songID": 882, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17029, + "notecount": 414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd67cde14867804902f526c61df59982cb4ffa3e", + "difficulty": "ANOTHER", + "songID": 883, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17030, + "notecount": 897, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "241d190af5648d98a91f3b37585d648020d272ff", + "difficulty": "HYPER", + "songID": 883, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17030, + "notecount": 703, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7275b7c88df34b6401fb99da7dece2af785cfc4f", + "difficulty": "NORMAL", + "songID": 883, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17030, + "notecount": 409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce71f9c794c429b71ca37ca0615b7b983b3d16ef", + "difficulty": "ANOTHER", + "songID": 883, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17030, + "notecount": 892, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13d6019c21f8fd53b141000c742d4d2a37616aea", + "difficulty": "HYPER", + "songID": 883, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17030, + "notecount": 673, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e00c3264172f717675e9c4c2d4ee82f2540a6772", + "difficulty": "NORMAL", + "songID": 883, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17030, + "notecount": 409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c2b14366fb5b3d856e68f1c01c71a9e388567800", + "difficulty": "ANOTHER", + "songID": 884, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17031, + "notecount": 973, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "165eb003c7138c3986071ddfcd68ae15d4385b7e", + "difficulty": "HYPER", + "songID": 884, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17031, + "notecount": 726, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "15e5fb7a31e921432f251249caa939b57cea06a9", + "difficulty": "NORMAL", + "songID": 884, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17031, + "notecount": 464, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc09d94705cc84d34d705df66c247166e98de9cb", + "difficulty": "ANOTHER", + "songID": 884, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17031, + "notecount": 946, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12429910027d11dfd63dee9ce85603dede8e75fe", + "difficulty": "HYPER", + "songID": 884, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17031, + "notecount": 711, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80445c8e84a5905c8f686c6668f9710711489832", + "difficulty": "NORMAL", + "songID": 884, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17031, + "notecount": 420, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "752e8b2e903bdd518c7368343071814b5f166c42", + "difficulty": "ANOTHER", + "songID": 885, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17032, + "notecount": 1564, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9c9cd9f5d24e8d26df61745ccc85f592d049daa5", + "difficulty": "HYPER", + "songID": 885, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17032, + "notecount": 1015, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26b8cc48b2bb2edd30b1002a229f5f5db144ddbc", + "difficulty": "NORMAL", + "songID": 885, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17032, + "notecount": 517, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e064e485f02479fe47bb16ff5a347ef21ae1ff3a", + "difficulty": "ANOTHER", + "songID": 885, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17032, + "notecount": 1643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": true + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "9458f2ea70b77aa62fbc7b7b1df8f167df233ce3", + "difficulty": "HYPER", + "songID": 885, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17032, + "notecount": 1062, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eaa0b9817379569f8ebd600b2d2a176d44db1c6c", + "difficulty": "NORMAL", + "songID": 885, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17032, + "notecount": 517, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "14e1d785b72b685f171844164b09f1912742d076", + "difficulty": "ANOTHER", + "songID": 886, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17033, + "notecount": 1012, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03cee4d796c3233f0130c8fc5b46908cbabae485", + "difficulty": "HYPER", + "songID": 886, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17033, + "notecount": 778, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03e9f7cb439d5003c1c9cc60f39b80cdaefab8a7", + "difficulty": "NORMAL", + "songID": 886, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17033, + "notecount": 471, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af7ae1b06376c990ebd1ac640aee2e2a1f4647fd", + "difficulty": "ANOTHER", + "songID": 886, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17033, + "notecount": 1049, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a4a401b47ecd2561b6ec9a65fd0f02f1560e951", + "difficulty": "HYPER", + "songID": 886, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17033, + "notecount": 762, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73d83f561fa83b1f29cda830c4531c3972c5811f", + "difficulty": "NORMAL", + "songID": 886, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17033, + "notecount": 458, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0df34db845f8fd6e5fad7767aa0328c91fba4eeb", + "difficulty": "ANOTHER", + "songID": 887, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17034, + "notecount": 910, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "67b9767123275580855a14e208bbdfc6a9cf575f", + "difficulty": "HYPER", + "songID": 887, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17034, + "notecount": 689, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ebd838b10cba24631b60b5b7e709210177fc14e", + "difficulty": "NORMAL", + "songID": 887, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17034, + "notecount": 352, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c59b797189b6cbcf9c426da8c77f24639d3a3ecf", + "difficulty": "ANOTHER", + "songID": 887, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17034, + "notecount": 852, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "631ba80270c6f4893ca9d7d40bd58776864eea06", + "difficulty": "HYPER", + "songID": 887, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17034, + "notecount": 600, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f1063854be3b1ab58f81e5be31d893600f10afd", + "difficulty": "NORMAL", + "songID": 887, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 17034, + "notecount": 265, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "07342dc3b5a21293d6377a25cd684f6af5326b07", + "difficulty": "ANOTHER", + "songID": 888, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17035, + "notecount": 1190, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "20f49dfe2208301680952e93412017a1d6f34044", + "difficulty": "HYPER", + "songID": 888, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17035, + "notecount": 987, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93c5262cc1881f28758a2e3ff354ac2c92de3fce", + "difficulty": "NORMAL", + "songID": 888, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17035, + "notecount": 524, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "07ebb39eccc3f484927d38f73abe508c13d64524", + "difficulty": "ANOTHER", + "songID": 888, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17035, + "notecount": 1017, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a1104085353ed7fed2b596e37ce7ecf5fc4c2ba", + "difficulty": "HYPER", + "songID": 888, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17035, + "notecount": 836, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74b01e774b8c40650118cab5c96580d2a657a6ee", + "difficulty": "NORMAL", + "songID": 888, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17035, + "notecount": 507, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "934d90a1a897b6efbba03d3ba45c0f9fb9855cc4", + "difficulty": "ANOTHER", + "songID": 889, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17036, + "notecount": 1316, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "592e868e79affd02a51bf5b912656cc714e837b5", + "difficulty": "HYPER", + "songID": 889, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17036, + "notecount": 1052, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f51e43bf02ab7ff16169891dbd27dffaf71ac5d", + "difficulty": "NORMAL", + "songID": 889, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17036, + "notecount": 514, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3cf8cf148906e99912e748bf5c9a3473600227e3", + "difficulty": "ANOTHER", + "songID": 889, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17036, + "notecount": 1402, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f92f24fb744dc0b8fea9ff2f985e91a1fbd37eb0", + "difficulty": "HYPER", + "songID": 889, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17036, + "notecount": 996, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "563f8ee2698389582a484887ecbc94e2ecac3743", + "difficulty": "NORMAL", + "songID": 889, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17036, + "notecount": 539, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1365d8c2f25d5820b14035b65f35d644890df88d", + "difficulty": "ANOTHER", + "songID": 890, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17037, + "notecount": 967, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41db876ef6d66191d6a0041c6a55d728fa8f9517", + "difficulty": "HYPER", + "songID": 890, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17037, + "notecount": 698, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ab4fd489660fa18241b4551bc5ac39b86b1d2f4", + "difficulty": "NORMAL", + "songID": 890, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17037, + "notecount": 341, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "761263b5d9a60c0cc7ce44b577780e1e2c65db8d", + "difficulty": "ANOTHER", + "songID": 890, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17037, + "notecount": 893, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "367b0752eb3471604b871a12f815b8785e66fdd0", + "difficulty": "HYPER", + "songID": 890, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17037, + "notecount": 701, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f5597b2168aff337ecb7b8d85eb8fef47791de7", + "difficulty": "NORMAL", + "songID": 890, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17037, + "notecount": 351, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b87c583548c4b5080f78dea76ae4c21b32bd998f", + "difficulty": "ANOTHER", + "songID": 891, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17038, + "notecount": 685, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c53332b7434c4525dff5467be04d9d57851ffae", + "difficulty": "HYPER", + "songID": 891, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17038, + "notecount": 491, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c01467b9ae14a082734e6d08bec7077529a4e41", + "difficulty": "NORMAL", + "songID": 891, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 17038, + "notecount": 263, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a4fcdccd12eceafbea65f72c9d16cc5cd3cb655", + "difficulty": "ANOTHER", + "songID": 891, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17038, + "notecount": 724, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2188cd613efca4e07b628afbce862eeeec4f5c93", + "difficulty": "HYPER", + "songID": 891, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17038, + "notecount": 505, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eab04f4a12b1b7eaec40b9ece55ff384c4b18006", + "difficulty": "NORMAL", + "songID": 891, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 17038, + "notecount": 233, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a7af2d00d28963469c8b440a5879a263b51660d", + "difficulty": "ANOTHER", + "songID": 892, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17039, + "notecount": 1204, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b3d1e572dd43393b080db097550bf82ce790bf12", + "difficulty": "HYPER", + "songID": 892, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17039, + "notecount": 775, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e258a49ccedd513e61cd6b2c9f1c747a9dabb9a", + "difficulty": "NORMAL", + "songID": 892, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17039, + "notecount": 380, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f7c1bf2a9596eeb53e3f6f763e799a974b65ada1", + "difficulty": "ANOTHER", + "songID": 892, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17039, + "notecount": 942, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c60547c2342cbff0327b5bb7397f8a08fe5ea98", + "difficulty": "HYPER", + "songID": 892, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17039, + "notecount": 867, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c243e2e1bdd772d2b9b14cab63f16b2c7433ec9c", + "difficulty": "NORMAL", + "songID": 892, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17039, + "notecount": 521, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5698ac1957a9dc3f643da3a4560c94839fa3adce", + "difficulty": "ANOTHER", + "songID": 893, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17040, + "notecount": 1140, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c1b3ff1a471c69843e9e362b6062588999d8768f", + "difficulty": "HYPER", + "songID": 893, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17040, + "notecount": 818, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "036d61338d0a6467b818b4eba66d2cb0fafe1440", + "difficulty": "NORMAL", + "songID": 893, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17040, + "notecount": 474, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d22cb55f2ed0f8042c0e12946bf39d3b0338521", + "difficulty": "ANOTHER", + "songID": 893, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17040, + "notecount": 1053, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1e682d5c6ce193207affc2a8f9cbf8679f751f0", + "difficulty": "HYPER", + "songID": 893, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17040, + "notecount": 767, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "022a84430bdd6b7bdfd7c94ebd21a5f35b3e9f17", + "difficulty": "NORMAL", + "songID": 893, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17040, + "notecount": 403, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84f9a4ce4fa5aa4c898d33c227be29091c953959", + "difficulty": "ANOTHER", + "songID": 894, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17041, + "notecount": 1170, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "537606c0cdef0665bbc6bd8c499c3bbbfa17ac5c", + "difficulty": "HYPER", + "songID": 894, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17041, + "notecount": 871, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c72b1a08fad6e5a8ae0c58c7705bc88a9af91fa0", + "difficulty": "NORMAL", + "songID": 894, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17041, + "notecount": 638, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7460c1bd5ba516c33361338b60a42b31c2adf095", + "difficulty": "ANOTHER", + "songID": 894, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17041, + "notecount": 1240, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "9266d8241143f08ab95a24c831a36109bd15b078", + "difficulty": "HYPER", + "songID": 894, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17041, + "notecount": 841, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3db3c83f2a4b5dae842c1471e6cfec690943ef02", + "difficulty": "NORMAL", + "songID": 894, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17041, + "notecount": 472, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e2af68b6f655736d46ab0b98985225fc6114c19e", + "difficulty": "ANOTHER", + "songID": 895, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17042, + "notecount": 1085, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cebed4b4070135665f43f20ea2baa8567322564e", + "difficulty": "HYPER", + "songID": 895, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17042, + "notecount": 807, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a21365782dec663528f467e5fc5f8a4c2dd45d7", + "difficulty": "NORMAL", + "songID": 895, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17042, + "notecount": 417, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba19d551ad868b6ef9d8881e637bbd693285ebfc", + "difficulty": "ANOTHER", + "songID": 895, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17042, + "notecount": 1000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6bb8ab8e7818401555d43d6dec49d312359c3bbb", + "difficulty": "HYPER", + "songID": 895, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17042, + "notecount": 711, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a63dce67ed86e27664c63e5308708c1e8851747", + "difficulty": "NORMAL", + "songID": 895, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17042, + "notecount": 342, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0cb468760d31e415b1bb8fb501ee0cb4dc4eaaa", + "difficulty": "ANOTHER", + "songID": 896, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17043, + "notecount": 1165, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d39b516be26e310a62c166610692333fbcf78a6", + "difficulty": "HYPER", + "songID": 896, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17043, + "notecount": 877, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87a36fe289ece624fd3c7c4aef273f12e53aab67", + "difficulty": "NORMAL", + "songID": 896, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17043, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f560d788f21fc0f330d656a96977420e75d172d1", + "difficulty": "ANOTHER", + "songID": 896, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17043, + "notecount": 1170, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3525cf6fed16ea637adeb19d2fea19e7c0369622", + "difficulty": "HYPER", + "songID": 896, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17043, + "notecount": 862, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3582b9434d11f68860f1155892910f64f07e545", + "difficulty": "NORMAL", + "songID": 896, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17043, + "notecount": 520, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "31833276c642166da2d141b44b9f9c377bd1d0a0", + "difficulty": "ANOTHER", + "songID": 897, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17044, + "notecount": 1348, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ef10d5a3ac71e55aa3d2a7289d16d7d86d02a71", + "difficulty": "HYPER", + "songID": 897, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17044, + "notecount": 845, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "833828ebe08df584102f7abb27d76b63c88f75a6", + "difficulty": "NORMAL", + "songID": 897, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17044, + "notecount": 728, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa3999bf49c4e3f24f66b1e0d79f9120fc4cb61c", + "difficulty": "ANOTHER", + "songID": 897, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17044, + "notecount": 1509, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": true + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": true + }, + "kt-EXHC": { + "text": "12.60", + "value": 12.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a99b36fb20bdefaf7c94bc367cf4c804e62bc1e4", + "difficulty": "HYPER", + "songID": 897, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17044, + "notecount": 1035, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d7c99427b197fbc42642681fb38fdc3f0b02252", + "difficulty": "NORMAL", + "songID": 897, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17044, + "notecount": 754, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b03253020b6fae30ccb48aa7ad6b0bae6789d63d", + "difficulty": "ANOTHER", + "songID": 898, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17045, + "notecount": 909, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "65f46026ee78b80c16e7febebe17f76951a1cad5", + "difficulty": "HYPER", + "songID": 898, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17045, + "notecount": 592, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "38e8a4c0c1bab19e95a726e79fdb77a14ccca61f", + "difficulty": "NORMAL", + "songID": 898, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17045, + "notecount": 414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03faac912eb51ce6fbdad1cdf82d68795308faa0", + "difficulty": "ANOTHER", + "songID": 898, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17045, + "notecount": 891, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "356c75587a1d45c1bb02aab987ac15350e3dc665", + "difficulty": "BEGINNER", + "songID": 898, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 17045, + "notecount": 193, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf5384bb538133f38616ff2a598ca48f70513563", + "difficulty": "HYPER", + "songID": 898, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17045, + "notecount": 665, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "01e3f9877c701a929a78ce496494e239a6d67981", + "difficulty": "NORMAL", + "songID": 898, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17045, + "notecount": 414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0dacfc8c4a84f564374ee232f202d66dda4c77e0", + "difficulty": "ANOTHER", + "songID": 899, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17046, + "notecount": 1351, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "867bc34ab47e369df390a449de307ef54cff69ac", + "difficulty": "HYPER", + "songID": 899, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17046, + "notecount": 1041, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "91bfe62f96ff236b524baa2f42d63903772e6907", + "difficulty": "NORMAL", + "songID": 899, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17046, + "notecount": 596, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c0176cc908874d014151e1ca84fbd1ba2676b1b9", + "difficulty": "ANOTHER", + "songID": 899, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17046, + "notecount": 1329, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3f8ae2d5b2ed9c6423232a75570c42a06efe22e4", + "difficulty": "HYPER", + "songID": 899, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17046, + "notecount": 928, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "919dd6c35465c14db81155418471d19821a09b48", + "difficulty": "NORMAL", + "songID": 899, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17046, + "notecount": 563, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fac623293ca3963cab4823a3cf2d3a751258d5cd", + "difficulty": "ANOTHER", + "songID": 900, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17047, + "notecount": 1309, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "81bdc001265a6163da19eb7d20c26c38d7e2d473", + "difficulty": "HYPER", + "songID": 900, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17047, + "notecount": 837, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6fa44c713c8f46d005520f9f0193ceb1cf1a9baa", + "difficulty": "NORMAL", + "songID": 900, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17047, + "notecount": 480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ac56dc097c374c6312a335d666ce7e3bce3bbfa", + "difficulty": "ANOTHER", + "songID": 900, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17047, + "notecount": 1057, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc064402d4fcac20b7605e136c7c69d871bf9d6b", + "difficulty": "HYPER", + "songID": 900, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17047, + "notecount": 859, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "190d056bf6c7d65d525ee608011bfbf706b673fe", + "difficulty": "NORMAL", + "songID": 900, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17047, + "notecount": 458, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc72d8ae5ad571773aad827768c6613911e7458a", + "difficulty": "ANOTHER", + "songID": 901, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17048, + "notecount": 1270, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e7873f0e129efaad81969473177816c0870e9c26", + "difficulty": "HYPER", + "songID": 901, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17048, + "notecount": 1087, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30d74d673990cfa7b94ed3b16338b2f926f002da", + "difficulty": "NORMAL", + "songID": 901, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17048, + "notecount": 549, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6cf715c58964d21b7b951e5f222cda1746e69422", + "difficulty": "ANOTHER", + "songID": 901, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17048, + "notecount": 1270, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "076e91917fc6969bf8020d130f8a68ba2a1ef45a", + "difficulty": "HYPER", + "songID": 901, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17048, + "notecount": 1086, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "40ad79bb86e817ee48bc123d6b16a74ed23c387f", + "difficulty": "NORMAL", + "songID": 901, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17048, + "notecount": 541, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04c7ace99c9e2a29b83086c1493f5b124b1703ef", + "difficulty": "ANOTHER", + "songID": 902, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17049, + "notecount": 1222, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6314ba5dba8539959f884b8cc19e66b4cf681e64", + "difficulty": "HYPER", + "songID": 902, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17049, + "notecount": 819, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24392862a25556eb5f0f5fb8f1802d79ae3f6c90", + "difficulty": "NORMAL", + "songID": 902, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17049, + "notecount": 527, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0e2b3a7acae61398c4d8cf8bb6512b6c14d067a", + "difficulty": "ANOTHER", + "songID": 902, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17049, + "notecount": 1336, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "81ad01a7a9cfb642f4681d67162c70f806a0bf6f", + "difficulty": "HYPER", + "songID": 902, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17049, + "notecount": 826, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a4dc6c4d2af74e45db195794a8f5dad34ff46c6", + "difficulty": "NORMAL", + "songID": 902, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17049, + "notecount": 532, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3dfbeb0689b2f06271289991748217fec4c68f20", + "difficulty": "ANOTHER", + "songID": 903, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17050, + "notecount": 1151, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af1f1df34fd3c105154565185ead0d7d47836237", + "difficulty": "HYPER", + "songID": 903, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17050, + "notecount": 847, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce74810aaba533a27903a13ec6d5666e12ba00cf", + "difficulty": "NORMAL", + "songID": 903, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17050, + "notecount": 530, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f64bb0dc686805d504bc88f1e5078a789eb505d", + "difficulty": "ANOTHER", + "songID": 903, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17050, + "notecount": 1231, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f691a00b28654f9cbf4d1e5619e395bf34403f4", + "difficulty": "HYPER", + "songID": 903, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17050, + "notecount": 837, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9889ae8187f18de2797703b1b952dea0bb2baa96", + "difficulty": "NORMAL", + "songID": 903, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17050, + "notecount": 523, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4355a326765996a7d08ab89199f85190f87c0109", + "difficulty": "ANOTHER", + "songID": 904, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17051, + "notecount": 1085, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b09cef72a75cfdeca3f22ee1ea0a24c47d262d1c", + "difficulty": "HYPER", + "songID": 904, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17051, + "notecount": 888, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6450e12491b5c2f998e314d2d91d87c22bad3513", + "difficulty": "NORMAL", + "songID": 904, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17051, + "notecount": 472, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f474e6a52e5866a3d8f521ef93c4a75c08d15d0", + "difficulty": "ANOTHER", + "songID": 904, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17051, + "notecount": 970, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd84e01b39898103907e183b79b99d49da36fd50", + "difficulty": "BEGINNER", + "songID": 904, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 17051, + "notecount": 141, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d99af92530bda1bcbc72baa6b3dcdd7ec76c957", + "difficulty": "HYPER", + "songID": 904, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17051, + "notecount": 638, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da7d8afa361e418a3ddf49e6bfd6a644177c1cd4", + "difficulty": "NORMAL", + "songID": 904, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17051, + "notecount": 366, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "044d0ebc2792511fb7e7be0f18e5cf6bc356d9ff", + "difficulty": "ANOTHER", + "songID": 905, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17052, + "notecount": 976, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a5cec72e40464514a0f4666bea91b4bb3ced5cf5", + "difficulty": "HYPER", + "songID": 905, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17052, + "notecount": 722, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ecc65e86bde0a5c88e714318a0286b8ba18445c", + "difficulty": "NORMAL", + "songID": 905, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17052, + "notecount": 371, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "599fe6602890d5b602d62781746c97f0edb8e4fc", + "difficulty": "ANOTHER", + "songID": 905, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17052, + "notecount": 975, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f76cd178ef94b5784b6a8011a71870b17705a77", + "difficulty": "BEGINNER", + "songID": 905, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 17052, + "notecount": 273, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a73711afb45855b35c60e6f1d2b420f079e0bc11", + "difficulty": "HYPER", + "songID": 905, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17052, + "notecount": 718, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f63bfdcd3dd391a817ee4ba5cf107f29f7348b60", + "difficulty": "NORMAL", + "songID": 905, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17052, + "notecount": 381, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "69f8066a33f28e33afb55e7cf57059822eac7bea", + "difficulty": "ANOTHER", + "songID": 906, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17053, + "notecount": 900, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0ce49059a6fc57913b5c9a610b31f70c6458017", + "difficulty": "HYPER", + "songID": 906, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17053, + "notecount": 625, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "acc7994bf6ed585f114fe76e396119c2321b204a", + "difficulty": "NORMAL", + "songID": 906, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17053, + "notecount": 415, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "335972422b4b6d1ec1e40043c84a4cbf6b167abe", + "difficulty": "ANOTHER", + "songID": 906, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17053, + "notecount": 895, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ee1128a70428a4ec7938173d6ba0f577d6b3069", + "difficulty": "BEGINNER", + "songID": 906, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 17053, + "notecount": 187, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "438c6693b7cf5ddf1e42521f81c77d4300c96f02", + "difficulty": "HYPER", + "songID": 906, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17053, + "notecount": 618, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "659b803393e438e4917e49af136ccd8f6323ac55", + "difficulty": "NORMAL", + "songID": 906, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17053, + "notecount": 435, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "99ddf9c6615347e2101a21d20104358e45df1291", + "difficulty": "ANOTHER", + "songID": 907, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17054, + "notecount": 1438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c51b7faf58de6a5da4756918cad23c6a17a3974c", + "difficulty": "HYPER", + "songID": 907, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17054, + "notecount": 1046, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f95354b8409dc1c65635c659e862283cf4d28104", + "difficulty": "NORMAL", + "songID": 907, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17054, + "notecount": 679, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1cedb6791388a0d8d15ad6a3111c59686f02238", + "difficulty": "ANOTHER", + "songID": 907, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17054, + "notecount": 1440, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "86639d28029e7c8eb0246db1de83fa9134fb9997", + "difficulty": "BEGINNER", + "songID": 907, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 17054, + "notecount": 304, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba4a10c1c9c9a535e8e98015cb213deecde76d9f", + "difficulty": "HYPER", + "songID": 907, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17054, + "notecount": 1121, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1287bcdacca607b2fe94106bf2d2d1c609633258", + "difficulty": "NORMAL", + "songID": 907, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17054, + "notecount": 628, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7807ddb7319acac6128a20b579b0fcacff5f5ff0", + "difficulty": "ANOTHER", + "songID": 908, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17055, + "notecount": 1147, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c6144f99293c159390b4e33c2431e728fd6abbf6", + "difficulty": "HYPER", + "songID": 908, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17055, + "notecount": 940, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "b4d8796694fbf2ab79899ad9a75bb50862c88b9b", + "difficulty": "LEGGENDARIA", + "level": "0", + "levelNum": 0, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 908, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 17055, + "arcChartID": null, + "notecount": 1280, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "bc39a4a8e4e711558a5285f443ad9bcf5f2b350d", + "difficulty": "NORMAL", + "songID": 908, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 17055, + "notecount": 357, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4af6d77ce64a94abe5b70158cb8a53a2d479cb4a", + "difficulty": "ANOTHER", + "songID": 908, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17055, + "notecount": 1073, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "369ae854b2e611403f25a254bce059d8c5747ded", + "difficulty": "HYPER", + "songID": 908, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17055, + "notecount": 868, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c40ddcc518c64bc54bdb565baf2bd4b23e4357b1", + "difficulty": "NORMAL", + "songID": 908, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17055, + "notecount": 357, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e4486a339fddaf3c1ba87a0e40a428e75627bea", + "difficulty": "ANOTHER", + "songID": 909, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17056, + "notecount": 1798, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "11-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e35a5416b0975f8b649e17f5c804923cb2a1f2b7", + "difficulty": "HYPER", + "songID": 909, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17056, + "notecount": 1281, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1f8b520078a685fd5ddd53fe480e50f200fb165", + "difficulty": "NORMAL", + "songID": 909, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17056, + "notecount": 788, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "feb5ab7fd6a0044df3ca39e27da1b85a3f71f02c", + "difficulty": "ANOTHER", + "songID": 909, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17056, + "notecount": 1686, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "11-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": true + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": true + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "18bcd4f770284eb6600c4ebf5e2c9c855fd47a6f", + "difficulty": "HYPER", + "songID": 909, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17056, + "notecount": 1340, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd498dfdc1b714d579ce036651c88b97bbe62ace", + "difficulty": "NORMAL", + "songID": 909, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17056, + "notecount": 787, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c0604e54ee4b88489695085072f094ac6a266ba9", + "difficulty": "ANOTHER", + "songID": 910, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17057, + "notecount": 1615, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c262aa4f77b3f21db63991151600743aaf97825", + "difficulty": "HYPER", + "songID": 910, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17057, + "notecount": 1393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d67fe4d7955b5d2149441e491731b0369a4bd6a6", + "difficulty": "NORMAL", + "songID": 910, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17057, + "notecount": 871, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1ed5f9fa7d9f7f9bd7528725e04f6f91c05ad9d", + "difficulty": "ANOTHER", + "songID": 910, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17057, + "notecount": 1577, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "bacb3f44c57230da147dbae32c99541e07a6bbe1", + "difficulty": "HYPER", + "songID": 910, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17057, + "notecount": 1369, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5bc353a6600c575a654dbbf1c61d8eefa78a125f", + "difficulty": "NORMAL", + "songID": 910, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17057, + "notecount": 831, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c133c43f07b24d55fcf1549de68450fb55781331", + "difficulty": "ANOTHER", + "songID": 911, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17058, + "notecount": 957, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e089b9c5bee87225d26fc38f09a6e5550c9aee2a", + "difficulty": "HYPER", + "songID": 911, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17058, + "notecount": 815, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a671b7a5156e79d8f22a22a509b84597500a4a02", + "difficulty": "NORMAL", + "songID": 911, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17058, + "notecount": 644, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73b346dfef590696b5ec149e02bf63b42d904dce", + "difficulty": "ANOTHER", + "songID": 911, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17058, + "notecount": 855, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c0aa7fcbc44e33a937bf21d761f9b5d348dc8cbe", + "difficulty": "BEGINNER", + "songID": 911, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 17058, + "notecount": 190, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2aabdca61f64f0f746b0ece094bdb99405ff5894", + "difficulty": "HYPER", + "songID": 911, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17058, + "notecount": 709, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb971e41cdf38ecaa7b9b341dabda4b9e527e70c", + "difficulty": "NORMAL", + "songID": 911, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17058, + "notecount": 476, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "943f2c08b89242c1dd0be23ca652f33085b70606", + "difficulty": "ANOTHER", + "songID": 912, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17059, + "notecount": 1752, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "65d1098f67dee6f62f0895d82564b222687001b4", + "difficulty": "HYPER", + "songID": 912, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17059, + "notecount": 944, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73f4dae2ee5a482bf92d52ad23ae71bb3c1ab3ba", + "difficulty": "NORMAL", + "songID": 912, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17059, + "notecount": 638, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ed42a76e1423d731ecbbb0ada7fdaa7a6d94b4e", + "difficulty": "ANOTHER", + "songID": 912, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17059, + "notecount": 1646, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "aadc670672274d8efee9f2cda7495914b7999825", + "difficulty": "HYPER", + "songID": 912, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17059, + "notecount": 926, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82c29c4053f35a8fd8986c8f996c8103b8ed043f", + "difficulty": "NORMAL", + "songID": 912, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17059, + "notecount": 490, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "20f0ddba5207b09b4d5b75bf9d6c216880a63798", + "difficulty": "ANOTHER", + "songID": 913, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17060, + "notecount": 1913, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a618398ce60c96d1c1986f4032c6028d1539a47e", + "difficulty": "HYPER", + "songID": 913, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17060, + "notecount": 1188, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0b89664abc5286dd9ba66834ce67334985bd9e9", + "difficulty": "LEGGENDARIA", + "songID": 913, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17060, + "notecount": 2033, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "854320e2f8f9f29b9f2ff0fbf80876e5fe386a5c", + "difficulty": "NORMAL", + "songID": 913, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17060, + "notecount": 539, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9dd405f9c80df79c698adc67812716a555895c3a", + "difficulty": "ANOTHER", + "songID": 913, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17060, + "notecount": 1819, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "35df268a3b2d7d2947883490ab30cfcbaeca18cf", + "difficulty": "HYPER", + "songID": 913, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17060, + "notecount": 1188, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a88277afa51850959b894fcb27a448ad5f1126a4", + "difficulty": "LEGGENDARIA", + "songID": 913, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17060, + "notecount": 1868, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "06bc1745e0877b3b9fd022ed0c637eb7c20c1699", + "difficulty": "NORMAL", + "songID": 913, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17060, + "notecount": 539, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bfcc85df34503d6c7b980ff486ae8e0a543c272d", + "difficulty": "ANOTHER", + "songID": 914, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17061, + "notecount": 1529, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "95ce11fcd3063a9f8bb3528facead94e8fb17694", + "difficulty": "HYPER", + "songID": 914, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17061, + "notecount": 970, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f63bd4eace4d6196d455b4f85c0681d694263f2", + "difficulty": "NORMAL", + "songID": 914, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17061, + "notecount": 619, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b59c144cf9fcb8de566af98429f3dd4363b919ab", + "difficulty": "ANOTHER", + "songID": 914, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 17061, + "notecount": 1765, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "42c772a24c346314e626cb6ba8589f04af5af520", + "difficulty": "HYPER", + "songID": 914, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17061, + "notecount": 1072, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bc0ea0a0db896106ab3f6056ab40e7e13c366ae8", + "difficulty": "NORMAL", + "songID": 914, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17061, + "notecount": 559, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eab6c490aa4e4b559fdf567f516d53d6893f6553", + "difficulty": "ANOTHER", + "songID": 915, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17062, + "notecount": 1480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce924844aeacc2456e77fa7d1247ef1eb4b4e545", + "difficulty": "HYPER", + "songID": 915, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 17062, + "notecount": 1117, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a593c47ebc10f5907efe7a3e75d495998a60cac", + "difficulty": "NORMAL", + "songID": 915, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17062, + "notecount": 729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d6ac9b78c01af16d86e0b087714183b809db265d", + "difficulty": "ANOTHER", + "songID": 915, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17062, + "notecount": 1232, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9331553903186257669f860cd13e84dda496b834", + "difficulty": "HYPER", + "songID": 915, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17062, + "notecount": 925, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4fc9313691cbc0fb2c686d7276f6f250ccce2e9a", + "difficulty": "NORMAL", + "songID": 915, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17062, + "notecount": 428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "beec50c2dea06838ca51bbdc962cee888ff2dcfa", + "difficulty": "ANOTHER", + "songID": 916, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17063, + "notecount": 1444, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5500175245100c7c9f40f60226fc0ff6c1b3d96e", + "difficulty": "HYPER", + "songID": 916, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17063, + "notecount": 954, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d317f53740e1446dc013b9cd11cb3ecd18c10ed4", + "difficulty": "NORMAL", + "songID": 916, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17063, + "notecount": 433, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3224a91e7344fd3109f705c0cb11a5ea41e12d1c", + "difficulty": "ANOTHER", + "songID": 916, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17063, + "notecount": 1254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed940011c33fff1eefe6cefb452ceda754d246d8", + "difficulty": "HYPER", + "songID": 916, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17063, + "notecount": 921, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "112593a9a05ce75d9bd713774748503f30be94aa", + "difficulty": "NORMAL", + "songID": 916, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 17063, + "notecount": 321, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35ff6ade5b2fc2f98a5721df3e6aae73472c8410", + "difficulty": "ANOTHER", + "songID": 917, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17064, + "notecount": 1342, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e376b8a65bb67af2755a67997581ee36723047f0", + "difficulty": "HYPER", + "songID": 917, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17064, + "notecount": 1016, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d9ce36bdc0518b5e80d60e4792e5bb14a9b4eed", + "difficulty": "NORMAL", + "songID": 917, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17064, + "notecount": 707, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5e3ce85519c15bbe0b233daf683aed0d93a7a59c", + "difficulty": "ANOTHER", + "songID": 917, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17064, + "notecount": 1327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "ce24c0182b58fb0eccd74febdf0166dc00f6fc70", + "difficulty": "HYPER", + "songID": 917, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17064, + "notecount": 995, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6c32b9fd9a92670fa5b49ff4745e6c8752cd22c", + "difficulty": "NORMAL", + "songID": 917, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17064, + "notecount": 721, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55fd957e87f54d57833a6b8d2c36c3b45dd5a6ea", + "difficulty": "ANOTHER", + "songID": 918, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 17065, + "notecount": 1274, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5de90f7398da7f63c6e030adee63492f17c03212", + "difficulty": "HYPER", + "songID": 918, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17065, + "notecount": 880, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98eb0ee5c34e3ef8e3829b384725c874786c0507", + "difficulty": "NORMAL", + "songID": 918, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17065, + "notecount": 466, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "95d81ef6c9091d07732270ef30333166657818d2", + "difficulty": "ANOTHER", + "songID": 918, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 17065, + "notecount": 1241, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "451714744633ac72d15922ad651deabc611d1db9", + "difficulty": "BEGINNER", + "songID": 918, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 17065, + "notecount": 99, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04c7e03cca0fd42bf3ee3aaeff1641b70e5db326", + "difficulty": "HYPER", + "songID": 918, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 17065, + "notecount": 848, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c0a94feef7f3ff9454464bd0fd225f0aea52495", + "difficulty": "NORMAL", + "songID": 918, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 17065, + "notecount": 410, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "286ddca60b45fbd56dcd96b43433f7038feeb7d2", + "difficulty": "NORMAL", + "songID": 919, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 17100, + "notecount": 506, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ff2ff539ac527b8ffefa30aa7c5457e7ac74016", + "difficulty": "NORMAL", + "songID": 919, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 17100, + "notecount": 518, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd85f88cf4a473047a5abbc50687aa0d774dc973", + "difficulty": "ANOTHER", + "songID": 921, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18000, + "notecount": 689, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3105bbc9d420f529aa1f6115dba3e47cd1ca2d6a", + "difficulty": "HYPER", + "songID": 921, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18000, + "notecount": 498, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d4f92b57267e1685b8bcec73017fc7198294a99", + "difficulty": "NORMAL", + "songID": 921, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18000, + "notecount": 301, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3ad3486a8be468dafb37bd2cb9a818415920ae0", + "difficulty": "ANOTHER", + "songID": 921, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18000, + "notecount": 678, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d64a8e506f9e480a1b0200430d4fa9d0afa52634", + "difficulty": "HYPER", + "songID": 921, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18000, + "notecount": 541, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f396a5263cf9b273074e32f775f26a0563ec05e", + "difficulty": "NORMAL", + "songID": 921, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18000, + "notecount": 325, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "23979176b893bc3c72016a7c70f3f671964a2c9a", + "difficulty": "ANOTHER", + "songID": 922, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18001, + "notecount": 1322, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "69dddca53f07d093906c00fb9965f150752886fb", + "difficulty": "HYPER", + "songID": 922, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18001, + "notecount": 961, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a5c96c1c57e92a88bd1bc939eaed333e74c9df5b", + "difficulty": "NORMAL", + "songID": 922, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18001, + "notecount": 616, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53264cfe35cb08e68cce8a563068876ba3b70b2a", + "difficulty": "ANOTHER", + "songID": 922, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18001, + "notecount": 1506, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": true + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "eeae207a8360552c2242572104467f1089b3f70a", + "difficulty": "HYPER", + "songID": 922, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18001, + "notecount": 1029, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73bc97da71187f5c9c23673b3c287fd47f95ff05", + "difficulty": "NORMAL", + "songID": 922, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18001, + "notecount": 599, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1aa6ac24b928611058d87d416cf9e8830a5d08f", + "difficulty": "ANOTHER", + "songID": 923, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18002, + "notecount": 1388, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b2cd07bb0d5e518faa88067a12714092872e289", + "difficulty": "HYPER", + "songID": 923, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18002, + "notecount": 1071, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cce6d1ccd3011d5d81ce586c5f165ca874652791", + "difficulty": "NORMAL", + "songID": 923, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18002, + "notecount": 636, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ac909e355e76c67d6fd05fba7c4f925f91e1936", + "difficulty": "ANOTHER", + "songID": 923, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18002, + "notecount": 1395, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d749bf547e25176956873d08569790d5a1b279be", + "difficulty": "HYPER", + "songID": 923, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18002, + "notecount": 1174, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c4c14ba7d0064b114cb8382a0d1c19047825d2b", + "difficulty": "NORMAL", + "songID": 923, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18002, + "notecount": 827, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c80e47d301eb81d5881d91268414c173f313d6ba", + "difficulty": "ANOTHER", + "songID": 924, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18003, + "notecount": 1304, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee76270ffd85d62251de984c004aa7a906cd3c46", + "difficulty": "HYPER", + "songID": 924, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18003, + "notecount": 822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "195afb384017d9f381539212b8b5d823a3a592f1", + "difficulty": "NORMAL", + "songID": 924, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18003, + "notecount": 585, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fbff6f6620e63e7cd086969616b0e89c2e614b67", + "difficulty": "ANOTHER", + "songID": 924, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18003, + "notecount": 1265, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b5b30728cfd509686b3e009b9d8c469c4e31161", + "difficulty": "HYPER", + "songID": 924, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18003, + "notecount": 885, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c96521363b5b736ef90b2a3604330b38a72d2e4", + "difficulty": "NORMAL", + "songID": 924, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18003, + "notecount": 598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd79fb1638da4a61caaa123b64306ca5b3ead149", + "difficulty": "ANOTHER", + "songID": 925, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18004, + "notecount": 2109, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e98c3534f237fd468cafab9f8205602fb7a8f077", + "difficulty": "HYPER", + "songID": 925, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18004, + "notecount": 1341, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5b2f221ca3458e5b810d150d1ece6d48e8863ae2", + "difficulty": "NORMAL", + "songID": 925, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18004, + "notecount": 665, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c00e94b20804c306fb44af9f40d5c5230da09bc", + "difficulty": "ANOTHER", + "songID": 925, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18004, + "notecount": 2065, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1aeb7de796a4d44348270f9ff4b542dc7a18354c", + "difficulty": "HYPER", + "songID": 925, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18004, + "notecount": 1345, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3ffc717ee38a4ff216d615246306d4a973c9c6c5", + "difficulty": "NORMAL", + "songID": 925, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18004, + "notecount": 658, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29741e5ea477227b495cacc4726b4a40087943b2", + "difficulty": "ANOTHER", + "songID": 926, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18005, + "notecount": 1289, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e62484a64c9f396a0acf09453ea90d353f45194", + "difficulty": "HYPER", + "songID": 926, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18005, + "notecount": 923, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e38f62e27a6ae170cc15ae3cda009d970c106d56", + "difficulty": "NORMAL", + "songID": 926, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18005, + "notecount": 425, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74fbc70cf79b02184d889a333a312d7978f22535", + "difficulty": "ANOTHER", + "songID": 926, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18005, + "notecount": 1123, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb35cd0e70568a43770c7e987292be81eeed7600", + "difficulty": "HYPER", + "songID": 926, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18005, + "notecount": 873, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e1b68ba5c540ad7d9f9dbb3e2747c09a596b570", + "difficulty": "NORMAL", + "songID": 926, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18005, + "notecount": 409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f26f72c064b936b74fdd361624e435400fd9e98", + "difficulty": "ANOTHER", + "songID": 927, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18006, + "notecount": 1329, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e80399c69fcf31dea77169525dbc6417b17f6949", + "difficulty": "HYPER", + "songID": 927, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18006, + "notecount": 879, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f23055f9b1443a7ad127dcc3f14fc542a64bf9b", + "difficulty": "NORMAL", + "songID": 927, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18006, + "notecount": 551, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b68b4a539046b16233c3c2bc694e5f86b106a973", + "difficulty": "ANOTHER", + "songID": 927, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18006, + "notecount": 1382, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1da887e3c8a4db88cdf531faf909345742d8e51", + "difficulty": "HYPER", + "songID": 927, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18006, + "notecount": 882, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f32a367fbcf46b2f00efb79687a0d7e6ad089062", + "difficulty": "NORMAL", + "songID": 927, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18006, + "notecount": 505, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2dd615a997cca585a9bce974836298a56d14cce6", + "difficulty": "ANOTHER", + "songID": 928, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18007, + "notecount": 1867, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1061f050a6e8db528597ec789939618a029ceede", + "difficulty": "HYPER", + "songID": 928, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18007, + "notecount": 1020, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "76b502d2d39861095dc10f691d214bd9f482a815", + "difficulty": "NORMAL", + "songID": 928, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18007, + "notecount": 582, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe00542cd28d48e8fe1ee801fb311d4fb8b8cc15", + "difficulty": "ANOTHER", + "songID": 928, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18007, + "notecount": 1883, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b92862eb781d628b2ce53e337fa72150f0e28010", + "difficulty": "HYPER", + "songID": 928, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18007, + "notecount": 1291, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a5adedb83f7a0c28daa27e48b695fc8cd778460", + "difficulty": "NORMAL", + "songID": 928, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18007, + "notecount": 688, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "073e074afac213cd7f5d01ab023087fb09f0fc2f", + "difficulty": "ANOTHER", + "songID": 929, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18008, + "notecount": 1490, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ea6cc230b87cf863ec8daafad870d9f053b59ac", + "difficulty": "HYPER", + "songID": 929, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18008, + "notecount": 1086, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "afb60a71cc0324f2c1a4112113e8ce2a4494785c", + "difficulty": "NORMAL", + "songID": 929, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18008, + "notecount": 518, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "054859f4679c68c0766044f5a11d739c687ade01", + "difficulty": "ANOTHER", + "songID": 929, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18008, + "notecount": 1488, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d00743ca508c344b5d0579810205453ddd9c5168", + "difficulty": "HYPER", + "songID": 929, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18008, + "notecount": 1067, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e6880bf78b39f426834a46743bb6d98ac0e7deca", + "difficulty": "NORMAL", + "songID": 929, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18008, + "notecount": 470, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "afc0fe3871a5cbfc4c40c320476ee029efba3d45", + "difficulty": "ANOTHER", + "songID": 930, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18009, + "notecount": 1820, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d7738029d7c135e74c178c0f06540d5754b7991e", + "difficulty": "HYPER", + "songID": 930, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18009, + "notecount": 1106, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c3fe12678257ab561f8572ee2550492ecf180e3", + "difficulty": "NORMAL", + "songID": 930, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18009, + "notecount": 689, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "65f7674bec22179cbcf93d8d304488af149bbc61", + "difficulty": "ANOTHER", + "songID": 930, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18009, + "notecount": 1718, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2b4dc6fdbad700ed0bce6cdd32303a9f9c4201ba", + "difficulty": "HYPER", + "songID": 930, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18009, + "notecount": 1217, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "bf1591b748decebdaaa81b3851b8b3d0700d9638", + "difficulty": "NORMAL", + "songID": 930, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18009, + "notecount": 726, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b343360d03f5fc02940ed2577c3e7a5915bb5029", + "difficulty": "ANOTHER", + "songID": 931, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18010, + "notecount": 1598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e92e7763b26edf2f6115f33cbf88eb2e3c39ff4a", + "difficulty": "HYPER", + "songID": 931, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18010, + "notecount": 1104, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf03579a5210b291a3582d803c5f5a0e0599f937", + "difficulty": "NORMAL", + "songID": 931, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18010, + "notecount": 529, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04ea8af1152199aa7f9c73131d62aed0a50b1b3a", + "difficulty": "ANOTHER", + "songID": 931, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18010, + "notecount": 1535, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "8f324088dcb0d4226991df998d891a97490735b1", + "difficulty": "HYPER", + "songID": 931, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18010, + "notecount": 907, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73894793e73eb14186477de8885bb6457a0a8c2a", + "difficulty": "NORMAL", + "songID": 931, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18010, + "notecount": 398, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea39d34f8b32ff0786cb70fa338b524635e9c9e5", + "difficulty": "ANOTHER", + "songID": 932, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18011, + "notecount": 611, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "475392112d03d6f0de9671221517535bdcea9e03", + "difficulty": "HYPER", + "songID": 932, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18011, + "notecount": 459, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "14d0e5157b4fa3ff43c5b6f97c972497ef0ee4b4", + "difficulty": "LEGGENDARIA", + "songID": 932, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18011, + "notecount": 1067, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "661e9542c049b29c11a145e7958c963e2fc9466b", + "difficulty": "NORMAL", + "songID": 932, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 18011, + "notecount": 235, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5cc88cf8986f98fc166990c4a8a3515db78f89c5", + "difficulty": "ANOTHER", + "songID": 932, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18011, + "notecount": 754, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "42be14e5a7b8991d4e7be715dc43d3fce0326021", + "difficulty": "BEGINNER", + "songID": 932, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 18011, + "notecount": 130, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "99b04244f45fd50262eccd244d3c5075b34a6fde", + "difficulty": "HYPER", + "songID": 932, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18011, + "notecount": 502, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a246de6a1413c5b1cb82d71b319d9adee4191225", + "difficulty": "LEGGENDARIA", + "songID": 932, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18011, + "notecount": 1095, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "48f02e3e1ff86642b476a6af8e8a99cb1bad0083", + "difficulty": "NORMAL", + "songID": 932, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 18011, + "notecount": 230, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b5262e8c80eaa1b991b8089196093d92f70759f7", + "difficulty": "ANOTHER", + "songID": 933, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18012, + "notecount": 1254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e14d461d67b2f951e3b292dfc0d023e96a65e152", + "difficulty": "HYPER", + "songID": 933, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18012, + "notecount": 829, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7d408bdabbaae958f36521c155d7b3b3727286c7", + "difficulty": "NORMAL", + "songID": 933, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18012, + "notecount": 453, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "66083d9a202de209526c308e0333b81165c977f4", + "difficulty": "ANOTHER", + "songID": 933, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18012, + "notecount": 1213, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "bf50432c89d2833a50fdbd8de4b7827bd24088b3", + "difficulty": "HYPER", + "songID": 933, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18012, + "notecount": 923, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84576051af1c9fb1eb580c1ae48fbd799ae66a9e", + "difficulty": "NORMAL", + "songID": 933, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18012, + "notecount": 455, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d2085cdbe62631a0c1c07574100548d874db86a", + "difficulty": "ANOTHER", + "songID": 934, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18013, + "notecount": 1109, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f512dd673a9978666afa3534a6350c7e5334a505", + "difficulty": "HYPER", + "songID": 934, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18013, + "notecount": 728, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60694ecef49e14665bdeaff9eb03d77614bf1e90", + "difficulty": "NORMAL", + "songID": 934, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18013, + "notecount": 444, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c71873fc2629d5c880cc95618c72de20a4fc7fa", + "difficulty": "ANOTHER", + "songID": 934, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18013, + "notecount": 1202, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c8fb0c07b07579a04c4904995a1244809fa005b7", + "difficulty": "HYPER", + "songID": 934, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18013, + "notecount": 717, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "96b26e7ff76733b2eb81cc5a4325d2c4c576d815", + "difficulty": "NORMAL", + "songID": 934, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18013, + "notecount": 459, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca1853a58ab5d69ea7f903bea14fe0c2d9187b4a", + "difficulty": "ANOTHER", + "songID": 935, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18014, + "notecount": 1847, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a804d1b28a42fa539f2adcf00d2211702e7c29a3", + "difficulty": "HYPER", + "songID": 935, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18014, + "notecount": 1307, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a6806411b56098a499e167350e848f5532f4f6a6", + "difficulty": "NORMAL", + "songID": 935, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18014, + "notecount": 557, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a104cd42aaf8c96daf6e3ea484e5b73f3cd3931f", + "difficulty": "ANOTHER", + "songID": 935, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18014, + "notecount": 1583, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e653ffb2f2ea14e1bcdedbfaa9b7780e009c3dad", + "difficulty": "BEGINNER", + "songID": 935, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 18014, + "notecount": 167, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d4387cebd4caed1a99b07250a9e620ec3d47169b", + "difficulty": "HYPER", + "songID": 935, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18014, + "notecount": 1097, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c6adcefc5583bb2528a2bc14e7080eaf079f42cc", + "difficulty": "NORMAL", + "songID": 935, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18014, + "notecount": 307, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73e934238ccac7f5125beca244fe67c115337be7", + "difficulty": "ANOTHER", + "songID": 936, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18015, + "notecount": 1475, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eae5549e06d4001c76c674b58f93b7a6c9b22839", + "difficulty": "HYPER", + "songID": 936, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18015, + "notecount": 1054, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c02a25c1d1e4f8b13ec560a04d33c4165e59132", + "difficulty": "NORMAL", + "songID": 936, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18015, + "notecount": 617, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94d5f9a672367c9e6f0f29abd7484cabcc6cda31", + "difficulty": "ANOTHER", + "songID": 936, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18015, + "notecount": 1345, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "717a46700ce9e49db1cae0c10ea8ab2f904318f2", + "difficulty": "HYPER", + "songID": 936, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18015, + "notecount": 998, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "001196cf796baaffd25245e5d0b3788fd49b6399", + "difficulty": "NORMAL", + "songID": 936, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18015, + "notecount": 579, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ceab2255fdf66a1cf8e5f53ab9aaa946d92b992", + "difficulty": "ANOTHER", + "songID": 937, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18016, + "notecount": 914, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f3bc50a0b2f7d1c95863ac9622a63dcc7d8373d", + "difficulty": "HYPER", + "songID": 937, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18016, + "notecount": 534, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55628fbaf2ace87a1fef6ad34683e0be1f69dbef", + "difficulty": "NORMAL", + "songID": 937, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18016, + "notecount": 376, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6c07c746776068a928c834f13a281f0e625e9db", + "difficulty": "ANOTHER", + "songID": 937, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18016, + "notecount": 917, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "99a1be68c252ac040d242ca101298e8e8b510cc8", + "difficulty": "HYPER", + "songID": 937, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18016, + "notecount": 612, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e758760ccbb810451558e494920afa1945af1ac", + "difficulty": "NORMAL", + "songID": 937, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18016, + "notecount": 337, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b34dbedb4e064427c5d45a382df4a7aceb393bb3", + "difficulty": "ANOTHER", + "songID": 938, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18017, + "notecount": 1848, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1fcb066c88697d25e10506935ee723ba517bd3e8", + "difficulty": "HYPER", + "songID": 938, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18017, + "notecount": 1183, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fbf7f2d39a005fa7e52cfb4dc94a8267bb563f4c", + "difficulty": "NORMAL", + "songID": 938, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18017, + "notecount": 739, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93a083bf32cc05675a5b2a7fd5bdda5c8ccd7c92", + "difficulty": "ANOTHER", + "songID": 938, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18017, + "notecount": 1623, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6e866ceb6588a908b6f60c4e4cac52be95b1ba5b", + "difficulty": "HYPER", + "songID": 938, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18017, + "notecount": 1165, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa76cef0ca77fd368168728e7ad44fd16fee6a1c", + "difficulty": "NORMAL", + "songID": 938, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18017, + "notecount": 743, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e6473e564f7b5c0fc0f5ae4cf0a04e57ad7dd5f6", + "difficulty": "ANOTHER", + "songID": 939, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18018, + "notecount": 1172, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a01f82e0e32bb34142464f4bcbe2f80893c0930e", + "difficulty": "HYPER", + "songID": 939, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18018, + "notecount": 781, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ddf565cedb234c4492a02c4aaa3aec0197bca64", + "difficulty": "NORMAL", + "songID": 939, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18018, + "notecount": 366, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b6ae9fb6b71769954624b001110d955b7836414", + "difficulty": "ANOTHER", + "songID": 939, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18018, + "notecount": 1068, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78a67543d3fd4a44c0ecba05e329bb7dfd4f8b27", + "difficulty": "HYPER", + "songID": 939, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18018, + "notecount": 718, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4fb5144b0bc90b089062fd92072e0e5503a9b72e", + "difficulty": "NORMAL", + "songID": 939, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 18018, + "notecount": 315, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8df2b5b6df83750ea3138c20633b3b57bca257fb", + "difficulty": "ANOTHER", + "songID": 940, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18019, + "notecount": 1091, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3407a4fa4e52a79e6ece30fb07d91e618bf07ce4", + "difficulty": "HYPER", + "songID": 940, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18019, + "notecount": 743, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "509a248b4ccc86eb50af5cc128b04341e0ac4428", + "difficulty": "NORMAL", + "songID": 940, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18019, + "notecount": 276, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c6668d8d48b223c35ed7f0c45e571d664a258700", + "difficulty": "ANOTHER", + "songID": 940, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18019, + "notecount": 1045, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e034b6cb794e12f7d9c570e4f4128750d9468f47", + "difficulty": "HYPER", + "songID": 940, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18019, + "notecount": 598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd6bd6f3008a564ab22a8dbc2a4e203413cdd51d", + "difficulty": "NORMAL", + "songID": 940, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18019, + "notecount": 272, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a6581056ce6197da01515a4f782102c147b311a7", + "difficulty": "ANOTHER", + "songID": 941, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18020, + "notecount": 1291, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ae507caad683b24794cfc7111aab0822adc44fb", + "difficulty": "HYPER", + "songID": 941, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18020, + "notecount": 931, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f9f29bfdcbb695eadd7019009fe070716733329", + "difficulty": "NORMAL", + "songID": 941, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18020, + "notecount": 551, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c324487a1984f8c19efb245be580f47eb02b8761", + "difficulty": "ANOTHER", + "songID": 941, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18020, + "notecount": 1206, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "900d5a1de8b25555141a1b33b8e3d73b2e12c998", + "difficulty": "HYPER", + "songID": 941, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18020, + "notecount": 921, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "237bdf51069bfa4e74ee94901568ea81c93e321c", + "difficulty": "NORMAL", + "songID": 941, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18020, + "notecount": 557, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aaaaad59b44c029eb1225b1212d47eef76438f22", + "difficulty": "ANOTHER", + "songID": 942, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18021, + "notecount": 1120, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d866e0f1f6eba92bc9005d2dc3d0ceca519848ba", + "difficulty": "HYPER", + "songID": 942, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18021, + "notecount": 740, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1a44824de03859ba7e8be2a1a2fb65034777916", + "difficulty": "NORMAL", + "songID": 942, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18021, + "notecount": 429, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d82192efc7a7b0d8e17fd26d98454ff795648c4", + "difficulty": "ANOTHER", + "songID": 942, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18021, + "notecount": 1125, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": true + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a09d131150967674350a345f776c4e5af1e7f52b", + "difficulty": "HYPER", + "songID": 942, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18021, + "notecount": 708, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "698055e8634f88f636308d6e8d3b4b1170452e9f", + "difficulty": "NORMAL", + "songID": 942, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18021, + "notecount": 268, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "216869c523768d067ad5cc4d8aed01af1904c48b", + "difficulty": "ANOTHER", + "songID": 943, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18022, + "notecount": 1230, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6de925b0ce79243bc61d7ed09984eb83058d780c", + "difficulty": "HYPER", + "songID": 943, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18022, + "notecount": 874, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ff971016d2831ab0f9030399de3633866cc1ff4", + "difficulty": "NORMAL", + "songID": 943, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18022, + "notecount": 507, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "777f9123c34180e22bc64010f1943fa861c22296", + "difficulty": "ANOTHER", + "songID": 943, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18022, + "notecount": 1293, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": true + } + } + }, + { + "rgcID": null, + "chartID": "40c675d846b71b64fa4d3b76c8021453a5a255e7", + "difficulty": "HYPER", + "songID": 943, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18022, + "notecount": 909, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c5beaefab6073f9b377980f0ded6542e8a800159", + "difficulty": "NORMAL", + "songID": 943, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18022, + "notecount": 560, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c054ba94f64f25530949c15a1580a50bce5cf39d", + "difficulty": "ANOTHER", + "songID": 944, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18023, + "notecount": 1310, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4754cac0c67ad2a38f34440f154f3452f8f4dbf7", + "difficulty": "HYPER", + "songID": 944, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18023, + "notecount": 1003, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e6eca42cdb68f86eb62dee899208ed07cb15b32d", + "difficulty": "NORMAL", + "songID": 944, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18023, + "notecount": 629, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f6d41d46c2b46b9bc21065af1b6d39fe2228a592", + "difficulty": "ANOTHER", + "songID": 944, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18023, + "notecount": 1113, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7962ec3bb553bf9103e7a186a02627a0f2086b8f", + "difficulty": "BEGINNER", + "songID": 944, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 18023, + "notecount": 295, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11dc349395f7a56b2d884ffaa6454e11edc465eb", + "difficulty": "HYPER", + "songID": 944, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18023, + "notecount": 856, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d25553cc708d2a8892d99a77b0f0460f5106db4", + "difficulty": "NORMAL", + "songID": 944, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18023, + "notecount": 500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "56f4acf780f41aac71349152a44c6200c006006a", + "difficulty": "ANOTHER", + "songID": 945, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18024, + "notecount": 1295, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "943bc634534a57fa16a3d2eb795142a1cddba9a5", + "difficulty": "HYPER", + "songID": 945, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18024, + "notecount": 840, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "293c8961edd6e1980b48d07341df3081fcfb2efa", + "difficulty": "NORMAL", + "songID": 945, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18024, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89378d400ff5fd7433489a3f7a1840a264700c0e", + "difficulty": "ANOTHER", + "songID": 945, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18024, + "notecount": 1075, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a027338eaeb79b8dce772241fa2dec8dfe743181", + "difficulty": "HYPER", + "songID": 945, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18024, + "notecount": 832, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cae8c2dec8e480ab3fd0192654ca89c4661ffff7", + "difficulty": "NORMAL", + "songID": 945, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18024, + "notecount": 589, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "322bb291f66bed37a12f1fbf2a703ddb3b826dbe", + "difficulty": "ANOTHER", + "songID": 946, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18025, + "notecount": 1185, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d265308311ded33d376a9cbb20b078a8c6cb91c6", + "difficulty": "HYPER", + "songID": 946, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18025, + "notecount": 853, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1939663647a9dbf0ace9a0430302aeb01870136", + "difficulty": "LEGGENDARIA", + "songID": 946, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18025, + "notecount": 1264, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13221b4a8e3a0bdd9f80c4c9fb46f6a6aa56dff5", + "difficulty": "NORMAL", + "songID": 946, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18025, + "notecount": 503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc68b0e4d6015b9f905c280ced511a26b50eceef", + "difficulty": "ANOTHER", + "songID": 946, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18025, + "notecount": 1036, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "457970950846a818269b5fd838031880208eb8ca", + "difficulty": "HYPER", + "songID": 946, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18025, + "notecount": 758, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f6646b66128d83e45f0f35491b7f49b17feb2775", + "difficulty": "LEGGENDARIA", + "songID": 946, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18025, + "notecount": 1240, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11S+", + "value": 12.2, + "individualDifference": true + } + } + }, + { + "rgcID": null, + "chartID": "0526a5f0728da48f9f436ff72019d6bf375d1c16", + "difficulty": "NORMAL", + "songID": 946, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18025, + "notecount": 377, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b6e18276ec5f2abc4be4cd57f8bc08ddb6a4306", + "difficulty": "ANOTHER", + "songID": 947, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18026, + "notecount": 1587, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d6d39e70a672fc72d017be7be2ef4ae395202b24", + "difficulty": "HYPER", + "songID": 947, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18026, + "notecount": 990, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0da310f7f02fe06a67a8906887597b1bb0e54b85", + "difficulty": "NORMAL", + "songID": 947, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18026, + "notecount": 478, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7846f531e479ee39a69171ebab710b8a35ffe811", + "difficulty": "ANOTHER", + "songID": 947, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18026, + "notecount": 1418, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": true + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": true + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "54397c9edd914790a4d3d7cb736593f56e8ab821", + "difficulty": "HYPER", + "songID": 947, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18026, + "notecount": 1042, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "48fbc47977dd83320645c5cce2a3eb4f112499e6", + "difficulty": "NORMAL", + "songID": 947, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18026, + "notecount": 510, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c34f0332d538250780bfea25e075403ac96cae2a", + "difficulty": "ANOTHER", + "songID": 948, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18027, + "notecount": 1113, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa5f8f1abac873fa99ef6414104c6973167add43", + "difficulty": "HYPER", + "songID": 948, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18027, + "notecount": 784, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa33549ab33f8852d3ed2aeac47eb8b8b9fc4678", + "difficulty": "NORMAL", + "songID": 948, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18027, + "notecount": 394, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "59b3e6df9eacbb1f73ace7fc78b9b7b3db5b0564", + "difficulty": "ANOTHER", + "songID": 948, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18027, + "notecount": 1080, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e21803f2ac96f1b41d59fb8dbbcf8d7120a5ca8", + "difficulty": "HYPER", + "songID": 948, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18027, + "notecount": 810, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53e0b552efae8f15bf77a3e31f74357f0c70e613", + "difficulty": "NORMAL", + "songID": 948, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18027, + "notecount": 427, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0103d19193c1c59bdb9e78f786056f3f1c615f75", + "difficulty": "ANOTHER", + "songID": 949, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18028, + "notecount": 1235, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce633883964379412a7424d30a780ff5b93736fb", + "difficulty": "HYPER", + "songID": 949, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18028, + "notecount": 992, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "501846c57e48ba0d075460bf86b777109a77ab26", + "difficulty": "NORMAL", + "songID": 949, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18028, + "notecount": 560, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6cd28cda47b3846c01cfff50f0bf4b015ece0b1a", + "difficulty": "ANOTHER", + "songID": 949, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18028, + "notecount": 1182, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "98cbcb44f4bd725ff289025b7dcb265c94cb4105", + "difficulty": "HYPER", + "songID": 949, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18028, + "notecount": 917, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "42b42d1107be7ac6a0a6587cc040d9557a10872f", + "difficulty": "NORMAL", + "songID": 949, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18028, + "notecount": 542, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "123c5a74ba83840960a5ccdf2e2821714e8061ca", + "difficulty": "ANOTHER", + "songID": 950, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18029, + "notecount": 1076, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f899e683c0b4cd7e1cfe321de39509caf044cbee", + "difficulty": "HYPER", + "songID": 950, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18029, + "notecount": 729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eb2a438387f058fce074ced14e3d6eb27db3ae58", + "difficulty": "NORMAL", + "songID": 950, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18029, + "notecount": 458, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6a8668a8e577f867ba8870711b25db957e6999f6", + "difficulty": "ANOTHER", + "songID": 950, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18029, + "notecount": 980, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a89606183c4d5aea122d6406a5c3eb2be895ec8", + "difficulty": "BEGINNER", + "songID": 950, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 18029, + "notecount": 266, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2804c1279c32879c8954f4c95736476522432c1e", + "difficulty": "HYPER", + "songID": 950, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18029, + "notecount": 718, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ec8a0acf5ee8eb287ac445beef3a2a1bc855c109", + "difficulty": "NORMAL", + "songID": 950, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18029, + "notecount": 450, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ac92088a4fb873d9a5e65def63b8bbd002a37b9", + "difficulty": "ANOTHER", + "songID": 951, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18030, + "notecount": 1150, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8aa69b3c182a4f98ece5c2bef0e66d3cae005c41", + "difficulty": "HYPER", + "songID": 951, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18030, + "notecount": 794, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "678989cd4dc77896cd903e3f924875ea53def4c0", + "difficulty": "NORMAL", + "songID": 951, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18030, + "notecount": 453, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26d66c7e97bf90c8f689ed122729dcca85beacda", + "difficulty": "ANOTHER", + "songID": 951, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18030, + "notecount": 1128, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11E", + "value": 11, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6338f1269370498052ecbc9aa04d7be7a323a3f2", + "difficulty": "HYPER", + "songID": 951, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18030, + "notecount": 836, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "896464a97bc645b3d47d0fd8ec91af09124e2518", + "difficulty": "NORMAL", + "songID": 951, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18030, + "notecount": 456, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "46e4cc4f530d3041ee98db9ed61f346aa308f1e3", + "difficulty": "ANOTHER", + "songID": 952, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18031, + "notecount": 1009, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c19411e2e6ffabc00abadb95c179b4fc4bcdded", + "difficulty": "HYPER", + "songID": 952, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18031, + "notecount": 630, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24eece93df69eaa49ab4c01e96663ffd945abfa5", + "difficulty": "NORMAL", + "songID": 952, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18031, + "notecount": 344, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bc54ab445e8dc545e1339d1dde79c33df156b79f", + "difficulty": "ANOTHER", + "songID": 952, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18031, + "notecount": 1025, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6e127da1753d35c6e720f75b1de332e84fda4199", + "difficulty": "HYPER", + "songID": 952, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18031, + "notecount": 683, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27a367398c122c3476a41f3341291b5c0a090d73", + "difficulty": "NORMAL", + "songID": 952, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18031, + "notecount": 346, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf7891c766f259783f95808d8d943d288ba8775f", + "difficulty": "ANOTHER", + "songID": 953, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18032, + "notecount": 1692, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9f06657e7a89ffac4a1b3caac21337f403e9264", + "difficulty": "HYPER", + "songID": 953, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18032, + "notecount": 933, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "620a7734102c6e643afb696f17d4b0b0899770c9", + "difficulty": "NORMAL", + "songID": 953, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18032, + "notecount": 542, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b76eea63de2a01fd7a1a9b6d08251a006387ea8f", + "difficulty": "ANOTHER", + "songID": 953, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18032, + "notecount": 1719, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S+", + "value": 13.1, + "individualDifference": true + }, + "kt-HC": { + "text": "12S+", + "value": 13.2, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.50", + "value": 13.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "8f406d3aad3b5e1ac37486c71af86249f2f577c3", + "difficulty": "BEGINNER", + "songID": 953, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 18032, + "notecount": 296, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "95c6430cc4bfadb1091402673118256d85f5a47d", + "difficulty": "HYPER", + "songID": 953, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18032, + "notecount": 1025, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e185c6b72d08a225310ecddfb5c185362c94da28", + "difficulty": "NORMAL", + "songID": 953, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18032, + "notecount": 564, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2a7ad9ebddea05d6ea674c863f7d68836b32cab", + "difficulty": "ANOTHER", + "songID": 954, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18033, + "notecount": 1285, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19e85cf070872ea6bb7d967ebccd8e62f1cea5ef", + "difficulty": "HYPER", + "songID": 954, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18033, + "notecount": 773, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d986a0bc44fac624d6ce42b4ddcca93b8fd9b2e2", + "difficulty": "NORMAL", + "songID": 954, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18033, + "notecount": 544, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c689af518df7f26bc0f747c452b58926c1f3f00", + "difficulty": "ANOTHER", + "songID": 954, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18033, + "notecount": 1135, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b7055964f38ede6aea78aecec5b8200e40ba4ef6", + "difficulty": "HYPER", + "songID": 954, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18033, + "notecount": 779, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63470c375479ebfaf7ee95bd3b7825a3ad4fc165", + "difficulty": "NORMAL", + "songID": 954, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18033, + "notecount": 509, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "feea2ed17a07877a0dc2838c85c6b5307a0102e1", + "difficulty": "ANOTHER", + "songID": 955, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18034, + "notecount": 1118, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22a9002b5c6b0e811a3ada670a6ef68945c451ff", + "difficulty": "HYPER", + "songID": 955, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18034, + "notecount": 811, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c917c0bb6fa955892ace09c3ea6a8146ab8139d9", + "difficulty": "NORMAL", + "songID": 955, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18034, + "notecount": 413, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "447c1c8679c42ba14bada004b57fb9953d7661d5", + "difficulty": "ANOTHER", + "songID": 955, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18034, + "notecount": 1145, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "99bc4243242937a8f9bb9ba75e3f3eae508686a8", + "difficulty": "HYPER", + "songID": 955, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18034, + "notecount": 875, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb4f2e75c6016897284ad963a49bd6b9968e2fe2", + "difficulty": "NORMAL", + "songID": 955, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18034, + "notecount": 523, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7920cd22347fda6667c3a9a4e7af68554bc5fdf5", + "difficulty": "ANOTHER", + "songID": 956, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18035, + "notecount": 1142, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a4d6af01fc798a5586ce31559fbf9054710dc8cd", + "difficulty": "HYPER", + "songID": 956, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18035, + "notecount": 738, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e6cfdf5056cdaad89b6561d882c014c51dc995dc", + "difficulty": "NORMAL", + "songID": 956, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18035, + "notecount": 463, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29bfe660e9bc44ef43af76629cc37f0fd50b6d0c", + "difficulty": "ANOTHER", + "songID": 956, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18035, + "notecount": 1224, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2255463d6e40172f0e10ea8db0fc53a33109ff02", + "difficulty": "HYPER", + "songID": 956, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18035, + "notecount": 748, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32d19225a533a5d4941469c5dc435952012a0fcd", + "difficulty": "NORMAL", + "songID": 956, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18035, + "notecount": 393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f5d542ea6c52a119d4aa0eb1543b25bd0c18dddc", + "difficulty": "ANOTHER", + "songID": 957, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18036, + "notecount": 792, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eda098eb5d29dc843499bd923c94aeb95900c5d9", + "difficulty": "HYPER", + "songID": 957, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18036, + "notecount": 487, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a4d58be8903c4a49556f575ae9049932c19d1eb", + "difficulty": "NORMAL", + "songID": 957, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 18036, + "notecount": 284, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "129110cec437a970d6d8281f94b3fba90511b5a7", + "difficulty": "ANOTHER", + "songID": 957, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18036, + "notecount": 803, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9c1ae44ea3ec24e3bb3a60a68fa8d1211f6d1bf8", + "difficulty": "BEGINNER", + "songID": 957, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 18036, + "notecount": 174, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4510520d04c426538cef1fab58811768c541a25", + "difficulty": "HYPER", + "songID": 957, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18036, + "notecount": 596, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d8aa6f4318234b7c2ec12441fbd86e3bf03a305a", + "difficulty": "NORMAL", + "songID": 957, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 18036, + "notecount": 249, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d68b50cbaec9add40af62fc0d766ee8e0268a298", + "difficulty": "ANOTHER", + "songID": 958, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18037, + "notecount": 1221, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2825ddc14d26e5af2d2a4f4f11657540287dc1a5", + "difficulty": "HYPER", + "songID": 958, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18037, + "notecount": 721, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aad2d486df2d39d4a5f7864f34c5899d8531c619", + "difficulty": "NORMAL", + "songID": 958, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18037, + "notecount": 421, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "deaaf9f83bc247bac292867bac27cbe9cc43e1ae", + "difficulty": "ANOTHER", + "songID": 958, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18037, + "notecount": 1021, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2db3124cdcf7048dc682b5d1e2f938abd51ed60e", + "difficulty": "HYPER", + "songID": 958, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18037, + "notecount": 721, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a62e8a09be109dc27d31d26809a38a812b1bbf54", + "difficulty": "NORMAL", + "songID": 958, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18037, + "notecount": 321, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7263da28cff521101928359e02c5b5eb57a4a975", + "difficulty": "ANOTHER", + "songID": 959, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18038, + "notecount": 1102, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32914a6d435a9249408b084587c92f7048fc2b79", + "difficulty": "HYPER", + "songID": 959, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18038, + "notecount": 773, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f73d100062266ad73b2457ac8b4ff7de9bdfdeac", + "difficulty": "NORMAL", + "songID": 959, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18038, + "notecount": 473, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ad483cb812489d2cc5585e133df30ebb13775d9", + "difficulty": "ANOTHER", + "songID": 959, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18038, + "notecount": 1126, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "58ff3e2a4cf7b0d6d228a39f9a96b1e8e366d762", + "difficulty": "HYPER", + "songID": 959, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18038, + "notecount": 824, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a53afbc86d92c515e59700888d601fad84fd8319", + "difficulty": "NORMAL", + "songID": 959, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18038, + "notecount": 444, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ceeabe59ce5b9c17069f0e24aac491a7029ded41", + "difficulty": "ANOTHER", + "songID": 960, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18039, + "notecount": 1731, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f9cf45cca5eda7d164b706ad734245475016241", + "difficulty": "HYPER", + "songID": 960, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18039, + "notecount": 1184, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98fa70e49e671adb5ac325cbb06ab38eabe8f02d", + "difficulty": "NORMAL", + "songID": 960, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18039, + "notecount": 512, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c4cec06981e79fb4bd1785ccd6b9106b7a18aab", + "difficulty": "ANOTHER", + "songID": 960, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18039, + "notecount": 1852, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "186266a487eb2fdd53e153b8c7c2cadb22657daf", + "difficulty": "HYPER", + "songID": 960, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18039, + "notecount": 1238, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11c5215dcf2bd2b0b36a92a567e9f0f24305e6d5", + "difficulty": "NORMAL", + "songID": 960, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18039, + "notecount": 393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9225e305605953229dcd5c0fb4f3ac2e615dd9f6", + "difficulty": "ANOTHER", + "songID": 961, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18040, + "notecount": 1359, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34c7dbe2d481ebc26cd6b7a519d4e2cea164cb10", + "difficulty": "HYPER", + "songID": 961, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18040, + "notecount": 896, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2eb1ef7a43411c1bff72c1c02efc03200926b030", + "difficulty": "NORMAL", + "songID": 961, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18040, + "notecount": 478, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "491f8309a81ab1f0e8a94987a6f31963303a4134", + "difficulty": "ANOTHER", + "songID": 961, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18040, + "notecount": 1114, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "56bd7d145ded5eebdc4b03049b61f3782c1afe02", + "difficulty": "HYPER", + "songID": 961, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18040, + "notecount": 867, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3644e9f4c8e100d0be190edfa9e4533503dccf89", + "difficulty": "NORMAL", + "songID": 961, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18040, + "notecount": 317, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "47b48390f90971e126ef48ed32c5862ac0138968", + "difficulty": "ANOTHER", + "songID": 962, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18041, + "notecount": 1327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cedac2936c6fc402cf0f5f8434e01ddb3c430fea", + "difficulty": "HYPER", + "songID": 962, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18041, + "notecount": 942, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94d660e1b69f477630a5267043f3ba9e67b33072", + "difficulty": "NORMAL", + "songID": 962, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18041, + "notecount": 616, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a285c0c7cf3ef2a1312e716d59cde7f5b52207d3", + "difficulty": "ANOTHER", + "songID": 962, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18041, + "notecount": 1307, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24959d56fb20171a2d6d1f86016e2aff9d294564", + "difficulty": "HYPER", + "songID": 962, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18041, + "notecount": 864, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1ba97acfb7893bdff9ea40b7ee2cd2a4fa8ca33", + "difficulty": "NORMAL", + "songID": 962, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18041, + "notecount": 577, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb94c025df374b83bb7c1e4e6d51581aa851da56", + "difficulty": "ANOTHER", + "songID": 963, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18042, + "notecount": 1314, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b17dbdcf532b505652463c73e072e851d44dab8", + "difficulty": "HYPER", + "songID": 963, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18042, + "notecount": 983, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f6d0ddec0d994589a28d4a488420727c225c3bf", + "difficulty": "NORMAL", + "songID": 963, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18042, + "notecount": 488, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a0c383110106286d908835ab5393e9dfa0df6d8", + "difficulty": "ANOTHER", + "songID": 963, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18042, + "notecount": 1420, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "eb1fb913fc42c072c584981451d5b1723251ac24", + "difficulty": "HYPER", + "songID": 963, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18042, + "notecount": 1067, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6df9d1db0e9c8de1afd67cb7151e388cc4791ef2", + "difficulty": "NORMAL", + "songID": 963, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18042, + "notecount": 504, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a11c5bd35991d2108065b3cecf83c779f8df1d4", + "difficulty": "ANOTHER", + "songID": 964, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18043, + "notecount": 1200, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a3a1cae06be0d9f5b2069fe989de9fe19299ba10", + "difficulty": "HYPER", + "songID": 964, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18043, + "notecount": 916, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83e764ca25e351bfd279ef2eed8806df7d75d435", + "difficulty": "NORMAL", + "songID": 964, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18043, + "notecount": 502, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c12dec7c4603a80c78e6ec7562298b8d58c8e04", + "difficulty": "ANOTHER", + "songID": 964, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18043, + "notecount": 1213, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7e7d63a8da571ca8d3350e1551a7ca8cde517335", + "difficulty": "HYPER", + "songID": 964, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18043, + "notecount": 962, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb8912142562a36937b2fa47f2c1a845c6257848", + "difficulty": "NORMAL", + "songID": 964, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18043, + "notecount": 533, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2fe90e297f9d8cc5d605a4358fab3e5ed8e43f3f", + "difficulty": "ANOTHER", + "songID": 965, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18044, + "notecount": 1380, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "91ef58b002cf78f5165ea9bce8a21f152ff87c54", + "difficulty": "HYPER", + "songID": 965, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18044, + "notecount": 903, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "621d96f6c52c5327a5ee714e27a8c68f69034955", + "difficulty": "NORMAL", + "songID": 965, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18044, + "notecount": 534, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1171e78d08791d2d130c777ede76a4700f952221", + "difficulty": "ANOTHER", + "songID": 965, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18044, + "notecount": 1367, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0cc66b48689bcb5acdecc3279db7b2899404d862", + "difficulty": "HYPER", + "songID": 965, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18044, + "notecount": 943, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "76e71530bca43f28b941c270df2a24f029fe74bb", + "difficulty": "NORMAL", + "songID": 965, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18044, + "notecount": 571, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6defe25a95b42407a6d47671d496372a93c98e1d", + "difficulty": "ANOTHER", + "songID": 966, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18045, + "notecount": 1230, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a52db7fa04e00a544a7ffcd2bcb1c7faed7b59d8", + "difficulty": "HYPER", + "songID": 966, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18045, + "notecount": 835, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f41c672010102fae1218d1c05976642a569ce5a2", + "difficulty": "NORMAL", + "songID": 966, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18045, + "notecount": 452, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f897e6d92a9dbbedead107b17fa077a7ba96906", + "difficulty": "ANOTHER", + "songID": 966, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18045, + "notecount": 1122, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "ae56e28b3562a7a60d5387e30d17756e2d8498a0", + "difficulty": "HYPER", + "songID": 966, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18045, + "notecount": 763, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "403f71567846c864ec09d00e56fd12a449de7184", + "difficulty": "NORMAL", + "songID": 966, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18045, + "notecount": 448, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "05807df24b5db012abe7b17ba88856107de70e1b", + "difficulty": "ANOTHER", + "songID": 967, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18046, + "notecount": 1097, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da083d14c717b9134ab55a81a197047c9e248845", + "difficulty": "HYPER", + "songID": 967, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18046, + "notecount": 865, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f16c9b4ff15cae1dcaf53512232b5aa4813e76d", + "difficulty": "NORMAL", + "songID": 967, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18046, + "notecount": 512, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c9f04d7a8517043514d4abe42b7815fcd7c753b", + "difficulty": "ANOTHER", + "songID": 967, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18046, + "notecount": 1101, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c44a96ede241531be03af760f4d6cc7f01310c5", + "difficulty": "HYPER", + "songID": 967, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18046, + "notecount": 788, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf3bb4f39ec6f3e83bd70565167fd0e434300485", + "difficulty": "NORMAL", + "songID": 967, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18046, + "notecount": 489, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "31951022c1f2dadaff13c5ff46b26ae869983e8f", + "difficulty": "ANOTHER", + "songID": 968, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18047, + "notecount": 1265, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b68a12d77b2dfaab4199d1d9f4e16bb8a88509c2", + "difficulty": "HYPER", + "songID": 968, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18047, + "notecount": 866, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4707046133e134732f5441a740642be1e22cef3f", + "difficulty": "NORMAL", + "songID": 968, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18047, + "notecount": 556, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28a708880c17e32ce5ab8f2b3500ca025813c203", + "difficulty": "ANOTHER", + "songID": 968, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18047, + "notecount": 1274, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c49bac378a4f4392472447864dc2728b7ae09025", + "difficulty": "HYPER", + "songID": 968, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18047, + "notecount": 899, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26051979a0651b5486f7242686f56f72bceaefb7", + "difficulty": "NORMAL", + "songID": 968, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18047, + "notecount": 598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35e4f3bd8a06bb2e2d96973c772af444c6987875", + "difficulty": "ANOTHER", + "songID": 969, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18048, + "notecount": 1030, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9253b457cd03db82116de0861d8c0fbe5fb9a4db", + "difficulty": "HYPER", + "songID": 969, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18048, + "notecount": 684, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7eb2d0d3ebcf59250b47faa3e5f51151f20cdcb4", + "difficulty": "NORMAL", + "songID": 969, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18048, + "notecount": 344, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f192ad03d350bdabec436a96b1dc3e84bbc6dab", + "difficulty": "ANOTHER", + "songID": 969, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18048, + "notecount": 1013, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c1251352bfe5e5d9fce4e6516e1e917e82260bf", + "difficulty": "HYPER", + "songID": 969, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18048, + "notecount": 767, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27db52a1993f30e36089ddc245a53fb29cbe93c4", + "difficulty": "NORMAL", + "songID": 969, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18048, + "notecount": 384, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04a3d825d301d4080edd0072793ced6ac7967aba", + "difficulty": "ANOTHER", + "songID": 970, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18049, + "notecount": 891, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b3bc1abb5b31b85af2b6f8fbedf526e5b68c74d", + "difficulty": "HYPER", + "songID": 970, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18049, + "notecount": 713, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe22643d0aae6bda87597fb5bdc60a33c424812b", + "difficulty": "NORMAL", + "songID": 970, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18049, + "notecount": 387, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7071f040e4f07727e174f75ac003e91736e091f2", + "difficulty": "ANOTHER", + "songID": 970, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18049, + "notecount": 893, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27536e3ea51722536e236b916eb7d91c9ca98fa0", + "difficulty": "BEGINNER", + "songID": 970, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 18049, + "notecount": 286, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df235cac6dd1bba5f55ab3dbc663120cdcfb9288", + "difficulty": "HYPER", + "songID": 970, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18049, + "notecount": 710, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "39a6cd6892e88d78a26f198e4aeeb592fe1bbcdb", + "difficulty": "NORMAL", + "songID": 970, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18049, + "notecount": 392, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "578c0f9fbec00b42cad9e6ec22a4ec05707a9382", + "difficulty": "ANOTHER", + "songID": 971, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18050, + "notecount": 1893, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1de26dc1b5079c6fcf3356731199095fedb9a62", + "difficulty": "HYPER", + "songID": 971, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18050, + "notecount": 1243, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e045411e67d0030eb09b659c113eee9e8c9dc74", + "difficulty": "NORMAL", + "songID": 971, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18050, + "notecount": 822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f19b70269164baf152d5793f271a6d8c865e4502", + "difficulty": "ANOTHER", + "songID": 971, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18050, + "notecount": 1677, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.40", + "value": 13.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "281ddcbba655858fdd5a408ff8c4ae1ed24ce0f4", + "difficulty": "BEGINNER", + "songID": 971, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 18050, + "notecount": 281, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1bd0caad5098659c2357ec198cceb82601eb449c", + "difficulty": "HYPER", + "songID": 971, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18050, + "notecount": 1239, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c9adf63b6e75014f7611e9fb7d20e419b1470cdb", + "difficulty": "NORMAL", + "songID": 971, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18050, + "notecount": 708, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "600b7d72c69d22234b877dc7d4b6788ff7c166d7", + "difficulty": "ANOTHER", + "songID": 972, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18051, + "notecount": 1258, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b746d0c245927c23da76d6c4d8a5754c7fda24b", + "difficulty": "HYPER", + "songID": 972, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18051, + "notecount": 1164, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a3423a4f533dad0e6694e7958cd7dd25b595069", + "difficulty": "NORMAL", + "songID": 972, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18051, + "notecount": 555, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca027c31c58e414e576fae544de9ba1e3cb74856", + "difficulty": "ANOTHER", + "songID": 972, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18051, + "notecount": 1484, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "8a18b759a8b417d38ff97789e994682830f148aa", + "difficulty": "HYPER", + "songID": 972, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18051, + "notecount": 987, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "37e12c5bd9b1947fe562c38ba4baa01180a97bd0", + "difficulty": "NORMAL", + "songID": 972, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18051, + "notecount": 489, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84ee6a253749568780fc5462078a38e7d3e73bc6", + "difficulty": "ANOTHER", + "songID": 973, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18052, + "notecount": 1090, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3a0a492dd226344ecdea1b19e928491d012b513", + "difficulty": "HYPER", + "songID": 973, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18052, + "notecount": 744, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "67d5c9a5f2b2f7a2f9ca2646373d1213a4f1c939", + "difficulty": "NORMAL", + "songID": 973, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18052, + "notecount": 439, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b12391cab0c4dbbc6b91ce0fd7d4da10a0d9c13c", + "difficulty": "ANOTHER", + "songID": 973, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18052, + "notecount": 1072, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "205f5b18619290d9c1d052a8ce65986fd37e6acc", + "difficulty": "HYPER", + "songID": 973, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18052, + "notecount": 749, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ac5eb5f58254dac5361ffa1a034db379796e46ae", + "difficulty": "NORMAL", + "songID": 973, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18052, + "notecount": 444, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4af1c363d02b376fd1a6344e754d8d0a27450a62", + "difficulty": "ANOTHER", + "songID": 974, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18053, + "notecount": 857, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "658f95faf89303bceabdd312c3bc0f81460a8933", + "difficulty": "HYPER", + "songID": 974, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18053, + "notecount": 502, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f6ce9713e4cb7daec9467a3754f5706a55546384", + "difficulty": "NORMAL", + "songID": 974, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18053, + "notecount": 328, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d142ba0f00e12c5bf86e8a1402a912bf6d271653", + "difficulty": "ANOTHER", + "songID": 974, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18053, + "notecount": 866, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea282729d653d2faa8c9fec71624e2774e150fc7", + "difficulty": "HYPER", + "songID": 974, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18053, + "notecount": 558, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b33a74752de649fa45734e04c14515d6c93dda9", + "difficulty": "NORMAL", + "songID": 974, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18053, + "notecount": 331, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd2880993544f7f921436847bea438c3021bf9ac", + "difficulty": "ANOTHER", + "songID": 975, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18054, + "notecount": 691, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4bc8fffa90d62e16391d531216b38600f86f87d1", + "difficulty": "HYPER", + "songID": 975, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18054, + "notecount": 485, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d518d45f98c5e30a15f142f111f0440df92529eb", + "difficulty": "NORMAL", + "songID": 975, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 18054, + "notecount": 266, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "583b689b1fea50c5bad93ac50be692fed75231ba", + "difficulty": "ANOTHER", + "songID": 975, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18054, + "notecount": 691, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f48b4a0f9787b2efe3e72f871ec61e67a859cc16", + "difficulty": "HYPER", + "songID": 975, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18054, + "notecount": 551, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73a387b01c8164e4543caa167ba2be9140119a70", + "difficulty": "NORMAL", + "songID": 975, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 18054, + "notecount": 222, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97d062910d8a1df8ddd0c7f2b5e540ad43ef05fb", + "difficulty": "ANOTHER", + "songID": 976, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18055, + "notecount": 1216, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc06b72f15b55df3e911f4399449dc0107df63ab", + "difficulty": "HYPER", + "songID": 976, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18055, + "notecount": 783, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30f717c2c5a5b079a0a071710b8b22c07eb5d5a6", + "difficulty": "NORMAL", + "songID": 976, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18055, + "notecount": 309, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43363b4fc3c82bfdb1cf91f5e3da20e9498b4924", + "difficulty": "ANOTHER", + "songID": 976, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18055, + "notecount": 1123, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0fcbce768b9f939b31c04132b00f18a27fc10fd3", + "difficulty": "BEGINNER", + "songID": 976, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 18055, + "notecount": 122, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "286166daa8c02b36ae4de48ee16771d998ff5b69", + "difficulty": "HYPER", + "songID": 976, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18055, + "notecount": 781, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d9ec09c2bd6bdb99eb98b74d778ec8ebb1abcb7", + "difficulty": "NORMAL", + "songID": 976, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 18055, + "notecount": 201, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e7a680b90c70e72d66a44e1b3a43935cdbf0c119", + "difficulty": "ANOTHER", + "songID": 977, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18056, + "notecount": 1549, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d3c39b9ad290fd70ed4b6155f315f08f605f7512", + "difficulty": "HYPER", + "songID": 977, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18056, + "notecount": 928, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1ef6a262a4ac095344bd2f86c3867383782fb5a", + "difficulty": "NORMAL", + "songID": 977, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18056, + "notecount": 372, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6854fc78616a7098418539261bb13826ac7e6003", + "difficulty": "ANOTHER", + "songID": 977, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18056, + "notecount": 1438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11S+", + "value": 12.2, + "individualDifference": true + } + } + }, + { + "rgcID": null, + "chartID": "67f7c4bdbc43395aac36f2a21901934634ffa076", + "difficulty": "HYPER", + "songID": 977, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18056, + "notecount": 952, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5919fb4633ed3ae27d187cdc33fb4c14d4f71fc0", + "difficulty": "NORMAL", + "songID": 977, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18056, + "notecount": 282, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a297cca5fcc0d8884d51137bc46a861dbfaa9c2", + "difficulty": "ANOTHER", + "songID": 978, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18057, + "notecount": 1474, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "42671d1a408babe06b65f73ecc0e8de5d351f9ae", + "difficulty": "HYPER", + "songID": 978, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18057, + "notecount": 1109, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1bfc79f0c4efed94217c21dab23cc01e362381b0", + "difficulty": "NORMAL", + "songID": 978, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18057, + "notecount": 637, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "946f7e5c4f35c26cdd8a08ed236b93271606423b", + "difficulty": "ANOTHER", + "songID": 978, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18057, + "notecount": 1206, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c3de983357113dc5e32a0b2449bf77b1a562608f", + "difficulty": "HYPER", + "songID": 978, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18057, + "notecount": 979, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b2188da644da8ec24ce53dfbc139995e9009395", + "difficulty": "NORMAL", + "songID": 978, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18057, + "notecount": 562, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a55ad9a997c9f442649da588a28c3f00e8eb328f", + "difficulty": "ANOTHER", + "songID": 979, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18058, + "notecount": 1180, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b761295671ca8582b0deec8bf7b132a9f45159ac", + "difficulty": "HYPER", + "songID": 979, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18058, + "notecount": 734, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f66ae6aa90f068c3656e928ab149650653c2f82", + "difficulty": "NORMAL", + "songID": 979, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18058, + "notecount": 421, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bcf4d69a89e0e7814973fb3868756f0338f11f3f", + "difficulty": "ANOTHER", + "songID": 979, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18058, + "notecount": 1106, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "923e6490249df6f8f4bec90220307929d5d14e83", + "difficulty": "HYPER", + "songID": 979, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18058, + "notecount": 865, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4195cc342a6a88d3590b9b3b57a425561615e78", + "difficulty": "NORMAL", + "songID": 979, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18058, + "notecount": 404, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e98bb7edece9d95df8843859b35d34eca6f2c67", + "difficulty": "ANOTHER", + "songID": 980, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18059, + "notecount": 1393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e71d0ba7b4c02c662b95dd16d003a93acb3098da", + "difficulty": "HYPER", + "songID": 980, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18059, + "notecount": 958, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c632ef0dc4a78e8ae3cad7ab61053983fa559c9c", + "difficulty": "NORMAL", + "songID": 980, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18059, + "notecount": 568, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9385a106f169fe14ceb4f383c8a77751159b3aa5", + "difficulty": "ANOTHER", + "songID": 980, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18059, + "notecount": 1530, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3d483bdced0dced981b810c6a48caa78ffe7253a", + "difficulty": "BEGINNER", + "songID": 980, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 18059, + "notecount": 267, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3facef2693f06227aa2bccd2abf9377359b3460f", + "difficulty": "HYPER", + "songID": 980, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18059, + "notecount": 1013, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c0c96580e915b970010394c75463fecfcda97ba8", + "difficulty": "NORMAL", + "songID": 980, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18059, + "notecount": 560, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0235e5dff7d4cd68a86bba5fda44e853aed3cd7c", + "difficulty": "ANOTHER", + "songID": 981, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18060, + "notecount": 1750, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8d130e0efc6fc1392001427f90d468589ae702c", + "difficulty": "HYPER", + "songID": 981, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18060, + "notecount": 1234, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2fab635a797e0006ac8d04eac8474e5e7d049867", + "difficulty": "NORMAL", + "songID": 981, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18060, + "notecount": 557, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "339613a272fc9cb0b50e7c70ff371ea416e12b6a", + "difficulty": "ANOTHER", + "songID": 981, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18060, + "notecount": 1745, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7da808515c8d6770c1008c3a6131cbed34f01865", + "difficulty": "HYPER", + "songID": 981, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18060, + "notecount": 1077, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11e04fb763c4183aa30b5df36fdb01d6d7ac9b44", + "difficulty": "NORMAL", + "songID": 981, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18060, + "notecount": 410, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3c1e0d379b940de240b19a8031184a894883a53", + "difficulty": "ANOTHER", + "songID": 982, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18061, + "notecount": 1498, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d44405690d465af08774436a7a632c7b065da185", + "difficulty": "HYPER", + "songID": 982, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18061, + "notecount": 913, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ace3e427e344a458ecd792f1031409b41cdcb6c", + "difficulty": "NORMAL", + "songID": 982, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18061, + "notecount": 550, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7244887d53a4e383f42b05dda3ac24a2d6556821", + "difficulty": "ANOTHER", + "songID": 982, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18061, + "notecount": 1225, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12F", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": true + }, + "kt-EXHC": { + "text": "12.60", + "value": 12.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "cb3e3c6b4d5abbbc32cacae690a2fd2c236447e2", + "difficulty": "HYPER", + "songID": 982, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18061, + "notecount": 675, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "351800ee55b4e7953f3d68a23abaa2bda6582a7c", + "difficulty": "NORMAL", + "songID": 982, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18061, + "notecount": 529, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6608a15ddfbbb702ca1ff75bbcb5a0feb0bf8cb1", + "difficulty": "ANOTHER", + "songID": 983, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18062, + "notecount": 1058, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53993d7c6c2c8662f4ef6ee2711b949b760012d6", + "difficulty": "HYPER", + "songID": 983, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18062, + "notecount": 750, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b8c6063fdc420851fbfca09bd0ac41d1b3acb69", + "difficulty": "NORMAL", + "songID": 983, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18062, + "notecount": 472, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d37aa1ebc92feeed47a91a4b04c06800ab6942cb", + "difficulty": "ANOTHER", + "songID": 983, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18062, + "notecount": 959, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "46c8d781c71edc466e33eb1255e337c53ba2eda9", + "difficulty": "HYPER", + "songID": 983, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18062, + "notecount": 669, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4013d4f532b3ce12c05ee758301814fe503a2cad", + "difficulty": "NORMAL", + "songID": 983, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18062, + "notecount": 448, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c36ddae255804c93d76a68fa0ef96833b5ad1a1", + "difficulty": "ANOTHER", + "songID": 984, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18063, + "notecount": 1253, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "151702ce799df00b1f09a8a4babd874226bf81bb", + "difficulty": "HYPER", + "songID": 984, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18063, + "notecount": 817, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8ff74ec3d94d169f998c133cf2280cbc434e2f89", + "difficulty": "NORMAL", + "songID": 984, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18063, + "notecount": 447, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "abb2e9983e366bb5e2487f13cda42a875bdf3893", + "difficulty": "ANOTHER", + "songID": 984, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18063, + "notecount": 1202, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fcf3056ccc0cf72896069506d5884143bb08cf2e", + "difficulty": "HYPER", + "songID": 984, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18063, + "notecount": 841, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "be9053afd2c6ea82d3e8a33ae648074ec37432f6", + "difficulty": "NORMAL", + "songID": 984, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18063, + "notecount": 400, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74e64d5b514d02e8d2da438bcbaca6529df1f225", + "difficulty": "ANOTHER", + "songID": 985, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18064, + "notecount": 1373, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aaccdb15c697a40bdedb3fe6d18998e8888074ea", + "difficulty": "HYPER", + "songID": 985, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18064, + "notecount": 930, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f07a162aa9827dfba6c1d9cacc30a5e7230ffd17", + "difficulty": "NORMAL", + "songID": 985, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18064, + "notecount": 523, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80ff4f519ddb43edefba32b3999da6cda50dbff1", + "difficulty": "ANOTHER", + "songID": 985, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18064, + "notecount": 1370, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a962cb8891965e5921b1f4910e99a36e688a9ac1", + "difficulty": "BEGINNER", + "songID": 985, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 18064, + "notecount": 194, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "38c2a88fd3c3f25fea9ad4bbe2b79a40697db026", + "difficulty": "HYPER", + "songID": 985, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18064, + "notecount": 963, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a249c8f5a2fabea71b1de9693e7e7143445e1a96", + "difficulty": "NORMAL", + "songID": 985, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18064, + "notecount": 322, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5bd5455b8daf8699975a93beaa4cb65d5076a376", + "difficulty": "ANOTHER", + "songID": 986, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18065, + "notecount": 1150, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f8c1b774df31f41502e9c7c01e4b885bd96e0c5", + "difficulty": "HYPER", + "songID": 986, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18065, + "notecount": 724, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26b5baf0df9001dd5309feae6b3e75cafa8dc20c", + "difficulty": "NORMAL", + "songID": 986, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18065, + "notecount": 375, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bcbac52c0749b59005e45735589de972db40e77e", + "difficulty": "ANOTHER", + "songID": 986, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18065, + "notecount": 1142, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "038db5c9c451e3e36ac5a9e48912fbad87502731", + "difficulty": "BEGINNER", + "songID": 986, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 18065, + "notecount": 198, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba7c86a7de2a67fbc24cf274609a1c2c60e0ced2", + "difficulty": "HYPER", + "songID": 986, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18065, + "notecount": 722, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e7bec6051f6ddde76f82711f8f7cd0e40adf6b5b", + "difficulty": "NORMAL", + "songID": 986, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 18065, + "notecount": 282, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "31f0e21fe73382f637b887d21ae1dcca6a45b461", + "difficulty": "ANOTHER", + "songID": 987, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18066, + "notecount": 1395, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10a94be3f50bca7be1872b32a797f7dad9c4a13f", + "difficulty": "HYPER", + "songID": 987, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18066, + "notecount": 879, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32b647942d131ca786e484b4561cc12d7b681303", + "difficulty": "NORMAL", + "songID": 987, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18066, + "notecount": 511, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "906c67a8d37dea58b9163a020a505dc1ae877d88", + "difficulty": "ANOTHER", + "songID": 987, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18066, + "notecount": 1190, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1a6b25e54ad6be8f21f374c97dc1372ae1516010", + "difficulty": "HYPER", + "songID": 987, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18066, + "notecount": 815, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "00d9c0c86b1cf29085af041d90e1c489c44e8451", + "difficulty": "NORMAL", + "songID": 987, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 18066, + "notecount": 242, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ba0a67e3456025f4af7aba72de7a76aaa23afca", + "difficulty": "ANOTHER", + "songID": 988, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18067, + "notecount": 1235, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cabd5c2aef8003aaca58a27e898ddd940552719f", + "difficulty": "HYPER", + "songID": 988, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18067, + "notecount": 925, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e70fa27817078b127b83c3058e1de38af3215086", + "difficulty": "NORMAL", + "songID": 988, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18067, + "notecount": 529, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8368ee43d5fb0d68c921eb34e03cf90babe09afe", + "difficulty": "ANOTHER", + "songID": 988, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18067, + "notecount": 1377, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "31f732894284253addd7051b21228c556fc6db31", + "difficulty": "HYPER", + "songID": 988, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18067, + "notecount": 780, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27b796d5bf8f47807fb7d91050c4e985841fc56c", + "difficulty": "NORMAL", + "songID": 988, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18067, + "notecount": 468, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b8033319712f479aa9750bc52e069a841018b7fc", + "difficulty": "ANOTHER", + "songID": 989, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18068, + "notecount": 1420, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "14582d21edfd6a836840b22578ed76f6aa63de2c", + "difficulty": "HYPER", + "songID": 989, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18068, + "notecount": 1096, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "77640e1bb3b85f0cc1b6004d609744d4b9c50a85", + "difficulty": "NORMAL", + "songID": 989, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18068, + "notecount": 551, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a15e518e1a033e7c0f3e69ff6bfd66475cc01a8a", + "difficulty": "ANOTHER", + "songID": 989, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18068, + "notecount": 1598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.60", + "value": 12.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "94298709294e6a0653ea7fd255cf2ad8b5f22a59", + "difficulty": "HYPER", + "songID": 989, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18068, + "notecount": 1039, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c17bedc41093845ca9dec2d97e1346526cc545cb", + "difficulty": "NORMAL", + "songID": 989, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18068, + "notecount": 543, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "86fa4bbe538169e878b9a6dc334d58c1b2c5d986", + "difficulty": "ANOTHER", + "songID": 990, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 18069, + "notecount": 1089, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5baf4e6cb9d2eea6bb81ac4deb5b2375026b024e", + "difficulty": "HYPER", + "songID": 990, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18069, + "notecount": 804, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "71a8bb0a32daae1458e1deba692d8f293a519807", + "difficulty": "NORMAL", + "songID": 990, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18069, + "notecount": 623, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93624197f725776df741accfe252273004ab2b16", + "difficulty": "ANOTHER", + "songID": 990, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18069, + "notecount": 861, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28d4447b2c86b5788eca4b76b5ad28dd209e287f", + "difficulty": "HYPER", + "songID": 990, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18069, + "notecount": 672, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee953587a593dbb7841c226b0cbafd6788b74e2b", + "difficulty": "NORMAL", + "songID": 990, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 18069, + "notecount": 208, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34d8c0c8fbf3f74800da34a6f96f6f490fbd93af", + "difficulty": "ANOTHER", + "songID": 991, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18070, + "notecount": 1195, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c759c5c250a1d11f6900c0cbba1ba2a722205c9d", + "difficulty": "HYPER", + "songID": 991, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18070, + "notecount": 829, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "816fccaf12963e48976247302d2cac0f06dd1464", + "difficulty": "NORMAL", + "songID": 991, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18070, + "notecount": 484, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ef668d193fd2d332002116f58de736a4f26d00a", + "difficulty": "ANOTHER", + "songID": 991, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18070, + "notecount": 1091, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aeed3f9e1aa5a82d26f5e4bf0f674eae34994c88", + "difficulty": "HYPER", + "songID": 991, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18070, + "notecount": 746, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e527aec5eb2bdb3f536b456d13e4d8c863d03e90", + "difficulty": "NORMAL", + "songID": 991, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18070, + "notecount": 433, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1727baeabc8d3738a70346091fa132432638d2a1", + "difficulty": "ANOTHER", + "songID": 992, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18071, + "notecount": 1526, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8eb9886e7f989eb52b1ea29019e0b611dbd7a9b0", + "difficulty": "HYPER", + "songID": 992, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18071, + "notecount": 1097, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7166f8659389248ddc6ce696f6bb15c21178db0d", + "difficulty": "NORMAL", + "songID": 992, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 18071, + "notecount": 601, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bfc53502d89b12fef16f929d11d7430cac055ade", + "difficulty": "ANOTHER", + "songID": 992, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 18071, + "notecount": 1509, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12F", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12F", + "value": 11.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.50", + "value": 12.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "af05f9bb1beabf71798f8a792014221fdfbd3298", + "difficulty": "HYPER", + "songID": 992, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18071, + "notecount": 833, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c2fa2bc2489157d64745c9933405500fda67b9e", + "difficulty": "NORMAL", + "songID": 992, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18071, + "notecount": 358, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c547f8e7637de504790446d03e6069b93679ba2c", + "difficulty": "ANOTHER", + "songID": 993, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18072, + "notecount": 1233, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84e2229684819ee1c088b28295392df88fb47639", + "difficulty": "HYPER", + "songID": 993, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18072, + "notecount": 811, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ebc11101975262446ed50ac3a8d410ae04562bef", + "difficulty": "NORMAL", + "songID": 993, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18072, + "notecount": 433, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8bec4841e630a4d28739f72eddb2ce48c300952d", + "difficulty": "ANOTHER", + "songID": 993, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18072, + "notecount": 1167, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b85cb74ddb0907a5974229953b2e033bb55763a", + "difficulty": "HYPER", + "songID": 993, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18072, + "notecount": 770, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "733a721e4d38480224dec31bae8be5bb37dac18f", + "difficulty": "NORMAL", + "songID": 993, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 18072, + "notecount": 164, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4ad68e155dae973d737d7d8ac57453abcc4ac035", + "difficulty": "NORMAL", + "songID": 994, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18102, + "notecount": 427, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce12076ad9456b74ea187981bd6d4b38aa5a4f62", + "difficulty": "NORMAL", + "songID": 994, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18102, + "notecount": 268, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85997369bc1400aa2408558b8de9f19f37f6fb6b", + "difficulty": "ANOTHER", + "songID": 996, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18201, + "notecount": 909, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43b91c3f74d0c255955eeb261f6b6d54b384282a", + "difficulty": "HYPER", + "songID": 996, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18201, + "notecount": 665, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97971c58d6b17d97bde8a0b8a6357ab590403b02", + "difficulty": "NORMAL", + "songID": 996, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18201, + "notecount": 397, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0ac78c8cc6f7a84146cd0611c3f4bfae5396162", + "difficulty": "ANOTHER", + "songID": 996, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 18201, + "notecount": 907, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d376224b9c1ef9af6fee83ef01b2ee04c20319f5", + "difficulty": "BEGINNER", + "songID": 996, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 18201, + "notecount": 215, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "44e315d4bcf9bd19694e582fe98c57bf78551641", + "difficulty": "HYPER", + "songID": 996, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 18201, + "notecount": 652, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55e0abf55d63fef00e89bd52c5d0bddc9c7e6e7c", + "difficulty": "NORMAL", + "songID": 996, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 18201, + "notecount": 357, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cc79c218ed8e2914f854281633f944320ef9227c", + "difficulty": "ANOTHER", + "songID": 997, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18202, + "notecount": 1156, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97ed30c841fa7816a4fc5e5244f2ffe3dbfb8b0b", + "difficulty": "HYPER", + "songID": 997, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18202, + "notecount": 765, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "201ea155b7beaefa6211b1e6d54054a5c30fed96", + "difficulty": "NORMAL", + "songID": 997, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18202, + "notecount": 439, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "71de8dbd1f685246671e3ed512ba8d4bd11b3ac1", + "difficulty": "ANOTHER", + "songID": 997, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 18202, + "notecount": 1078, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50b1a2eaf172613919159f92bfb3d457174495fd", + "difficulty": "BEGINNER", + "songID": 997, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 18202, + "notecount": 230, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "81dacfee93f0ecfeeaf0e328d202382ae3e4d546", + "difficulty": "HYPER", + "songID": 997, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 18202, + "notecount": 804, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "59453ed806c8bb7345fe37278495c59690cec856", + "difficulty": "NORMAL", + "songID": 997, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 18202, + "notecount": 449, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8fb2e063c76a0ac14d0fe5f9af80f60f3d2229cb", + "difficulty": "ANOTHER", + "songID": 998, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19001, + "notecount": 1418, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b3712fb6f80afa36dc77677c5bc32fef6282f23b", + "difficulty": "HYPER", + "songID": 998, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19001, + "notecount": 1108, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54903ff908bae5be3b2871e42651371c03e0d668", + "difficulty": "NORMAL", + "songID": 998, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19001, + "notecount": 560, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35386cc0ac41449b7cf86c96668a3be680c9efda", + "difficulty": "ANOTHER", + "songID": 998, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19001, + "notecount": 1447, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": true + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "09ca3baf1e9e710ce8bffd34b1494a38a0adf3b4", + "difficulty": "HYPER", + "songID": 998, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19001, + "notecount": 1067, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d06927191a99d1b6e0a5ab6e51e1a0cf6577cd70", + "difficulty": "NORMAL", + "songID": 998, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19001, + "notecount": 535, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "329975b55d2c8909f235cf5ac482ab5f10253245", + "difficulty": "ANOTHER", + "songID": 999, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19002, + "notecount": 2261, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b748835d3e1082de719d11fc7c108c6760f976fa", + "difficulty": "HYPER", + "songID": 999, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19002, + "notecount": 1444, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eb6e33220fef6e5a357677d5160bb1999757322e", + "difficulty": "NORMAL", + "songID": 999, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19002, + "notecount": 703, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "176776e4ada0d3b289abe50be203b6ba865fa63d", + "difficulty": "ANOTHER", + "songID": 999, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19002, + "notecount": 2072, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f87360ece5e05fbc28649eb7298572ff8b0d91c6", + "difficulty": "HYPER", + "songID": 999, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19002, + "notecount": 1125, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a429616f6a1648cf0e7c8f18e67665439f768baa", + "difficulty": "NORMAL", + "songID": 999, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19002, + "notecount": 686, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff4e1caae14892ab03951df76255ab9e3b076d77", + "difficulty": "ANOTHER", + "songID": 1000, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19003, + "notecount": 1760, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad655017173c68648a2ce8e610e1a2ac90da5ad7", + "difficulty": "HYPER", + "songID": 1000, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19003, + "notecount": 1258, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10f27df4994c9e7b2135d0c14f834d44020d9839", + "difficulty": "NORMAL", + "songID": 1000, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19003, + "notecount": 532, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6370cc2ac3d26859f3c33a32a6100c7ad7fce8d6", + "difficulty": "ANOTHER", + "songID": 1000, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19003, + "notecount": 1813, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.50", + "value": 12.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7b9f2024d65792503150f4b263a28eac8ca5a0ac", + "difficulty": "HYPER", + "songID": 1000, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19003, + "notecount": 1099, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "38d5c812cd332c568d39576b46ba500d692182ad", + "difficulty": "NORMAL", + "songID": 1000, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19003, + "notecount": 532, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "784cf1922db10a4ffca1ef5e30b0b34d31f6f409", + "difficulty": "ANOTHER", + "songID": 1001, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19004, + "notecount": 1457, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "135f5574d5127a60e0681c427af73d8234564976", + "difficulty": "HYPER", + "songID": 1001, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19004, + "notecount": 873, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "658fea0507e4e941927b16412c10180d85fcc16b", + "difficulty": "NORMAL", + "songID": 1001, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19004, + "notecount": 452, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "140fed4edc17bf8a04d12bafe40ecea61d449fbb", + "difficulty": "ANOTHER", + "songID": 1001, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19004, + "notecount": 1372, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4f0b73fa045b852a6766b19804b88f6b019c677d", + "difficulty": "HYPER", + "songID": 1001, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19004, + "notecount": 831, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29e2b43ef59792f1dc3dbfcc855d16b83987a367", + "difficulty": "NORMAL", + "songID": 1001, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19004, + "notecount": 449, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c8961d5e3b9fdbe9f567af05e8ec109c01d854ec", + "difficulty": "ANOTHER", + "songID": 1002, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19005, + "notecount": 1858, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a225e5ec53e7a6b748a1f5ca7bb0f06f60ba448", + "difficulty": "HYPER", + "songID": 1002, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19005, + "notecount": 840, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "974c29d0088963d7f6d338f1a583d3a616893ea6", + "difficulty": "NORMAL", + "songID": 1002, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19005, + "notecount": 455, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bcb6680cd4abfbb98fa1ff986f6267df9b4595d1", + "difficulty": "ANOTHER", + "songID": 1002, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19005, + "notecount": 1835, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e710068ab927ee86ad0d1151531c2ae34b121321", + "difficulty": "BEGINNER", + "songID": 1002, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 19005, + "notecount": 257, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0ee188c1a701932e36be3a54a2832e2a3fbc1da", + "difficulty": "HYPER", + "songID": 1002, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19005, + "notecount": 883, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab3ea2ae86ec444bc3106b71b4b029ea4efaa281", + "difficulty": "NORMAL", + "songID": 1002, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19005, + "notecount": 455, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8fb60d94baf513589db33420187fdf0a58b644a", + "difficulty": "ANOTHER", + "songID": 1003, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19006, + "notecount": 1233, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "074aa69a8f68add26ff2025885b2f5d3e4d5f78a", + "difficulty": "HYPER", + "songID": 1003, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19006, + "notecount": 863, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "acbb52ca9493fbe72eaed34f1219813b65992fae", + "difficulty": "NORMAL", + "songID": 1003, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19006, + "notecount": 437, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e100b103c429fb45fd08cdf9e37f041c3a68e5f", + "difficulty": "ANOTHER", + "songID": 1003, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19006, + "notecount": 1245, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c2bc08462c0dcb258afd87658dfc1fabd51f2a8", + "difficulty": "HYPER", + "songID": 1003, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19006, + "notecount": 849, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "923d13514e444cf557045cb52831b36eb769b6e9", + "difficulty": "NORMAL", + "songID": 1003, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19006, + "notecount": 456, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae80836a1b9c50a8a887e6a3856902a1e4aab5e5", + "difficulty": "ANOTHER", + "songID": 1004, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19007, + "notecount": 2033, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "59f4703b4c725801f867b9b93e59951da92d2859", + "difficulty": "HYPER", + "songID": 1004, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19007, + "notecount": 1391, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b226da92b7dd6ddee1131102aee96cb256624a6b", + "difficulty": "NORMAL", + "songID": 1004, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19007, + "notecount": 647, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c7dacac03fa853dc2446c9ea4e39971d118c8f51", + "difficulty": "ANOTHER", + "songID": 1004, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19007, + "notecount": 2000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a3700b01a3ed3092881efec2757baed5fcbaea7b", + "difficulty": "HYPER", + "songID": 1004, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19007, + "notecount": 1215, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d253028ad97b02373b03067c94230d78967bf08f", + "difficulty": "NORMAL", + "songID": 1004, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19007, + "notecount": 634, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a661312a8f3be35dc4d96c7a030edf70c802e9d", + "difficulty": "ANOTHER", + "songID": 1005, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19008, + "notecount": 1832, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6eb1a1b7cb2ead5ef74a85881510b0865bd2a49f", + "difficulty": "HYPER", + "songID": 1005, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19008, + "notecount": 1209, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b93e93d5fb6bf2b39936617b84ab98196d22626", + "difficulty": "NORMAL", + "songID": 1005, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19008, + "notecount": 657, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "273f633c0ace2c34bd29e19738cd076be031da8e", + "difficulty": "ANOTHER", + "songID": 1005, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19008, + "notecount": 1745, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S+", + "value": 13.1, + "individualDifference": true + }, + "kt-HC": { + "text": "12S+", + "value": 13.2, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.40", + "value": 13.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "db75bd9abdbdf5990c6495dd9bea7562cf2491b8", + "difficulty": "HYPER", + "songID": 1005, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19008, + "notecount": 974, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "066b6a5ad72a2fe3fe89717a46e11cfab9657ebc", + "difficulty": "NORMAL", + "songID": 1005, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19008, + "notecount": 657, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4afddc9f528a9ed8b9b9c30e551cb7e2a31a9cff", + "difficulty": "ANOTHER", + "songID": 1006, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19009, + "notecount": 1552, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4130e2abb2dc0dcfd3e68a5c7f6a4c35124bdc1c", + "difficulty": "HYPER", + "songID": 1006, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19009, + "notecount": 974, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c5824f6a22037a96a8c0e5a97e86e1df8a6b7f5e", + "difficulty": "NORMAL", + "songID": 1006, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19009, + "notecount": 522, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d876601f6a0ea19fd8b9f2305d16cae8e35dfec5", + "difficulty": "ANOTHER", + "songID": 1006, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19009, + "notecount": 1472, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": true + } + } + }, + { + "rgcID": null, + "chartID": "db5f7b392d34ef53b2a017b78abd8bed50ae2306", + "difficulty": "HYPER", + "songID": 1006, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19009, + "notecount": 822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55bc0f2b889dc608c591caf0bf7020f494236e58", + "difficulty": "NORMAL", + "songID": 1006, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19009, + "notecount": 449, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4152c32647deb3eceda8f2fa85e1ffaaa463a9f2", + "difficulty": "ANOTHER", + "songID": 1007, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19010, + "notecount": 1111, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f6c2090c7a86a3c31caa22b6ec195b1b5d1ca9ad", + "difficulty": "HYPER", + "songID": 1007, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19010, + "notecount": 777, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "344910c3b4e2ea430c0c95dd43425e2edcfa2673", + "difficulty": "NORMAL", + "songID": 1007, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19010, + "notecount": 333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e8741ff876759d664e0ea265fecbe5ff7f686197", + "difficulty": "ANOTHER", + "songID": 1007, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19010, + "notecount": 1111, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c733ed189dcd5897a73827badae32ca82d470188", + "difficulty": "HYPER", + "songID": 1007, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19010, + "notecount": 777, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b87f30be0a99dc4d5e0c6164e0a8aa4f25de27d5", + "difficulty": "NORMAL", + "songID": 1007, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19010, + "notecount": 333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "44f005efa9a55d435b8f39ef2317154c59511bc2", + "difficulty": "ANOTHER", + "songID": 1008, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19011, + "notecount": 864, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9bd4001d2902bd271f192354a14ddd36f3f4ba9", + "difficulty": "HYPER", + "songID": 1008, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19011, + "notecount": 721, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a100385802bb4d1cf75c3680414babd111ba6611", + "difficulty": "NORMAL", + "songID": 1008, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 19011, + "notecount": 271, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa2eedd5dd3796bb939bec64f6617bba9739358f", + "difficulty": "ANOTHER", + "songID": 1008, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19011, + "notecount": 735, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "646185d142fb3db39feda035739314a42334c846", + "difficulty": "HYPER", + "songID": 1008, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19011, + "notecount": 441, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4735ed76bfbe5e871a35972d3bfe5978860f4ed", + "difficulty": "NORMAL", + "songID": 1008, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 19011, + "notecount": 185, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b45d30a0f4a6278ddc25dde2588295d2f3e5afd1", + "difficulty": "ANOTHER", + "songID": 1009, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19012, + "notecount": 1098, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32626eedada03cf382626b928c3f69017b76c4eb", + "difficulty": "HYPER", + "songID": 1009, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19012, + "notecount": 628, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9719bbcd65683baa93044190cb3d48591ad7cde", + "difficulty": "NORMAL", + "songID": 1009, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19012, + "notecount": 394, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c9789bc1249b5d0c88cf56918da60f0ea134612", + "difficulty": "ANOTHER", + "songID": 1009, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19012, + "notecount": 1076, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1ba03cc7bd88a7abee2e680e9a3fb5ee45939c4", + "difficulty": "HYPER", + "songID": 1009, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19012, + "notecount": 580, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b10bdddd21d77263ffe2626435a3a0d6ef603b90", + "difficulty": "NORMAL", + "songID": 1009, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19012, + "notecount": 344, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b0b9bce088470636f77214fbdbb2ea79f37d6153", + "difficulty": "ANOTHER", + "songID": 1010, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19013, + "notecount": 1108, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98cbb71a832038f6ce1c874a65a9dbd120d1a355", + "difficulty": "HYPER", + "songID": 1010, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19013, + "notecount": 724, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4eccd90fd4c72d722017d4b1f24c168b2e76ba0", + "difficulty": "NORMAL", + "songID": 1010, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19013, + "notecount": 336, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3611d0f644ee09002401edd301a3822703346a35", + "difficulty": "ANOTHER", + "songID": 1010, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19013, + "notecount": 1098, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "70f48040360c4333dd1f8da5eea917197bafb47a", + "difficulty": "HYPER", + "songID": 1010, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19013, + "notecount": 729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6af0143053bb5981c0d839b0e7bd8f7b5c1ebe2a", + "difficulty": "NORMAL", + "songID": 1010, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19013, + "notecount": 321, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "235e3389e0cde8d2bf4a224dac759cf1adfe3444", + "difficulty": "ANOTHER", + "songID": 1011, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19014, + "notecount": 1192, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dad5e097f9d6ec78dd49c4e73ef61af161ead4cf", + "difficulty": "HYPER", + "songID": 1011, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19014, + "notecount": 754, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "75fddf661a85a33eeb339a70e5098980eb8ba40e", + "difficulty": "NORMAL", + "songID": 1011, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19014, + "notecount": 402, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1955bea49c5b83e7f2cb0e1745b5157b66b30de4", + "difficulty": "ANOTHER", + "songID": 1011, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19014, + "notecount": 868, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b75c385d29fe7c84d6e04bae300c3a7a265b5b6", + "difficulty": "HYPER", + "songID": 1011, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19014, + "notecount": 656, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55cb9394b0e4d51b6f220cc72c7af9328dfa9a3b", + "difficulty": "NORMAL", + "songID": 1011, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19014, + "notecount": 248, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84ef599c48836d23518a1932fd87508752b66fce", + "difficulty": "ANOTHER", + "songID": 1012, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19015, + "notecount": 1473, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b5e56df9e16f5ba4d673469dca1817238721128", + "difficulty": "HYPER", + "songID": 1012, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19015, + "notecount": 922, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d2c4bfe8cbbb4e7375e42404a43d0d5add87754d", + "difficulty": "NORMAL", + "songID": 1012, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19015, + "notecount": 419, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bbeaae7ebf4fbbf9b88820b5fd2c6e617d5a51eb", + "difficulty": "ANOTHER", + "songID": 1012, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19015, + "notecount": 1438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": true + } + } + }, + { + "rgcID": null, + "chartID": "9b0da3ed3be75dd75d445b503d3a95e743b2cff8", + "difficulty": "BEGINNER", + "songID": 1012, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 19015, + "notecount": 212, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "81002fe385696bf226da346af504e53e287a3c35", + "difficulty": "HYPER", + "songID": 1012, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19015, + "notecount": 773, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b987d4c5744d6988def10a08620d0110a3ff3d33", + "difficulty": "NORMAL", + "songID": 1012, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19015, + "notecount": 368, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "92939184dc1633aaa5ca9675ce8a833aef4f6426", + "difficulty": "ANOTHER", + "songID": 1013, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19016, + "notecount": 1960, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0fc974231950f6112de99aab8c81a2bbcc41846d", + "difficulty": "HYPER", + "songID": 1013, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19016, + "notecount": 1079, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e29d8d92916b418fc007cbb9b356dcfb0d4e0127", + "difficulty": "NORMAL", + "songID": 1013, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19016, + "notecount": 541, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30eccec4c3a8cbd0f4b8d74b51f683fa27deeb8b", + "difficulty": "ANOTHER", + "songID": 1013, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19016, + "notecount": 1733, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.60", + "value": 12.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7d2822c0f809610c42cacb15d6c4dc91e1b1603a", + "difficulty": "HYPER", + "songID": 1013, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19016, + "notecount": 979, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17d5f8249bd547ba16cc9322cb1e264bbc6d9864", + "difficulty": "NORMAL", + "songID": 1013, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19016, + "notecount": 565, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e60d1ad926add5e84fb6de5a0924c89c365f80f", + "difficulty": "ANOTHER", + "songID": 1014, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19017, + "notecount": 1067, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d94cb31aad0a116613c998a071164eb1c1c88769", + "difficulty": "HYPER", + "songID": 1014, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19017, + "notecount": 678, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a73460d18cf2c6d13a09a46e83073fbd989d2222", + "difficulty": "NORMAL", + "songID": 1014, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19017, + "notecount": 315, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ea207c86bf7edaca57545a55685a814c30c4779", + "difficulty": "ANOTHER", + "songID": 1014, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19017, + "notecount": 890, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a4de49029b3b2deff9c7eacf489ca4df8c30aa8", + "difficulty": "HYPER", + "songID": 1014, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19017, + "notecount": 601, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21a475985581c40b616fdfb8ee60d16f64c9bbfa", + "difficulty": "NORMAL", + "songID": 1014, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19017, + "notecount": 295, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb3579b7d00ba2d893c7b87f63dff52e5749c670", + "difficulty": "ANOTHER", + "songID": 1015, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19018, + "notecount": 1502, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3acafeda296a414386d895237b9ffb4b4791bf44", + "difficulty": "HYPER", + "songID": 1015, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19018, + "notecount": 1024, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9c4830b3cb2714fa3b2feff2f24fdf307389b1a9", + "difficulty": "NORMAL", + "songID": 1015, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19018, + "notecount": 530, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "59a56f80ed6873ce4a6c35caa24003efbbba99be", + "difficulty": "ANOTHER", + "songID": 1015, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19018, + "notecount": 1420, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "356d8622922e7513078d080ca7dccefea4e326ab", + "difficulty": "HYPER", + "songID": 1015, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19018, + "notecount": 802, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9c7b2808d87ee18754e471efd3e7c071fa0fe5d", + "difficulty": "NORMAL", + "songID": 1015, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19018, + "notecount": 482, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a7ded3e5a2db524dcc77f97b646f26d16ffb50a0", + "difficulty": "ANOTHER", + "songID": 1016, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19019, + "notecount": 1163, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5870af445dde99063392601db6467ab21f7f4c83", + "difficulty": "HYPER", + "songID": 1016, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19019, + "notecount": 744, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fbb20d7948c3bce1b8ff14ff09b759acb6bce65c", + "difficulty": "NORMAL", + "songID": 1016, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19019, + "notecount": 395, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a0845e877ed225eeef7ccf03e150bfb629ba9160", + "difficulty": "ANOTHER", + "songID": 1016, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19019, + "notecount": 1192, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d547317b3d90d4d1a346adea3edbf40805344329", + "difficulty": "HYPER", + "songID": 1016, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19019, + "notecount": 711, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc8140dd3f4c734e7bf3f5907cdc2349dc1b96e4", + "difficulty": "NORMAL", + "songID": 1016, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19019, + "notecount": 401, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dfe6aaacbebce5a1c5f0983c370f798698ffb99f", + "difficulty": "ANOTHER", + "songID": 1017, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19020, + "notecount": 1438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "efee421a04ea9574d9451a26b50f2d9ec299b604", + "difficulty": "HYPER", + "songID": 1017, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19020, + "notecount": 878, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72620ebf3f0f960508cac686b4790f3e733647a9", + "difficulty": "NORMAL", + "songID": 1017, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19020, + "notecount": 447, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ffe9ad52b29c8c48e32e704f91a5f54a2d3f6921", + "difficulty": "ANOTHER", + "songID": 1017, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19020, + "notecount": 1353, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "057d72ffb00ab99d66a0f1bd87ca7d0944208bf5", + "difficulty": "HYPER", + "songID": 1017, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19020, + "notecount": 941, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51c723750154486b80c9d5a3490d1d99607f3080", + "difficulty": "NORMAL", + "songID": 1017, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19020, + "notecount": 404, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "121b08a486422143233baa5f3db231aa670ed725", + "difficulty": "ANOTHER", + "songID": 1018, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19021, + "notecount": 1477, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ca7001cb218bc606b94d3d2f98336ec445ca5a7", + "difficulty": "HYPER", + "songID": 1018, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19021, + "notecount": 881, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d4603481c8338002bff01aef97a343724af4c24b", + "difficulty": "NORMAL", + "songID": 1018, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19021, + "notecount": 537, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9637fc95472040b0e2b9d3eac26da2b97c01d2fb", + "difficulty": "ANOTHER", + "songID": 1018, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19021, + "notecount": 1192, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f2f0128383765b4178db695d16b2c3501ceb743", + "difficulty": "HYPER", + "songID": 1018, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19021, + "notecount": 877, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60ad903b34d0f2c874d87964f6bfca3a3450a1a6", + "difficulty": "NORMAL", + "songID": 1018, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19021, + "notecount": 520, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3170a6b7061f91a4109a5941e23ed9eba86d5b7b", + "difficulty": "ANOTHER", + "songID": 1019, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19022, + "notecount": 1837, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "765f3cd6be4c9ff0f0855d1046787fec6344ebc2", + "difficulty": "HYPER", + "songID": 1019, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19022, + "notecount": 902, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "460419a6993ffdc22d57abe2954da83483db565a", + "difficulty": "NORMAL", + "songID": 1019, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19022, + "notecount": 367, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "250a1ce5b62af167821b868c5f5b9703a84c4bdd", + "difficulty": "ANOTHER", + "songID": 1019, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19022, + "notecount": 1363, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "29e03809ac77c63be574ede64b75508ae9b15c57", + "difficulty": "HYPER", + "songID": 1019, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19022, + "notecount": 904, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d88ace182665a898aaaaf55b476e1387d8d1cada", + "difficulty": "NORMAL", + "songID": 1019, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19022, + "notecount": 359, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cafa791cea7a018e83e239789baf571764d42ea9", + "difficulty": "ANOTHER", + "songID": 1020, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19023, + "notecount": 1396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63086b653ea940f5bb5d6e7846e22300c3715df2", + "difficulty": "HYPER", + "songID": 1020, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19023, + "notecount": 847, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1107d24937937633e590d0cb3a3cb577fc10120a", + "difficulty": "NORMAL", + "songID": 1020, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19023, + "notecount": 549, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fefa24bfae2bd03b513cc2e1c1e0b8cca64b99b7", + "difficulty": "ANOTHER", + "songID": 1020, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19023, + "notecount": 1365, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "00b483bb4ea5350dcf735deb67ee6ead5e187044", + "difficulty": "HYPER", + "songID": 1020, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19023, + "notecount": 808, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72adcac0fef050de6a3d100f351e1001c0875388", + "difficulty": "NORMAL", + "songID": 1020, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19023, + "notecount": 472, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5507544f9d961284928bc6e6e8b227b625b7ec7d", + "difficulty": "ANOTHER", + "songID": 1021, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19024, + "notecount": 1153, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79dfa618393485d065f30fb996abd9b157fddf45", + "difficulty": "HYPER", + "songID": 1021, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19024, + "notecount": 746, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "187eabf1bc8293dba9f4e69c4bdc5794ce784ae0", + "difficulty": "NORMAL", + "songID": 1021, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19024, + "notecount": 431, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ac21c843865cc304fcb8b1f1e051d808b45bc90a", + "difficulty": "ANOTHER", + "songID": 1021, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19024, + "notecount": 1012, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "99d8ad9c9aa1ddd915ee18fc9b6ed8331b6f16e8", + "difficulty": "HYPER", + "songID": 1021, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19024, + "notecount": 660, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51e05a6ba9692ef381b53ffd276be7d91a4f348e", + "difficulty": "NORMAL", + "songID": 1021, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19024, + "notecount": 432, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e6ff88bdffb46ca2d13ef79430fe6d103f93336", + "difficulty": "ANOTHER", + "songID": 1022, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19025, + "notecount": 1254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8d9d138853e553a620525a024cfac9a1dbde071f", + "difficulty": "HYPER", + "songID": 1022, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19025, + "notecount": 687, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28dfa87dad58ea162d56e9cf37a06e74b1803880", + "difficulty": "NORMAL", + "songID": 1022, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19025, + "notecount": 360, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd662145578bc0fc0b6bf7b93946045579853e8d", + "difficulty": "ANOTHER", + "songID": 1022, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19025, + "notecount": 1157, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "691323f78b8c3b2c663fa261df5936a5fc5de4dc", + "difficulty": "HYPER", + "songID": 1022, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19025, + "notecount": 704, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "90e6f340afa1f5620a304560f08a46fe9c2db111", + "difficulty": "NORMAL", + "songID": 1022, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19025, + "notecount": 361, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28dac0f57a94e1fa157b1cfdc763f68ce2a08a96", + "difficulty": "ANOTHER", + "songID": 1023, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19026, + "notecount": 1646, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "903792e4e93d5cd70ddd47148ff6150f4a87e041", + "difficulty": "HYPER", + "songID": 1023, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19026, + "notecount": 1191, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ca2c9ba2e9f630088685acbf0155ffe9e5c0e95", + "difficulty": "NORMAL", + "songID": 1023, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19026, + "notecount": 451, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0153200938271d4d9c3c90e2d7b826070ad32087", + "difficulty": "ANOTHER", + "songID": 1023, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19026, + "notecount": 1545, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5869fd53b1ffc2c751ebfa9dc370ded10788b702", + "difficulty": "HYPER", + "songID": 1023, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19026, + "notecount": 940, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1ea82bb171dbc10d9430a013338cbe06e9374dc", + "difficulty": "NORMAL", + "songID": 1023, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19026, + "notecount": 438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ab41aebc4dbb84fe66f587934e1772c667ec153", + "difficulty": "ANOTHER", + "songID": 1024, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19027, + "notecount": 1035, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c068f2f40d348abf59a01e6df6fd08f33074dcc", + "difficulty": "HYPER", + "songID": 1024, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19027, + "notecount": 771, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2250994a74bd952bbc5d1d61a949d42749d5b0ed", + "difficulty": "NORMAL", + "songID": 1024, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19027, + "notecount": 420, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52403f078838c3dcb71a192954a5aff69ee785f1", + "difficulty": "ANOTHER", + "songID": 1024, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19027, + "notecount": 1081, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3589961b33cc4ae97b6dd0beac71bc76b173c884", + "difficulty": "HYPER", + "songID": 1024, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19027, + "notecount": 740, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae3e2ab5b697229c222a196cd0c263714a8789ee", + "difficulty": "NORMAL", + "songID": 1024, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19027, + "notecount": 430, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df9caa0a43206d4b016ab68458de290c44118c04", + "difficulty": "ANOTHER", + "songID": 1025, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19028, + "notecount": 1677, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af3f1f68229f1913b7810b727fa56b4464e76ba2", + "difficulty": "HYPER", + "songID": 1025, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19028, + "notecount": 1034, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ceaa39c8b80c5f6a0ce1fe35538c7f1f522e461e", + "difficulty": "NORMAL", + "songID": 1025, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19028, + "notecount": 534, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9aedb75145d076fba9ff0b9203a3d88d24aff2a7", + "difficulty": "ANOTHER", + "songID": 1025, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19028, + "notecount": 1911, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1ca60a31bf5b5ad6e23afb86d93f2eebbfc7471c", + "difficulty": "HYPER", + "songID": 1025, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19028, + "notecount": 975, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9b3e932874b70b382599d4e3d73d5e461755f62", + "difficulty": "NORMAL", + "songID": 1025, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19028, + "notecount": 527, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "120e0174fa357d516656c3b624144542de340543", + "difficulty": "ANOTHER", + "songID": 1027, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19029, + "notecount": 1193, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "66041f2ba4137f534aa685e179f7a3850254821e", + "difficulty": "HYPER", + "songID": 1027, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19029, + "notecount": 819, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fce76cccf7c7951296668e143281cbb37b7ac6e0", + "difficulty": "NORMAL", + "songID": 1027, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19029, + "notecount": 490, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d19da5a91c6261c9ca5bf5fd1512654066dd03b5", + "difficulty": "ANOTHER", + "songID": 1027, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19029, + "notecount": 1142, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb95c825d63b2323ec0ad8179447e534ef94427a", + "difficulty": "HYPER", + "songID": 1027, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19029, + "notecount": 754, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19d36ea655a8670298579450027df7159462e4d6", + "difficulty": "NORMAL", + "songID": 1027, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19029, + "notecount": 457, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c98461905ed3451ebe10a7a6d5c6b674d11acde", + "difficulty": "ANOTHER", + "songID": 1028, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19030, + "notecount": 1957, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cdff4c1303e0f63ca0e91fff52cd0bcbf2972b08", + "difficulty": "HYPER", + "songID": 1028, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19030, + "notecount": 1389, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fadd98580e9a2530b8055169e6735a11d39b841a", + "difficulty": "NORMAL", + "songID": 1028, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19030, + "notecount": 654, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad235a8bc777a0815de90bc13e8fbaa9ccb60174", + "difficulty": "ANOTHER", + "songID": 1028, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19030, + "notecount": 1780, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "cacf19e82d3818cc06fa1df8f5106701b2c5ae0c", + "difficulty": "HYPER", + "songID": 1028, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19030, + "notecount": 1290, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93fb6e48301e796804ca977f9588af6d8232740e", + "difficulty": "NORMAL", + "songID": 1028, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19030, + "notecount": 632, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f6c6d0ca4b05b647f0a90071c45d782bae395d2d", + "difficulty": "ANOTHER", + "songID": 1029, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19031, + "notecount": 1372, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a0d1e8fb28c659ab1dcf70e771949341419de4c", + "difficulty": "HYPER", + "songID": 1029, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19031, + "notecount": 1100, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "69f451ee7553a552e552dcc0e2abd0e1b4729c72", + "difficulty": "NORMAL", + "songID": 1029, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19031, + "notecount": 609, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1dce504149aed886a1e3de31a27fe7df277dae9b", + "difficulty": "ANOTHER", + "songID": 1029, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19031, + "notecount": 1464, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "eb90a73d9e2583432f5892cb7ea842267b90aae0", + "difficulty": "HYPER", + "songID": 1029, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19031, + "notecount": 1048, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b725f7655ac08df9c205a71f2e3a23e80ab131dc", + "difficulty": "NORMAL", + "songID": 1029, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19031, + "notecount": 551, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32ffdfdf467a3d75af76d22cbb9d82d863eb29ff", + "difficulty": "ANOTHER", + "songID": 1030, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19032, + "notecount": 1398, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9c93259ca98ca2c0f6abd5a4f3bc553c0394b7bf", + "difficulty": "HYPER", + "songID": 1030, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19032, + "notecount": 1049, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41556142311ca6903173e8662a9bfb5a8c5da353", + "difficulty": "NORMAL", + "songID": 1030, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19032, + "notecount": 507, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a588fce04779d9bd234bfa98c3c0aad0e94ee76", + "difficulty": "ANOTHER", + "songID": 1030, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19032, + "notecount": 1456, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1be0a18eecf45b93bff53b0f28722d0d504ef143", + "difficulty": "HYPER", + "songID": 1030, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19032, + "notecount": 996, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "996fbc3316209f45e4de66019f13deffad03fb88", + "difficulty": "NORMAL", + "songID": 1030, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19032, + "notecount": 430, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a4206cd8f1f48ead11dab251492f9816795d69e4", + "difficulty": "ANOTHER", + "songID": 1031, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19033, + "notecount": 1618, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c1473977aae1bbb5b3de6b7c74c9151006e576a7", + "difficulty": "HYPER", + "songID": 1031, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19033, + "notecount": 1192, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2af424dd439c04b373b384632f58ffd83263c77b", + "difficulty": "NORMAL", + "songID": 1031, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19033, + "notecount": 626, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "810fc467501070b6dd3578e46cc6bf0bbfa09d75", + "difficulty": "ANOTHER", + "songID": 1031, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19033, + "notecount": 1701, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "958260d19d4cc03678c493d2ac638416054a6f2e", + "difficulty": "HYPER", + "songID": 1031, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19033, + "notecount": 1042, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "490497d669a24ea08125134054867ba742943ed6", + "difficulty": "NORMAL", + "songID": 1031, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19033, + "notecount": 603, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff823190b67a7ed9091785aaeb977c2e8d0d0795", + "difficulty": "ANOTHER", + "songID": 1032, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19034, + "notecount": 995, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf27814d849adfd18605cd270f4bd4e22e4ef783", + "difficulty": "HYPER", + "songID": 1032, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19034, + "notecount": 669, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "61fbe67e32f0de991b73fb0d13e4074443f73eb1", + "difficulty": "NORMAL", + "songID": 1032, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19034, + "notecount": 331, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b70cfa2ebdd6b6c50e00a13577202cbbaa4e73d", + "difficulty": "ANOTHER", + "songID": 1032, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19034, + "notecount": 842, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1df2d82a9389a66f3eafe33ddef2f7f54cc47b3d", + "difficulty": "HYPER", + "songID": 1032, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19034, + "notecount": 548, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7fa6ceaaf076048f9507b546da50b3782aded92b", + "difficulty": "NORMAL", + "songID": 1032, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19034, + "notecount": 324, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ecec7dfdd285d1b5af3dbf426cc99a437fced73c", + "difficulty": "ANOTHER", + "songID": 1033, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19035, + "notecount": 1231, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e20f101c529228e0686bc86b17314cf5ec5d38c5", + "difficulty": "HYPER", + "songID": 1033, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19035, + "notecount": 771, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "968685f12417a1079776e69a78f7c8f1c3d156e4", + "difficulty": "NORMAL", + "songID": 1033, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19035, + "notecount": 346, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0bd09ee0e5dd5dfabe235d859e715fb2f34d2226", + "difficulty": "ANOTHER", + "songID": 1033, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19035, + "notecount": 1187, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "918d1caed3a44af7a793aa55117e3977f58d85e3", + "difficulty": "HYPER", + "songID": 1033, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19035, + "notecount": 732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73e9a7783f74e1b8308d9b2036b68bcfcd48cc80", + "difficulty": "NORMAL", + "songID": 1033, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19035, + "notecount": 341, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e812536c289fba1c244b3dc12c7357f7fd8e8a87", + "difficulty": "ANOTHER", + "songID": 1034, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19036, + "notecount": 1544, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9165bf680f28f6d7001e2b1a192a6b458fb554aa", + "difficulty": "HYPER", + "songID": 1034, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19036, + "notecount": 1181, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "96292e7a0680b956c9cff432d8546d031c7cb5de", + "difficulty": "NORMAL", + "songID": 1034, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19036, + "notecount": 612, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bfb9283bb19f18ebc5bdf413953c4752e967aabf", + "difficulty": "ANOTHER", + "songID": 1034, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19036, + "notecount": 1427, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24a8b84f997ac765fcc2da4ee45237bfba08d7b1", + "difficulty": "HYPER", + "songID": 1034, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19036, + "notecount": 1082, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "772745d3b1ad3fd2d3529a842a8dd32c763519ff", + "difficulty": "NORMAL", + "songID": 1034, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19036, + "notecount": 540, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8d48a8da7475bac67e949c145c8f74afafa32736", + "difficulty": "ANOTHER", + "songID": 1035, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19037, + "notecount": 1761, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73e38e3d91ba90e18832e820f852ddbea5432bf5", + "difficulty": "HYPER", + "songID": 1035, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19037, + "notecount": 1201, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da3ad56b114c2bcd02dacf2d0baaecae9ff66b10", + "difficulty": "NORMAL", + "songID": 1035, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19037, + "notecount": 547, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22d9639b9b72406779bfa9912f43630e59a469de", + "difficulty": "ANOTHER", + "songID": 1035, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19037, + "notecount": 1738, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": true + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "132b3e356a6df5f99b7ef0c7f16dc00417575cb0", + "difficulty": "HYPER", + "songID": 1035, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19037, + "notecount": 1111, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9426d93741eee1486cbbf1fa1dc3a9a4fc19e935", + "difficulty": "NORMAL", + "songID": 1035, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19037, + "notecount": 518, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5e7ac9560683dc55407bfda163b0a6d2339aae26", + "difficulty": "ANOTHER", + "songID": 1036, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19038, + "notecount": 1493, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "47304afde11d3aff8b42f1f9da1796981c0d9390", + "difficulty": "HYPER", + "songID": 1036, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19038, + "notecount": 878, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4cacd1be55e9f61cca138b319e22bd010486fa19", + "difficulty": "NORMAL", + "songID": 1036, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19038, + "notecount": 437, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a301e643b1888246921fd0dc62d1bd8c66f86ad", + "difficulty": "ANOTHER", + "songID": 1036, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19038, + "notecount": 1145, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e642b1719377b540c6ac4de9d3cbc346f9d61a7", + "difficulty": "HYPER", + "songID": 1036, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19038, + "notecount": 726, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a7c0cddfdc6ef7bb9dfb714c56804525524daad5", + "difficulty": "NORMAL", + "songID": 1036, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19038, + "notecount": 383, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b30c89790fecc3a62555b433b09837669ab4cffe", + "difficulty": "ANOTHER", + "songID": 1037, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19039, + "notecount": 1079, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b20b59edcc80c6671050be98b01a8eca5e0d1f8", + "difficulty": "HYPER", + "songID": 1037, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19039, + "notecount": 602, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0bcf5923fd77ca3b873d05b9af4a1131c15c33c8", + "difficulty": "NORMAL", + "songID": 1037, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19039, + "notecount": 315, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "655f061758783d9e8e9a994acdf623cc2701c939", + "difficulty": "ANOTHER", + "songID": 1037, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19039, + "notecount": 1010, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "450e4572bddda688daa60cae0a17c6691323bec7", + "difficulty": "HYPER", + "songID": 1037, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19039, + "notecount": 606, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8bf42f128a1754fddc27abbb99b866bb4ce81d87", + "difficulty": "NORMAL", + "songID": 1037, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19039, + "notecount": 317, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a456695d0a69068370232b506f3270c6641b1507", + "difficulty": "ANOTHER", + "songID": 1038, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19040, + "notecount": 1029, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9c622156379e6c7e71d3cdd192b38e99298f1b3", + "difficulty": "HYPER", + "songID": 1038, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19040, + "notecount": 704, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f32be970a89e5fde118b46ea1d2ff33b6dd15e85", + "difficulty": "NORMAL", + "songID": 1038, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19040, + "notecount": 427, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87e4f31481600e264288672e9caef3a26d9d9762", + "difficulty": "ANOTHER", + "songID": 1038, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19040, + "notecount": 1030, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aed18cacd514a60914d2a737737d65aefb0761c8", + "difficulty": "HYPER", + "songID": 1038, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19040, + "notecount": 678, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11b539371f9c36868572a60c104a18f2289772d8", + "difficulty": "NORMAL", + "songID": 1038, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19040, + "notecount": 415, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f936b3bd492bc538a81116c2db4008b1c8dceaec", + "difficulty": "ANOTHER", + "songID": 1039, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19041, + "notecount": 1598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a461447c622e602586c10248e2cd423db910cf57", + "difficulty": "HYPER", + "songID": 1039, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19041, + "notecount": 1183, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "681b8b2edd9c63a634cd87a463367da56158016e", + "difficulty": "NORMAL", + "songID": 1039, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19041, + "notecount": 597, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa5feae3bf0e5915e92e483570a031614ce0ade2", + "difficulty": "ANOTHER", + "songID": 1039, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19041, + "notecount": 1491, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce2ae4d1d722a9070f48a74e1d2757eb1483efad", + "difficulty": "HYPER", + "songID": 1039, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19041, + "notecount": 1102, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1cd02c6c5daaabdb686d1b65d98ed57606b6906", + "difficulty": "NORMAL", + "songID": 1039, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19041, + "notecount": 493, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5902f10b6bf385fd53d6cb5725f34bc350079fc8", + "difficulty": "ANOTHER", + "songID": 1040, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19042, + "notecount": 1997, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9e9a547e05e69e806014cca05528294e0ea249e6", + "difficulty": "HYPER", + "songID": 1040, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19042, + "notecount": 1139, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e772856ae42512a628fbdd9b56eb77d191b075f5", + "difficulty": "NORMAL", + "songID": 1040, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19042, + "notecount": 530, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4658c360cc58c7513a49713527a1e4d4285b3a47", + "difficulty": "ANOTHER", + "songID": 1040, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19042, + "notecount": 1567, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "11f427243fe57be06b09a25be6606a42b1924df3", + "difficulty": "HYPER", + "songID": 1040, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19042, + "notecount": 1076, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f122b7843a002b2d156c1f36ed03312214134cf8", + "difficulty": "NORMAL", + "songID": 1040, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19042, + "notecount": 489, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "15ed927be790dc41026fdd66a152fddd290a1e18", + "difficulty": "ANOTHER", + "songID": 1041, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19043, + "notecount": 931, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b8a1b9c7ad115d4db3a1474b64806898b1738ba", + "difficulty": "HYPER", + "songID": 1041, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19043, + "notecount": 588, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a943d8784d1061e5507548f1575b183801788a17", + "difficulty": "NORMAL", + "songID": 1041, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19043, + "notecount": 295, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "668eea63ec2e6ceee5f94dd620ea408b2127c5a2", + "difficulty": "ANOTHER", + "songID": 1041, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19043, + "notecount": 732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c445610abf81039bbb2d9613ff202d47e356b0ed", + "difficulty": "HYPER", + "songID": 1041, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19043, + "notecount": 536, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6898db814e14c84770eda48f1cf8a63624474da", + "difficulty": "NORMAL", + "songID": 1041, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19043, + "notecount": 232, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4c0ba65f9c2877d3dcc48ed6bbc7b2bd34eac9b", + "difficulty": "ANOTHER", + "songID": 1042, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19044, + "notecount": 942, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9109fc3fadfaaef87f9a3ce8b07bde2f9753724e", + "difficulty": "HYPER", + "songID": 1042, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19044, + "notecount": 747, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "262ad14fd97135ea09dae5e77d47062939ad6873", + "difficulty": "NORMAL", + "songID": 1042, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19044, + "notecount": 346, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a6f13806c717421f964965f55359f01feb24c307", + "difficulty": "ANOTHER", + "songID": 1042, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19044, + "notecount": 914, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "006ab34096a9b824b13cbc6ec29366617de8a2f6", + "difficulty": "HYPER", + "songID": 1042, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19044, + "notecount": 695, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "039ab10c583e697becc1a7751a99643a28035426", + "difficulty": "NORMAL", + "songID": 1042, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19044, + "notecount": 323, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "05ac95e9cdc234ffd8caf7e1c5cd700b07332329", + "difficulty": "ANOTHER", + "songID": 1043, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19045, + "notecount": 1248, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e364e28a965dbaec0a6bb261ef3659bdc19c5b15", + "difficulty": "HYPER", + "songID": 1043, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19045, + "notecount": 654, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73d4e8ed60f6d34f14c50d8ec5eae1d3a5e6e8f9", + "difficulty": "NORMAL", + "songID": 1043, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19045, + "notecount": 395, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cafba7633631cdc9708e540e71c2243121ee423a", + "difficulty": "ANOTHER", + "songID": 1043, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19045, + "notecount": 1271, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5fe46af87ab9a838b4620ff99b356e2902277d88", + "difficulty": "HYPER", + "songID": 1043, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19045, + "notecount": 521, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e466a5223bc1a954db453297783b3ead93c331c9", + "difficulty": "NORMAL", + "songID": 1043, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19045, + "notecount": 385, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10fe1ee5745eda4c31ec28a561e42585b1dc620d", + "difficulty": "ANOTHER", + "songID": 1044, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19046, + "notecount": 1144, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9af2eeabef33b8ccd822fb4677f0d57e9eac60d", + "difficulty": "HYPER", + "songID": 1044, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19046, + "notecount": 696, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b8d489b01d38bb990a864758a6fc481782409d8f", + "difficulty": "NORMAL", + "songID": 1044, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19046, + "notecount": 363, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f24da2db3a0fc22534826fddb37f9746c75dd4d", + "difficulty": "ANOTHER", + "songID": 1044, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19046, + "notecount": 1066, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cfbbbe79ce8d9ad7b3f67f50dd0d0ec133347c3d", + "difficulty": "HYPER", + "songID": 1044, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19046, + "notecount": 592, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82ad0d8257dea39e2275ffba951d5539a2ae8fd6", + "difficulty": "NORMAL", + "songID": 1044, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19046, + "notecount": 329, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef9673bd648e0c26832509e5b64e82fd5c72b4f2", + "difficulty": "ANOTHER", + "songID": 1045, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19047, + "notecount": 1202, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1dfc5e6ff97b484911ae1bde9429824a7bc01de1", + "difficulty": "HYPER", + "songID": 1045, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19047, + "notecount": 617, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "480f9772ab47bdd6eeae92c75cca18c6cd53b3d1", + "difficulty": "NORMAL", + "songID": 1045, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 19047, + "notecount": 229, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd1cd7738a2cc271b514fde4d4a3567a354dccd9", + "difficulty": "ANOTHER", + "songID": 1045, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19047, + "notecount": 1014, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb6ad084222d417f3ac96c0d69a31409f924777e", + "difficulty": "HYPER", + "songID": 1045, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19047, + "notecount": 562, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba90f4c6063d3aa4db4f625b45df702cd9bf9041", + "difficulty": "NORMAL", + "songID": 1045, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 19047, + "notecount": 209, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b9929799b297dfed3f0081914b16feb2df6fb06", + "difficulty": "ANOTHER", + "songID": 1046, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19048, + "notecount": 1230, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "833f30dfe18e5a45806ad31df063fc71352127ff", + "difficulty": "HYPER", + "songID": 1046, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19048, + "notecount": 700, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "007ea33a714b4b197df8e9be1b1ae9f4759080fa", + "difficulty": "NORMAL", + "songID": 1046, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19048, + "notecount": 435, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d6b264465142dbd792531ad212b37e5a96ac5ece", + "difficulty": "ANOTHER", + "songID": 1046, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19048, + "notecount": 1088, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ac7d4c36d5bbb7aec6edc4432430da373b249f9f", + "difficulty": "HYPER", + "songID": 1046, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19048, + "notecount": 622, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79191c2ba5a21c0dacf8e4c82ffa58997e86e24e", + "difficulty": "NORMAL", + "songID": 1046, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19048, + "notecount": 403, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "683f59090fbcc5500310e98929cabe4e4e422599", + "difficulty": "ANOTHER", + "songID": 1047, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19049, + "notecount": 1177, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d17d56ac33796ef7f55ebad031daafd341206504", + "difficulty": "HYPER", + "songID": 1047, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19049, + "notecount": 726, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "204023967503d4a6da9675c50191a722a90d514b", + "difficulty": "NORMAL", + "songID": 1047, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19049, + "notecount": 376, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3bb6c8d5a5e19f018a5329793a6f1bcef0861bd2", + "difficulty": "ANOTHER", + "songID": 1047, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19049, + "notecount": 942, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4aec7c9b729f18ceda99a39c633370be50b029f5", + "difficulty": "HYPER", + "songID": 1047, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19049, + "notecount": 612, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "00f5947cfe8a8549b1194bf1a5a100384e6dc86f", + "difficulty": "NORMAL", + "songID": 1047, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19049, + "notecount": 325, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b7b3116deccf73494c14a711fc6d7f363649128", + "difficulty": "ANOTHER", + "songID": 1048, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19050, + "notecount": 1181, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "48332ecfb77996777b6370850246973f5b714062", + "difficulty": "HYPER", + "songID": 1048, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19050, + "notecount": 816, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6a177eedcb65d0a2842458c36da50749655c12d4", + "difficulty": "NORMAL", + "songID": 1048, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19050, + "notecount": 438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19af0f0c97a387644f61b108d4733d0259116d33", + "difficulty": "ANOTHER", + "songID": 1048, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19050, + "notecount": 1019, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d01129cdb960fffb7c74d4f9b8ca90097102d14", + "difficulty": "HYPER", + "songID": 1048, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19050, + "notecount": 772, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3bdc13dd77d07f0976ff679d24f55c24640e4224", + "difficulty": "NORMAL", + "songID": 1048, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19050, + "notecount": 394, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "016918bed65aef37b5eaf88de52d48e88cb4f251", + "difficulty": "ANOTHER", + "songID": 1049, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19051, + "notecount": 1013, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ea1e940a7f07e59a93df5a9bb5a392e082dd0a9", + "difficulty": "HYPER", + "songID": 1049, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19051, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cbe83dd8a64087a447522da67e99126721484645", + "difficulty": "NORMAL", + "songID": 1049, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19051, + "notecount": 315, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1f6a987312d494d0185986756b94d9691956228", + "difficulty": "ANOTHER", + "songID": 1049, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19051, + "notecount": 881, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2fdc22163483d94187eceada96d7241d5b939098", + "difficulty": "HYPER", + "songID": 1049, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19051, + "notecount": 628, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce60d10e17e35e5fba8de9e5450489b4e7800a0e", + "difficulty": "NORMAL", + "songID": 1049, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19051, + "notecount": 312, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84f7ac67b12551c4c225db1fe9b77fce8c7204b6", + "difficulty": "ANOTHER", + "songID": 1050, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19052, + "notecount": 1271, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54db9211beab9a13b59d72556d4892ab102ba051", + "difficulty": "HYPER", + "songID": 1050, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19052, + "notecount": 913, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f204ae236158bc23c5f78543e706dea8ca97aaa", + "difficulty": "NORMAL", + "songID": 1050, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19052, + "notecount": 549, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c4bc796ef0e637986b85b74aa61f4ae0db8c8cb6", + "difficulty": "ANOTHER", + "songID": 1050, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19052, + "notecount": 931, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8bd79210c2e1eda8415c023782d93c62acb358cf", + "difficulty": "HYPER", + "songID": 1050, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19052, + "notecount": 714, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "23e4e062b7f97901aa469438f7746adacd75fd26", + "difficulty": "NORMAL", + "songID": 1050, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19052, + "notecount": 412, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11fb6cc57ab4fbdf56a0585f885140d64b5f14eb", + "difficulty": "ANOTHER", + "songID": 1051, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19053, + "notecount": 1404, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c44c582e56b8a4bc50c038a2c69c066f6d7d93f", + "difficulty": "HYPER", + "songID": 1051, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19053, + "notecount": 854, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "56c3ab527a8e1d2178824224245f0472cca8d090", + "difficulty": "NORMAL", + "songID": 1051, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19053, + "notecount": 505, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eedc97ff3ce82811bc1b0d5e9bb2115593715dff", + "difficulty": "ANOTHER", + "songID": 1051, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19053, + "notecount": 1434, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b6f3fe10344ccdba5351cdcfef68ebc8e1748804", + "difficulty": "HYPER", + "songID": 1051, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19053, + "notecount": 691, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f07d3ea14de5334a0052d95cb7bfe8f225e511e2", + "difficulty": "NORMAL", + "songID": 1051, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19053, + "notecount": 333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b70c9d1a4bf4b09f12c6687d1d7ee307f4cc1039", + "difficulty": "ANOTHER", + "songID": 1052, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19054, + "notecount": 1329, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e7c19ef12bbb548ad67d98428b7daa3d94a87a3e", + "difficulty": "HYPER", + "songID": 1052, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19054, + "notecount": 793, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a934e36a1e3e415a0ee46b52c9552586f5d9ead3", + "difficulty": "NORMAL", + "songID": 1052, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19054, + "notecount": 527, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8f7047ae68532c61c6e65b85bd1f1d2f94e1bc3", + "difficulty": "ANOTHER", + "songID": 1052, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19054, + "notecount": 1258, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a09df63574c40ece25131148ed1502f6699244a", + "difficulty": "HYPER", + "songID": 1052, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19054, + "notecount": 617, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1da6ad180e4f02d122acdfd6036026307e82ffc0", + "difficulty": "NORMAL", + "songID": 1052, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19054, + "notecount": 454, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1ddad77a0f90af6230af69a3fdf34da1035fbf7", + "difficulty": "ANOTHER", + "songID": 1053, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19055, + "notecount": 1345, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0a08cc2790211cef34a7576b5d130f3143fd777", + "difficulty": "HYPER", + "songID": 1053, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19055, + "notecount": 707, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a5f6a8f6d9704407e840cdf9f3557ff1cbb3284", + "difficulty": "NORMAL", + "songID": 1053, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19055, + "notecount": 353, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe855b3be8a968cfb1be76dfcd8941172e05d04f", + "difficulty": "ANOTHER", + "songID": 1053, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19055, + "notecount": 1198, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ec1bf9f53e0f40172a13263ab9d27831a47e4b5", + "difficulty": "HYPER", + "songID": 1053, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19055, + "notecount": 679, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "96960916f1226ebd588bb26bf1528b252f6000f5", + "difficulty": "NORMAL", + "songID": 1053, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19055, + "notecount": 320, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83134fb07a4c168fc2cd822c6c21769884779a33", + "difficulty": "ANOTHER", + "songID": 1054, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19056, + "notecount": 1115, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d5bd76fd8c46fb9ca7ab4f0623fa535997e36c6b", + "difficulty": "HYPER", + "songID": 1054, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19056, + "notecount": 866, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "beb560f72845c62eeb019e83397fccfdcad409f3", + "difficulty": "NORMAL", + "songID": 1054, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19056, + "notecount": 512, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed2f7d4170e2f81eeec0612bcaaa300768bc2ab9", + "difficulty": "ANOTHER", + "songID": 1054, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19056, + "notecount": 1111, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "074bd51bbc30fa82ebe182fe9acaeedb8c7ef438", + "difficulty": "BEGINNER", + "songID": 1054, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 19056, + "notecount": 316, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79f2d2893ba5fdcf9d9b4eb9ce6b6d209852105c", + "difficulty": "HYPER", + "songID": 1054, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19056, + "notecount": 826, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ba7eccfbb0b900de790968e93f1d477d70de8a6", + "difficulty": "NORMAL", + "songID": 1054, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19056, + "notecount": 518, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "734882437ad02f4d9c1c6041c8b99a1c26d40041", + "difficulty": "ANOTHER", + "songID": 1055, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19058, + "notecount": 1205, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2e99306f58633352d0e5aade313e3f993845f9e", + "difficulty": "HYPER", + "songID": 1055, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19058, + "notecount": 768, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f654d78b4af0cc4052d91c15064d87c72cfaac6", + "difficulty": "NORMAL", + "songID": 1055, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19058, + "notecount": 381, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "25dd3750a627a47c998c157d7e742ef11fccaa10", + "difficulty": "ANOTHER", + "songID": 1055, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19058, + "notecount": 1187, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "110b33a9b62d44d9792e0b5489e7595414e32464", + "difficulty": "BEGINNER", + "songID": 1055, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 19058, + "notecount": 159, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72a128578707b0e154b4df6ef2b09cb5cdceab5e", + "difficulty": "HYPER", + "songID": 1055, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19058, + "notecount": 709, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d34a0187cb0ef858b5133b3f02968a2c4c301c6", + "difficulty": "NORMAL", + "songID": 1055, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19058, + "notecount": 211, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe8e2b9fa872c748a35c78664f7ee8c973212939", + "difficulty": "ANOTHER", + "songID": 1056, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19059, + "notecount": 1394, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f0a419b4e5fcb8898e88dee81b5a74acf3a07f8", + "difficulty": "HYPER", + "songID": 1056, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19059, + "notecount": 1017, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d5fed6a68d49fd71a67e48b5d7cd3cc23236fb2e", + "difficulty": "NORMAL", + "songID": 1056, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19059, + "notecount": 239, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5e2c9d3b47f45c40678b180cbf622ca2a5456a8d", + "difficulty": "ANOTHER", + "songID": 1056, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19059, + "notecount": 1238, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "83fa7c43089640b59f9ebd14ab76eed341284b26", + "difficulty": "BEGINNER", + "songID": 1056, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 19059, + "notecount": 151, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0df6b93f31bcd20b92728c5ef09449b3238e4bc", + "difficulty": "HYPER", + "songID": 1056, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19059, + "notecount": 691, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9e1f3747d9f839fefd8c8e9b5c5e3b4e2f19d6f", + "difficulty": "NORMAL", + "songID": 1056, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19059, + "notecount": 188, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "07f22a04ce54fc25b0b48d7fbd97ba0caf9db1f5", + "difficulty": "ANOTHER", + "songID": 1057, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19060, + "notecount": 1126, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3b086fd47eaa5653d438de95b1999238e6642d13", + "difficulty": "HYPER", + "songID": 1057, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19060, + "notecount": 738, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae330b363d0c74441f7869fe4d206f89f4c31675", + "difficulty": "NORMAL", + "songID": 1057, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19060, + "notecount": 373, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32eed197264656c099f37c8b7b1bc522b9126075", + "difficulty": "ANOTHER", + "songID": 1057, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19060, + "notecount": 1025, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9de15a3d57fb813133aee02a6ae0d356e269c08", + "difficulty": "BEGINNER", + "songID": 1057, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 19060, + "notecount": 180, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea80afd2554237a6199ee5ae76d829511b8a8ef7", + "difficulty": "HYPER", + "songID": 1057, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19060, + "notecount": 682, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02cd434aa0f1f6efba1c71f39da4dfe56b8c812f", + "difficulty": "NORMAL", + "songID": 1057, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19060, + "notecount": 264, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8887401d0957c951f4fe7e26cf8b154bfebc798d", + "difficulty": "ANOTHER", + "songID": 1058, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19061, + "notecount": 1098, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c33c10a69678d34f97c478a5a616bf5669386e1", + "difficulty": "HYPER", + "songID": 1058, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19061, + "notecount": 775, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4742c46ed0141ad3ae7f643b615533ac53bbf9e", + "difficulty": "NORMAL", + "songID": 1058, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19061, + "notecount": 494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "62c0be997b5408ac6cad8b807fcac1c4f2af1330", + "difficulty": "ANOTHER", + "songID": 1058, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19061, + "notecount": 1069, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf1910e297890d5c03be7b351c68eb942629ac23", + "difficulty": "HYPER", + "songID": 1058, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19061, + "notecount": 775, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "70e7d40a8471dd2fcf79c086c745d60b015790bd", + "difficulty": "NORMAL", + "songID": 1058, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19061, + "notecount": 266, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20", + "inf", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f4be56ca2c8270b2437e21ce4f31154c1b3b2a7", + "difficulty": "ANOTHER", + "songID": 1059, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19062, + "notecount": 1525, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a35f9f346b8fe2c30be19d6b9ffc7744050de5d3", + "difficulty": "HYPER", + "songID": 1059, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19062, + "notecount": 1137, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d824a790672b37056d5ef0822e0dba71a1e5b319", + "difficulty": "NORMAL", + "songID": 1059, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19062, + "notecount": 724, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1df55f75abf8c5510a8b2b9d9ef833601f36d633", + "difficulty": "ANOTHER", + "songID": 1059, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19062, + "notecount": 1044, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e8f485997f16688403876329d1a7569a3921ca3f", + "difficulty": "HYPER", + "songID": 1059, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19062, + "notecount": 786, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6fc79a40a73dc6d2fa5e1df7195e6da5aaca0048", + "difficulty": "NORMAL", + "songID": 1059, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19062, + "notecount": 529, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c298adb4bcaf24e88465492c9ffaa8133c763b41", + "difficulty": "ANOTHER", + "songID": 1060, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19063, + "notecount": 1999, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f604ed17ce295a8f9fc8791e736e7400d66c5ace", + "difficulty": "HYPER", + "songID": 1060, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19063, + "notecount": 1216, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "90d8d1047884a02b467730d6df590d64961a7050", + "difficulty": "LEGGENDARIA", + "songID": 1060, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19063, + "notecount": 1825, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db961360b948437cec1792b08663f7f5f44d63ac", + "difficulty": "NORMAL", + "songID": 1060, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19063, + "notecount": 729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "023b50125ed8493508bb6ea0a16171795040d80f", + "difficulty": "ANOTHER", + "songID": 1060, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19063, + "notecount": 1490, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e96486449ffadfa0f8c08330716a1f4d337c10eb", + "difficulty": "HYPER", + "songID": 1060, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19063, + "notecount": 1216, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af3ff363a530d052002c11ddb71c410feab15ed5", + "difficulty": "LEGGENDARIA", + "songID": 1060, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19063, + "notecount": 1845, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "47f66415879ce2c4655d3fc1237d355fbb0be792", + "difficulty": "NORMAL", + "songID": 1060, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19063, + "notecount": 729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b94c22ae21546e2f5dd19b05578c659f8095851", + "difficulty": "ANOTHER", + "songID": 1061, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19064, + "notecount": 1703, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0ce4b6ed82a5efb717e7448d8598087696b2404", + "difficulty": "HYPER", + "songID": 1061, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19064, + "notecount": 1297, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97d54cfcc6bb8a135135f8b06f5bc5e9d65404bb", + "difficulty": "NORMAL", + "songID": 1061, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19064, + "notecount": 611, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "118c178790ab4bed6c62d0ffa779c9207bd57c5d", + "difficulty": "ANOTHER", + "songID": 1061, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19064, + "notecount": 1624, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "486596f3c5b26f18ef11f04a07e41c22161f04a8", + "difficulty": "HYPER", + "songID": 1061, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19064, + "notecount": 1109, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4e32109a7f107a39e8f49ff7a764286cf0a8bd6", + "difficulty": "NORMAL", + "songID": 1061, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19064, + "notecount": 431, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b0085ffeb03e928b79f114a9bcc430da9f75b6d", + "difficulty": "ANOTHER", + "songID": 1062, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19065, + "notecount": 1254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6fc9c4e668b05d663e1455fa32cedcbfad040293", + "difficulty": "HYPER", + "songID": 1062, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19065, + "notecount": 941, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4ca8e0022c88d5752c766d99f673440ae8dd0bf8", + "difficulty": "NORMAL", + "songID": 1062, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19065, + "notecount": 561, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3532382e64eaa40afb7921aa61c95bbe30fc06f1", + "difficulty": "ANOTHER", + "songID": 1062, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19065, + "notecount": 1395, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "ea9ab739dea7fad704a3f7b7037d5d8bd852e90e", + "difficulty": "HYPER", + "songID": 1062, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19065, + "notecount": 1018, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d19c299ef705fdf091cbc6820bd55c78ed019a72", + "difficulty": "NORMAL", + "songID": 1062, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 19065, + "notecount": 471, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68fb9430191c92c647acb57bf6e514f54932159a", + "difficulty": "ANOTHER", + "songID": 1063, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19066, + "notecount": 1401, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f22b2c8046a99f4f63ad81668cb7394c187691b", + "difficulty": "HYPER", + "songID": 1063, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19066, + "notecount": 932, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80835dea671b6bcdd42047b81980e0582bca6c0a", + "difficulty": "NORMAL", + "songID": 1063, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19066, + "notecount": 440, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cdb41d2353398b04ea381a95f69cbf708983c7ba", + "difficulty": "ANOTHER", + "songID": 1063, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19066, + "notecount": 1083, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8066b65fafe41196e6814241bf65f76ca404bb5d", + "difficulty": "HYPER", + "songID": 1063, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19066, + "notecount": 811, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "124763c64f00bb657e65f37d6e63f61c390ab413", + "difficulty": "NORMAL", + "songID": 1063, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19066, + "notecount": 440, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "21", + "20" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6400fe76b4da866630e75daebc5bdd900f00662e", + "difficulty": "ANOTHER", + "songID": 1064, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19067, + "notecount": 1438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b0841e8a9ed26570f86a81a201a63b29a3ec16a", + "difficulty": "HYPER", + "songID": 1064, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19067, + "notecount": 893, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce775242964ac329fd1f123af1c912bbb5780456", + "difficulty": "NORMAL", + "songID": 1064, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19067, + "notecount": 424, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0516d47044d8f74bdd060e9b6c37e617123a7a84", + "difficulty": "ANOTHER", + "songID": 1064, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19067, + "notecount": 1152, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "190ffeefeba094dd229c2f99ba43806dfeeb53a2", + "difficulty": "HYPER", + "songID": 1064, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19067, + "notecount": 778, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3b7a2cf3592deb66967e0982904ede5d80f03f7", + "difficulty": "NORMAL", + "songID": 1064, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19067, + "notecount": 401, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a6826b1bac0a8becec9649a30099828bd0d14231", + "difficulty": "ANOTHER", + "songID": 1065, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19068, + "notecount": 1916, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae99d1f594b6f4101bbaafb67727e43fcbd0bc58", + "difficulty": "HYPER", + "songID": 1065, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19068, + "notecount": 1020, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "046bd28122412c85e0df1ee032badc2417872434", + "difficulty": "NORMAL", + "songID": 1065, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19068, + "notecount": 498, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef0f73afe33d6116943360fd4fdccea90385cc21", + "difficulty": "ANOTHER", + "songID": 1065, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19068, + "notecount": 1921, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "294d012a4ffc4305c19a91c9721b97f0f57ede9f", + "difficulty": "HYPER", + "songID": 1065, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19068, + "notecount": 990, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3630505d288997bb864f098187f77d078866aadf", + "difficulty": "NORMAL", + "songID": 1065, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19068, + "notecount": 496, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b32cf30b20ce9c9d23fb4f17bda8f171f2d028cb", + "difficulty": "ANOTHER", + "songID": 1066, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19069, + "notecount": 1310, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "831c12ae61d37ce3533bd8edcae27a7f7c68db64", + "difficulty": "HYPER", + "songID": 1066, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19069, + "notecount": 686, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "066da48cd5d91cc32140d4bf0232260303f28c3a", + "difficulty": "NORMAL", + "songID": 1066, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19069, + "notecount": 352, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "88107d20d1df5a6d45fbed8c21079e2a1cc573b1", + "difficulty": "ANOTHER", + "songID": 1066, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19069, + "notecount": 1349, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0e12ba56ce11f7d63f36c2ec2160126622dc0f1b", + "difficulty": "HYPER", + "songID": 1066, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19069, + "notecount": 640, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db3b8c990baeccd32d6e9de81929d263723df3ae", + "difficulty": "NORMAL", + "songID": 1066, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19069, + "notecount": 288, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d5b76e6e3d2210cc0f553473b4105f12d820eca", + "difficulty": "ANOTHER", + "songID": 1067, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19070, + "notecount": 1151, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "868d08a638b71d4c741949a5aabeab077ffc90a5", + "difficulty": "HYPER", + "songID": 1067, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19070, + "notecount": 814, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee4258f7c17d6217cee7075943bf2d6c477e9990", + "difficulty": "NORMAL", + "songID": 1067, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19070, + "notecount": 311, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "935e1e0b8b3b4f927d2bef2d59742535b46ae22e", + "difficulty": "ANOTHER", + "songID": 1067, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19070, + "notecount": 978, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e35b6405fcf935e87fcfa50def7fa0f80efeb726", + "difficulty": "BEGINNER", + "songID": 1067, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 19070, + "notecount": 171, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10170d6049350a8b4fae8387d5add6a4bdfc753f", + "difficulty": "HYPER", + "songID": 1067, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19070, + "notecount": 621, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef68c97c54fecf4fcda300afca0d9f8e339bfe96", + "difficulty": "NORMAL", + "songID": 1067, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19070, + "notecount": 259, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "798d382332e1b976baa06ed9399aa826436f5298", + "difficulty": "ANOTHER", + "songID": 1068, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19071, + "notecount": 1874, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa13f77b723ee007e15bb776f1b049b9cbda65d9", + "difficulty": "HYPER", + "songID": 1068, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19071, + "notecount": 1021, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "105facf4aea314840df288630a05b67fc40fb06b", + "difficulty": "NORMAL", + "songID": 1068, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19071, + "notecount": 340, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad6b33c3f8349b1d8ade19f1ca2a0b6faa13e0c8", + "difficulty": "ANOTHER", + "songID": 1068, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19071, + "notecount": 1745, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0261c38912717678437bfccaf9dc82bc70261e02", + "difficulty": "BEGINNER", + "songID": 1068, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 19071, + "notecount": 145, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e59538c864649a711db8ee31e67092cdd1141c37", + "difficulty": "HYPER", + "songID": 1068, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19071, + "notecount": 1075, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae98c40bc23795a95f40552ce4645ff2c66fc567", + "difficulty": "NORMAL", + "songID": 1068, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19071, + "notecount": 357, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7bdee27f7ec581d539399a35b5bdda02a2776ea0", + "difficulty": "ANOTHER", + "songID": 1069, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19072, + "notecount": 1305, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce1e30e4447a8e2651a3b7659ff86fd46e5a94d2", + "difficulty": "HYPER", + "songID": 1069, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19072, + "notecount": 818, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3aecf4ee4ddfd2ecac8f985b9022d50d0e9c0036", + "difficulty": "NORMAL", + "songID": 1069, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19072, + "notecount": 329, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f99538cd0b9d5396335f164e4e5041e449ef5402", + "difficulty": "ANOTHER", + "songID": 1069, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19072, + "notecount": 1231, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c9800a30504106c706326feea7567160ba67dad6", + "difficulty": "BEGINNER", + "songID": 1069, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 19072, + "notecount": 121, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b64e913a1db5a96ef08e45a01438b2214e70f45", + "difficulty": "HYPER", + "songID": 1069, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 19072, + "notecount": 837, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9f33e11d038c9bb43c80e5ebc6f13272601d9c5", + "difficulty": "NORMAL", + "songID": 1069, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19072, + "notecount": 328, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4030266bd1ca66b7e7f24d69cce9323d0397a0bb", + "difficulty": "ANOTHER", + "songID": 1070, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19073, + "notecount": 1004, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03852182834e9a1fa9e8280c7fc0cc06a90de0e9", + "difficulty": "HYPER", + "songID": 1070, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19073, + "notecount": 662, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "838cc859f88a769bfc25d9fd49b00edfc3416dd2", + "difficulty": "NORMAL", + "songID": 1070, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19073, + "notecount": 293, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74c01bef355d06283cc2060f0e135a1f213ba14e", + "difficulty": "ANOTHER", + "songID": 1070, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19073, + "notecount": 1137, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "797d205f3ba57f5b7a95d9c94c0ade68012a16f6", + "difficulty": "BEGINNER", + "songID": 1070, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 19073, + "notecount": 140, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce3645d429b6eb6776f39fc9e6a805cd89b475ea", + "difficulty": "HYPER", + "songID": 1070, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 19073, + "notecount": 706, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "64ab09f4990db917bc8ab5b5bc0e4070e1273233", + "difficulty": "NORMAL", + "songID": 1070, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 19073, + "notecount": 294, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "024875bd1fb3b1d29ab077bb963ce8fbb37ef562", + "difficulty": "ANOTHER", + "songID": 1071, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19074, + "notecount": 1265, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d6256da3cbaba17be45f23bce24b1cdaef44394", + "difficulty": "HYPER", + "songID": 1071, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19074, + "notecount": 798, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce6fd1093bf55692ee30d1635dbed4b25d8b4f16", + "difficulty": "LEGGENDARIA", + "songID": 1071, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19074, + "notecount": 1384, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51603c1f90a1c49ce1b960917d3600dbcc0c4f43", + "difficulty": "NORMAL", + "songID": 1071, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19074, + "notecount": 319, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50fcfa69a82a18c1cc72b7150b084d8a880a5595", + "difficulty": "ANOTHER", + "songID": 1071, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 19074, + "notecount": 1275, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6dac6a3ddb3ceec1f6c495d27143a77f6c5c838a", + "difficulty": "BEGINNER", + "songID": 1071, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 19074, + "notecount": 164, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c3d887b6181a264e36a63b1414f8de75815b61e", + "difficulty": "HYPER", + "songID": 1071, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 19074, + "notecount": 802, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ead53d880162aff2a9005f9cab6baba8a7fcc5d6", + "difficulty": "LEGGENDARIA", + "songID": 1071, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19074, + "notecount": 1377, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": true + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.40", + "value": 13.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a9658dc22c235ed01ca7122f73eed91646cca709", + "difficulty": "NORMAL", + "songID": 1071, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 19074, + "notecount": 318, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ab373195e2e4d10b185c95b8ebdf46e7c6e25e6", + "difficulty": "ANOTHER", + "songID": 1072, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19075, + "notecount": 1535, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10d7846a7407f833ffd448ef42f32bb5dd5de808", + "difficulty": "HYPER", + "songID": 1072, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19075, + "notecount": 1004, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "231b2cdc5f23383a99f60929b78d8d366ddca5ea", + "difficulty": "NORMAL", + "songID": 1072, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19075, + "notecount": 458, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b0a587771ee70a2c9d78c359ceee869557554fad", + "difficulty": "ANOTHER", + "songID": 1072, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 19075, + "notecount": 1589, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "30d1913bae3e03c453fc189400bb32f927438257", + "difficulty": "HYPER", + "songID": 1072, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 19075, + "notecount": 1000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a653a019864f457680386f90889bb8b2800ba67a", + "difficulty": "NORMAL", + "songID": 1072, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 19075, + "notecount": 440, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87dfd177a81758124cea0e45bfee14089137479b", + "difficulty": "ANOTHER", + "songID": 1074, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20000, + "notecount": 1439, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ed1677cd5b12c43cfe855f72f8eb743a7a4d97b", + "difficulty": "HYPER", + "songID": 1074, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20000, + "notecount": 862, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d17377ac01ef9db3675fff2b0b7b6593e82d03ad", + "difficulty": "NORMAL", + "songID": 1074, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20000, + "notecount": 398, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "021c82263bca024015cff087f8adcbb66aa17b01", + "difficulty": "ANOTHER", + "songID": 1074, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20000, + "notecount": 1279, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f334de8c97c03a3af73b574522946b2d69ab4fe", + "difficulty": "HYPER", + "songID": 1074, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20000, + "notecount": 854, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13a932c01853c9c7a52f29010656441abb13939e", + "difficulty": "NORMAL", + "songID": 1074, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20000, + "notecount": 360, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85701225cc406be672a3ae5f4c3ced52a32a1011", + "difficulty": "ANOTHER", + "songID": 1075, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20001, + "notecount": 1713, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "907a937f6af061742d80a98060a839afa7555b5f", + "difficulty": "HYPER", + "songID": 1075, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20001, + "notecount": 1293, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d375ee83ddbf47e38fe7b4354d3db087c33a6d15", + "difficulty": "NORMAL", + "songID": 1075, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20001, + "notecount": 883, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "748fbd9f7d982d2690ca601ae5a5df348223266c", + "difficulty": "ANOTHER", + "songID": 1075, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20001, + "notecount": 1512, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ce3bea917da82a3fa6ea0254c4617a912e7245d", + "difficulty": "HYPER", + "songID": 1075, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20001, + "notecount": 1033, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52f9a8f1948a4c7bffbea6e1ec5ff3bad19bf97b", + "difficulty": "NORMAL", + "songID": 1075, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20001, + "notecount": 648, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9bbb2bc44a4a49d1950085aa9f8cb7d259e7995", + "difficulty": "ANOTHER", + "songID": 1076, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20002, + "notecount": 1744, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "321f042fa6550978bdb38500d812b0947602b397", + "difficulty": "HYPER", + "songID": 1076, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20002, + "notecount": 1290, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "56be22a29a3f23f435b2899b4039e20224b9ef08", + "difficulty": "NORMAL", + "songID": 1076, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20002, + "notecount": 738, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c42ab3de2547ab506a6e8bdd74c71b3f312fbc40", + "difficulty": "ANOTHER", + "songID": 1076, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20002, + "notecount": 1905, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "8dc3803c8bbdf81502799f7bcc35ee5f72934815", + "difficulty": "HYPER", + "songID": 1076, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20002, + "notecount": 1203, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13602f8013f60dcd4a0729bd4814b437c8224a60", + "difficulty": "NORMAL", + "songID": 1076, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20002, + "notecount": 760, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35936d3f3ca26fb21e52262609e754fb61c4f52b", + "difficulty": "ANOTHER", + "songID": 1077, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20003, + "notecount": 1577, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4b7524aad3f6200d34bf9148cd3f63eb46c8d09", + "difficulty": "HYPER", + "songID": 1077, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20003, + "notecount": 1096, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "c4361c5e093b797ef1d62ec2305ebfe4598c819f", + "difficulty": "LEGGENDARIA", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 1077, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 20003, + "arcChartID": null, + "notecount": 1815, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "a386d792c86ce6766916693ab58cb34896694c2a", + "difficulty": "NORMAL", + "songID": 1077, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20003, + "notecount": 551, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "99a2ba1a12477c2adfc667fa9a7df5d20ea84a16", + "difficulty": "ANOTHER", + "songID": 1077, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20003, + "notecount": 1600, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.50", + "value": 12.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "48247dce774f1297bf5db88bfc9080c41f587e74", + "difficulty": "HYPER", + "songID": 1077, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20003, + "notecount": 1075, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "c55c53b35dab2075d983ca3e717a66a2bc88c10e", + "difficulty": "LEGGENDARIA", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 1077, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 20003, + "arcChartID": null, + "notecount": 1852, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "873398fe6f1f8f4f7597f9d89bf1b4ea631e00f6", + "difficulty": "NORMAL", + "songID": 1077, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20003, + "notecount": 584, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bc4c1c6ef4ccc6958597da30967dc3e7295c0a5a", + "difficulty": "ANOTHER", + "songID": 1078, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20004, + "notecount": 1894, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "77c3e411c313ba0953ba3e1c922c8e4150ef3aa4", + "difficulty": "HYPER", + "songID": 1078, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20004, + "notecount": 1316, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eeef6a1853d7040e752c2a35c28266d7925a17f0", + "difficulty": "NORMAL", + "songID": 1078, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20004, + "notecount": 656, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "936597991facf3c802c3a96dc930e69c2fdd5a45", + "difficulty": "ANOTHER", + "songID": 1078, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20004, + "notecount": 1860, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7567206d4d709e79cc60870a8c1d3197069373ae", + "difficulty": "HYPER", + "songID": 1078, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20004, + "notecount": 1269, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a13e0021acd5e2afbc4d189c50c45cfe1ec7b25d", + "difficulty": "NORMAL", + "songID": 1078, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20004, + "notecount": 621, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c3ab7b310b46c5294a524dd8fe69f9ec7c142e9e", + "difficulty": "ANOTHER", + "songID": 1079, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20005, + "notecount": 1311, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d4b67f37a7402451c6b1d1920164437075ea03a4", + "difficulty": "HYPER", + "songID": 1079, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20005, + "notecount": 843, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e7ffe3403e68ee88d94bc5b86df214cbd0fbd4a", + "difficulty": "NORMAL", + "songID": 1079, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20005, + "notecount": 442, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2ed02a182055bf9d46258e2bcc7386b5f92e2ed", + "difficulty": "ANOTHER", + "songID": 1079, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20005, + "notecount": 1328, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "301fc8cd7bd4e83984cba2c3460f7cca44cc7ba3", + "difficulty": "HYPER", + "songID": 1079, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20005, + "notecount": 761, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97a5d4baec37c2b9d08732e0f2064fca9fd6228a", + "difficulty": "NORMAL", + "songID": 1079, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20005, + "notecount": 440, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a5ee5ba96a4b9461ff814422f2cf4502745168f", + "difficulty": "ANOTHER", + "songID": 1080, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20006, + "notecount": 1709, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32744cde1d43b940a1fd83e8d9e660d592ac598c", + "difficulty": "HYPER", + "songID": 1080, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20006, + "notecount": 1138, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad7693f51ec99045334cc244a9093c5bd834c0d0", + "difficulty": "NORMAL", + "songID": 1080, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20006, + "notecount": 579, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "38308bedd705584246dd5e0981130ca4cc59ba31", + "difficulty": "ANOTHER", + "songID": 1080, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20006, + "notecount": 1932, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "bb9f253b87521f27d80b6d15692a9516c3d3a42e", + "difficulty": "HYPER", + "songID": 1080, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20006, + "notecount": 1057, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d235b6ebdd226a593a85b3d5524e02136efab3a5", + "difficulty": "NORMAL", + "songID": 1080, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20006, + "notecount": 586, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0985aaa8c9e8f40ddf04eaaa6917358639e8c626", + "difficulty": "ANOTHER", + "songID": 1082, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20054, + "notecount": 1735, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8d11e2e39a1ea4ecdea31d91bf76a0434ddf463f", + "difficulty": "HYPER", + "songID": 1082, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20054, + "notecount": 1056, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5eaf81bac338dc5abef8385d48c98c8f8a35e573", + "difficulty": "NORMAL", + "songID": 1082, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20054, + "notecount": 543, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b50c92a018da286f49f007d08d394721b7fb8325", + "difficulty": "ANOTHER", + "songID": 1082, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20054, + "notecount": 1838, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7371b7b26b6c7c889b098bcca8fdde4b85ac7988", + "difficulty": "HYPER", + "songID": 1082, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20054, + "notecount": 1032, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "162d48831fafe2665023d6011bd8f55a516012cc", + "difficulty": "NORMAL", + "songID": 1082, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20054, + "notecount": 529, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "36d314cfa7e48d5cd5326c83c233b18322e966cd", + "difficulty": "ANOTHER", + "songID": 1083, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20055, + "notecount": 1477, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4ed5751826e8c51e9243cd761435ba33dafb84fe", + "difficulty": "HYPER", + "songID": 1083, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20055, + "notecount": 701, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "65186f082230d8c124facc81a9137ab5a49082dd", + "difficulty": "NORMAL", + "songID": 1083, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20055, + "notecount": 343, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3edab779b8eee2130cd1ecd9f21f92679f7c602", + "difficulty": "ANOTHER", + "songID": 1083, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20055, + "notecount": 1271, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": true + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f056d7a56e66f45728e6c08be662431bcff0a785", + "difficulty": "HYPER", + "songID": 1083, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20055, + "notecount": 737, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0840c48fbf9cb33ca59531aa32244626cb41fd0c", + "difficulty": "NORMAL", + "songID": 1083, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20055, + "notecount": 331, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf6e5d965b78beca6ccb1e38c81af13470803aaf", + "difficulty": "ANOTHER", + "songID": 1084, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20057, + "notecount": 1203, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b54dbfc34c76e42aacfc878cdef5bf7bac744c2e", + "difficulty": "HYPER", + "songID": 1084, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20057, + "notecount": 1069, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04d72a5226096f01f89fdaf7b1dc10dde3fd9e44", + "difficulty": "NORMAL", + "songID": 1084, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20057, + "notecount": 605, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "305390cacee40d1c759c926d65423b98d76c578c", + "difficulty": "ANOTHER", + "songID": 1084, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20057, + "notecount": 944, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "77b3a9d9b177229e2525267cb36521bd2bc87b5d", + "difficulty": "HYPER", + "songID": 1084, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20057, + "notecount": 700, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c0f0e99a85153163bbf3e83ff950a9bb18d00dea", + "difficulty": "NORMAL", + "songID": 1084, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20057, + "notecount": 435, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "917e7001ea2f2d0f2f660a14db245057fe44ddc9", + "difficulty": "ANOTHER", + "songID": 1085, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20058, + "notecount": 1775, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5fc12709035122251a6b6b3f2cef43e11b566982", + "difficulty": "HYPER", + "songID": 1085, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20058, + "notecount": 1244, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a3feb4dc38265a353bcde8cabef00ec03639aaeb", + "difficulty": "NORMAL", + "songID": 1085, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20058, + "notecount": 579, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e3d14be55de62a0a93f9c9f57d9aa6919d53730", + "difficulty": "ANOTHER", + "songID": 1085, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20058, + "notecount": 1898, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.60", + "value": 12.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f2f200b388ae426189a821378009bfe809a7f7d0", + "difficulty": "HYPER", + "songID": 1085, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20058, + "notecount": 1291, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d35298ad2637c098c1e11ddb1d6217e6067e57d7", + "difficulty": "NORMAL", + "songID": 1085, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20058, + "notecount": 551, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0831b77e84543638481f54414b4ecf99f0f07e8c", + "difficulty": "ANOTHER", + "songID": 1086, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20059, + "notecount": 1491, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f8b668067547c7832e46d12fe45114e0dc86db2", + "difficulty": "HYPER", + "songID": 1086, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20059, + "notecount": 910, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "545370ef9fb3af7404b4751814ca9bf99e91e61d", + "difficulty": "NORMAL", + "songID": 1086, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20059, + "notecount": 522, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51eb26b43e7be8bef02e481985404aefba4ac440", + "difficulty": "ANOTHER", + "songID": 1086, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20059, + "notecount": 1487, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "43f49cf62fbc25fd6f1d91196757d57daf74dc5f", + "difficulty": "HYPER", + "songID": 1086, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20059, + "notecount": 817, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22dfb1e1a270309e8584d649346f2674442f9896", + "difficulty": "NORMAL", + "songID": 1086, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20059, + "notecount": 490, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c88b9ca7d39a6d10cd06cb29d238341bb5788ae8", + "difficulty": "ANOTHER", + "songID": 1087, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20060, + "notecount": 915, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e6dc48444cdbcd60f55b3c084218033c62e1071f", + "difficulty": "HYPER", + "songID": 1087, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20060, + "notecount": 672, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a876436782cbe9fba344421ec6c2cb8e749a9e5", + "difficulty": "NORMAL", + "songID": 1087, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20060, + "notecount": 370, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe2a850983b2f23ff3a3233b2a0bb1a3304b4110", + "difficulty": "ANOTHER", + "songID": 1087, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20060, + "notecount": 917, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a5d0c60120e82e1ac2916e598048de326d8f9448", + "difficulty": "HYPER", + "songID": 1087, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20060, + "notecount": 649, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "643a784b0112b855511aeeeee469a94e96d0e669", + "difficulty": "NORMAL", + "songID": 1087, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 20060, + "notecount": 242, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c122fc1992a1f661ae5b701d1e72acf5c707dee", + "difficulty": "ANOTHER", + "songID": 1088, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20061, + "notecount": 1059, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "69361c69028167c8d222f19c896b9781ece414e6", + "difficulty": "HYPER", + "songID": 1088, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20061, + "notecount": 588, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94c4e88cc56c850d6f3248b7c4edf13845343663", + "difficulty": "NORMAL", + "songID": 1088, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20061, + "notecount": 357, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "88fd2ed5d98f5bba2d7face2b78a54d9661c4db5", + "difficulty": "ANOTHER", + "songID": 1088, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20061, + "notecount": 984, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24d930fe8d8777d33573d26a4764afd0dd480aae", + "difficulty": "HYPER", + "songID": 1088, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20061, + "notecount": 661, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1207674f66830ab4ec7989a1fff8eb116a6c8971", + "difficulty": "NORMAL", + "songID": 1088, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20061, + "notecount": 329, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "92fd238020bec8030f3035f1c96d9ac58313dd58", + "difficulty": "ANOTHER", + "songID": 1089, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20062, + "notecount": 1496, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c72f3105053a4966d8e72a97b33a71aeeca88d1", + "difficulty": "HYPER", + "songID": 1089, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20062, + "notecount": 936, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e032cff921471635124cdab15128c24a9d617a0c", + "difficulty": "NORMAL", + "songID": 1089, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20062, + "notecount": 494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5989ecf91529797d03a11b7daa4716307aec9bd4", + "difficulty": "ANOTHER", + "songID": 1089, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20062, + "notecount": 1416, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": true + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "9d620d7cdb3827f6b1fae6491ff31f99938d2df5", + "difficulty": "HYPER", + "songID": 1089, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20062, + "notecount": 867, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1220293277568b2a1b3d30c46cca5e30d0b928ec", + "difficulty": "NORMAL", + "songID": 1089, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20062, + "notecount": 415, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "20d32bca73bfd660baab32193914d3b313481f85", + "difficulty": "ANOTHER", + "songID": 1090, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20063, + "notecount": 1614, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6e35c8c7ca1bff69d6c6c1d9d601d9c2dd1057d4", + "difficulty": "HYPER", + "songID": 1090, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20063, + "notecount": 1017, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "863ed95530bf6c78d3e77ef995c3f0acd697d23d", + "difficulty": "NORMAL", + "songID": 1090, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20063, + "notecount": 361, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab1cfdefd531baa90b458a81bf76f24e2b666cd2", + "difficulty": "ANOTHER", + "songID": 1090, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20063, + "notecount": 1685, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1af6993dbcb5b1dfa7719273104789f392473e0f", + "difficulty": "BEGINNER", + "songID": 1090, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 20063, + "notecount": 148, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8facd8867f5b75273173b788c47ef2ed542052c1", + "difficulty": "HYPER", + "songID": 1090, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20063, + "notecount": 1134, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "37614efa7b3fc9a7e17aa94c5c271d520f5f0f52", + "difficulty": "NORMAL", + "songID": 1090, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 20063, + "notecount": 332, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30331a9b41f9d8502c52fee0031fa459c72047ce", + "difficulty": "ANOTHER", + "songID": 1091, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20064, + "notecount": 1479, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "476edfc621d63e2ce2170d1895da22faf480b8e7", + "difficulty": "HYPER", + "songID": 1091, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20064, + "notecount": 818, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "751f586e3261cf598f5da9b4bb51324c2e75089a", + "difficulty": "NORMAL", + "songID": 1091, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20064, + "notecount": 534, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3b477dc4e11644907e235e174f38aa2a0eb75094", + "difficulty": "ANOTHER", + "songID": 1091, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20064, + "notecount": 1405, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2695bcf315cc1a2853aeb34330ad6124041400cf", + "difficulty": "HYPER", + "songID": 1091, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20064, + "notecount": 876, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9f465709fadebaf9102ed02446ab6a768c1446e", + "difficulty": "NORMAL", + "songID": 1091, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20064, + "notecount": 474, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9efc10b2d1bf33108104f926cd9efcd5ad92554e", + "difficulty": "ANOTHER", + "songID": 1092, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20065, + "notecount": 1296, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9c93c3c000fb7a0260172d0ef9e596815c84bc48", + "difficulty": "HYPER", + "songID": 1092, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20065, + "notecount": 726, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "afd4bbcb61a02ec31950de8570f444afe38f19df", + "difficulty": "NORMAL", + "songID": 1092, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20065, + "notecount": 568, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0fde150c246cfda1d83753a41cc437793ebd860f", + "difficulty": "ANOTHER", + "songID": 1092, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20065, + "notecount": 976, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "18e8111348312a2e2767dc7efb60f1f3df510ba5", + "difficulty": "BEGINNER", + "songID": 1092, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 20065, + "notecount": 202, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eb3e87ff32848e50ee06ba461b0266368f885b05", + "difficulty": "HYPER", + "songID": 1092, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20065, + "notecount": 811, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad6fc89c1c4a1ef59ec63a3ad52a4ee0e385e404", + "difficulty": "NORMAL", + "songID": 1092, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20065, + "notecount": 632, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af8f239ee28fad965522f438aacfbb2a63538d1e", + "difficulty": "ANOTHER", + "songID": 1093, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20066, + "notecount": 1121, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dbffc8bddadb30bcf1ec355e763016a8d201f1f2", + "difficulty": "HYPER", + "songID": 1093, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20066, + "notecount": 967, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f15e34bd4330549f913ce6f1aca58d180944355a", + "difficulty": "NORMAL", + "songID": 1093, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20066, + "notecount": 346, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9a943a27caae24977a5e243c28d32db6f533655", + "difficulty": "ANOTHER", + "songID": 1093, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20066, + "notecount": 1127, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41254da5057aad9fa73580c204edce1bb4b8486d", + "difficulty": "HYPER", + "songID": 1093, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20066, + "notecount": 815, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "86401631336c2243ebe64a804e8692343c42f1c8", + "difficulty": "NORMAL", + "songID": 1093, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20066, + "notecount": 333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cfb0e5214c67d905e6210f6a403f1325f60d8148", + "difficulty": "ANOTHER", + "songID": 1094, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20067, + "notecount": 1571, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c5fd7d7348121d675cf73d5680e44eb230ad4ee", + "difficulty": "HYPER", + "songID": 1094, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20067, + "notecount": 1180, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "36aceb8b778c3f87ac9e4b810241371818248eeb", + "difficulty": "NORMAL", + "songID": 1094, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20067, + "notecount": 522, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c7805fb485db5d41a073698cbadf4090e80e938", + "difficulty": "ANOTHER", + "songID": 1094, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20067, + "notecount": 1665, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "34511323adcfb2b5021c2007b37b748a3fadcdec", + "difficulty": "HYPER", + "songID": 1094, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20067, + "notecount": 1161, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "493d8630f99f15fbfb2ccd506a6d5fd2a4e12381", + "difficulty": "NORMAL", + "songID": 1094, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20067, + "notecount": 546, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c642b04e968a4c0c7f1a613ef91224d73316d68", + "difficulty": "ANOTHER", + "songID": 1095, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20068, + "notecount": 1416, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb6d4c9052fbb7f09a5ad5f0d313a039c03a075a", + "difficulty": "HYPER", + "songID": 1095, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20068, + "notecount": 699, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6cf7872a4ecfe9bc127b8a6044a612cabc8509b3", + "difficulty": "LEGGENDARIA", + "songID": 1095, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20068, + "notecount": 1644, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9bb50aa71b1a865ee149190edf7749710b7f1ba1", + "difficulty": "NORMAL", + "songID": 1095, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 20068, + "notecount": 300, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3685def4766ce5aa14ef7bb9b86126c0fa3fdcd", + "difficulty": "ANOTHER", + "songID": 1095, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20068, + "notecount": 1069, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4ba487106557a3608ed5de0ee41eaad5cdb9e0f", + "difficulty": "HYPER", + "songID": 1095, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20068, + "notecount": 720, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1bf7328941596d4100b59a053f769a25fb567e4", + "difficulty": "LEGGENDARIA", + "songID": 1095, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20068, + "notecount": 1409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9d74fa5f4ced82a8e2589b91b849e9eb13e0e5c", + "difficulty": "NORMAL", + "songID": 1095, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 20068, + "notecount": 295, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b37d2c0dbd09f81648c7eec1298ff64bcc42e909", + "difficulty": "ANOTHER", + "songID": 1096, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20069, + "notecount": 1367, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce8f50083baa76165d0f3b82133230a4bd2a7f99", + "difficulty": "HYPER", + "songID": 1096, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20069, + "notecount": 878, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9e7e91fa08d419fe15f8e0246f2168a8a86fee62", + "difficulty": "NORMAL", + "songID": 1096, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20069, + "notecount": 446, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "651ee2012984e80e638cd9e929960974f3a5dc21", + "difficulty": "ANOTHER", + "songID": 1096, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20069, + "notecount": 1142, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e2cf0f47ccd07f6337531e79dd76c94077731110", + "difficulty": "HYPER", + "songID": 1096, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20069, + "notecount": 814, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a32c86b211caf4f393ddc89af56fc642046be29e", + "difficulty": "NORMAL", + "songID": 1096, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20069, + "notecount": 460, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "46c3a233ed2e6a2ef7700041a02eab74fc6d35d2", + "difficulty": "ANOTHER", + "songID": 1097, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20070, + "notecount": 1018, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73d5755afb52070953edd439763e656417e27a99", + "difficulty": "HYPER", + "songID": 1097, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20070, + "notecount": 644, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "295bd744ff6c06aa53e440d2d3052aec4d0fd489", + "difficulty": "NORMAL", + "songID": 1097, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20070, + "notecount": 318, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "257c5aec38adc7fbca4556247474f75127c0b819", + "difficulty": "ANOTHER", + "songID": 1097, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20070, + "notecount": 1075, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6b1855f9a5ae72c8217b1217966216704e3dd5ea", + "difficulty": "HYPER", + "songID": 1097, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20070, + "notecount": 685, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a65973501e56ea09a87b4b3f58ae7349b80f94a3", + "difficulty": "NORMAL", + "songID": 1097, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20070, + "notecount": 295, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "915ebe157ad6b557ebf65ad8c87027e9c6b14267", + "difficulty": "ANOTHER", + "songID": 1098, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20071, + "notecount": 1810, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e961c513085f2602a3aea143eead13317e4ee3c", + "difficulty": "HYPER", + "songID": 1098, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20071, + "notecount": 1317, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "095ec5f12d73cd40bb81888b02894498da10af6f", + "difficulty": "NORMAL", + "songID": 1098, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20071, + "notecount": 598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1651839b280d8ae9bab0accdc370d8a007b3b19f", + "difficulty": "ANOTHER", + "songID": 1098, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20071, + "notecount": 1918, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1b0610afe3d5bcc4a1974d0ab5e8771ec2e1136c", + "difficulty": "BEGINNER", + "songID": 1098, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 20071, + "notecount": 134, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e419b1aa85689612a7755035d2dd2cbdd5903662", + "difficulty": "HYPER", + "songID": 1098, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20071, + "notecount": 1300, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1784689d7cc4008f86e7b3eef928612c06fd63e9", + "difficulty": "NORMAL", + "songID": 1098, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20071, + "notecount": 595, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cdbf2342afa00ba14edb82ecfdbced7e54d8341f", + "difficulty": "ANOTHER", + "songID": 1099, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20072, + "notecount": 1461, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aed2c922fb63c9566c58e5991c7bb466a6a5e786", + "difficulty": "HYPER", + "songID": 1099, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20072, + "notecount": 948, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2470d194e4c4a02014286c0ae5af68220d85b530", + "difficulty": "NORMAL", + "songID": 1099, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20072, + "notecount": 533, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "706cac4566d295a2d2b3ad7aae7c1a581a44d90e", + "difficulty": "ANOTHER", + "songID": 1099, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20072, + "notecount": 1539, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1a5406ccf15a24d00a98b9a8032b935f107db3c7", + "difficulty": "BEGINNER", + "songID": 1099, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 20072, + "notecount": 136, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf0b9f42b490e75e9a7f9fbe2eac021cfe884116", + "difficulty": "HYPER", + "songID": 1099, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20072, + "notecount": 1001, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c1d6867edf50f79c1559d961bd3d4b6277c9171", + "difficulty": "NORMAL", + "songID": 1099, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20072, + "notecount": 503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3980f407a880ef963fd507c2fbdcde5c72975c4d", + "difficulty": "ANOTHER", + "songID": 1100, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20073, + "notecount": 1378, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "46830a7e8e2bbafc2e9e82b815fec003b546e917", + "difficulty": "HYPER", + "songID": 1100, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20073, + "notecount": 1022, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4ee18986b69fa445550dffb62490dd6c52a81df3", + "difficulty": "NORMAL", + "songID": 1100, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20073, + "notecount": 579, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "be40c1b3e4451f34872ce6b260ad2f3943027084", + "difficulty": "ANOTHER", + "songID": 1100, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20073, + "notecount": 1392, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": true + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1fcc8abffe0701e67a0c38f84dd0ad5771218299", + "difficulty": "HYPER", + "songID": 1100, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20073, + "notecount": 1039, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "71197ef58103c2c350dc125a23011bdfb8f1d47f", + "difficulty": "NORMAL", + "songID": 1100, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20073, + "notecount": 567, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f39b0c4c0db791420f7c7ceafcc9ce26f736b95", + "difficulty": "ANOTHER", + "songID": 1101, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20074, + "notecount": 1999, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6926a7b0fdaa681e511137440b15a5f657680926", + "difficulty": "HYPER", + "songID": 1101, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20074, + "notecount": 999, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a45e9bf48a9f975eb5c236532abb3ac4e3c318b9", + "difficulty": "NORMAL", + "songID": 1101, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20074, + "notecount": 521, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4075487577e8fc25e32aff70f9c0c61fcfbf4db1", + "difficulty": "ANOTHER", + "songID": 1101, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20074, + "notecount": 1999, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d82fbd903ee1e18c6a472e18d6216b0f3ae062d1", + "difficulty": "BEGINNER", + "songID": 1101, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 20074, + "notecount": 99, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0dae335d0101e11dd520228989f11b92543becc", + "difficulty": "HYPER", + "songID": 1101, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20074, + "notecount": 1099, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d6826053cc094d85af4f85de4a05d2215d7bfd3a", + "difficulty": "NORMAL", + "songID": 1101, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20074, + "notecount": 504, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2cd4d9da6e09cdc45e690ac9a0af984bb856af88", + "difficulty": "ANOTHER", + "songID": 1102, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20075, + "notecount": 1062, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "099f0eb6d3ec07e84af85916cd634183017f27ff", + "difficulty": "HYPER", + "songID": 1102, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20075, + "notecount": 667, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "75cbb9c3f17ad5f6115988d01106b5a656b4e809", + "difficulty": "NORMAL", + "songID": 1102, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20075, + "notecount": 367, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd49eef52680737c3fc277971a51863f0ed9b6e9", + "difficulty": "ANOTHER", + "songID": 1102, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20075, + "notecount": 963, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dab6f779903b1ea2e7e72f3f8b847f1d3a360f21", + "difficulty": "HYPER", + "songID": 1102, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20075, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6a913b5c3ae005626d00d5d59ab1785fa0ba85f8", + "difficulty": "NORMAL", + "songID": 1102, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 20075, + "notecount": 295, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e74cfc42c7063331117234bee9286f4dc66c4b0a", + "difficulty": "ANOTHER", + "songID": 1103, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20082, + "notecount": 1497, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ee899b0066cde86205cc9744d11fa3c7d1543e4", + "difficulty": "HYPER", + "songID": 1103, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20082, + "notecount": 1138, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f4333bfd261c7c6c0df71eb1336cb56ad4a6a4a7", + "difficulty": "NORMAL", + "songID": 1103, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20082, + "notecount": 726, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e28c1f84c1a264cefc6f09814f78fe512e8a8347", + "difficulty": "ANOTHER", + "songID": 1103, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20082, + "notecount": 1324, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a92373f1e54ac08aca21456d470d1b8244495f72", + "difficulty": "HYPER", + "songID": 1103, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20082, + "notecount": 983, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "243b6c4fbc179da664c5fb541b13e7c3684b8da1", + "difficulty": "NORMAL", + "songID": 1103, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20082, + "notecount": 467, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6fdfa400c3dae997af9d44fa5a6df78204643e0c", + "difficulty": "ANOTHER", + "songID": 1104, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20007, + "notecount": 2120, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc84e3e5882592dc8e6542a29e59e0d7534df166", + "difficulty": "HYPER", + "songID": 1104, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20007, + "notecount": 1388, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "380689237a9d901afbe8f3247ec752b9dbbfa05c", + "difficulty": "NORMAL", + "songID": 1104, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20007, + "notecount": 795, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ace25bfc83621c630d12a3db6b198ddf2ce5d5f9", + "difficulty": "ANOTHER", + "songID": 1104, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20007, + "notecount": 1988, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "37535c4a98d7b6aa95d381aeb1a6c28603a12ff3", + "difficulty": "HYPER", + "songID": 1104, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20007, + "notecount": 1359, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21e062d92662d0ce076c15f6ce8e3a77ea710270", + "difficulty": "NORMAL", + "songID": 1104, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20007, + "notecount": 751, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "25f928be4b62d8ed183a24fbb7358f380c169d76", + "difficulty": "ANOTHER", + "songID": 1105, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20008, + "notecount": 1938, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca952b759e59dc87181efc1f12045b8fe4c680b3", + "difficulty": "HYPER", + "songID": 1105, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20008, + "notecount": 1097, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "548d3402a5879e171e99a171e8877c8051e5009d", + "difficulty": "NORMAL", + "songID": 1105, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20008, + "notecount": 509, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "713e46d3ad16de79d7eb0ac0ea56e070b20cb4ce", + "difficulty": "ANOTHER", + "songID": 1105, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20008, + "notecount": 1833, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0c829da0b6ac7eeff7204e9fad21f2ec7cf093d4", + "difficulty": "HYPER", + "songID": 1105, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20008, + "notecount": 1097, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b65f0c356eae150eafe6648363a7ce2358bfd879", + "difficulty": "NORMAL", + "songID": 1105, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20008, + "notecount": 484, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0ee20faea8fded8e26f3a93466193692f69b17a", + "difficulty": "ANOTHER", + "songID": 1106, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20009, + "notecount": 1014, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35bb4271451758bed865f6317d75493cb466e2a6", + "difficulty": "HYPER", + "songID": 1106, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20009, + "notecount": 722, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1acd05cf14b216c0a3da7c0a63b3490478193da9", + "difficulty": "NORMAL", + "songID": 1106, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20009, + "notecount": 352, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e77c84722f06848162217c3ce58874bc2adfd1b5", + "difficulty": "ANOTHER", + "songID": 1106, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20009, + "notecount": 1068, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "81e8d7c8459170cdb36df8d04b9bd9282d04f30d", + "difficulty": "HYPER", + "songID": 1106, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20009, + "notecount": 663, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ea2cbd063769ad1d04c2c1934aa28784aed8b40", + "difficulty": "NORMAL", + "songID": 1106, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20009, + "notecount": 370, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3309b34ae838a599c425bcdc7fc027d515350b80", + "difficulty": "ANOTHER", + "songID": 1107, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20011, + "notecount": 787, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3206f82d00482ffc26e472748fa01273a5f2801e", + "difficulty": "HYPER", + "songID": 1107, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20011, + "notecount": 569, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22e32e5082513465b8a87ec07dcdc2d4ecad937a", + "difficulty": "NORMAL", + "songID": 1107, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 20011, + "notecount": 206, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d6b514f0075bbc8d750e420ddfdf112beac5cc3", + "difficulty": "ANOTHER", + "songID": 1107, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20011, + "notecount": 805, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f5db998c2229ebb746b6bea276b30cf35e67209", + "difficulty": "BEGINNER", + "songID": 1107, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 20011, + "notecount": 113, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80b79c1944930ea7c35a34930de20e12b6ecf1b3", + "difficulty": "HYPER", + "songID": 1107, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20011, + "notecount": 564, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f088cd1be9741966e5b25b6433b897fbc82fb967", + "difficulty": "NORMAL", + "songID": 1107, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 20011, + "notecount": 203, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "184e6788ad2e9b27d5b1e8ec5082fe70a230a2e6", + "difficulty": "ANOTHER", + "songID": 1108, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20012, + "notecount": 1524, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a32ed8d65734c76ee9c2e014ef0954870ebd0470", + "difficulty": "HYPER", + "songID": 1108, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20012, + "notecount": 1104, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7febe915acad3e8964fabf3b948305eb9c07b469", + "difficulty": "NORMAL", + "songID": 1108, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20012, + "notecount": 595, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2eb0341f22ec44b82a9b956c1c8eb768235cf667", + "difficulty": "ANOTHER", + "songID": 1108, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20012, + "notecount": 1675, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "fc642d958803578c20d4c23dc4c22a81c3fed837", + "difficulty": "BEGINNER", + "songID": 1108, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 20012, + "notecount": 129, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "58879633e7c607da0c98b7d4543e30d0589068d0", + "difficulty": "HYPER", + "songID": 1108, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20012, + "notecount": 1104, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f884151bdff5e8cd5efeca8a2c2216e5fd941c9a", + "difficulty": "NORMAL", + "songID": 1108, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20012, + "notecount": 603, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27b64fd88fd0dc6cf9d260ad8e8c1600208ec41e", + "difficulty": "ANOTHER", + "songID": 1109, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20013, + "notecount": 1208, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "990d277a01fd53a229b41e21bd3d8aff2607126d", + "difficulty": "HYPER", + "songID": 1109, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20013, + "notecount": 794, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c5b12f1522fdd2855a6e3eac02279c79bc32360", + "difficulty": "NORMAL", + "songID": 1109, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20013, + "notecount": 494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "511b93d57fa9b786d09a61399f40ca49e5bcd0e3", + "difficulty": "ANOTHER", + "songID": 1109, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20013, + "notecount": 1090, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d39b56a12b063195751deb5ffa0025b747e4f556", + "difficulty": "HYPER", + "songID": 1109, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20013, + "notecount": 744, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8721b90f124982ad1bc0973dceb39e5a23b93dc5", + "difficulty": "NORMAL", + "songID": 1109, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20013, + "notecount": 370, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6865b4aed1d833a75680f3d895b5497e8c7cb3cf", + "difficulty": "ANOTHER", + "songID": 1110, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20015, + "notecount": 1410, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab21e144ae4644be471971ec2c9bae513d6c927b", + "difficulty": "HYPER", + "songID": 1110, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20015, + "notecount": 949, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e05bd99d3d7df6d9f1887182fb9dbe327278ca6", + "difficulty": "NORMAL", + "songID": 1110, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20015, + "notecount": 481, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1e453cf8e7f317a4ce3b6fd580726b5b86e0a00", + "difficulty": "ANOTHER", + "songID": 1110, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20015, + "notecount": 1145, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5187b5640d7ca637dcc81752afa8c7186ba5b63a", + "difficulty": "BEGINNER", + "songID": 1110, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 20015, + "notecount": 122, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9bd02d6c8207ab47bb1254a626468c87092f6aa0", + "difficulty": "HYPER", + "songID": 1110, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20015, + "notecount": 810, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "154d9ad38f28c85d8178c3726cc80aad91b9f72c", + "difficulty": "NORMAL", + "songID": 1110, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20015, + "notecount": 481, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "77819a3ab996344fe9fdaf6104d7f83b8226e39d", + "difficulty": "ANOTHER", + "songID": 1111, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20016, + "notecount": 1107, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e14b65a3f057fd8497f78ccfadc92719d22659f7", + "difficulty": "HYPER", + "songID": 1111, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20016, + "notecount": 754, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13e1e1fa237736697a51171b06a22123447d7052", + "difficulty": "NORMAL", + "songID": 1111, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20016, + "notecount": 495, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9e6b53e70be07a04cf4a0d2aaef9ac7e80945c63", + "difficulty": "ANOTHER", + "songID": 1111, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20016, + "notecount": 1072, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b00f0f4e393659f9e8907df9e886d781645a786", + "difficulty": "HYPER", + "songID": 1111, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20016, + "notecount": 745, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "90efb074d74a210c24a3bd6ccffd4fef8f5cb6d8", + "difficulty": "NORMAL", + "songID": 1111, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20016, + "notecount": 386, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "14789ebc9aaa837b657efa028399578a6655b77c", + "difficulty": "ANOTHER", + "songID": 1112, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20017, + "notecount": 1459, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93e1e7b3e99550cdd29fa55dc05bb731ea00be55", + "difficulty": "HYPER", + "songID": 1112, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20017, + "notecount": 817, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad6d74188671d5f12081a95283500c2f0244d275", + "difficulty": "NORMAL", + "songID": 1112, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20017, + "notecount": 532, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8391143c244d39c5d8afac522e5ddfbd7f6fb02f", + "difficulty": "ANOTHER", + "songID": 1112, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20017, + "notecount": 1380, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1504ec01010cd5f83b8d6b526bd4c773e4d76a0", + "difficulty": "HYPER", + "songID": 1112, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20017, + "notecount": 869, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e54727a156f7a5b58ebe082a197cac907f44864a", + "difficulty": "NORMAL", + "songID": 1112, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20017, + "notecount": 465, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4347e3280f93e347a6fcc819317a9a20c6a2d10", + "difficulty": "ANOTHER", + "songID": 1113, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20018, + "notecount": 1412, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0c02c9217b33c2f80ea5c390d84a3f6d8657d78", + "difficulty": "HYPER", + "songID": 1113, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20018, + "notecount": 708, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb2662c990601bf76a15c9b84520cbb24375808d", + "difficulty": "NORMAL", + "songID": 1113, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20018, + "notecount": 437, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8cfdd32b37d60fc7bc8afd5909cfa1b88d4927d", + "difficulty": "ANOTHER", + "songID": 1113, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20018, + "notecount": 1391, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f6912dd509ec7a6d20f4562eaf7fa6f1717a1b7d", + "difficulty": "HYPER", + "songID": 1113, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20018, + "notecount": 689, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ea01b2094d2904287a8f27e5efa780c7b5ac9ea", + "difficulty": "NORMAL", + "songID": 1113, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20018, + "notecount": 417, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a3d0e899fb255453726dda7af7fa2640c685cbe7", + "difficulty": "ANOTHER", + "songID": 1114, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20019, + "notecount": 1387, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "67282d6bbd56f9ec75b0af491f847b92e658442c", + "difficulty": "HYPER", + "songID": 1114, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20019, + "notecount": 893, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "781c3925c2c6812fea060ccaa682688cc578766e", + "difficulty": "LEGGENDARIA", + "songID": 1114, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20019, + "notecount": 1722, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd74b626da9510bbddc6fe5cfe84ccf7aea438a0", + "difficulty": "NORMAL", + "songID": 1114, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20019, + "notecount": 440, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1dd1895d095ddf7005eeb19eb8389774d0549334", + "difficulty": "ANOTHER", + "songID": 1114, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20019, + "notecount": 1515, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c2c7918931e1193e00ceaddc3c17bf753fd176e3", + "difficulty": "HYPER", + "songID": 1114, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20019, + "notecount": 863, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "31b2f7429b9861ad251014d940f629cb37f0bd55", + "difficulty": "LEGGENDARIA", + "songID": 1114, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20019, + "notecount": 1713, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "dd73d27bbb33d0f20d310c3a104154e2b701f8d4", + "difficulty": "NORMAL", + "songID": 1114, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20019, + "notecount": 427, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ed74336ea396cc1f500bc154f2ee8cc80631193", + "difficulty": "ANOTHER", + "songID": 1115, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20020, + "notecount": 2222, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0de9d03ed911f0c0838402ce105c66edb9865fc0", + "difficulty": "HYPER", + "songID": 1115, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20020, + "notecount": 1268, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "86772934cc236897ff63856af32782d0c54265b3", + "difficulty": "NORMAL", + "songID": 1115, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20020, + "notecount": 828, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6930092efae33d9f38c81c16382d1a9e99df7ac7", + "difficulty": "ANOTHER", + "songID": 1115, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20020, + "notecount": 2130, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.40", + "value": 13.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "9ca79b85d01b26e17e01e9d2afa72f902e3cff1c", + "difficulty": "BEGINNER", + "songID": 1115, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 20020, + "notecount": 133, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27cf2e3b9cd5c945e113a048eba917546de842b2", + "difficulty": "HYPER", + "songID": 1115, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20020, + "notecount": 1248, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9e04a8944f54058e486aad07148af7df3616ff75", + "difficulty": "NORMAL", + "songID": 1115, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20020, + "notecount": 767, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1aa3ea84ea2e68821a4ca8894c3b74c1b37f9cab", + "difficulty": "ANOTHER", + "songID": 1116, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20021, + "notecount": 1355, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4512097c6ed71383a2ecde9827d757007717b250", + "difficulty": "HYPER", + "songID": 1116, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20021, + "notecount": 621, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2d058b39602bf0f1b95f4d5d5d612758c724ab0", + "difficulty": "NORMAL", + "songID": 1116, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 20021, + "notecount": 343, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3be077f9c9aee04671590530db9eeb2b8f47c650", + "difficulty": "ANOTHER", + "songID": 1116, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20021, + "notecount": 1319, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "abb2000b24425b49b2d53da3f27a43645fa75ac4", + "difficulty": "HYPER", + "songID": 1116, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20021, + "notecount": 690, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1052b6c61eed7ef2f767325919cebfa4ec9be2b6", + "difficulty": "NORMAL", + "songID": 1116, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 20021, + "notecount": 327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ac8001bc2e05cb7e640cc42cac292cdc8ed64cc6", + "difficulty": "ANOTHER", + "songID": 1117, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20022, + "notecount": 984, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ace1da9c5680ee27f6458643102d039aa5c69e8c", + "difficulty": "HYPER", + "songID": 1117, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20022, + "notecount": 729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb464b72c3286bf2e3329b59ebc9be022541d169", + "difficulty": "NORMAL", + "songID": 1117, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20022, + "notecount": 471, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "36319ddd4309cc154cd5fd41e9de674359b583bf", + "difficulty": "ANOTHER", + "songID": 1117, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20022, + "notecount": 1000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02cc7faa9af8be87ecc954ed544a11dd2aeb502f", + "difficulty": "HYPER", + "songID": 1117, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20022, + "notecount": 755, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ffcc5b0fe40046a342a492f382e0c642e7d5073", + "difficulty": "NORMAL", + "songID": 1117, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20022, + "notecount": 477, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad071766e2a21ea7df36cf95031faaaf5530ef4c", + "difficulty": "ANOTHER", + "songID": 1118, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20023, + "notecount": 1306, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f37e2f8a31fdd855c0a27e93673323763b51445", + "difficulty": "HYPER", + "songID": 1118, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20023, + "notecount": 945, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c03d949d47d98ea5e9860f21f471fc96bb3bc2a", + "difficulty": "NORMAL", + "songID": 1118, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20023, + "notecount": 686, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "16279325b8f9e94589ffab81360be6d5ca1b81b6", + "difficulty": "ANOTHER", + "songID": 1118, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20023, + "notecount": 1250, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "982f41551b992b967e9f78d88a254237e491de82", + "difficulty": "HYPER", + "songID": 1118, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20023, + "notecount": 929, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cef1a69d298d4683673dd33599d7e1e9f1da0ca6", + "difficulty": "NORMAL", + "songID": 1118, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20023, + "notecount": 531, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "098d7d336faf32c908d843dde6712e1ee08bd1a5", + "difficulty": "ANOTHER", + "songID": 1119, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20024, + "notecount": 1060, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "276b1ec5bf33a0bdd7acf94de03b94a481944154", + "difficulty": "HYPER", + "songID": 1119, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20024, + "notecount": 710, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa98136c0d7eee424fad4d0a6e85ccb31c2a498c", + "difficulty": "LEGGENDARIA", + "songID": 1119, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20024, + "notecount": 1427, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a9e2fd3af4a82876e5e40fac6dafca9edc94fd2", + "difficulty": "NORMAL", + "songID": 1119, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20024, + "notecount": 321, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e3bf45da4c539d9ec1e9b959fc93c3e0b8f7a98", + "difficulty": "ANOTHER", + "songID": 1119, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20024, + "notecount": 1066, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b02a83264a9885107d71bf95af5c2d48bc67cc8", + "difficulty": "HYPER", + "songID": 1119, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20024, + "notecount": 695, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f348b374d83d6a1edd92c3dacdc39302d4836d76", + "difficulty": "LEGGENDARIA", + "songID": 1119, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20024, + "notecount": 1350, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e2651561b5d94525d9b5ba8b6e0733a86c4e96d0", + "difficulty": "NORMAL", + "songID": 1119, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20024, + "notecount": 280, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "994b8ea2599740eb4e0ee0c3cd4f101f1841daa9", + "difficulty": "ANOTHER", + "songID": 1120, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20025, + "notecount": 1670, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a0e88ffa12d595dbbc593f6720ee2b6ba17369c", + "difficulty": "HYPER", + "songID": 1120, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20025, + "notecount": 1046, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d89c3ccf113c8d16823e3a4f628aea3ead41834", + "difficulty": "NORMAL", + "songID": 1120, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20025, + "notecount": 583, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9e52b78d8640aaac2fb16da80f130fdab06b4d72", + "difficulty": "ANOTHER", + "songID": 1120, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20025, + "notecount": 1584, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "001ac70be5af187b89302abc477aadbc01f41018", + "difficulty": "HYPER", + "songID": 1120, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20025, + "notecount": 1061, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b37805b7746564beab596d48ed955ecbf535bb5", + "difficulty": "NORMAL", + "songID": 1120, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20025, + "notecount": 581, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "77027c81e01151ffd0b029567bc2f54d3bb6b0e0", + "difficulty": "ANOTHER", + "songID": 1121, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20027, + "notecount": 1216, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98451a34db7a923a766ce899d3028962fd84431f", + "difficulty": "HYPER", + "songID": 1121, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20027, + "notecount": 758, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a222b77acd4738f8a55312e48f1d028434af143e", + "difficulty": "NORMAL", + "songID": 1121, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20027, + "notecount": 381, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7be6733cc3cd11df97df73b5aeab9087748e0f9f", + "difficulty": "ANOTHER", + "songID": 1121, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20027, + "notecount": 1164, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "23ebe93607069780214c7413d611e8cd4abfa8af", + "difficulty": "HYPER", + "songID": 1121, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20027, + "notecount": 732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8af1d93068faae14137aa5e2d7d0c767023bbee8", + "difficulty": "NORMAL", + "songID": 1121, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20027, + "notecount": 355, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b2e40f5dd08699a5f8bb3f206432ef8a8c8f4b88", + "difficulty": "ANOTHER", + "songID": 1122, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20028, + "notecount": 1613, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87d22d3029ea24ca9dd0eb785e4004349346deab", + "difficulty": "HYPER", + "songID": 1122, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20028, + "notecount": 1256, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0eb77aeacc2abef574534838c51b575bed164cf9", + "difficulty": "NORMAL", + "songID": 1122, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20028, + "notecount": 484, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34be00e7c645972430c749f4261b718536aec161", + "difficulty": "ANOTHER", + "songID": 1122, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20028, + "notecount": 1541, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "dbcda675c6038c042e45b9bf5631f113f67588a0", + "difficulty": "HYPER", + "songID": 1122, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20028, + "notecount": 1029, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34e33391ff671efe4828ffb6dbdefb57e9136be3", + "difficulty": "NORMAL", + "songID": 1122, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20028, + "notecount": 491, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "76f45cf9d9b13cad0c3ad543f8b0f4cdd27bcde4", + "difficulty": "ANOTHER", + "songID": 1123, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20029, + "notecount": 1670, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b3b3664249bedf37d364c61abf4eab5cf8a129a6", + "difficulty": "HYPER", + "songID": 1123, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20029, + "notecount": 1015, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d088ba8b0ec90f641845d00cc45f72568eecb6c", + "difficulty": "NORMAL", + "songID": 1123, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20029, + "notecount": 516, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b36b423792e515bd7f8d10d4bdbcf65f2a3d9451", + "difficulty": "ANOTHER", + "songID": 1123, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20029, + "notecount": 1641, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": true + }, + "kt-HC": { + "text": "12S+", + "value": 13.2, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.40", + "value": 13.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "fc48c20cbf0039d96a8a08dead8b13ff1c326a65", + "difficulty": "HYPER", + "songID": 1123, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20029, + "notecount": 945, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c1b9299878ce5ce547a96a1a39844140ca5c0681", + "difficulty": "NORMAL", + "songID": 1123, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20029, + "notecount": 491, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd03c0e14b171a37c7b3f67f79251e6ac340d4d5", + "difficulty": "ANOTHER", + "songID": 1124, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20030, + "notecount": 1188, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d0f71ee7cbd69883913890adc01e62fb2de8264", + "difficulty": "HYPER", + "songID": 1124, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20030, + "notecount": 772, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc3fa4da659ef1a0197c0db7491aafcca237945b", + "difficulty": "NORMAL", + "songID": 1124, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20030, + "notecount": 392, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43305c89dd5ecc8dd14203ab752f1da3234c15e6", + "difficulty": "ANOTHER", + "songID": 1124, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20030, + "notecount": 1261, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84b7858b6aa4e8d0e86c5513fb17f5ab60dff5e7", + "difficulty": "HYPER", + "songID": 1124, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20030, + "notecount": 875, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7646d31850e5b5e1c6e45ee73d19a6128a044fa6", + "difficulty": "NORMAL", + "songID": 1124, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20030, + "notecount": 419, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bc969b1b2f42d7143ae4a10a92cc3131c6cc3b44", + "difficulty": "ANOTHER", + "songID": 1125, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20031, + "notecount": 1602, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "20ab34cd86696cc2e8218e2fcc3e071e792ab6a4", + "difficulty": "HYPER", + "songID": 1125, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20031, + "notecount": 1173, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49cf2c53bc02174e3057b23ba63d72e3ba9ce6f9", + "difficulty": "NORMAL", + "songID": 1125, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20031, + "notecount": 533, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ca24b587391c9f72db9bffe9c7616ffdf4ab596", + "difficulty": "ANOTHER", + "songID": 1125, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20031, + "notecount": 1398, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": true + }, + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a8bdb107d3f84645e72817ffd1468c9cbc489eab", + "difficulty": "HYPER", + "songID": 1125, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20031, + "notecount": 942, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83b1650feea09f343b06859707e873300db10188", + "difficulty": "NORMAL", + "songID": 1125, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20031, + "notecount": 511, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0be556362af4d2863dd5dd2527fa05e0fe59da7", + "difficulty": "ANOTHER", + "songID": 1126, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20032, + "notecount": 1448, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c309ef4653b1cd2d19170171ae056bf83cae5ae", + "difficulty": "HYPER", + "songID": 1126, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20032, + "notecount": 1031, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c7bd712e501c8124cc48e3fce76673792bc1589", + "difficulty": "NORMAL", + "songID": 1126, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20032, + "notecount": 649, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c9ee1c41b257fce396f92e97437d0c75391fefd9", + "difficulty": "ANOTHER", + "songID": 1126, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20032, + "notecount": 1171, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30a85524b4b02de10c2197f40897cf19bb0c1d03", + "difficulty": "HYPER", + "songID": 1126, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20032, + "notecount": 913, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b35b325fc6dbc52130a3ec4e53797d726778498a", + "difficulty": "NORMAL", + "songID": 1126, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20032, + "notecount": 569, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b750a8e7d850af7a2a7bd1e44f52218b02b954d", + "difficulty": "ANOTHER", + "songID": 1127, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20033, + "notecount": 976, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5438a7575448627e94381188954e4854b288e5dc", + "difficulty": "HYPER", + "songID": 1127, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20033, + "notecount": 628, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98f1af4f2ef410d256c15190716e5310a8ba93eb", + "difficulty": "NORMAL", + "songID": 1127, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 20033, + "notecount": 345, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bbde0d76a9bad04435d7b59070460aa99a34eb1d", + "difficulty": "ANOTHER", + "songID": 1127, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20033, + "notecount": 950, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e75c49919a82cdb87abcd2c01af9f864a79cb959", + "difficulty": "HYPER", + "songID": 1127, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20033, + "notecount": 602, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f6d59c52f2ec468b0feab3148c5737a3e5d39ff2", + "difficulty": "NORMAL", + "songID": 1127, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 20033, + "notecount": 304, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f37dc427f9b500e3e0971cedf81e74c58357bb31", + "difficulty": "ANOTHER", + "songID": 1128, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20035, + "notecount": 1416, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "146243da75a2d06aea495d28a033a1daa154940a", + "difficulty": "HYPER", + "songID": 1128, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20035, + "notecount": 961, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c3d9f1b9a00a61962b6b84cff3cd5f71be9fd24", + "difficulty": "NORMAL", + "songID": 1128, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20035, + "notecount": 465, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d24b389dc6c0886a75e1140c6965a32d1acf0670", + "difficulty": "ANOTHER", + "songID": 1128, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20035, + "notecount": 1373, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2b5cafd5f4fb2b3169423d40ab395a6237d0ca81", + "difficulty": "HYPER", + "songID": 1128, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20035, + "notecount": 808, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "231b5eba55b1e4d24933079715a128fc3ae5ba1b", + "difficulty": "NORMAL", + "songID": 1128, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20035, + "notecount": 463, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b350c162cc471d540e421b3e915d60efa5a99821", + "difficulty": "ANOTHER", + "songID": 1129, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20036, + "notecount": 1361, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "077839c2d3844a2c36c65c669ea14b46066fade1", + "difficulty": "HYPER", + "songID": 1129, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20036, + "notecount": 910, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5543f34471b4bd7515d33aad4525744e5d908258", + "difficulty": "NORMAL", + "songID": 1129, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20036, + "notecount": 469, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d4bafb6eb46b334ae228fe131dc2168073efefc0", + "difficulty": "ANOTHER", + "songID": 1129, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20036, + "notecount": 1301, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "899606b64ae9fe7e3414a78d71c49c914ddf22d3", + "difficulty": "HYPER", + "songID": 1129, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20036, + "notecount": 898, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63ede2588af65d8bc4d3b4a95e6c759bf650ef8b", + "difficulty": "NORMAL", + "songID": 1129, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20036, + "notecount": 467, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "344d027b365e3125a179d50baa4a8cc97e13275f", + "difficulty": "ANOTHER", + "songID": 1130, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20037, + "notecount": 1161, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "844bcf42740f4828571c4171b09b3563941226a3", + "difficulty": "HYPER", + "songID": 1130, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20037, + "notecount": 744, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2931e05c00386e76539cecaeba09999b020f2788", + "difficulty": "NORMAL", + "songID": 1130, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20037, + "notecount": 410, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a4560c7bf7e306ed85a0657812cf78d8feb45c7a", + "difficulty": "ANOTHER", + "songID": 1130, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20037, + "notecount": 1144, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc11c2b655c5bc8cefcfe423a3ef6f4de37922aa", + "difficulty": "HYPER", + "songID": 1130, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20037, + "notecount": 818, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9cc81b5bb296b58e9b203565f0f758302a993c9d", + "difficulty": "NORMAL", + "songID": 1130, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20037, + "notecount": 393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f289879318c4dc12d3959128d52c3db2da3a4e1f", + "difficulty": "ANOTHER", + "songID": 1131, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20038, + "notecount": 1577, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3e8b5150693247ff44fcb8ccca2bc25b9f196be", + "difficulty": "HYPER", + "songID": 1131, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20038, + "notecount": 1077, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f2692a930a20634f80cdb8a9ba0e8164c03a646", + "difficulty": "NORMAL", + "songID": 1131, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20038, + "notecount": 627, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1848ad95ac0b9eeaa22ad173654bc5512deb0a55", + "difficulty": "ANOTHER", + "songID": 1131, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20038, + "notecount": 1690, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S+", + "value": 13.1, + "individualDifference": true + }, + "kt-HC": { + "text": "12S+", + "value": 13.2, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.50", + "value": 13.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "9c07c3c1f81e71c2392c34b18afcf9932318731b", + "difficulty": "HYPER", + "songID": 1131, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20038, + "notecount": 1147, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c789633bfa27530e9c5328bb0ee53d62a6cdd4f", + "difficulty": "NORMAL", + "songID": 1131, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20038, + "notecount": 600, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4f947fc8b727776fe0e65917d777b3db3da9941", + "difficulty": "ANOTHER", + "songID": 1132, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20039, + "notecount": 1549, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bc42e4538277378b87ed2943ecb75e9d548ad6ac", + "difficulty": "HYPER", + "songID": 1132, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20039, + "notecount": 1032, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3dba34f27ba8419f61ce697a6a6d1d560bec58d7", + "difficulty": "LEGGENDARIA", + "songID": 1132, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20039, + "notecount": 1817, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "288429a398ff8837719736a021e00ff9d5b34b70", + "difficulty": "NORMAL", + "songID": 1132, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20039, + "notecount": 570, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f7be3271db56a3dc4c79957648bd5923ae87d94", + "difficulty": "ANOTHER", + "songID": 1132, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20039, + "notecount": 1450, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "14cd5f28304a330a22083abd0d04f4ae0fb45e32", + "difficulty": "HYPER", + "songID": 1132, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20039, + "notecount": 1121, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b5aa70fc06f722819ef9ecbcbdc55b787e6625f", + "difficulty": "LEGGENDARIA", + "songID": 1132, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20039, + "notecount": 1943, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6330089fae4f59b4b2a72c3cb1dea99c1272d374", + "difficulty": "NORMAL", + "songID": 1132, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20039, + "notecount": 587, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4eea964daaa63038124a0dde9cae93c9f7f5ecd1", + "difficulty": "ANOTHER", + "songID": 1133, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20040, + "notecount": 1502, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1f96b08c7d2355cb01ce80e75aa0bf6035e3d7c", + "difficulty": "HYPER", + "songID": 1133, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20040, + "notecount": 1073, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba968a01455eab5398a0f3fbaa5f11c616f3184d", + "difficulty": "NORMAL", + "songID": 1133, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20040, + "notecount": 565, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fec9ff3de710c6d254cebfc68d2975d901dd92a3", + "difficulty": "ANOTHER", + "songID": 1133, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20040, + "notecount": 1579, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e7dcfec60bfc1fe8905959890833dc3c541830be", + "difficulty": "HYPER", + "songID": 1133, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20040, + "notecount": 1039, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5aaeaf4a198938c6da8598bc3123d370f1d1260c", + "difficulty": "NORMAL", + "songID": 1133, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20040, + "notecount": 532, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1c2ba06120a47809e487df01f0c7192b3bc1ab5", + "difficulty": "ANOTHER", + "songID": 1134, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20041, + "notecount": 1732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a24aed76bdc9e4748b3655d897700cf33d81557", + "difficulty": "HYPER", + "songID": 1134, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20041, + "notecount": 1254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc02433bd18e874085770c8ef273d675f45120b7", + "difficulty": "NORMAL", + "songID": 1134, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20041, + "notecount": 563, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "77c6d8760c9d3f2e87fd8bf6ff73a1095632f107", + "difficulty": "ANOTHER", + "songID": 1134, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20041, + "notecount": 1865, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "df8313708351f818bdd08bb43a270e246b90c7bf", + "difficulty": "HYPER", + "songID": 1134, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20041, + "notecount": 1279, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee61f01b1c780b555b6fce6029f64017f93e8638", + "difficulty": "NORMAL", + "songID": 1134, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20041, + "notecount": 481, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ea9112421654ee8cbeb1b27567ed0ccb15b3eec", + "difficulty": "ANOTHER", + "songID": 1135, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20043, + "notecount": 1325, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3bbca7d03445aa2ef7b78584fc59b40418a085cb", + "difficulty": "HYPER", + "songID": 1135, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20043, + "notecount": 970, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "acd05c5e015e2daedeb1a3cc88187921c2916b65", + "difficulty": "NORMAL", + "songID": 1135, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20043, + "notecount": 502, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b08a82f6f2c3f1dc086507060da5c6aa52fbdbb4", + "difficulty": "ANOTHER", + "songID": 1135, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20043, + "notecount": 1546, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": true + }, + "kt-HC": { + "text": "12S+", + "value": 13.2, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "24b45d0e57ddf070335d3428e8baf18dfa826aa4", + "difficulty": "HYPER", + "songID": 1135, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20043, + "notecount": 1008, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da86859e53ef7704ce8bcb2a21391392aaefb9f0", + "difficulty": "NORMAL", + "songID": 1135, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20043, + "notecount": 501, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f0fdbecabaf3409f59e9bd0c03e1c4b1792b16a", + "difficulty": "ANOTHER", + "songID": 1136, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20044, + "notecount": 1016, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a3a04516e97be227fa3ad6a078df741b0ca85a4", + "difficulty": "HYPER", + "songID": 1136, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20044, + "notecount": 758, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b622aa26af30137bf5749837ec8857e8754af676", + "difficulty": "NORMAL", + "songID": 1136, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20044, + "notecount": 343, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1b57d8f5f0ac378292de9dc65f2f4a11bbe6fdc", + "difficulty": "ANOTHER", + "songID": 1136, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20044, + "notecount": 1001, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "05d2a3f3cbb4a02c63e5ba65bde65e0748584c5e", + "difficulty": "HYPER", + "songID": 1136, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20044, + "notecount": 749, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f571dfd5c76191b29b87f2671775d52eb533b3db", + "difficulty": "NORMAL", + "songID": 1136, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20044, + "notecount": 332, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1886b052823fd26d1a29262d655eb08fa6ada616", + "difficulty": "ANOTHER", + "songID": 1137, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20046, + "notecount": 1100, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8fdb82e50ccacdec42dfcf04434a9406b0479d79", + "difficulty": "HYPER", + "songID": 1137, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20046, + "notecount": 667, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2cfd87379d7d6b095b75c6efdbdf3fa1de265d2e", + "difficulty": "NORMAL", + "songID": 1137, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 20046, + "notecount": 272, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "75571c8a0abe39fca6d7326ba5369299a69d1596", + "difficulty": "ANOTHER", + "songID": 1137, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20046, + "notecount": 1121, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": true + } + } + }, + { + "rgcID": null, + "chartID": "5a992c067461b6c998ba70dcbee124f753132bcd", + "difficulty": "HYPER", + "songID": 1137, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20046, + "notecount": 661, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4cbcd01562d093c50159f8d4678963334d02d8ac", + "difficulty": "NORMAL", + "songID": 1137, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 20046, + "notecount": 272, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "deb3da52451364d4bfb71c42a72ebf0c50a14c5c", + "difficulty": "ANOTHER", + "songID": 1138, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20047, + "notecount": 2084, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74bb932512bce1abbde2dd9cb409ccf498e59d09", + "difficulty": "HYPER", + "songID": 1138, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20047, + "notecount": 973, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "25c9ba6e9e9588cdc420aa48d02f53613af6b021", + "difficulty": "NORMAL", + "songID": 1138, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 20047, + "notecount": 278, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b81056ad7fb427d82e4f1de21431fd1f29b74e24", + "difficulty": "ANOTHER", + "songID": 1138, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20047, + "notecount": 1835, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6c8eac6e855e2ea8aeab605c070227fee4886f52", + "difficulty": "BEGINNER", + "songID": 1138, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 20047, + "notecount": 123, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8825a77604bbfbd60caed60df36585618801d018", + "difficulty": "HYPER", + "songID": 1138, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20047, + "notecount": 858, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c78420da81c4ecdfae06cfce63189d1a9e58855", + "difficulty": "NORMAL", + "songID": 1138, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 20047, + "notecount": 279, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3738203c875a6eef697475b75845a1d77b6daeca", + "difficulty": "ANOTHER", + "songID": 1139, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20048, + "notecount": 1676, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d3db9910582688928b80d685e6602efc7923099", + "difficulty": "HYPER", + "songID": 1139, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20048, + "notecount": 954, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "61267038a621b330e911fd0192aeccd7f1d949a8", + "difficulty": "NORMAL", + "songID": 1139, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20048, + "notecount": 498, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bbd581df659d10ecd468bbb7a9d7eae11dd37985", + "difficulty": "ANOTHER", + "songID": 1139, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20048, + "notecount": 1635, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.60", + "value": 12.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "87f9ae7157d7b0dd92cb4fd0abf83cb307cec48d", + "difficulty": "HYPER", + "songID": 1139, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20048, + "notecount": 896, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93743a4b1e004c5c16cdd7b4d14f973a145594ee", + "difficulty": "NORMAL", + "songID": 1139, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20048, + "notecount": 495, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa739aa238929f4335cb2550ff451206107cb1f8", + "difficulty": "ANOTHER", + "songID": 1140, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20049, + "notecount": 1514, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "100419acf6535366f6986e825b169674e6880b35", + "difficulty": "HYPER", + "songID": 1140, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20049, + "notecount": 1105, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73b33164fc4a5727f9e57cf312211b7cdd0b5135", + "difficulty": "NORMAL", + "songID": 1140, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20049, + "notecount": 505, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "879dee99a5ea1ecc39b9d9af218dbe5e09579089", + "difficulty": "ANOTHER", + "songID": 1140, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20049, + "notecount": 1632, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": true + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "62409e652b9703f5c9630b920879f5cd58f1eb2f", + "difficulty": "HYPER", + "songID": 1140, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20049, + "notecount": 1110, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f1e00eee6e8f74a2619bbd00cc13941de88d93e", + "difficulty": "NORMAL", + "songID": 1140, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20049, + "notecount": 345, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7d4b231229e22fae0296cbd42035b669d409f52f", + "difficulty": "ANOTHER", + "songID": 1141, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20050, + "notecount": 1019, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97d8a72e3deb88eaafdf19d71b6977e0c1223a0b", + "difficulty": "HYPER", + "songID": 1141, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20050, + "notecount": 658, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d013e41475b777a99d13872cef981291b09b8707", + "difficulty": "NORMAL", + "songID": 1141, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 20050, + "notecount": 296, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eafec0f7a26d01252e5482b9331ceeab7294a2bd", + "difficulty": "ANOTHER", + "songID": 1141, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20050, + "notecount": 878, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8643500cf51f784b3ac58c25ebc9475f1a427ab3", + "difficulty": "HYPER", + "songID": 1141, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20050, + "notecount": 638, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d1215d3e9582749dc645ab83005f95f879c7ceb", + "difficulty": "NORMAL", + "songID": 1141, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 20050, + "notecount": 302, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78bc459aea06089d44736d14f40401042549f592", + "difficulty": "ANOTHER", + "songID": 1142, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20051, + "notecount": 1596, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e6b679f7f06c6f6188d3019c8cb24f2f9d2084f", + "difficulty": "HYPER", + "songID": 1142, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20051, + "notecount": 1294, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d54889c6fc56fcc00249ed6978b5a29e8d780c9", + "difficulty": "NORMAL", + "songID": 1142, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20051, + "notecount": 550, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7392968d6fa706129db4b8bb0a8e85ca87c896fd", + "difficulty": "ANOTHER", + "songID": 1142, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20051, + "notecount": 1625, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "aeeabacedc3308c18e6c8811c09756895903f970", + "difficulty": "HYPER", + "songID": 1142, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20051, + "notecount": 904, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b19f8279402431151e1570ea919be14dd3d0bea", + "difficulty": "NORMAL", + "songID": 1142, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20051, + "notecount": 542, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f6f837cb3a5f7009fb40c3821741e258b8f54871", + "difficulty": "ANOTHER", + "songID": 1143, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20052, + "notecount": 1286, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "acd579899be850bf728b4532ddec41d5469aaf91", + "difficulty": "HYPER", + "songID": 1143, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20052, + "notecount": 846, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83bceb92d5ee2feff92dd1d6ad71b49644fae7c8", + "difficulty": "NORMAL", + "songID": 1143, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20052, + "notecount": 412, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "284d5a91cbaedd35b7ef29be500cad13548e9419", + "difficulty": "ANOTHER", + "songID": 1143, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20052, + "notecount": 1105, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b52abb8be86bad9f9db5e73dc8c894ec93a859fd", + "difficulty": "HYPER", + "songID": 1143, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20052, + "notecount": 669, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6e2a9bbbfa8c6034479df7c37fc0936b0c9568c", + "difficulty": "NORMAL", + "songID": 1143, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20052, + "notecount": 406, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ceee629f2b644baa05df63d46aa7abbfe6deac9d", + "difficulty": "ANOTHER", + "songID": 1144, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20083, + "notecount": 1441, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "01ed545bed854527d8b866108c4f9319662ef244", + "difficulty": "HYPER", + "songID": 1144, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20083, + "notecount": 1159, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eddef08fbd767819d465a984d3f7eb5431db944a", + "difficulty": "NORMAL", + "songID": 1144, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20083, + "notecount": 602, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da430c0c4ada012903150022604ac9a86d489327", + "difficulty": "ANOTHER", + "songID": 1144, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20083, + "notecount": 1407, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "13be1a35f06ec31dca02596d1d5bd921c57b1715", + "difficulty": "HYPER", + "songID": 1144, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20083, + "notecount": 960, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7266a94bbd7b3a9ec1ec603e86b69e1ea5d9a86c", + "difficulty": "NORMAL", + "songID": 1144, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20083, + "notecount": 600, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad52478bd0300882fd73bd562530a2535910cf91", + "difficulty": "ANOTHER", + "songID": 1145, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20086, + "notecount": 1470, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "772d0bc44c13617f246070cf2e830d1e6af08791", + "difficulty": "HYPER", + "songID": 1145, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20086, + "notecount": 1091, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b89cc44b1e89d4ce2c36ad4cb284d2069d433f68", + "difficulty": "NORMAL", + "songID": 1145, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20086, + "notecount": 711, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4ade840f590b0e02dad1f52d7f47c6cf8a19687e", + "difficulty": "ANOTHER", + "songID": 1145, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20086, + "notecount": 1332, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f7952f13c0afc2248cd75c76917054a2af10aa65", + "difficulty": "HYPER", + "songID": 1145, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20086, + "notecount": 1040, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "70a20c2d0e2cf64859ef4c707b41f8aacde102e7", + "difficulty": "NORMAL", + "songID": 1145, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20086, + "notecount": 693, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b004a513663e0e5a550dd28e57b1444b72bae805", + "difficulty": "ANOTHER", + "songID": 1146, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20087, + "notecount": 1814, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f9ff0d75a933e012f2cbc04bd491f62250d6c18", + "difficulty": "HYPER", + "songID": 1146, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20087, + "notecount": 1119, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7844e1ae8e4222eb29a8bb24d0664012bcccc576", + "difficulty": "NORMAL", + "songID": 1146, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20087, + "notecount": 655, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e05a52131ef51d1279aae2471f28242f7d359ee", + "difficulty": "ANOTHER", + "songID": 1146, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20087, + "notecount": 1714, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "23725c7d9e719b816b64bf02dc724512c3d2d0ec", + "difficulty": "HYPER", + "songID": 1146, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20087, + "notecount": 1076, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9c1aba46021de2554a0596e695066a88d6c3285f", + "difficulty": "NORMAL", + "songID": 1146, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20087, + "notecount": 446, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0481de6698ee0d509889e720167aeb7edd1974ff", + "difficulty": "ANOTHER", + "songID": 1147, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20088, + "notecount": 799, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7369f8f99074c76a33ef057873cc903a3717a267", + "difficulty": "HYPER", + "songID": 1147, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20088, + "notecount": 635, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a84aff6aa57f907db465e4ee3535d88620987131", + "difficulty": "NORMAL", + "songID": 1147, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20088, + "notecount": 396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2651fb2211a3a6db597354dd778be4b4295bc5dd", + "difficulty": "ANOTHER", + "songID": 1147, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20088, + "notecount": 658, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b295508992d56cb132072cc3457516bbeadfb1d5", + "difficulty": "HYPER", + "songID": 1147, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20088, + "notecount": 488, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a8690639d0b9ff949ee332c5c4b09a5e11065ce", + "difficulty": "NORMAL", + "songID": 1147, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20088, + "notecount": 269, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da8b80fee70f46e91de5af4fbcf7360a7e4f87eb", + "difficulty": "ANOTHER", + "songID": 1148, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20089, + "notecount": 1085, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bc87ecdc3661908c6bbccccdc75952c5f396e9c6", + "difficulty": "HYPER", + "songID": 1148, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20089, + "notecount": 805, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "5691e7337858a749cb6dff00c15394758cb4824b", + "difficulty": "LEGGENDARIA", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 1148, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 20089, + "arcChartID": null, + "notecount": 1866, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "c14cb0a0339925f92f968241b29d25548f7168fd", + "difficulty": "NORMAL", + "songID": 1148, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20089, + "notecount": 517, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da8f404a2b9f06cc44903678e723a4effe79b45f", + "difficulty": "ANOTHER", + "songID": 1148, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20089, + "notecount": 1122, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d7b913c503ec75bf40133a8ba5814171dfee4ed", + "difficulty": "HYPER", + "songID": 1148, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20089, + "notecount": 812, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "5d5f970d2598e6d4cbbe0d8842577762639f999c", + "difficulty": "LEGGENDARIA", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 1148, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 20089, + "arcChartID": null, + "notecount": 1907, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "dde8fb35f422d16393b526f066d33164a80abfe0", + "difficulty": "NORMAL", + "songID": 1148, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20089, + "notecount": 459, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f98923ff8849b98a2c5ab5a4a060bf7fe8f16159", + "difficulty": "ANOTHER", + "songID": 1149, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20090, + "notecount": 1265, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a562429b2c6ca275a1c6a3d7f0a14d0ec60abefd", + "difficulty": "HYPER", + "songID": 1149, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20090, + "notecount": 952, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97a8032a995d5971d92684aa4821da236b79f1b6", + "difficulty": "NORMAL", + "songID": 1149, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20090, + "notecount": 464, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6322b7ddec845437ccafce6f883c3578505eb1d1", + "difficulty": "ANOTHER", + "songID": 1149, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20090, + "notecount": 1512, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6e22bb65211f40357801a6796b43ef72ad77cc55", + "difficulty": "HYPER", + "songID": 1149, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20090, + "notecount": 988, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af32a5a12e2f4b7ff56e916b802d944633fe1907", + "difficulty": "NORMAL", + "songID": 1149, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20090, + "notecount": 430, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "88581b5aedcf5b28e893111a6024bd4dd49e51f6", + "difficulty": "ANOTHER", + "songID": 1150, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20091, + "notecount": 1496, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34a300efb1b1af58ced68b13ff1e606909391320", + "difficulty": "HYPER", + "songID": 1150, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20091, + "notecount": 850, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "42be18b4b8fa05c0f3b4bb4fdb4db482d7994e87", + "difficulty": "NORMAL", + "songID": 1150, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20091, + "notecount": 469, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e531e25f19add50c4fa3bae094ff0999c631a418", + "difficulty": "ANOTHER", + "songID": 1150, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20091, + "notecount": 1400, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "186f2e33ee2c23769bf02946bf31f712d6594667", + "difficulty": "HYPER", + "songID": 1150, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20091, + "notecount": 860, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "592a002203b8d380fb1e2e8453d16e8ce146cb94", + "difficulty": "NORMAL", + "songID": 1150, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20091, + "notecount": 466, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "70c1fc4753bfc3af3082d0f858ab331f8e07ef1b", + "difficulty": "ANOTHER", + "songID": 1151, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20092, + "notecount": 1161, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8b0aa36b33471904fe2c3359f541b759928529b", + "difficulty": "HYPER", + "songID": 1151, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20092, + "notecount": 809, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "152ac16eca6bbf78308f8594c2d3136805fdc307", + "difficulty": "NORMAL", + "songID": 1151, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20092, + "notecount": 411, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b31e45b31babb647dcc5c8b2ecc0bdfb0dc2586b", + "difficulty": "ANOTHER", + "songID": 1151, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20092, + "notecount": 1085, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d6f75b4e2c01df5e8c277e62b92fe1c69d5237da", + "difficulty": "HYPER", + "songID": 1151, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20092, + "notecount": 716, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "67d8e25125645a7732d7a7fd6df2cd249b54110c", + "difficulty": "NORMAL", + "songID": 1151, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20092, + "notecount": 358, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "613f2cb0de2fd35cd3fdac0e5deecc0664776c32", + "difficulty": "ANOTHER", + "songID": 1152, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20093, + "notecount": 1854, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8340d187c03753870cbe4e66684604c2267d38c1", + "difficulty": "HYPER", + "songID": 1152, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20093, + "notecount": 1074, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "684fcb15fd93dcf38abd4f77bf8fd559dbef14ee", + "difficulty": "NORMAL", + "songID": 1152, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20093, + "notecount": 610, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24133f842e393f10412ebd9b03264211ba71ccab", + "difficulty": "ANOTHER", + "songID": 1152, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20093, + "notecount": 1676, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f074193abd5fa17f1322f29c2808c8d9ac04b29d", + "difficulty": "HYPER", + "songID": 1152, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20093, + "notecount": 1149, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "778afff4726bc60666f999c52c814b81c4e3f1b3", + "difficulty": "NORMAL", + "songID": 1152, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20093, + "notecount": 527, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63d42398eaf52745ce09474f4a92f95ffc8751e0", + "difficulty": "ANOTHER", + "songID": 1153, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20094, + "notecount": 1897, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19363ef676fcfcd0b1f2305aa5635a2fc3fb725e", + "difficulty": "HYPER", + "songID": 1153, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20094, + "notecount": 1044, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e2a8659f55656568d282983642bde75cf35f1d6", + "difficulty": "NORMAL", + "songID": 1153, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20094, + "notecount": 518, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "988de4ca211e56fa47e44f679df7ac7a66a75c35", + "difficulty": "ANOTHER", + "songID": 1153, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20094, + "notecount": 1968, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": true + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4a0ad98697e9bc67bed85be4a7730433aa854b45", + "difficulty": "HYPER", + "songID": 1153, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20094, + "notecount": 1055, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f02f1e17e1a7759b38a4b669ad76f9c50d3cbc3a", + "difficulty": "NORMAL", + "songID": 1153, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20094, + "notecount": 524, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29d3316de8715910b58ee59793a735582bd9fa33", + "difficulty": "ANOTHER", + "songID": 1154, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20095, + "notecount": 1613, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28c11f595138fe6fc53475f17958505aff726572", + "difficulty": "HYPER", + "songID": 1154, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20095, + "notecount": 1148, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2bf6096a58e985bdbf6d28a50a687935a69cbb5", + "difficulty": "NORMAL", + "songID": 1154, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20095, + "notecount": 704, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a345321491ad99adc6fe960bb8b8f27a1915b291", + "difficulty": "ANOTHER", + "songID": 1154, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20095, + "notecount": 1712, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "906fef8b271e4b03729a0d62dbdeb13da99e6813", + "difficulty": "HYPER", + "songID": 1154, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20095, + "notecount": 972, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7e219636c15a905b5493c674f73af17ac7b32992", + "difficulty": "NORMAL", + "songID": 1154, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20095, + "notecount": 585, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f7f6a42596abf64b95aea931d4a900bdca70823c", + "difficulty": "ANOTHER", + "songID": 1155, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20096, + "notecount": 1619, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78cdffabffccc1b43194bfd9254295040e62a980", + "difficulty": "HYPER", + "songID": 1155, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20096, + "notecount": 1169, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35dbe7b6a0339d0531037e5890c7c0d25b8f9d20", + "difficulty": "NORMAL", + "songID": 1155, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20096, + "notecount": 667, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2152a7c58237a6b2cb369ac77943bfb25c8762f1", + "difficulty": "ANOTHER", + "songID": 1155, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20096, + "notecount": 1507, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "fbd5bb18023140aa47441db95c5c6e425eb36755", + "difficulty": "BEGINNER", + "songID": 1155, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 20096, + "notecount": 136, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2da4e0aef059b4b50dc5d1a2ee2a18f16fb8c836", + "difficulty": "HYPER", + "songID": 1155, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20096, + "notecount": 1076, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd891ab24d68e773f72dc887e84ebb7719595520", + "difficulty": "NORMAL", + "songID": 1155, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20096, + "notecount": 623, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cdb389984886857580715a9cc36c70460c12c271", + "difficulty": "ANOTHER", + "songID": 1156, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20097, + "notecount": 1807, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "922e27c970d7fdf827888da4f9fd4fb75f14bce1", + "difficulty": "HYPER", + "songID": 1156, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20097, + "notecount": 1142, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a3091ee5242c68ccb6460207692f33b1243ad705", + "difficulty": "NORMAL", + "songID": 1156, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20097, + "notecount": 644, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "65ede03be296bd2f166c53c564f1706e5e151186", + "difficulty": "ANOTHER", + "songID": 1156, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20097, + "notecount": 1647, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "da39fe1a9fcd71e880725309c2542d63a8ed1046", + "difficulty": "HYPER", + "songID": 1156, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20097, + "notecount": 1126, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3bd1dd34b7b12ae46e93621688b94e7431f016cd", + "difficulty": "NORMAL", + "songID": 1156, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20097, + "notecount": 674, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ecab02408f84be1bf70c29fa0eb3b59774b0f668", + "difficulty": "ANOTHER", + "songID": 1157, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20098, + "notecount": 1108, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b33d58736627953247d389a77af9045e7af07eea", + "difficulty": "HYPER", + "songID": 1157, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20098, + "notecount": 771, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f82757fd03710b13d7a0014bfc4611d5d78bca82", + "difficulty": "NORMAL", + "songID": 1157, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20098, + "notecount": 425, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b69a248538e855495e95d8a70c5f381499031e25", + "difficulty": "ANOTHER", + "songID": 1157, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20098, + "notecount": 1081, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b7729f61ee1f9c4f75bf77622368278ce414263", + "difficulty": "HYPER", + "songID": 1157, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20098, + "notecount": 759, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4658b84f8bc33dd6213e23d570662e988287cea9", + "difficulty": "NORMAL", + "songID": 1157, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20098, + "notecount": 445, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a4aa8227c1a96a7b920350dc1c66781a00571b5b", + "difficulty": "ANOTHER", + "songID": 1158, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20099, + "notecount": 1369, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9925fcbda2395ca59915c9e74cfb0202e25aee8", + "difficulty": "HYPER", + "songID": 1158, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20099, + "notecount": 949, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ed1b2256a5b1c83c48234730c0c6178533ea65f", + "difficulty": "NORMAL", + "songID": 1158, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20099, + "notecount": 500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1323bc7fe550ff1a0af1544131638f058f086c1f", + "difficulty": "ANOTHER", + "songID": 1158, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20099, + "notecount": 1487, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": true + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2c272df859860f050f4900f4030c68131502fea7", + "difficulty": "HYPER", + "songID": 1158, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20099, + "notecount": 1038, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d22be98c6fdde86f7deb275831be3ad5fe6b3f2a", + "difficulty": "NORMAL", + "songID": 1158, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20099, + "notecount": 453, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "959c6340db05d83cb88c8885d252647476d9b3e6", + "difficulty": "ANOTHER", + "songID": 1159, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20100, + "notecount": 1082, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8d3eba70aef44993fad5261aaf8279faa34bbb6a", + "difficulty": "HYPER", + "songID": 1159, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20100, + "notecount": 759, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d52ac9b550be912a876921b449136ab23b51ee36", + "difficulty": "LEGGENDARIA", + "songID": 1159, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20100, + "notecount": 1257, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b372964a9171ca976e9e4f06358566cada235d33", + "difficulty": "NORMAL", + "songID": 1159, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20100, + "notecount": 413, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35481660d5d70dacc1c79c645d7a61d34ac6b2df", + "difficulty": "ANOTHER", + "songID": 1159, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20100, + "notecount": 1060, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9037b528e4c59fb11f127e91e9dfce6981be93f9", + "difficulty": "BEGINNER", + "songID": 1159, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 20100, + "notecount": 104, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35d608a8bb2b91abc881851e1c38ddf6ff732fb5", + "difficulty": "HYPER", + "songID": 1159, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20100, + "notecount": 758, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f4d1a5130c5ede9bac12ef6e656a08af3d82b9d2", + "difficulty": "LEGGENDARIA", + "songID": 1159, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20100, + "notecount": 1280, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "eb442593e7f95c5a6d4649f21a8f451c851ef0c8", + "difficulty": "NORMAL", + "songID": 1159, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20100, + "notecount": 395, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27c55d8f3dbfcb22eb2786e5f4834038a1d02fdd", + "difficulty": "ANOTHER", + "songID": 1160, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20101, + "notecount": 1685, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8290e215bf201c5e4e62033a16d10905df7ffad3", + "difficulty": "HYPER", + "songID": 1160, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20101, + "notecount": 1198, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "48d4aede98532295b7f4df76988af6c7985ddbcb", + "difficulty": "NORMAL", + "songID": 1160, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20101, + "notecount": 614, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d446b2852e787687b65654ebcabeecbb7a82de4", + "difficulty": "ANOTHER", + "songID": 1160, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20101, + "notecount": 1717, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6bae8775d67237b76f233fc1034d13b1d6db2658", + "difficulty": "HYPER", + "songID": 1160, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20101, + "notecount": 1231, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34b405eed4611f8b1653538a13f2218868d8021a", + "difficulty": "NORMAL", + "songID": 1160, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20101, + "notecount": 580, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd973945bdfd081a32fc7f31e1caefe21a100f27", + "difficulty": "ANOTHER", + "songID": 1161, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20102, + "notecount": 1482, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b281f2ab969a7f6e3cf021253c212f766098252", + "difficulty": "HYPER", + "songID": 1161, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20102, + "notecount": 810, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ab5b44ed7a2d13339c6a69e59699ea607a7c9a2", + "difficulty": "NORMAL", + "songID": 1161, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20102, + "notecount": 393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50455b4c4e807f6440c5806a27f6d53869334453", + "difficulty": "ANOTHER", + "songID": 1161, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20102, + "notecount": 1359, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f824c4a8333300fb48b2a6f3180fdb7079e5df3f", + "difficulty": "BEGINNER", + "songID": 1161, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 20102, + "notecount": 217, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b4311b3cf7f3e3f105061f28606671ed24dc058", + "difficulty": "HYPER", + "songID": 1161, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20102, + "notecount": 656, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa7c81ef77f00f0210c9904f357ff7a42ca2b79c", + "difficulty": "NORMAL", + "songID": 1161, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20102, + "notecount": 338, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9473e21d890b15857057e9a0769d8261efd71ef2", + "difficulty": "ANOTHER", + "songID": 1165, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21001, + "notecount": 1683, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d68b1f52af00e77ce99c5a9fcb2de848dd3eaa2d", + "difficulty": "HYPER", + "songID": 1165, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21001, + "notecount": 998, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba2b064be17ea3b6b7e6f99371a5f3919ef68345", + "difficulty": "NORMAL", + "songID": 1165, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21001, + "notecount": 610, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "799b91db81ce595cb310c4e92dc5c76382a05eaf", + "difficulty": "ANOTHER", + "songID": 1165, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21001, + "notecount": 1406, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "03484b1658d7ef7b7ef5674282ef346bdb4ddf00", + "difficulty": "HYPER", + "songID": 1165, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21001, + "notecount": 951, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "86c5b8d3ef4a225a08ba187a06073c59fc9fd294", + "difficulty": "NORMAL", + "songID": 1165, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21001, + "notecount": 492, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d49a011e7eef2ad4c2c30d4c7aafebd7d6c0dc82", + "difficulty": "ANOTHER", + "songID": 1166, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21002, + "notecount": 1974, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2715b2b789520ada93f4e49501cceec13296960c", + "difficulty": "HYPER", + "songID": 1166, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21002, + "notecount": 1362, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1269004a52ed03a748325e4af14e5c89c3e5caa1", + "difficulty": "NORMAL", + "songID": 1166, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21002, + "notecount": 691, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa1c5a7f496ac41d7b54102e1a69bdd929eae291", + "difficulty": "ANOTHER", + "songID": 1166, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21002, + "notecount": 2002, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "37fbd8c2128699d279526cddf68c632ce72d17d8", + "difficulty": "HYPER", + "songID": 1166, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21002, + "notecount": 1271, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ddaaac69a405cfe5bac87fddc694028cb21b55f", + "difficulty": "NORMAL", + "songID": 1166, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21002, + "notecount": 629, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6539ae7a2572a66d06cbc2dccdc9db785ba08904", + "difficulty": "ANOTHER", + "songID": 1167, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21003, + "notecount": 1007, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc0008647bf4e5140519cc1227e4cdd1d6c4196b", + "difficulty": "HYPER", + "songID": 1167, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21003, + "notecount": 852, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17fd2d9673cbd103dbe52397d6d8dbb563766f1d", + "difficulty": "NORMAL", + "songID": 1167, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21003, + "notecount": 485, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3c04c9669ba8655222b0b0dc9b96d734ece6e3a", + "difficulty": "ANOTHER", + "songID": 1167, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21003, + "notecount": 1305, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "bd5fea2366403247205cbf9e065cc65fd6223cb6", + "difficulty": "HYPER", + "songID": 1167, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21003, + "notecount": 763, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "38a57367f96bd5265b1fc0fffd74ef61bd75ea94", + "difficulty": "NORMAL", + "songID": 1167, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21003, + "notecount": 527, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed1cadb1ca36866407212835a8e6614d5fe5f480", + "difficulty": "ANOTHER", + "songID": 1168, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21004, + "notecount": 1217, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3b6780f2c4f8b1357938f9a1f0da12ab0d831b6", + "difficulty": "HYPER", + "songID": 1168, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21004, + "notecount": 686, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "668e3d3a65927a6a1f1abc291849d662a5733242", + "difficulty": "NORMAL", + "songID": 1168, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 21004, + "notecount": 355, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0738cadf2af4cc9a012eaca8348b94e4f4e4db23", + "difficulty": "ANOTHER", + "songID": 1168, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21004, + "notecount": 1047, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f370a8e3a6ccafb073a0bfb2ae89d4c479c7c704", + "difficulty": "HYPER", + "songID": 1168, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21004, + "notecount": 686, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cfc253108a5381783b2481b508bea941de1326d7", + "difficulty": "NORMAL", + "songID": 1168, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 21004, + "notecount": 355, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e45fd8873c79bad92688aa80375e7ce05557b309", + "difficulty": "ANOTHER", + "songID": 1169, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21005, + "notecount": 1853, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2dc2a8e673c16dadfdd19a0544a55339896f8579", + "difficulty": "HYPER", + "songID": 1169, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21005, + "notecount": 1127, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "954e0da6cf73781c9425a33528a37dfb6b61ee35", + "difficulty": "NORMAL", + "songID": 1169, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21005, + "notecount": 894, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9808605977a9e311d382f301f4d2c3d1568d1b8d", + "difficulty": "ANOTHER", + "songID": 1169, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21005, + "notecount": 1828, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5ddd3993d2511402aad650bf8151f103d051e8fb", + "difficulty": "BEGINNER", + "songID": 1169, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 21005, + "notecount": 123, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "479024e648b73e90f3382fb6f9b06ddd7de3abd2", + "difficulty": "HYPER", + "songID": 1169, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21005, + "notecount": 1077, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2df8e88c68372671f9f392add48ebf0b8236c376", + "difficulty": "NORMAL", + "songID": 1169, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21005, + "notecount": 675, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "877e5301365eb0170e9d9a908f17f534b83fa088", + "difficulty": "ANOTHER", + "songID": 1170, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21006, + "notecount": 1026, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d209b8d65c08d3dc683e27c04da50e5ffb0336fe", + "difficulty": "HYPER", + "songID": 1170, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21006, + "notecount": 748, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84d2c71fb5fcea3711214eee9dd9be7183786519", + "difficulty": "NORMAL", + "songID": 1170, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21006, + "notecount": 379, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c8a23430c84608ee0448b855a26505b2a72e7fbd", + "difficulty": "ANOTHER", + "songID": 1170, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21006, + "notecount": 1044, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11E", + "value": 11, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e15317c9e3b98a328b141977ac55d1d5b5b9ca11", + "difficulty": "HYPER", + "songID": 1170, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21006, + "notecount": 721, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3fe76fee107d9fa0af2e6580abebf55a309deb6", + "difficulty": "NORMAL", + "songID": 1170, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21006, + "notecount": 377, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "486dc617e90ce1d08d6f2e985276a817b8891695", + "difficulty": "ANOTHER", + "songID": 1171, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21007, + "notecount": 1429, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "edb358ecc5db78c6079a44a5b708c26f26ce33db", + "difficulty": "HYPER", + "songID": 1171, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21007, + "notecount": 975, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b717e51e2b803f4da746d0049a1799781fad8e32", + "difficulty": "NORMAL", + "songID": 1171, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21007, + "notecount": 574, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5b1617ba3c71b37ff8b494eb18647dc1f07ac3ef", + "difficulty": "ANOTHER", + "songID": 1171, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21007, + "notecount": 1495, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f6a7743e006826f1bc0e67689a42ce59273903d0", + "difficulty": "BEGINNER", + "songID": 1171, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 21007, + "notecount": 112, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e59001b67c185b9c00c8bce4fdd5f84e9369ca8d", + "difficulty": "HYPER", + "songID": 1171, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21007, + "notecount": 946, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d737a39a39486b1aaa72c0855c65c5f9f066e8d", + "difficulty": "NORMAL", + "songID": 1171, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21007, + "notecount": 565, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb3e830240786e90c76c1872c0b37c6844a87fdf", + "difficulty": "ANOTHER", + "songID": 1172, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21008, + "notecount": 1251, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f6fafcd601285785295907a4de9c0c98e442f5f", + "difficulty": "HYPER", + "songID": 1172, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21008, + "notecount": 812, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b868e16281927d574f61f0fe0a384806fea16ef", + "difficulty": "NORMAL", + "songID": 1172, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21008, + "notecount": 385, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f55c10cb6b9b5254e4cda20d23dc23c41bbd794f", + "difficulty": "ANOTHER", + "songID": 1172, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21008, + "notecount": 1263, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "fa333f5d87edd1f34b2ef3cb876bf6bf2a89e093", + "difficulty": "HYPER", + "songID": 1172, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21008, + "notecount": 672, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "71599ff1da0ada68c6bec208898b940641403b9e", + "difficulty": "NORMAL", + "songID": 1172, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21008, + "notecount": 378, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb65e79c6df7bae3c9d6feb5ecdf255ca3aa969e", + "difficulty": "ANOTHER", + "songID": 1173, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21009, + "notecount": 1063, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dedacba5ed71b53928b8c9e450a73782814c2583", + "difficulty": "HYPER", + "songID": 1173, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21009, + "notecount": 862, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8eef5826f3eff9f5d11aae4c11b1efee3148f7e", + "difficulty": "NORMAL", + "songID": 1173, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21009, + "notecount": 565, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43d9e4141f80c234e78c60a107a9ca1ad240bc4f", + "difficulty": "ANOTHER", + "songID": 1173, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21009, + "notecount": 968, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "be0ed77244d865559970d8175655775258f21cd5", + "difficulty": "HYPER", + "songID": 1173, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21009, + "notecount": 693, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1da957f7e80307f7c5ff972eda400e76dd4984be", + "difficulty": "NORMAL", + "songID": 1173, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21009, + "notecount": 395, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "62a9110dc2f65442ea5f68c52401e9466fe05ae4", + "difficulty": "ANOTHER", + "songID": 1174, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21010, + "notecount": 1289, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e460a0e8a3ee2d80471c469aafcdb24b331451a", + "difficulty": "HYPER", + "songID": 1174, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21010, + "notecount": 893, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba0407cf7e6b121c2a7d932cf58fe9af8f3bf5aa", + "difficulty": "NORMAL", + "songID": 1174, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 21010, + "notecount": 348, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2fd9cac2128dcb0db037c1e34eedb03a9717ced7", + "difficulty": "ANOTHER", + "songID": 1174, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21010, + "notecount": 1253, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6d465a1d93b5e0a94f56e9330fcddefa53aeef0", + "difficulty": "HYPER", + "songID": 1174, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21010, + "notecount": 789, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb5c95b7ab733d5ebeee9156064038fb60ddfe6d", + "difficulty": "NORMAL", + "songID": 1174, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 21010, + "notecount": 327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7085855530bce6f4b8ddef41c6e6c8582438ca25", + "difficulty": "ANOTHER", + "songID": 1175, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21011, + "notecount": 1216, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e16d331d0996d091830580d6283b02f290f4717b", + "difficulty": "HYPER", + "songID": 1175, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21011, + "notecount": 896, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef89dbb9089f52dff7de032b90ae08bb891a937f", + "difficulty": "NORMAL", + "songID": 1175, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21011, + "notecount": 672, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "91187cbb1b764638d03320f7d0835f3ade78c778", + "difficulty": "ANOTHER", + "songID": 1175, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21011, + "notecount": 1096, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bbffc1cb3619c39c289d9d6a322423b2201ed69a", + "difficulty": "HYPER", + "songID": 1175, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21011, + "notecount": 711, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3205eb10fd2f3f60b30c9af0cb2ca73dc1f515d1", + "difficulty": "NORMAL", + "songID": 1175, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21011, + "notecount": 555, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "569dc8fd75ea6ce42c6e4ac10037985dfbaaeb07", + "difficulty": "ANOTHER", + "songID": 1176, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21012, + "notecount": 1610, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5cda249fba0d72fa9b47fca64b7d68d013f2cd2a", + "difficulty": "HYPER", + "songID": 1176, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21012, + "notecount": 912, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "393da146e1adb727856c79c58fd874c575d6ab08", + "difficulty": "LEGGENDARIA", + "songID": 1176, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21012, + "notecount": 1851, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c68cbe77104c0b34a52fee625b3d4e3525d441b", + "difficulty": "NORMAL", + "songID": 1176, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21012, + "notecount": 433, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24053fd7a4b986837121a58669db267b82c46a25", + "difficulty": "ANOTHER", + "songID": 1176, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21012, + "notecount": 1739, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a8067428e168e60f0b3604ab1e7a4b7102aeb31b", + "difficulty": "HYPER", + "songID": 1176, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21012, + "notecount": 1075, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "71eafc27c7e9601df0baa6b1d0bdd5653df737e1", + "difficulty": "LEGGENDARIA", + "songID": 1176, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21012, + "notecount": 1983, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "848211d316ad9fe9bac1203ffbca0a375c6a0db5", + "difficulty": "NORMAL", + "songID": 1176, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21012, + "notecount": 578, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8310d592a4a93c12aba013c966e203caf5884bc2", + "difficulty": "ANOTHER", + "songID": 1177, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21013, + "notecount": 1224, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9c4c40309e8e41be6f5b040264642cb96dcea9e9", + "difficulty": "HYPER", + "songID": 1177, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21013, + "notecount": 922, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c9d2fff678b8c7cb3de3d67dfb881c4e758f2da6", + "difficulty": "NORMAL", + "songID": 1177, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21013, + "notecount": 497, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d99ce6be1eeb0b2bfa2a2d80bc40fdfebda408c8", + "difficulty": "ANOTHER", + "songID": 1177, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21013, + "notecount": 1265, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "310ad737a0f443673d42e469f7aafdd459a44849", + "difficulty": "HYPER", + "songID": 1177, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21013, + "notecount": 927, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6fd07fbee1d142b34f503cf69d968403cacaa543", + "difficulty": "NORMAL", + "songID": 1177, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21013, + "notecount": 489, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c19b2d1258de067598fbce672874bd1ca3ea815c", + "difficulty": "ANOTHER", + "songID": 1178, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21014, + "notecount": 1628, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "396c0ab213c416c97993747ab9aca1b67b4aa5f8", + "difficulty": "HYPER", + "songID": 1178, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21014, + "notecount": 765, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cc5dfceadcb96c11525a6b6f32ac7cfda29da132", + "difficulty": "NORMAL", + "songID": 1178, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21014, + "notecount": 470, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49fa3ead166195a1b7e47b090a4ca5e875e5fc77", + "difficulty": "ANOTHER", + "songID": 1178, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21014, + "notecount": 1481, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "79af4355855a66ba160c01b42ec947ae9282999e", + "difficulty": "HYPER", + "songID": 1178, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21014, + "notecount": 942, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e5fa1632451ac10516391677cbed72238ad892a", + "difficulty": "NORMAL", + "songID": 1178, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21014, + "notecount": 517, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "09dec29b2fc2168010782eb54ab0e8ab94ebb996", + "difficulty": "ANOTHER", + "songID": 1179, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21015, + "notecount": 1489, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a0dc683cec0024337a793c4674d73d466e5f3d4a", + "difficulty": "HYPER", + "songID": 1179, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21015, + "notecount": 978, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bca62d4be30b844a805ffc56b3b37d5d798d7bfe", + "difficulty": "NORMAL", + "songID": 1179, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21015, + "notecount": 446, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30290cb171789a8c8e6823b2902d9b2c14c6367a", + "difficulty": "ANOTHER", + "songID": 1179, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21015, + "notecount": 1325, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "524a60dc8585847a47629f6946e958b21775cd71", + "difficulty": "HYPER", + "songID": 1179, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21015, + "notecount": 674, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "629bd9e3bedf35d5bb13a852ea24c26ca437d379", + "difficulty": "NORMAL", + "songID": 1179, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21015, + "notecount": 390, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b877616f64702235e26fa45806cd8967675c3d15", + "difficulty": "ANOTHER", + "songID": 1180, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21016, + "notecount": 1763, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b568432a3736452094adc0f0b8c6df8ce9e12dc8", + "difficulty": "HYPER", + "songID": 1180, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21016, + "notecount": 1048, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b5053de19bd973157fb865da5d514559dcb56f92", + "difficulty": "NORMAL", + "songID": 1180, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21016, + "notecount": 654, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b3cc67108f3c509f71ef52a97e471ef01ba1a4ec", + "difficulty": "ANOTHER", + "songID": 1180, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21016, + "notecount": 1566, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3a47c06874c817d7810e1faf5f6268167673bbfd", + "difficulty": "HYPER", + "songID": 1180, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21016, + "notecount": 1004, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a6d66a04757d4f6a01a178589896c7d1ddf4b172", + "difficulty": "NORMAL", + "songID": 1180, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21016, + "notecount": 593, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2c729415f2c0bdcfc6dbfcc3fb4949daa4a245e", + "difficulty": "ANOTHER", + "songID": 1181, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21017, + "notecount": 1413, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1136e26d8227b981722103c77dd82c76b9489933", + "difficulty": "HYPER", + "songID": 1181, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21017, + "notecount": 790, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae5bd51d724148bbeb22a6879fac5a71bab796b6", + "difficulty": "NORMAL", + "songID": 1181, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21017, + "notecount": 477, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83b097ecf308496c9609f9a14b11a74927776925", + "difficulty": "ANOTHER", + "songID": 1181, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21017, + "notecount": 1472, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b78dc0578d9347813973240351237fc5de478ba9", + "difficulty": "HYPER", + "songID": 1181, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21017, + "notecount": 742, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68402447bffead7d8c57f8dd953894834f515a1d", + "difficulty": "NORMAL", + "songID": 1181, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21017, + "notecount": 448, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e7d98f8eb7b237dad8e9faa9d9ba9b0aa5f4dfa0", + "difficulty": "ANOTHER", + "songID": 1182, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21018, + "notecount": 1249, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae646d4a6ddfb31500fe9a41be4f6bd336adffa4", + "difficulty": "HYPER", + "songID": 1182, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21018, + "notecount": 1006, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ecfc47ae4794926d35b98c7817719f28c4f341f3", + "difficulty": "NORMAL", + "songID": 1182, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21018, + "notecount": 522, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b0db46a7083232a0d183d6382e25fcc39e485a9a", + "difficulty": "ANOTHER", + "songID": 1182, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21018, + "notecount": 1336, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "41510d24645438f3f7e26841985b57395ba4d63b", + "difficulty": "BEGINNER", + "songID": 1182, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 21018, + "notecount": 117, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b288256da0549b9366573758ee95551d85f3f6ef", + "difficulty": "HYPER", + "songID": 1182, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21018, + "notecount": 954, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "286e2a23f1c957c2580c1b18ccf4eaea82ecfc7f", + "difficulty": "NORMAL", + "songID": 1182, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21018, + "notecount": 404, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "107e613294aadc766d9ad70bdebe4db26c88432a", + "difficulty": "ANOTHER", + "songID": 1183, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21019, + "notecount": 1382, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1229632406ec6964da3b91ac33bf4b96033540c0", + "difficulty": "HYPER", + "songID": 1183, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21019, + "notecount": 946, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf8615ca4ecff56981e5677deb1ce06699bcc759", + "difficulty": "NORMAL", + "songID": 1183, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21019, + "notecount": 524, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df5306691fde0cc23c3bde436014e8e2cb58a0a8", + "difficulty": "ANOTHER", + "songID": 1183, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21019, + "notecount": 1449, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": true + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": true + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "ee7620a802a13bbdc0aab6ee9ed5be64af55deb7", + "difficulty": "BEGINNER", + "songID": 1183, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 21019, + "notecount": 100, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "213a0707b42997a0a462ab26504f1a060c5021ad", + "difficulty": "HYPER", + "songID": 1183, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21019, + "notecount": 972, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a0201828767c8d790577440f5ba5b72897a3696", + "difficulty": "NORMAL", + "songID": 1183, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21019, + "notecount": 540, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "09ac1bb5864945dbd2dab81f9a22ad61eddcd51b", + "difficulty": "ANOTHER", + "songID": 1184, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21020, + "notecount": 1212, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d4e076fcda15a7e7de7110294453988845fb928a", + "difficulty": "HYPER", + "songID": 1184, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21020, + "notecount": 734, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2abd96319ee6612665f665bedf4057dc9da46f71", + "difficulty": "NORMAL", + "songID": 1184, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21020, + "notecount": 348, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b0859ae7b57b4cc697c6892ddffaa9a2c0279ab6", + "difficulty": "ANOTHER", + "songID": 1184, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21020, + "notecount": 1206, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a0545c5204ff5ff41247bedf61c7019d9edcc0e0", + "difficulty": "HYPER", + "songID": 1184, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21020, + "notecount": 685, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c88266f303f7620efc67d0a3e168d50bf5b15449", + "difficulty": "NORMAL", + "songID": 1184, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21020, + "notecount": 330, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f6b76f050911ebed5ab2d794d590a17251609d3", + "difficulty": "ANOTHER", + "songID": 1185, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21021, + "notecount": 1140, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "513781d829232da367afe0f499bf5e2eb2d9f52b", + "difficulty": "HYPER", + "songID": 1185, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21021, + "notecount": 709, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "20e997a6f07d60bd65ade3f559ab34c644c5d507", + "difficulty": "NORMAL", + "songID": 1185, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21021, + "notecount": 438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f65f5800b16f3ca275885ed29a197ea6dd4c6aa", + "difficulty": "ANOTHER", + "songID": 1185, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21021, + "notecount": 1039, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7693defd4f8d9558980552b747b8ceefccb6994e", + "difficulty": "HYPER", + "songID": 1185, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21021, + "notecount": 721, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "048e6acfe2b39e3fcc38e576aa380c8e9d57810b", + "difficulty": "NORMAL", + "songID": 1185, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21021, + "notecount": 408, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49f59a69a77b596aafe5a6943c1ffa8b3a3a34ea", + "difficulty": "ANOTHER", + "songID": 1186, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21022, + "notecount": 1136, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba10e843c60948c3d5258bc950fcfa6f2f56bb0f", + "difficulty": "HYPER", + "songID": 1186, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21022, + "notecount": 719, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df54f1a5d91e9cb6e115f9d24a9b93d5fa5846f3", + "difficulty": "NORMAL", + "songID": 1186, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 21022, + "notecount": 383, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "559f12f0715e9ce1c9018207236c85ed8cb9241a", + "difficulty": "ANOTHER", + "songID": 1186, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21022, + "notecount": 991, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b3a941b6329e602ddf5713df2543277721aebb1b", + "difficulty": "HYPER", + "songID": 1186, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21022, + "notecount": 683, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c65e7759449ae524c112faf239d6fe43b2e5513", + "difficulty": "NORMAL", + "songID": 1186, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 21022, + "notecount": 348, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a88a9bd39f3b7bb88b57975414bbd7603d8f4d9", + "difficulty": "ANOTHER", + "songID": 1187, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21023, + "notecount": 1400, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "970c6fe2c4cb84d69ee205e24de7557a32aaace7", + "difficulty": "HYPER", + "songID": 1187, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21023, + "notecount": 876, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21e6515ea1d834b9df4aa9731d6aaa71b72d978e", + "difficulty": "NORMAL", + "songID": 1187, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21023, + "notecount": 498, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f8e9b8427c0fbb10b3e64e91af074284cd72749", + "difficulty": "ANOTHER", + "songID": 1187, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21023, + "notecount": 1201, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "27dab68221b340a8e32117c2614206156641efb9", + "difficulty": "BEGINNER", + "songID": 1187, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 21023, + "notecount": 124, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3de6b4294b57b4ad7c2ec9f8c9d44d7235d8226a", + "difficulty": "HYPER", + "songID": 1187, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21023, + "notecount": 860, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12b26f4ac33dcbcc2501845ed4db0637e6a9ba87", + "difficulty": "NORMAL", + "songID": 1187, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21023, + "notecount": 530, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "16be4ba87dd517264a828ff7d030a37fcf42d834", + "difficulty": "ANOTHER", + "songID": 1188, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21024, + "notecount": 1312, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d8f2bcfe11ab8a762796f9406d1074bbdef5c267", + "difficulty": "HYPER", + "songID": 1188, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21024, + "notecount": 639, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78bba13b0cc26bfad2c24a601e7f3ee4f8479fed", + "difficulty": "NORMAL", + "songID": 1188, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21024, + "notecount": 308, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9e869884bf45e4447395c021201b4ccc995c860", + "difficulty": "ANOTHER", + "songID": 1188, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21024, + "notecount": 1199, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": true + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e65ed88ac0e49f3ceacfe8f4fd2cb17d7a0b31fb", + "difficulty": "HYPER", + "songID": 1188, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21024, + "notecount": 590, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "31c3f938a76299f5e9c075b6b11325d3df9c7a2a", + "difficulty": "NORMAL", + "songID": 1188, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 21024, + "notecount": 309, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "92bdb016831e21edb8c24527df97acdfadcf507c", + "difficulty": "ANOTHER", + "songID": 1189, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21025, + "notecount": 1174, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5049af293e12a730e9129f61dac5dfc60e815d5e", + "difficulty": "HYPER", + "songID": 1189, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21025, + "notecount": 970, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03f816e7499d7a8bb3e2100c5b3ce87911d84ff5", + "difficulty": "NORMAL", + "songID": 1189, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21025, + "notecount": 496, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d97936ef748ae6c511ad3642258f3b70dfb944a", + "difficulty": "ANOTHER", + "songID": 1189, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21025, + "notecount": 1155, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af04bfc688d66449c2977efc37be464948d11d79", + "difficulty": "HYPER", + "songID": 1189, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21025, + "notecount": 826, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a797e0261a78ec6a726cee1ed56238330132f3eb", + "difficulty": "NORMAL", + "songID": 1189, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21025, + "notecount": 522, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "268d7923813741430d2a11b4738d3f30d8cc9e9e", + "difficulty": "ANOTHER", + "songID": 1190, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21026, + "notecount": 1288, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c9c3daa59e71741dfe37c8edfd64c74a077792aa", + "difficulty": "HYPER", + "songID": 1190, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21026, + "notecount": 686, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7142eeec0e840efa19c50953d2e9ae3ad6bfb778", + "difficulty": "NORMAL", + "songID": 1190, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21026, + "notecount": 383, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10104dc55b2318f5e60756c3469ce13f06f4e710", + "difficulty": "ANOTHER", + "songID": 1190, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21026, + "notecount": 1220, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3a60f39a492137a091c07fcf0c79e368b2fbb3a7", + "difficulty": "HYPER", + "songID": 1190, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21026, + "notecount": 694, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a5eb75e0f517bfaa0934bd5bd9a42ecf2c4481b7", + "difficulty": "NORMAL", + "songID": 1190, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21026, + "notecount": 418, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3b2dfc5ea5216ad6cd8bc76c32f99f1f1a534d98", + "difficulty": "ANOTHER", + "songID": 1191, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21027, + "notecount": 1332, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4a8c087658479cd23cc93b26d83a36cf645a0cc", + "difficulty": "HYPER", + "songID": 1191, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21027, + "notecount": 931, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d7c57c75a2559b4432f67edc3dbd10fa03038544", + "difficulty": "NORMAL", + "songID": 1191, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21027, + "notecount": 627, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "795e4b36fc0de5f391e564cb3e38a0b147a3f42f", + "difficulty": "ANOTHER", + "songID": 1191, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21027, + "notecount": 1342, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": true + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "648b4bafa48c17a7b620a4cfe5860c1708f945c6", + "difficulty": "HYPER", + "songID": 1191, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21027, + "notecount": 951, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45bdcf68689c7e15c7ced82159b157b1f3220d54", + "difficulty": "NORMAL", + "songID": 1191, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21027, + "notecount": 598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7bf6407d5f8753ee22c763260cb384609f929af5", + "difficulty": "ANOTHER", + "songID": 1192, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21028, + "notecount": 1445, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "032c4618c1a7576043435d0f35a3988707bc45f3", + "difficulty": "HYPER", + "songID": 1192, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21028, + "notecount": 1069, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73da13219b0cd1ffbf47ad4a9ccd694e9fb0db01", + "difficulty": "NORMAL", + "songID": 1192, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21028, + "notecount": 469, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "600f6a4450a77a6a0829d85d97af16a41947cb48", + "difficulty": "ANOTHER", + "songID": 1192, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21028, + "notecount": 1461, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "be2a9356cbd7a14533fe21ea871a28af2fd95bf1", + "difficulty": "HYPER", + "songID": 1192, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21028, + "notecount": 915, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a6310d237447bf3a95ff895fd8ba8e5622ca6f2", + "difficulty": "NORMAL", + "songID": 1192, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21028, + "notecount": 443, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "be13621771c18183401b731d0dc4a2201a0ec0dd", + "difficulty": "ANOTHER", + "songID": 1193, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21029, + "notecount": 1190, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "88bbd3926f1f0db0d0b08164534bc9bb315abde4", + "difficulty": "HYPER", + "songID": 1193, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21029, + "notecount": 938, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e80b5481d462b286866748ea273b430d5a1cd376", + "difficulty": "LEGGENDARIA", + "songID": 1193, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21029, + "notecount": 1782, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0fdcb7bef31096334a88bf5371b44f0042fc4a67", + "difficulty": "NORMAL", + "songID": 1193, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21029, + "notecount": 485, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04c2d7b03c4f06261e83906e2ec0c7d8c090fd74", + "difficulty": "ANOTHER", + "songID": 1193, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21029, + "notecount": 1215, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f9388c200adeeb07d9f75cbc98621fb3a59caa4", + "difficulty": "HYPER", + "songID": 1193, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21029, + "notecount": 890, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f04049ada1148260611c501f6e9bea710fe3c944", + "difficulty": "LEGGENDARIA", + "songID": 1193, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21029, + "notecount": 1731, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "303d1078f42dfc74619fbc0b6ef63437f1191c38", + "difficulty": "NORMAL", + "songID": 1193, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21029, + "notecount": 485, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2463ebb64b1977d9746ce9ca67077ca5b7e709d5", + "difficulty": "ANOTHER", + "songID": 1194, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21030, + "notecount": 1450, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b81ea7bce4dbeab0c70992e95b92cd972862372", + "difficulty": "HYPER", + "songID": 1194, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21030, + "notecount": 879, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f4338e891192f97dbd25701fc223e05e29e61cd", + "difficulty": "NORMAL", + "songID": 1194, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21030, + "notecount": 363, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28efdd3c3b2fada4984bf78d623e2b46488eb2ca", + "difficulty": "ANOTHER", + "songID": 1194, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21030, + "notecount": 1352, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60873cb737297e54f4d70cef7191167bb4b1b18f", + "difficulty": "HYPER", + "songID": 1194, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21030, + "notecount": 790, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "868131c5a5e38b7536f0ae978d124b97ce9d3a86", + "difficulty": "NORMAL", + "songID": 1194, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 21030, + "notecount": 292, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a0937ba29a365de8fa4019a46441f329bc3b541f", + "difficulty": "ANOTHER", + "songID": 1195, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21031, + "notecount": 1166, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ea2d765190bf2d7789c81ccd58a7980bb0eb1e9", + "difficulty": "HYPER", + "songID": 1195, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21031, + "notecount": 664, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5fcd712d1ea12800bcd9a38e320ca35602dcea8c", + "difficulty": "NORMAL", + "songID": 1195, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21031, + "notecount": 339, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0684aedcbba1f3d24f3bddf3828750a06543571a", + "difficulty": "ANOTHER", + "songID": 1195, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21031, + "notecount": 1010, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "915d5cda9e21ae6d6dd50475bbd5beaed9088c8e", + "difficulty": "BEGINNER", + "songID": 1195, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 21031, + "notecount": 107, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a66d5e258d867d5a337d5cc361ef613ed4263b5", + "difficulty": "HYPER", + "songID": 1195, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21031, + "notecount": 592, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12a497df52b42ed963ed6c587582e378d3b5406c", + "difficulty": "NORMAL", + "songID": 1195, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21031, + "notecount": 318, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4564596e580503394f429683d85677411dd6e9e0", + "difficulty": "ANOTHER", + "songID": 1196, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21032, + "notecount": 1945, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7d55a6fecc75e7e3c6ab79b67ff6a4d007557681", + "difficulty": "HYPER", + "songID": 1196, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21032, + "notecount": 1265, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2555ee93923916c633e03cad8447e7fcb4427e25", + "difficulty": "NORMAL", + "songID": 1196, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21032, + "notecount": 725, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68c9ff38f3092917a382658753d571ae78bb9bfb", + "difficulty": "ANOTHER", + "songID": 1196, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21032, + "notecount": 2000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "96cc3eabecbe761f8f5179c9dc537bc412bab701", + "difficulty": "HYPER", + "songID": 1196, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21032, + "notecount": 1222, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9448b7bdafee8d4bbe6074f2dd3ff1b0748be6c4", + "difficulty": "NORMAL", + "songID": 1196, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21032, + "notecount": 698, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1e3f4ca785c14fc3a48d1663f1c82e0b490ebec", + "difficulty": "ANOTHER", + "songID": 1197, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21033, + "notecount": 1722, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "445bb36b24c531830b031de2a51930a525a703c4", + "difficulty": "HYPER", + "songID": 1197, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21033, + "notecount": 991, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9fa34b141e1e8066b2b934021ce982af4c386704", + "difficulty": "NORMAL", + "songID": 1197, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21033, + "notecount": 443, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b0f05feabe84f003b427473c13605abdb23ac9c2", + "difficulty": "ANOTHER", + "songID": 1197, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21033, + "notecount": 1661, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "18ba4fefd3c5fa4c47211d561d1a0f7086fbf06a", + "difficulty": "HYPER", + "songID": 1197, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21033, + "notecount": 938, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "abb6a9381d8375684c70c926fbd286e3bbcf8268", + "difficulty": "NORMAL", + "songID": 1197, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21033, + "notecount": 407, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d8c9121633ad483f973db0ed4f16bf35fd731571", + "difficulty": "ANOTHER", + "songID": 1198, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21034, + "notecount": 1457, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "07abe980f66d238e4d6bc55535839516746f46bc", + "difficulty": "HYPER", + "songID": 1198, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21034, + "notecount": 673, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2862bc1680ec75f5408667dd23f96e344c4202cc", + "difficulty": "NORMAL", + "songID": 1198, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21034, + "notecount": 432, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22ae636fa2f87137956fd0feedce65d0d5462aa1", + "difficulty": "ANOTHER", + "songID": 1198, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21034, + "notecount": 1414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6ba74c8493cdd2c2be67b1247ed81ab0223d98b9", + "difficulty": "HYPER", + "songID": 1198, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21034, + "notecount": 647, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a864b50e183ceda0b360923c239fa156c99ce07", + "difficulty": "NORMAL", + "songID": 1198, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21034, + "notecount": 365, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b83e10c1207258fa62e28cc07f171ec408d94c3", + "difficulty": "ANOTHER", + "songID": 1199, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21035, + "notecount": 1038, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "27-omni", + "26-omni", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2927a162f53f673b52983b8e5aec7b3c1c1fe17b", + "difficulty": "HYPER", + "songID": 1199, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21035, + "notecount": 732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "27-omni", + "26-omni", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ce9f8e0dd4fe3e5b1e94dcb354a532f1bba84b1", + "difficulty": "NORMAL", + "songID": 1199, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21035, + "notecount": 496, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "27-omni", + "26-omni", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "653a98c1c287240cc71376e02b1727b8cb558567", + "difficulty": "ANOTHER", + "songID": 1199, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21035, + "notecount": 951, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "27-omni", + "26-omni", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "37a6d08bb8585f68708390014a1d07f3533f1264", + "difficulty": "HYPER", + "songID": 1199, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21035, + "notecount": 701, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "27-omni", + "26-omni", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c37164abbb2453539ff7750d44858a556b14403b", + "difficulty": "NORMAL", + "songID": 1199, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21035, + "notecount": 480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "27-omni", + "26-omni", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef07b88ae66e8ac00525b66147edc31a9b55d16e", + "difficulty": "ANOTHER", + "songID": 1200, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21036, + "notecount": 1027, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a2ad04cbe9c05210e78faf2569ccdb30b252c6e", + "difficulty": "HYPER", + "songID": 1200, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21036, + "notecount": 686, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80f59c0fbfeff20a0d31ac97b464840b5ec95a8e", + "difficulty": "NORMAL", + "songID": 1200, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21036, + "notecount": 415, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d184f737f356c12b4c261155f29842bcf90c02b2", + "difficulty": "ANOTHER", + "songID": 1200, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21036, + "notecount": 946, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ceee6648db908d03906620ce75e2ec89e6cbb4cc", + "difficulty": "HYPER", + "songID": 1200, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21036, + "notecount": 696, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c1f2879d0335f901ae5c32589831f2dfd435b988", + "difficulty": "NORMAL", + "songID": 1200, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21036, + "notecount": 331, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b0f894767e6c21b0a0ae72cb42e104883b595de", + "difficulty": "ANOTHER", + "songID": 1201, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21037, + "notecount": 1600, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b50fa0b59f7a7af0f9c07804acdc916e86e89b0", + "difficulty": "HYPER", + "songID": 1201, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21037, + "notecount": 820, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13dfbf6625f5fc921c26b37935a6902226fc7ae7", + "difficulty": "NORMAL", + "songID": 1201, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21037, + "notecount": 398, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eb5aa49db85bd8a8d2c69d9464db1f1e0f707127", + "difficulty": "ANOTHER", + "songID": 1201, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21037, + "notecount": 1631, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "dc4b273a8848ebfb54f6519e694666c3616c4c33", + "difficulty": "HYPER", + "songID": 1201, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21037, + "notecount": 787, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b62f08714f6dd77edc887a2d2b9b5fef563226d", + "difficulty": "NORMAL", + "songID": 1201, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21037, + "notecount": 330, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9775125de65175aba6971fe4898cc7aa3c69245", + "difficulty": "ANOTHER", + "songID": 1202, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21038, + "notecount": 1041, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4be26c68092db1783f0c853d270a690d0d540ab5", + "difficulty": "HYPER", + "songID": 1202, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21038, + "notecount": 736, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b3877aa6d8c88ff841fc3bed63fa9d56705ce102", + "difficulty": "NORMAL", + "songID": 1202, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21038, + "notecount": 437, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3949b18e04faa798cb443bc338675ea8e420ffa0", + "difficulty": "ANOTHER", + "songID": 1202, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21038, + "notecount": 1066, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "666b6f49e9cd68f79908b6e9f1b3799e5da8b5f2", + "difficulty": "HYPER", + "songID": 1202, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21038, + "notecount": 753, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c32cbd8c59cb2af77fe4371487eb9a25e279ffb5", + "difficulty": "NORMAL", + "songID": 1202, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21038, + "notecount": 457, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9aa1f3ebea271b1cb70d02445957f0ac37eb587", + "difficulty": "ANOTHER", + "songID": 1203, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21039, + "notecount": 1184, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6980fba66b3843ddfa4f71f22dca58edde1f351d", + "difficulty": "HYPER", + "songID": 1203, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21039, + "notecount": 760, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b56069c5c765e347f8d76cea91eb3943d782035", + "difficulty": "NORMAL", + "songID": 1203, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21039, + "notecount": 420, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "760552fcdbe3a707217ada9b6446528a54829781", + "difficulty": "ANOTHER", + "songID": 1203, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21039, + "notecount": 1193, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f3e8d6162a92b6cfefd98cf02362e4ccc2fe2e1", + "difficulty": "HYPER", + "songID": 1203, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21039, + "notecount": 734, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d008f4e9598b9954439f81b02d78f564ef1e6de6", + "difficulty": "NORMAL", + "songID": 1203, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21039, + "notecount": 374, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8ff465b1af8f59b9465f5ca747d5dd3d75538447", + "difficulty": "ANOTHER", + "songID": 1204, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21041, + "notecount": 1419, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1630c2b5031e31e120b2e2a48f25e9492f968daf", + "difficulty": "HYPER", + "songID": 1204, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21041, + "notecount": 636, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6686e533baa6a230d9ff7e9e0dc0404a1c169a77", + "difficulty": "NORMAL", + "songID": 1204, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21041, + "notecount": 400, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "06fe30b3b0c1e2b0d17b6dcd683db46bb7633c5b", + "difficulty": "ANOTHER", + "songID": 1204, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21041, + "notecount": 1461, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "94c13457a717f0d8328efad5d0a5289491d7a8cf", + "difficulty": "HYPER", + "songID": 1204, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21041, + "notecount": 660, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1862feb67145258d0ad0bce181b9d014ec1927a", + "difficulty": "NORMAL", + "songID": 1204, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 21041, + "notecount": 318, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d3a42543d17ba3e5481cff77fc0db44df2c12cf9", + "difficulty": "ANOTHER", + "songID": 1205, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21042, + "notecount": 1415, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "46b4091e07404be92c02d050274817e09dc631cd", + "difficulty": "HYPER", + "songID": 1205, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21042, + "notecount": 761, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04582e5e314d685ae4e868e65b5dd7c81a083e73", + "difficulty": "NORMAL", + "songID": 1205, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21042, + "notecount": 405, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17ee3db86352d932ffa327649a34a770f71ee351", + "difficulty": "ANOTHER", + "songID": 1205, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21042, + "notecount": 1360, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "16c63ae60b5b07d9991f8cfc2408a7e4fe4e5db5", + "difficulty": "HYPER", + "songID": 1205, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21042, + "notecount": 731, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1565c3b507a26ced1ec43fc48217183658e70e65", + "difficulty": "NORMAL", + "songID": 1205, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 21042, + "notecount": 374, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3c4ecd9d5676e4621f951cfe2360b4fa1644212", + "difficulty": "ANOTHER", + "songID": 1206, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21043, + "notecount": 1252, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "616f56988adb9fb89f8fdc32d6174e3cf3498e42", + "difficulty": "HYPER", + "songID": 1206, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21043, + "notecount": 897, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a6385c879db959a3d41a93e096d33f5d6f7de2e1", + "difficulty": "NORMAL", + "songID": 1206, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21043, + "notecount": 544, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd1d893e21dcdcd2d8aaebf90a383deb1e2c4fba", + "difficulty": "ANOTHER", + "songID": 1206, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21043, + "notecount": 1272, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0f03e0ccb987df66dab5ecf2873902a9e7f06dd", + "difficulty": "HYPER", + "songID": 1206, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21043, + "notecount": 878, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43845cde494476f54497d78224cfdabf2c264444", + "difficulty": "NORMAL", + "songID": 1206, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21043, + "notecount": 521, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf0ced1b429eb6a4717d179d17a62420153167d5", + "difficulty": "ANOTHER", + "songID": 1207, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21044, + "notecount": 1373, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0543d24abf4abc22b7e8f5a3134718b7159568b2", + "difficulty": "HYPER", + "songID": 1207, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21044, + "notecount": 1033, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a0fca408ca20ae4543a23bea3cd1fb820126cad2", + "difficulty": "NORMAL", + "songID": 1207, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21044, + "notecount": 675, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "92a570bc3ba1085b7ae46ec4000bac3986424855", + "difficulty": "ANOTHER", + "songID": 1207, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21044, + "notecount": 1727, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "16d4e54eb7c96d4b8a6f1b38a5181f7cd54f9cff", + "difficulty": "HYPER", + "songID": 1207, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21044, + "notecount": 1159, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53ad1fa40a4f5c42d9ccd941253e097a7efe658d", + "difficulty": "NORMAL", + "songID": 1207, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21044, + "notecount": 769, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27973fc36ab8eea83a7cfd3c1cde234d4175987f", + "difficulty": "ANOTHER", + "songID": 1208, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21045, + "notecount": 1678, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0539e54d6e9c20767772ae29a949095fd8cf7fff", + "difficulty": "HYPER", + "songID": 1208, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21045, + "notecount": 1137, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49d48e2121a47fb59fe8948b378f897432ad673f", + "difficulty": "NORMAL", + "songID": 1208, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21045, + "notecount": 614, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dfe81663b1de9674e019339ac172a41f26e80ce4", + "difficulty": "ANOTHER", + "songID": 1208, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21045, + "notecount": 1650, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "af92ab9d3f8a172c784fefb30b32e5b8c19d6f25", + "difficulty": "HYPER", + "songID": 1208, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21045, + "notecount": 1040, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "18e898b3e268fb344397a0eef1a5fd322aaee06b", + "difficulty": "NORMAL", + "songID": 1208, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21045, + "notecount": 616, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "39f331ecb451dcaf01cd8d1833e8aeaafc0432ee", + "difficulty": "ANOTHER", + "songID": 1209, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21046, + "notecount": 1411, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f40bb54ac5eabe39f86ca51d42bcccc52a61a55", + "difficulty": "HYPER", + "songID": 1209, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21046, + "notecount": 768, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a7dc3d1f1aaa7fe9496d33f41d1aef547b66681", + "difficulty": "NORMAL", + "songID": 1209, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21046, + "notecount": 451, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1a8cd9615cf4407c3ca53d62b52d1ffb3430afc", + "difficulty": "ANOTHER", + "songID": 1209, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21046, + "notecount": 1289, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d264b0f153a0131a4a4a4063612fadfe474674f", + "difficulty": "HYPER", + "songID": 1209, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21046, + "notecount": 754, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24c541b382496ebed29a019a8ae4af6d0b78df9e", + "difficulty": "NORMAL", + "songID": 1209, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21046, + "notecount": 465, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "90cadc41ee57fce7c6503dade37a4a6ef8939cfe", + "difficulty": "ANOTHER", + "songID": 1210, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21047, + "notecount": 1500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "079b32095122a8d2aa91b300d9840619451330b1", + "difficulty": "HYPER", + "songID": 1210, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21047, + "notecount": 1067, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b5fd84e99cac12c9e6a9e814777238b07ee31e4d", + "difficulty": "NORMAL", + "songID": 1210, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21047, + "notecount": 722, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb666d13611b239347f63d31865bd183a2a11650", + "difficulty": "ANOTHER", + "songID": 1210, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21047, + "notecount": 1461, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "544bcc7791fbdbcba5ab032defde0f689b5bc92b", + "difficulty": "HYPER", + "songID": 1210, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21047, + "notecount": 1003, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51175d032c94e1d5228741eeed67abe4c1892502", + "difficulty": "NORMAL", + "songID": 1210, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21047, + "notecount": 653, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b83f67908d4b199eb0ec9296f483290eea43662f", + "difficulty": "ANOTHER", + "songID": 1211, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21048, + "notecount": 1670, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae94690df9df53a745156588849d583c25dfdd92", + "difficulty": "HYPER", + "songID": 1211, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21048, + "notecount": 1154, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "533befd50d7a5767e0c133fb8ccd697cf7ad3762", + "difficulty": "LEGGENDARIA", + "songID": 1211, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21048, + "notecount": 1764, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26e6aa3a22164e5c0e60c090d312387c0dc0c8e5", + "difficulty": "NORMAL", + "songID": 1211, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21048, + "notecount": 556, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0bebe83fb7c902f52c2c487813a4bedaeb5f70f3", + "difficulty": "ANOTHER", + "songID": 1211, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21048, + "notecount": 1493, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3732d7ccf965a2262db4a3854ff7120ba2b8c112", + "difficulty": "HYPER", + "songID": 1211, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21048, + "notecount": 1078, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3207f18df11e80fba6d8dffd974d244870818add", + "difficulty": "LEGGENDARIA", + "songID": 1211, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21048, + "notecount": 1824, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S+", + "value": 13.1, + "individualDifference": false + }, + "kt-HC": { + "text": "12S+", + "value": 13.2, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.50", + "value": 13.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "ee8a4c82bad3ebe22060443234909ba411d1f9e2", + "difficulty": "NORMAL", + "songID": 1211, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21048, + "notecount": 592, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c31f7d59a7193b0f3fc20edae519f5645278355e", + "difficulty": "ANOTHER", + "songID": 1212, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21049, + "notecount": 1592, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "761a84f1172d33ad3aabca605b2dbec41520f2a6", + "difficulty": "HYPER", + "songID": 1212, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21049, + "notecount": 993, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c9188cecac723bc77f8ed16be7b15ae2d0e7bcf", + "difficulty": "NORMAL", + "songID": 1212, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21049, + "notecount": 535, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84e08aee7d76de984bfa9e714741d125efd438d2", + "difficulty": "ANOTHER", + "songID": 1212, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21049, + "notecount": 1607, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2df54108ca4cc0e474f14d30f7d5dc683adf0ae3", + "difficulty": "HYPER", + "songID": 1212, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21049, + "notecount": 902, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "556c60658b5ccd820f31ac734264576a74930721", + "difficulty": "NORMAL", + "songID": 1212, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21049, + "notecount": 483, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1a25094cb82124b57d418b2a013812490390daa", + "difficulty": "ANOTHER", + "songID": 1213, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21050, + "notecount": 1949, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02526bdae769caebeae0400bd0ee2f59c2fd0412", + "difficulty": "HYPER", + "songID": 1213, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21050, + "notecount": 1094, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa30924fffa46665cfb73b95ec40061d8cafc381", + "difficulty": "LEGGENDARIA", + "songID": 1213, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21050, + "notecount": 2093, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0d9773999af11c44466ba3d9d29d8e3a415447e", + "difficulty": "NORMAL", + "songID": 1213, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21050, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a8a6b9304857b2c4316ae5903fc60bfb8369270", + "difficulty": "ANOTHER", + "songID": 1213, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21050, + "notecount": 1805, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c5b09c831e71c0c013a098be9fae099477e7dc15", + "difficulty": "HYPER", + "songID": 1213, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21050, + "notecount": 1081, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "941ea3ea41ca712be3298546f7d1ed2dfff6daee", + "difficulty": "LEGGENDARIA", + "songID": 1213, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21050, + "notecount": 2401, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S+", + "value": 13.1, + "individualDifference": false + }, + "kt-HC": { + "text": "12S+", + "value": 13.2, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.50", + "value": 13.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4588293fe30af3d23f9bfe9d85b706f34cc203f7", + "difficulty": "NORMAL", + "songID": 1213, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21050, + "notecount": 647, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "56b6920026d87d3c33d31a98d3796fc19ffec4a2", + "difficulty": "ANOTHER", + "songID": 1214, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21051, + "notecount": 1264, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "711c2a8b7a5cf4346ec199f98b7420fa9594130e", + "difficulty": "HYPER", + "songID": 1214, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21051, + "notecount": 912, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b1cfca117976f4158e708bf15a94b53bb2f703c", + "difficulty": "NORMAL", + "songID": 1214, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21051, + "notecount": 520, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13ae1cb7fd8742a4abad87308dd97690897f239a", + "difficulty": "ANOTHER", + "songID": 1214, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21051, + "notecount": 1091, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b42e70fab4c7e4a40a0f868e3662679a71363c5b", + "difficulty": "HYPER", + "songID": 1214, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21051, + "notecount": 773, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c249daa8405ec8ec418b42f82631b8ad3a52f700", + "difficulty": "NORMAL", + "songID": 1214, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21051, + "notecount": 528, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4657f2c29eef3ee719da925c78b3d151a8599257", + "difficulty": "ANOTHER", + "songID": 1215, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21052, + "notecount": 1628, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51ec1ef25e7cf501385ee8d5b7894c36a01b3f2c", + "difficulty": "HYPER", + "songID": 1215, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21052, + "notecount": 1049, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fecdba6b4e7bc27c9e1c02f52bffbc1a30fb5d32", + "difficulty": "LEGGENDARIA", + "songID": 1215, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21052, + "notecount": 1879, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "61df1a181a68344b0c7828fb1f1235fb307f411d", + "difficulty": "NORMAL", + "songID": 1215, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21052, + "notecount": 578, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "873df0e82410debf41dfd9f3dc31e1c5d4cad90b", + "difficulty": "ANOTHER", + "songID": 1215, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21052, + "notecount": 1830, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "8e0022c4869de79af7dafb865fccb0d456efe9d0", + "difficulty": "HYPER", + "songID": 1215, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21052, + "notecount": 1129, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "66b41c0e8f23758bd7191f6e03db3ad318b698b9", + "difficulty": "LEGGENDARIA", + "songID": 1215, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21052, + "notecount": 2225, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "fb22466ac982f4070e506768b1df54237b649fd0", + "difficulty": "NORMAL", + "songID": 1215, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21052, + "notecount": 689, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2bc5dd2ea9004e7a0a31c7c65da49d1ba44ec180", + "difficulty": "ANOTHER", + "songID": 1216, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21053, + "notecount": 794, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "92c12a93a9948e9f37d343481fb12b7d2bd2b51f", + "difficulty": "HYPER", + "songID": 1216, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21053, + "notecount": 634, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74722b45c8dba875ec776f3736084ab800805dac", + "difficulty": "NORMAL", + "songID": 1216, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 21053, + "notecount": 338, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "679d8d91465531fe3ffea41f441411cf5823336f", + "difficulty": "ANOTHER", + "songID": 1216, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21053, + "notecount": 1242, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a432b50d08956e9af6e2cab38baecf82c9db474e", + "difficulty": "HYPER", + "songID": 1216, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21053, + "notecount": 727, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82bc814a408fa21a9164c128e72d9218d96fa59c", + "difficulty": "NORMAL", + "songID": 1216, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 21053, + "notecount": 331, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5608abc4d013466d42a3949c4e198f4a29732eff", + "difficulty": "ANOTHER", + "songID": 1217, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21054, + "notecount": 1157, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ff356c4bba4883752ccaa3c629b7645d0e53615", + "difficulty": "HYPER", + "songID": 1217, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21054, + "notecount": 786, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c49f7e312a4e027bc25370fa4c169cfc9e0156ef", + "difficulty": "NORMAL", + "songID": 1217, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21054, + "notecount": 350, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9cedffef9b6e3b8b36a854972c42a402a92450cf", + "difficulty": "ANOTHER", + "songID": 1217, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21054, + "notecount": 1107, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "64d3f509be48c33edf0c16f88b1d2a0f2dd5fb77", + "difficulty": "HYPER", + "songID": 1217, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21054, + "notecount": 781, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "646581f67947e9bf48e72a4240a03aa38251e578", + "difficulty": "NORMAL", + "songID": 1217, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21054, + "notecount": 350, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6eb8bbd6a0914d7839cd9d4295989d4cf14ec98", + "difficulty": "ANOTHER", + "songID": 1218, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21055, + "notecount": 1873, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1e0ece32ee1637bbd28223946b8f283cc16af99", + "difficulty": "HYPER", + "songID": 1218, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21055, + "notecount": 1237, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b774e21c56b36a5ec268523bd0150c83115fa2ac", + "difficulty": "NORMAL", + "songID": 1218, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21055, + "notecount": 655, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dfb1d34dab93461a5bd7abbd2296056a64015e31", + "difficulty": "ANOTHER", + "songID": 1218, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21055, + "notecount": 1826, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2200590c49f5c19a214c701cc9f5d55d4fffda98", + "difficulty": "HYPER", + "songID": 1218, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21055, + "notecount": 1181, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ecd0821838d365862391dbc75e51b51856139a0c", + "difficulty": "NORMAL", + "songID": 1218, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21055, + "notecount": 621, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e99b638958461a6300f0a211a268f49f7c7eaa1", + "difficulty": "ANOTHER", + "songID": 1219, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21056, + "notecount": 1512, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f032a3df73655ba96416fed315367cbb3c1a15b", + "difficulty": "HYPER", + "songID": 1219, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21056, + "notecount": 1086, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7abca5f47073563b07d018e8a5366dc3a0be20f2", + "difficulty": "NORMAL", + "songID": 1219, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21056, + "notecount": 544, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a13db363ba070e55da0637947dd2bfd6cd764509", + "difficulty": "ANOTHER", + "songID": 1219, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21056, + "notecount": 1492, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "773963849ad8c5cd3d213ef793c93adb27b4b8dc", + "difficulty": "HYPER", + "songID": 1219, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21056, + "notecount": 1012, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db849277d49b13acde8e5dfbf9d9771a19183867", + "difficulty": "NORMAL", + "songID": 1219, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21056, + "notecount": 516, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4338260601ce377601c6e1673af818d6438967e7", + "difficulty": "ANOTHER", + "songID": 1220, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21057, + "notecount": 1362, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5cb407f04be9713efbd8cc220be4e3a18f9e65ef", + "difficulty": "HYPER", + "songID": 1220, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21057, + "notecount": 984, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03086280862b7f82f1326b3fca3b2326e57ead62", + "difficulty": "NORMAL", + "songID": 1220, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21057, + "notecount": 584, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd16103a02f236711eeb11dc83ceb0645635ed24", + "difficulty": "ANOTHER", + "songID": 1220, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21057, + "notecount": 1334, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b9f880cfdfdfcb34dec15535f5b8057a4d4e8c9", + "difficulty": "HYPER", + "songID": 1220, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21057, + "notecount": 1025, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dea47dbeabbc72e06b51320ef05cf7cec4357303", + "difficulty": "NORMAL", + "songID": 1220, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21057, + "notecount": 576, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8db40fccbdd94212c7fceaecca240ce70aad994e", + "difficulty": "ANOTHER", + "songID": 1221, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21058, + "notecount": 1296, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3865cd7ce620d4c1d9e7630471798dbabb05e1d8", + "difficulty": "HYPER", + "songID": 1221, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21058, + "notecount": 852, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e279e70bd1f9224ae28720636baf13eb89256334", + "difficulty": "NORMAL", + "songID": 1221, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21058, + "notecount": 482, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "88bd5b6830cc6f0cf9f6b6749cef9182845c7c03", + "difficulty": "ANOTHER", + "songID": 1221, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21058, + "notecount": 1254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f07b4e354fd330e2af82442d6e4feb9aa537dd9", + "difficulty": "BEGINNER", + "songID": 1221, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 21058, + "notecount": 109, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a6c8ee143d5d2c4478b44e4cf5429639ed220424", + "difficulty": "HYPER", + "songID": 1221, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21058, + "notecount": 804, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc642bab5c65a7f3eab5dbc86067e1eec9ea93d0", + "difficulty": "NORMAL", + "songID": 1221, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21058, + "notecount": 495, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0b8ead1f753de66f31ae1003ec458a2f62e34a9", + "difficulty": "ANOTHER", + "songID": 1222, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21059, + "notecount": 2073, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "66c2350d6f2b9d3de3d8c34d5cb5196e1819e8ac", + "difficulty": "HYPER", + "songID": 1222, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21059, + "notecount": 1341, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "faf911b51f6a804ee6e9f88901556573b7f90a03", + "difficulty": "LEGGENDARIA", + "songID": 1222, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21059, + "notecount": 2255, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eec520417710a5e5543f4d492919ffcdc9abd6b6", + "difficulty": "NORMAL", + "songID": 1222, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21059, + "notecount": 778, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eedbf725a86ae88dcdb95db92739783bb88facb7", + "difficulty": "ANOTHER", + "songID": 1222, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21059, + "notecount": 2029, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "dd50f30f65e6b55f92da0ae4b92ac46d6c3675fa", + "difficulty": "HYPER", + "songID": 1222, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21059, + "notecount": 1228, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "385a8fd3c38fb5f11c3ffaaba64d0df7abe849d8", + "difficulty": "LEGGENDARIA", + "songID": 1222, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21059, + "notecount": 2267, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S+", + "value": 13.1, + "individualDifference": false + }, + "kt-HC": { + "text": "12S+", + "value": 13.2, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.50", + "value": 13.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4b5e289fd77a7dced7855866cfbb07f46b3d9e75", + "difficulty": "NORMAL", + "songID": 1222, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21059, + "notecount": 806, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28dc60dfc84e46455d21ebed94af32922c263f63", + "difficulty": "ANOTHER", + "songID": 1223, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21060, + "notecount": 1385, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "284378807516ba1c907717ecfcfff729d2037468", + "difficulty": "HYPER", + "songID": 1223, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21060, + "notecount": 839, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f7da557dcd81bb8aeecdc06cdb8c5420cc423a41", + "difficulty": "NORMAL", + "songID": 1223, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21060, + "notecount": 542, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c43bbae6661afcd5e0ca6ed9f708ae89ddc23e6", + "difficulty": "ANOTHER", + "songID": 1223, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21060, + "notecount": 1440, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7af87e867bafc83649ec5fee6bffb54af9c01d68", + "difficulty": "HYPER", + "songID": 1223, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21060, + "notecount": 833, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c0937e296397277279c005c3358ca95a19e63b06", + "difficulty": "NORMAL", + "songID": 1223, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21060, + "notecount": 514, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "90d99b0028d45e10a6078a0bd346c9b8d750c21a", + "difficulty": "ANOTHER", + "songID": 1224, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21061, + "notecount": 1259, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bea44b491c13e6317126f1497c37f2bb6bea09bf", + "difficulty": "HYPER", + "songID": 1224, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21061, + "notecount": 691, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "572eae7734e71d00c76a19003ffb7d1dc7d033d8", + "difficulty": "NORMAL", + "songID": 1224, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21061, + "notecount": 412, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a8074357e6d2cba7a3eea46ab380c37b1a911be", + "difficulty": "ANOTHER", + "songID": 1224, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21061, + "notecount": 1231, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b07e69ab20555a335ee483640258b47a3f434721", + "difficulty": "HYPER", + "songID": 1224, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21061, + "notecount": 626, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04771088f5daf20766e731c01cf5461153d1ff99", + "difficulty": "NORMAL", + "songID": 1224, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 21061, + "notecount": 301, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f21df62da08c42f87309bc69b315981559710a26", + "difficulty": "ANOTHER", + "songID": 1225, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21062, + "notecount": 1855, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "91053e2f71a418a170cc48c7c57c77ba3bca330c", + "difficulty": "HYPER", + "songID": 1225, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21062, + "notecount": 1437, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b6170486a2d5b3b602007751aab4af166984e36", + "difficulty": "NORMAL", + "songID": 1225, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21062, + "notecount": 726, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "222752f38ec7b81fd80c2e0096e7b70f4bf2eaef", + "difficulty": "ANOTHER", + "songID": 1225, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21062, + "notecount": 1870, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": true + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "434ba4f4a18f1ca0ae318e22a60198b296c5362a", + "difficulty": "HYPER", + "songID": 1225, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21062, + "notecount": 1473, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": true + } + } + }, + { + "rgcID": null, + "chartID": "0a5a145d267633be00339cce17ed208693ee647f", + "difficulty": "NORMAL", + "songID": 1225, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21062, + "notecount": 754, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3060a2a34a6936120f31cb135dabbce5845d9496", + "difficulty": "ANOTHER", + "songID": 1226, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21063, + "notecount": 1495, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "910e91bc777817d7e133810765a9b67d5d81f0e8", + "difficulty": "HYPER", + "songID": 1226, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21063, + "notecount": 1204, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0e38d47988391dd525a1b405d77a9a823f2613f", + "difficulty": "NORMAL", + "songID": 1226, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21063, + "notecount": 633, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aebd1280f18b13f43a2bdc2e6daad82a7d57f4b3", + "difficulty": "ANOTHER", + "songID": 1226, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21063, + "notecount": 1449, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": true + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e7a625bbd8c8dfb8ab9e462821408a55707a217d", + "difficulty": "HYPER", + "songID": 1226, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21063, + "notecount": 1032, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73ca27bce9af4e30b1036d0cac9e24c1fc67949f", + "difficulty": "NORMAL", + "songID": 1226, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21063, + "notecount": 386, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df9e0265c759947e6ddae496b823ee38f6ee4d9e", + "difficulty": "ANOTHER", + "songID": 1227, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21064, + "notecount": 1104, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d93aaa64f67b0b3d6b7904b5ddc83f469d97700f", + "difficulty": "HYPER", + "songID": 1227, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21064, + "notecount": 880, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29685fc25b0eeed318502662305d16f6fada06ee", + "difficulty": "NORMAL", + "songID": 1227, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21064, + "notecount": 598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6cb691963e1870de26867a4f5c681c36cd4ccf19", + "difficulty": "ANOTHER", + "songID": 1227, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21064, + "notecount": 1118, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed498163c3a9c7c5d47ac0bc1f5dc15ef1603d0b", + "difficulty": "HYPER", + "songID": 1227, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21064, + "notecount": 883, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "294d99bafd9000f1a554a80e5683b7d564d2b186", + "difficulty": "NORMAL", + "songID": 1227, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21064, + "notecount": 597, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "951673710e48b585f02c193333c62484d6fc048b", + "difficulty": "ANOTHER", + "songID": 1228, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21065, + "notecount": 1175, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a417a14da2cc127ef44d7fac611951067d96f87", + "difficulty": "HYPER", + "songID": 1228, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21065, + "notecount": 843, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "65f98af182410e4d30fa68bdf5ca60d1790533a0", + "difficulty": "NORMAL", + "songID": 1228, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 21065, + "notecount": 265, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3401f35e2baaed9cf466f01c3273879ebcbccaf0", + "difficulty": "ANOTHER", + "songID": 1228, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21065, + "notecount": 1052, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "71bf80322db76591069c1760b2b6a7d995f3c514", + "difficulty": "HYPER", + "songID": 1228, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21065, + "notecount": 723, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f50212ace853131bfc419d4bf8e0a360babd7bc", + "difficulty": "NORMAL", + "songID": 1228, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 21065, + "notecount": 173, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5848033de359bb35503afcc69cc80db0bda007ba", + "difficulty": "ANOTHER", + "songID": 1229, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21066, + "notecount": 1833, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e49db50210fdbc170ff27b9eed62f24937cd240", + "difficulty": "HYPER", + "songID": 1229, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21066, + "notecount": 1050, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af8f7c8c48e2f68eefa5def40da05944b00713aa", + "difficulty": "NORMAL", + "songID": 1229, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21066, + "notecount": 438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "914af83c45f15b434ec2363fff0aef72e4b4f31b", + "difficulty": "ANOTHER", + "songID": 1229, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21066, + "notecount": 1605, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3a4782e926b653ba3b6c4fca66377dde635ffd53", + "difficulty": "HYPER", + "songID": 1229, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21066, + "notecount": 1046, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5eec24cfe80ab67e586c8c4d28ca978a5b438b1b", + "difficulty": "NORMAL", + "songID": 1229, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21066, + "notecount": 438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dab2416e551540f91f9afb9bf8be5260ae180a32", + "difficulty": "ANOTHER", + "songID": 1230, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21067, + "notecount": 1680, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "47333c16a6732007b603fdad887b27a77684a028", + "difficulty": "HYPER", + "songID": 1230, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21067, + "notecount": 1313, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f61f8edc4be906f7eb2ae79e847fec4be36d12bc", + "difficulty": "NORMAL", + "songID": 1230, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21067, + "notecount": 780, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "418eb18d55cc4344d9e7c19be980924bd0d7a4cf", + "difficulty": "ANOTHER", + "songID": 1230, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21067, + "notecount": 1295, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9eef5906b7a155453113b8fcbf18846051ec70a", + "difficulty": "HYPER", + "songID": 1230, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21067, + "notecount": 1080, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03479083a05ea07f9cd62228f07ce6274b18d959", + "difficulty": "NORMAL", + "songID": 1230, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21067, + "notecount": 537, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d5635196c2827640083022ecb4376768590f146e", + "difficulty": "ANOTHER", + "songID": 1231, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21068, + "notecount": 1570, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "07dc13e6a96bbc7c6d88db5462e2e79c0f2279c6", + "difficulty": "HYPER", + "songID": 1231, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21068, + "notecount": 1156, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d613d37e723148c83b4fc466948fa524d47295b", + "difficulty": "NORMAL", + "songID": 1231, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21068, + "notecount": 985, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51e1a373e287d2bf9f5e3b0f5566d434f0e245a8", + "difficulty": "ANOTHER", + "songID": 1231, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21068, + "notecount": 1636, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4fa8275804f421084a0b3da3b654bcf5ba0bd881", + "difficulty": "HYPER", + "songID": 1231, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21068, + "notecount": 1284, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f1424ab523e13b0162e0bd9dc676e43596f968f", + "difficulty": "NORMAL", + "songID": 1231, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21068, + "notecount": 836, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "286a1f82a9cbba0248b1ec4d54e6857406c8feea", + "difficulty": "ANOTHER", + "songID": 1232, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21069, + "notecount": 1931, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f45a4f1d6721a9da78b99e34f7369febc357860b", + "difficulty": "HYPER", + "songID": 1232, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21069, + "notecount": 1254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "579c1e3521dc22e83fe8c5c9925e1e45d022046e", + "difficulty": "LEGGENDARIA", + "songID": 1232, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21069, + "notecount": 2285, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "96dcb377a539c9890fabd2e6d70f511125563c02", + "difficulty": "NORMAL", + "songID": 1232, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21069, + "notecount": 637, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c9b08f8f0466103b7d404e5a22a3f4f56ccb8d3", + "difficulty": "ANOTHER", + "songID": 1232, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21069, + "notecount": 1780, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e5dab773b27e648d49b53c74cb1ad71b17d22ea7", + "difficulty": "HYPER", + "songID": 1232, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21069, + "notecount": 1073, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5e3b344a6e268cd02949ea2485e96c26020e3018", + "difficulty": "LEGGENDARIA", + "songID": 1232, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21069, + "notecount": 2198, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f2f227b4e8e2598c7041163b7ce643fc4efe8751", + "difficulty": "NORMAL", + "songID": 1232, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21069, + "notecount": 602, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d25837cac2094f296aa0acffe439479fc292839e", + "difficulty": "ANOTHER", + "songID": 1233, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21070, + "notecount": 1414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1f2a1081513318803e21f2e9d43c7c2ae361a65", + "difficulty": "HYPER", + "songID": 1233, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21070, + "notecount": 980, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "120e089f8bfe0dff1d171eac8c1801be22741cd0", + "difficulty": "NORMAL", + "songID": 1233, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21070, + "notecount": 543, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b877cd54ad7aeded6f80aa84f7ea49035d7ca634", + "difficulty": "ANOTHER", + "songID": 1233, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21070, + "notecount": 1384, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf5e51adda36af21d05d7aa96cb5e045d3c8764c", + "difficulty": "HYPER", + "songID": 1233, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21070, + "notecount": 955, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "86621298f4ef4316b4b6e910cc48216cab0eff27", + "difficulty": "NORMAL", + "songID": 1233, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21070, + "notecount": 550, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "337700649504c8cce41a2e94f387aaf73a4d0b90", + "difficulty": "ANOTHER", + "songID": 1234, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21071, + "notecount": 1337, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0cf66650e8af929e36c034e53dd5286c40dbb0c9", + "difficulty": "HYPER", + "songID": 1234, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21071, + "notecount": 1089, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "70bb27c8230af47e0d723cca00cef86e06bd6c38", + "difficulty": "NORMAL", + "songID": 1234, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21071, + "notecount": 531, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24265cd4383de3ca60387472dfe93d06df1207b4", + "difficulty": "ANOTHER", + "songID": 1234, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21071, + "notecount": 1364, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bae106771ac0cc4d24a8fd3a2e61e4ddde13ed78", + "difficulty": "HYPER", + "songID": 1234, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21071, + "notecount": 925, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a4611acd0b01d904071aa10bbcec2c3fe738eb2a", + "difficulty": "NORMAL", + "songID": 1234, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21071, + "notecount": 533, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4ca0652db00f69a4ae9e67f7ccd575de1b5c3878", + "difficulty": "ANOTHER", + "songID": 1235, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21072, + "notecount": 1364, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "226afa9c147fb0b292ca244671c675b1f000f422", + "difficulty": "HYPER", + "songID": 1235, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21072, + "notecount": 941, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "acab61c8781e3db7f97ac8aacf47325f860e4e61", + "difficulty": "NORMAL", + "songID": 1235, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21072, + "notecount": 604, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "687312108405f0b0f6f048d33dbab58e3d2b1b17", + "difficulty": "ANOTHER", + "songID": 1235, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21072, + "notecount": 1416, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a86538627d3b77e5fb04806491743a9da48b61e3", + "difficulty": "HYPER", + "songID": 1235, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21072, + "notecount": 844, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ebad0fefd00404e9276adabb6d28885e89ff6887", + "difficulty": "NORMAL", + "songID": 1235, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21072, + "notecount": 450, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "08eebcad3a7369176bc15653e58c27a7f18e13a5", + "difficulty": "ANOTHER", + "songID": 1236, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21073, + "notecount": 1659, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7bdb266043be6028b0f890dbe7bd54bee350d84d", + "difficulty": "HYPER", + "songID": 1236, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21073, + "notecount": 1242, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b769ad32c11e8a500688d7ac41154ee620e147f", + "difficulty": "LEGGENDARIA", + "songID": 1236, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21073, + "notecount": 1773, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "360630954c2133ee74ed5d05a5899dc2636c2353", + "difficulty": "NORMAL", + "songID": 1236, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21073, + "notecount": 579, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bbfb5eed10a2ded6007c543f6c7d70160c0e36c4", + "difficulty": "ANOTHER", + "songID": 1236, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21073, + "notecount": 1624, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "55a0e1f04a3bace2468e38c921d2166fe07a6023", + "difficulty": "HYPER", + "songID": 1236, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21073, + "notecount": 1009, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c22e3c0d2c0bc13cc28bd4bd83a332a06256ae6", + "difficulty": "LEGGENDARIA", + "songID": 1236, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21073, + "notecount": 1851, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": true + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "62ea9376fa3136326ad417f864ec6e0562074e6d", + "difficulty": "NORMAL", + "songID": 1236, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21073, + "notecount": 569, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f044f1d8f0164cf87544101e684661eb3b422403", + "difficulty": "ANOTHER", + "songID": 1237, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21074, + "notecount": 1351, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f19f1e11c7d8dd59f01acf46574f8b4190502063", + "difficulty": "HYPER", + "songID": 1237, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21074, + "notecount": 732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "efee84a4bdb11322e56691e028da591b330fc8eb", + "difficulty": "NORMAL", + "songID": 1237, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21074, + "notecount": 436, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dae46be7bc53743e83969ab051d76855a9fc61d2", + "difficulty": "ANOTHER", + "songID": 1237, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21074, + "notecount": 1279, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0048943fbf46fb24f17c039a794eb6929f154ed", + "difficulty": "HYPER", + "songID": 1237, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21074, + "notecount": 708, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7fcdabda825b43dba55932479306f66be39fd124", + "difficulty": "NORMAL", + "songID": 1237, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 21074, + "notecount": 283, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55415054a6ab9d31c1b4915ad153e9db8bac510e", + "difficulty": "ANOTHER", + "songID": 1238, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21075, + "notecount": 1256, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e6fc98f01ed8c29ca2744e35f5286523edbcc3ad", + "difficulty": "HYPER", + "songID": 1238, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21075, + "notecount": 870, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3475ec11fae665b689b550c0da87d130594ca79", + "difficulty": "NORMAL", + "songID": 1238, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21075, + "notecount": 467, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a84928a7335023615472a03f378960913fb27e2", + "difficulty": "ANOTHER", + "songID": 1238, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21075, + "notecount": 1243, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bdd9fffb288ff068865e6a1892aa21068cd73b2b", + "difficulty": "HYPER", + "songID": 1238, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21075, + "notecount": 840, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d464004105b6070c2bfb889791cbdc15f10e19da", + "difficulty": "NORMAL", + "songID": 1238, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21075, + "notecount": 467, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9863d91d0d5d7ed42426ab700b40c066e14ed63", + "difficulty": "ANOTHER", + "songID": 1239, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21076, + "notecount": 1830, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5b3a5eb28b353420cbb2f37756bded425b717664", + "difficulty": "HYPER", + "songID": 1239, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21076, + "notecount": 1107, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "786cca0cf81f4d2675f98a6ea63c31225b2666a8", + "difficulty": "NORMAL", + "songID": 1239, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21076, + "notecount": 594, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85661fa5e3419d0b6676d0514fb24d3690545e0c", + "difficulty": "ANOTHER", + "songID": 1239, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21076, + "notecount": 1812, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a432badf44000849799173fd563371d16e13a85b", + "difficulty": "HYPER", + "songID": 1239, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21076, + "notecount": 1081, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0643dc2de73a0a27907d98f7f190a72b539a005", + "difficulty": "NORMAL", + "songID": 1239, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21076, + "notecount": 583, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "40d7611f061bee8073c6e79430f6d26dbc09f2c3", + "difficulty": "ANOTHER", + "songID": 1240, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21077, + "notecount": 1433, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ccfcf695f8b28ebc945e93c13e1568f0017dd721", + "difficulty": "HYPER", + "songID": 1240, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21077, + "notecount": 943, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c6c6def968e3206bb14e65a4ed9b46b447b4180", + "difficulty": "NORMAL", + "songID": 1240, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21077, + "notecount": 531, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78d37889ea1d6e6ad74d2c5b49ab546433e5deba", + "difficulty": "ANOTHER", + "songID": 1240, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21077, + "notecount": 1434, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "ca4dd4150ce7cb2fcb25985016c0c6c7a8b939e9", + "difficulty": "HYPER", + "songID": 1240, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21077, + "notecount": 1026, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef1534969244fb2fb595c99fbef33144ffb5ed14", + "difficulty": "NORMAL", + "songID": 1240, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21077, + "notecount": 608, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78962ed257299d258d06f07bfc905601a98429b6", + "difficulty": "ANOTHER", + "songID": 1241, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21078, + "notecount": 1250, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b3c04ddd5364f1e1f2a77ddebe6ac966cf07f68", + "difficulty": "HYPER", + "songID": 1241, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21078, + "notecount": 864, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8359b0e302048574e85a0e206a17250cc1e22b16", + "difficulty": "NORMAL", + "songID": 1241, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21078, + "notecount": 478, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd053e1fba55da5e996678d7e9eb761c31639d32", + "difficulty": "ANOTHER", + "songID": 1241, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21078, + "notecount": 1257, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2d41e934b0775d9b18d4c0d725316de3cf31cf3e", + "difficulty": "HYPER", + "songID": 1241, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21078, + "notecount": 745, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bec0e24487b156464b0a3b31f7a0635dd1e9fc44", + "difficulty": "NORMAL", + "songID": 1241, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21078, + "notecount": 432, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8910cd1e491a893a0f78309b8bf50d5179524c2b", + "difficulty": "ANOTHER", + "songID": 1242, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21079, + "notecount": 1447, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9156dc46595947343c1da6fea12dc53bf12d1be2", + "difficulty": "HYPER", + "songID": 1242, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21079, + "notecount": 989, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "def61ce80ff3f26b578f28272e77589fa92599fb", + "difficulty": "NORMAL", + "songID": 1242, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21079, + "notecount": 388, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45af49940168dfd02fa86813f04c16587685b007", + "difficulty": "ANOTHER", + "songID": 1242, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21079, + "notecount": 1417, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c0f9541000984ba2a78f9466b4e804f08ffdfc2d", + "difficulty": "HYPER", + "songID": 1242, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21079, + "notecount": 846, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29208554890b60d58566141b45a0ed23bf2cb43e", + "difficulty": "NORMAL", + "songID": 1242, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 21079, + "notecount": 318, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0be39a36c7af68458ae620899f2947efd0240a1c", + "difficulty": "ANOTHER", + "songID": 1243, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21080, + "notecount": 1124, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fffee771f326f4e61553aabd9cc18823d52ab930", + "difficulty": "HYPER", + "songID": 1243, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21080, + "notecount": 851, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89e7206ed1943109a7c515cfea5aa329764a0b2b", + "difficulty": "NORMAL", + "songID": 1243, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 21080, + "notecount": 449, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c3d5620e2852eabf41148ea4a520e2be3206861e", + "difficulty": "ANOTHER", + "songID": 1243, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21080, + "notecount": 1159, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63e85246b592e62ecefef24fd9386a6690dadaa8", + "difficulty": "HYPER", + "songID": 1243, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21080, + "notecount": 758, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "05360cb42d3593e92e60c8aa090dcf5f532296a5", + "difficulty": "NORMAL", + "songID": 1243, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 21080, + "notecount": 343, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28f9155a140c480a5c637b3e7bfcc92bd7381a2d", + "difficulty": "ANOTHER", + "songID": 1244, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21081, + "notecount": 1774, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7703f42fbdc5dcb5ed118ce642f0e98cef513541", + "difficulty": "HYPER", + "songID": 1244, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21081, + "notecount": 1116, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3b56444f02f898e381a7a7e553a184eb007a9700", + "difficulty": "NORMAL", + "songID": 1244, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21081, + "notecount": 596, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2fdd4dbc68659c9e17f969cafdab57f0e4b8b8c", + "difficulty": "ANOTHER", + "songID": 1244, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21081, + "notecount": 1834, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d2ad8e1d8882af4d24419b546d3e708fd32e8d03", + "difficulty": "HYPER", + "songID": 1244, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21081, + "notecount": 1012, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c21e2af9d22bf90c3359fe0b984fffc8bb8415da", + "difficulty": "NORMAL", + "songID": 1244, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21081, + "notecount": 541, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "57d375aaea067afe7e8a72964091d7bcff9f96f6", + "difficulty": "ANOTHER", + "songID": 1245, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21082, + "notecount": 2097, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27ebfcf2f4ee68f34fc004a2570d59afcd1394c4", + "difficulty": "HYPER", + "songID": 1245, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21082, + "notecount": 1382, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd68ecae6baa3ff1c9a8260671565e74cb16d580", + "difficulty": "NORMAL", + "songID": 1245, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21082, + "notecount": 694, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "05471cd382d8e1e15a4731dc82dbd0de6917ddbe", + "difficulty": "ANOTHER", + "songID": 1245, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21082, + "notecount": 2007, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1723877c0c6a74f3d81686f6710cda269e7ddf38", + "difficulty": "HYPER", + "songID": 1245, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21082, + "notecount": 1247, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "cd766a72c693e24b2939d8ce22fa1753490b6b13", + "difficulty": "NORMAL", + "songID": 1245, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21082, + "notecount": 658, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e221cfb49073eab2a94c12ed2361bf250a6a4245", + "difficulty": "ANOTHER", + "songID": 1246, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21083, + "notecount": 1209, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d671c624230c8c7597d09574234dc300672ab91", + "difficulty": "HYPER", + "songID": 1246, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21083, + "notecount": 713, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b89e7f80cb14ee549d27b57c37ba3e329ba01e1a", + "difficulty": "NORMAL", + "songID": 1246, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21083, + "notecount": 430, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff28ee147055dc06073b8a09801924ead61ae9dd", + "difficulty": "ANOTHER", + "songID": 1246, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21083, + "notecount": 1222, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5f5630ff1f47cb7ecafc3dfcbebc2787f41ae86b", + "difficulty": "HYPER", + "songID": 1246, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21083, + "notecount": 700, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2bf76cc36c47a3d64209f6a7dc699af86d0ad88", + "difficulty": "NORMAL", + "songID": 1246, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21083, + "notecount": 413, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd2c2025a5d41c538c263344c91b7a6a68d4b705", + "difficulty": "ANOTHER", + "songID": 1247, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21084, + "notecount": 1662, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f199f2118248a80a9a7b91abdf5f14b8cd9234a", + "difficulty": "HYPER", + "songID": 1247, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21084, + "notecount": 994, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b263754082bb56d5e6817f37f43db52220f9e859", + "difficulty": "NORMAL", + "songID": 1247, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21084, + "notecount": 502, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b2c8c3a8938e23803490b20aa7a751dcc710827e", + "difficulty": "ANOTHER", + "songID": 1247, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21084, + "notecount": 1261, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3a3e57b1de5abf4249926cc8f71be71b8008fe2e", + "difficulty": "BEGINNER", + "songID": 1247, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 21084, + "notecount": 135, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bee8c92fe01ca80413b64a0c5eb0deff826461d3", + "difficulty": "HYPER", + "songID": 1247, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21084, + "notecount": 960, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1c4c0711b5e3f35230a3dd638085604ce9a63f5", + "difficulty": "NORMAL", + "songID": 1247, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21084, + "notecount": 512, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "421bffbe1c5dbafc15dab2be2351b8379f190ab7", + "difficulty": "ANOTHER", + "songID": 1248, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21085, + "notecount": 1199, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4bc6b9e443e4760d3d0ea6babdc3752654c206f", + "difficulty": "HYPER", + "songID": 1248, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21085, + "notecount": 732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "047a21fcdcc04124e8585d610727f26901a5f4d3", + "difficulty": "NORMAL", + "songID": 1248, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21085, + "notecount": 381, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c154fedd92b8659d1fc286a7afe9894fc92f002", + "difficulty": "ANOTHER", + "songID": 1248, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21085, + "notecount": 1326, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "9e0c66d054b16deba8ee61cde4c4eabf6cd3bcf2", + "difficulty": "HYPER", + "songID": 1248, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21085, + "notecount": 753, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "585c9c9b40a1b26c060bb38177bcd812e647c8ba", + "difficulty": "NORMAL", + "songID": 1248, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21085, + "notecount": 416, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b2663797c38795fd1f738fbf4960b5d5b50e2322", + "difficulty": "ANOTHER", + "songID": 1249, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21086, + "notecount": 1204, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe7c514c8d14f8e5e6a7f3c4196795c557be3904", + "difficulty": "HYPER", + "songID": 1249, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21086, + "notecount": 787, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b043ee3c5f9d0b1437c9d9c8a8d11093206976d", + "difficulty": "NORMAL", + "songID": 1249, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 21086, + "notecount": 424, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27a5156f9287ae8eb5bca328321c0fde6bcee234", + "difficulty": "ANOTHER", + "songID": 1249, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21086, + "notecount": 1170, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "59e86ae66e7956b717c2e7e76c3e004f31d27d29", + "difficulty": "HYPER", + "songID": 1249, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21086, + "notecount": 788, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "91fdc6ae14f70d98e121be052a6fd55a0628a84d", + "difficulty": "NORMAL", + "songID": 1249, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 21086, + "notecount": 394, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4d5af344eff003ac1d251091b1df5fd503fb052d", + "difficulty": "ANOTHER", + "songID": 1250, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21087, + "notecount": 1154, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2be595c9d7a60541f4fad8c27f562cdce3046a43", + "difficulty": "HYPER", + "songID": 1250, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21087, + "notecount": 692, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "064e1f2cf42e79fbd7462d1e481025dca6fef4c7", + "difficulty": "NORMAL", + "songID": 1250, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 21087, + "notecount": 304, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32c4e7eb2b5e072189b84c6e854782afae2cfd77", + "difficulty": "ANOTHER", + "songID": 1250, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21087, + "notecount": 1281, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5f3ef71b491d314d21b4ddf149f1a7c85f147f58", + "difficulty": "HYPER", + "songID": 1250, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21087, + "notecount": 723, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "868cdd05163b2089fdba6d65e626fb51c0bd597f", + "difficulty": "NORMAL", + "songID": 1250, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 21087, + "notecount": 298, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b957d1c828df1aa9e1ec20b65dd6af4fc0b7ba7", + "difficulty": "ANOTHER", + "songID": 1251, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21088, + "notecount": 1557, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bc14925ec38071263f1ef12483894eb8b4ab7c03", + "difficulty": "HYPER", + "songID": 1251, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21088, + "notecount": 1145, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c19f4211c41348a5deb69d4c7173f6ddfb2ae864", + "difficulty": "NORMAL", + "songID": 1251, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21088, + "notecount": 607, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7e28479468a4c9a425a06afb24ce00fd57dc75d1", + "difficulty": "ANOTHER", + "songID": 1251, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21088, + "notecount": 1629, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": true + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": true + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "ecf091407934c5f7aab96b224139b2f3cc20ac44", + "difficulty": "HYPER", + "songID": 1251, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21088, + "notecount": 1084, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b54a030367eb0f158e2daffd3ca935a5a40df1e0", + "difficulty": "NORMAL", + "songID": 1251, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21088, + "notecount": 585, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8cb836b4784447f0518d635abf9dcea5c21a4563", + "difficulty": "ANOTHER", + "songID": 1252, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21089, + "notecount": 1473, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "693d8bc7f05732a8a0aa4f547fceb8756715410e", + "difficulty": "HYPER", + "songID": 1252, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21089, + "notecount": 1224, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80680ecacb342e8d7d679763dd1911d292807726", + "difficulty": "LEGGENDARIA", + "songID": 1252, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21089, + "notecount": 2058, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4db8acf2f9e153fb2dcbadddaa8fbc7eda9aa5ce", + "difficulty": "NORMAL", + "songID": 1252, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21089, + "notecount": 687, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9256ccf074de340f1aab6cdf46abd93564df9017", + "difficulty": "ANOTHER", + "songID": 1252, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21089, + "notecount": 1693, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b1398004ac8e56e84b5e2a9c318331dd981dffc8", + "difficulty": "HYPER", + "songID": 1252, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21089, + "notecount": 1194, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de4847e147c392f569ffa147e9b106d003d70e3c", + "difficulty": "LEGGENDARIA", + "songID": 1252, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21089, + "notecount": 2026, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": false + }, + "kt-HC": { + "text": "12S+", + "value": 13.2, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "96cf1e1e4a57b27d1d956b0739454efca1d1be34", + "difficulty": "NORMAL", + "songID": 1252, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21089, + "notecount": 679, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "170d548e4cf101ef3d463d8f2f3164fd9d019f40", + "difficulty": "ANOTHER", + "songID": 1253, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21090, + "notecount": 1143, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "48078929129fbefe333ff88b0a01d75373b72806", + "difficulty": "HYPER", + "songID": 1253, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21090, + "notecount": 806, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f008ab2b41362241161c98d6d372ea6f250501c3", + "difficulty": "NORMAL", + "songID": 1253, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21090, + "notecount": 653, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24a1cc905d623c90a8e68d9c00e0ee85f05627b6", + "difficulty": "ANOTHER", + "songID": 1253, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 21090, + "notecount": 1232, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "8fc90ad5e44ac3a33cfec570077a1542b28f7739", + "difficulty": "HYPER", + "songID": 1253, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 21090, + "notecount": 840, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d20b318400aaae5b4a7dfb6c2a9c21f2832238e5", + "difficulty": "NORMAL", + "songID": 1253, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 21090, + "notecount": 472, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "81e0edb0c60ddfa8a17d9b7dceb973c2f918763d", + "difficulty": "ANOTHER", + "songID": 1274, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21265, + "notecount": 3659, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "752426ce7b4650f48fbf92185b89001f28c17554", + "difficulty": "HYPER", + "songID": 1274, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21265, + "notecount": 2696, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "acaa912082e309da2eaf2643053fa2eaac8f548c", + "difficulty": "NORMAL", + "songID": 1274, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 21265, + "notecount": 1571, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fddff768301aa4e394295127153a84c23268c28e", + "difficulty": "ANOTHER", + "songID": 1274, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21265, + "notecount": 3910, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8dd045b204ca29a916d27aa780098c6145fc1ddd", + "difficulty": "HYPER", + "songID": 1274, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 21265, + "notecount": 2744, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "783401307e2c514467bab3351956dead84167ef7", + "difficulty": "NORMAL", + "songID": 1274, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 21265, + "notecount": 1485, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ca0e1c337b9228756bb3091be7472f937772a0d", + "difficulty": "ANOTHER", + "songID": 1275, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22001, + "notecount": 1911, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "281595b30784f4c63781d1ccccb693318930e310", + "difficulty": "HYPER", + "songID": 1275, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22001, + "notecount": 1123, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5723c1f259a9fed34dbe8f33eef99ade4d8a5e68", + "difficulty": "NORMAL", + "songID": 1275, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22001, + "notecount": 513, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "14e5c11a5cee46642011a78d4319455f4bacab9c", + "difficulty": "ANOTHER", + "songID": 1275, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22001, + "notecount": 1887, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0f32fa70259bb8312761cf4fd4e30b683442113b", + "difficulty": "HYPER", + "songID": 1275, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22001, + "notecount": 1054, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54764871b7d9c2ae5754cd2029f1bb4301f792bc", + "difficulty": "NORMAL", + "songID": 1275, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22001, + "notecount": 658, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9975fc3994adfec5a8f9d606fa3b3cb1efca65a", + "difficulty": "ANOTHER", + "songID": 1276, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22002, + "notecount": 1286, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "106a246d20cdefc937b675af79a84816d90818a7", + "difficulty": "HYPER", + "songID": 1276, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22002, + "notecount": 827, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "362af5b7ded5361a0b82e804eea55ac40f1caf69", + "difficulty": "NORMAL", + "songID": 1276, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22002, + "notecount": 612, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e15e8f535c3d93a480e4f828dd244a40ad80bb14", + "difficulty": "ANOTHER", + "songID": 1276, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22002, + "notecount": 1402, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6198b19d68789e6bb2df1f7d825b6aa94c7f15b9", + "difficulty": "HYPER", + "songID": 1276, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22002, + "notecount": 913, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4eb1a02a2b49683a64b97fe205c01238f4fcf3bf", + "difficulty": "NORMAL", + "songID": 1276, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22002, + "notecount": 363, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "502ffabebbba47553cf768b5f587e1157a342a60", + "difficulty": "ANOTHER", + "songID": 1277, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22003, + "notecount": 1433, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a06b5ee49444e5243d3c4c0b4f2b385b81c72394", + "difficulty": "HYPER", + "songID": 1277, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22003, + "notecount": 824, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f109614150300489bc4301c05b25ca582f229432", + "difficulty": "NORMAL", + "songID": 1277, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22003, + "notecount": 497, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad3102fa3768334dcb0ce0bbac89bc002f2f3eae", + "difficulty": "ANOTHER", + "songID": 1277, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22003, + "notecount": 1656, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": true + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "29e526a21c4474c878035da25cb49513b3b7b4c7", + "difficulty": "HYPER", + "songID": 1277, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22003, + "notecount": 863, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c16c21b4f3467fc23f13e395ea0fa419c1428b3c", + "difficulty": "NORMAL", + "songID": 1277, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22003, + "notecount": 517, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "636da7363863f2c9b65ede3a5cc1a11a03bb6ba7", + "difficulty": "ANOTHER", + "songID": 1278, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22004, + "notecount": 1842, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "66a5a69220484aea41684f14012ba67c5ed1a950", + "difficulty": "HYPER", + "songID": 1278, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22004, + "notecount": 1148, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "36b446236f30dd6c49f7a4bc154319fbf17e8bce", + "difficulty": "NORMAL", + "songID": 1278, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22004, + "notecount": 508, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89d7014560da5aa1b0aa17849b120d51708cb124", + "difficulty": "ANOTHER", + "songID": 1278, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22004, + "notecount": 1983, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3ab9239a29d7c9c4171002c46defd56ebf68dc63", + "difficulty": "HYPER", + "songID": 1278, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22004, + "notecount": 1181, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d20a8ea883108e18911901d3a30bc5e8c3f7171c", + "difficulty": "NORMAL", + "songID": 1278, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22004, + "notecount": 486, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3fe4b4031f35aab25edfc21237057e64aa63a1bd", + "difficulty": "ANOTHER", + "songID": 1279, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22005, + "notecount": 1723, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d3b04a7389fe580e682d9a7b33a19665ac8a6814", + "difficulty": "HYPER", + "songID": 1279, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22005, + "notecount": 1219, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "59061100352901f944009e67945a146f298441c6", + "difficulty": "NORMAL", + "songID": 1279, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22005, + "notecount": 645, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f52532b307a6c62a0aa30617080c7c1408210bca", + "difficulty": "ANOTHER", + "songID": 1279, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22005, + "notecount": 1677, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "130c88e0112ce37ee5a995e342b4b9c09ce4f1b8", + "difficulty": "HYPER", + "songID": 1279, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22005, + "notecount": 952, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f0f31615d2f2ba1436ab101fdde0da1c3eba802", + "difficulty": "NORMAL", + "songID": 1279, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22005, + "notecount": 610, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "178535fbb9a6d504872b678f19a21fe47bf436a8", + "difficulty": "ANOTHER", + "songID": 1280, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22006, + "notecount": 1147, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8cd885c3084fdb63db8a67f8da562087fab75637", + "difficulty": "HYPER", + "songID": 1280, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22006, + "notecount": 815, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "759ae3013390ae27a7170afe6ed696341f8a99f3", + "difficulty": "LEGGENDARIA", + "songID": 1280, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22006, + "notecount": 1747, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d7f0da5738b5ddbddc73e9e6dd388d90e1512a16", + "difficulty": "NORMAL", + "songID": 1280, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22006, + "notecount": 544, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "981fc51b5e37fbdd9c17584fe12b669f9fc52da0", + "difficulty": "ANOTHER", + "songID": 1280, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22006, + "notecount": 1166, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4331e2cc7bfa95b853fbcbabd718a31d26d6e225", + "difficulty": "HYPER", + "songID": 1280, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22006, + "notecount": 892, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c1078ebbfefae4028f8ffc4e97cf38040c2a58d8", + "difficulty": "LEGGENDARIA", + "songID": 1280, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22006, + "notecount": 1651, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a4ea5b83d14e4191d98bc4698e566291a3b86676", + "difficulty": "NORMAL", + "songID": 1280, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22006, + "notecount": 476, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "76216b3e68a195d2a2fc80245b3bb63031e05c73", + "difficulty": "ANOTHER", + "songID": 1281, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22007, + "notecount": 1693, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "47403c1d4b3278a8dfd50e9e407ff796133fdd33", + "difficulty": "HYPER", + "songID": 1281, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22007, + "notecount": 912, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5e14e54a40279ef2e7ff52a81b2f7fb4de595291", + "difficulty": "NORMAL", + "songID": 1281, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22007, + "notecount": 467, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "31bea8357d4174869b73c668119ace7b50397710", + "difficulty": "ANOTHER", + "songID": 1281, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22007, + "notecount": 1574, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": true + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3c07685177db74008120b5aea9d9b55ef474778e", + "difficulty": "HYPER", + "songID": 1281, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22007, + "notecount": 822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "232844f642b058d6836cad90ec4541471119ed85", + "difficulty": "NORMAL", + "songID": 1281, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22007, + "notecount": 402, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79af9868750412b75b289f80336749672f10d48b", + "difficulty": "ANOTHER", + "songID": 1282, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22008, + "notecount": 1582, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c326442bea64ceca65764f8c8ff1e53a0c74631e", + "difficulty": "HYPER", + "songID": 1282, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22008, + "notecount": 1128, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98ee26e9fbebc2d4c9093644e00ce44773c8c2f6", + "difficulty": "LEGGENDARIA", + "songID": 1282, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22008, + "notecount": 2477, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f12b03f68a9ce08e41b6f0434bdbf63f03f4d75", + "difficulty": "NORMAL", + "songID": 1282, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22008, + "notecount": 625, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "379654960c67f16be240135e09d50ec69c690567", + "difficulty": "ANOTHER", + "songID": 1282, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22008, + "notecount": 1568, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "37180fcc26cf9e26f811119a69d99025f406f055", + "difficulty": "HYPER", + "songID": 1282, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22008, + "notecount": 1124, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "125c864b5eb86daef9f59295e4f1f0083adb79fd", + "difficulty": "LEGGENDARIA", + "songID": 1282, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22008, + "notecount": 2233, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "540daf58d57d21a9d1aced36c519aa121ef0e4c2", + "difficulty": "NORMAL", + "songID": 1282, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22008, + "notecount": 592, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0278e86cd8f0a1f570afdf430288e9974297894", + "difficulty": "ANOTHER", + "songID": 1283, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22009, + "notecount": 2122, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ccc519373ed76ceed3e3a2c09c72a32ed950be6", + "difficulty": "HYPER", + "songID": 1283, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22009, + "notecount": 1322, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0dff4b8c2437322c02447cc85d178ff945e1fa03", + "difficulty": "NORMAL", + "songID": 1283, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22009, + "notecount": 716, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "faef79b6b856fe29eeb16b364e195a77184146b4", + "difficulty": "ANOTHER", + "songID": 1283, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22009, + "notecount": 1815, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5e31227ff3cdde882624eff7fbc5249a68b7ab42", + "difficulty": "HYPER", + "songID": 1283, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22009, + "notecount": 1127, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8cc386c7a9442ea0955bb72d2b80005062ea5507", + "difficulty": "NORMAL", + "songID": 1283, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22009, + "notecount": 580, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3bc8881860fb3e9abf9992df3e93bf4233a159f7", + "difficulty": "ANOTHER", + "songID": 1284, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22010, + "notecount": 1266, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9e204db399e696c8b50bf7d8821a513b5798af4a", + "difficulty": "HYPER", + "songID": 1284, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22010, + "notecount": 945, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c3c61a0ffa8e9924a59d8fec5a69e8b8040cf240", + "difficulty": "NORMAL", + "songID": 1284, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22010, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd11ee640e7e54da90a66101419c348b9adf6076", + "difficulty": "ANOTHER", + "songID": 1284, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22010, + "notecount": 1424, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": true + }, + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "400e6368ff83851e156bb8a41f175462166da0e7", + "difficulty": "HYPER", + "songID": 1284, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22010, + "notecount": 1061, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "358bcc5d7f8be1ac1a3b64726d9e005563b35128", + "difficulty": "NORMAL", + "songID": 1284, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22010, + "notecount": 707, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8814adce05e3e98db515e43665c18a9b4068012", + "difficulty": "ANOTHER", + "songID": 1285, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22011, + "notecount": 1524, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "231c12d47ff851515413820d8754aa5d83854d48", + "difficulty": "HYPER", + "songID": 1285, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22011, + "notecount": 1129, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ade0eedaaebe9116a22c22bce7059dd20469a029", + "difficulty": "NORMAL", + "songID": 1285, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22011, + "notecount": 630, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a007ef090e66ed82cfeaaf837f39a5a3ea07ebc8", + "difficulty": "ANOTHER", + "songID": 1285, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22011, + "notecount": 1690, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c13f936a8c6edf5843a46a52d6856a0a60a86ec5", + "difficulty": "HYPER", + "songID": 1285, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22011, + "notecount": 974, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93cf769e6f023d1fd77cf45f7e232732006c9292", + "difficulty": "NORMAL", + "songID": 1285, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22011, + "notecount": 469, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4f845602069b340b71cca2bcc9e129740b8abda", + "difficulty": "ANOTHER", + "songID": 1286, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22012, + "notecount": 2054, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dea8321c8b133f45d536782a869657745d0bc60c", + "difficulty": "HYPER", + "songID": 1286, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22012, + "notecount": 1395, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d350833fe98d7f53bc0df58a95e9b1ed43050aeb", + "difficulty": "NORMAL", + "songID": 1286, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22012, + "notecount": 654, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b72cb6971dc27ed793de77e53f48234f1d1bfe7", + "difficulty": "ANOTHER", + "songID": 1286, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22012, + "notecount": 2000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "620936420afd7703eac2c09bf088e7c6a7eceafb", + "difficulty": "HYPER", + "songID": 1286, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22012, + "notecount": 1296, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3d0b7aff991b03e82d3305a7d87466a95578332", + "difficulty": "NORMAL", + "songID": 1286, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22012, + "notecount": 669, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "058044162fc47c1842c59caf453143a93814fd5a", + "difficulty": "ANOTHER", + "songID": 1287, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22013, + "notecount": 896, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf54009b6c49fcee81da09e3b7a84172a8a7ab31", + "difficulty": "HYPER", + "songID": 1287, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22013, + "notecount": 633, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d403aa3823b4d8f6ac07f0d4f41f909d3360ba76", + "difficulty": "LEGGENDARIA", + "songID": 1287, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22013, + "notecount": 1114, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3bd2ad06fd4e1be2a46e9e025973d3ad8222749", + "difficulty": "NORMAL", + "songID": 1287, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 22013, + "notecount": 322, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6027eb4731083a0c41a244a361685c62d8400197", + "difficulty": "ANOTHER", + "songID": 1287, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22013, + "notecount": 900, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "57aeca262cdab8a63709c4ba087af74303be6fd0", + "difficulty": "HYPER", + "songID": 1287, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22013, + "notecount": 590, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b2197dd1979d54e7afd890b7f768d4b3d677eac", + "difficulty": "LEGGENDARIA", + "songID": 1287, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22013, + "notecount": 1134, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3bbdfa53637cbce1c26eb233360488b0b1a48d84", + "difficulty": "NORMAL", + "songID": 1287, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 22013, + "notecount": 347, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2dc5e38d06a21b0eb5218b388a9dc5a81fda2c26", + "difficulty": "ANOTHER", + "songID": 1288, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22014, + "notecount": 1320, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0cdf39e87cfbdf4529e665a6ea96bb2e67d8168f", + "difficulty": "HYPER", + "songID": 1288, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22014, + "notecount": 920, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0fd08a2768c1253b4593604d9a1e91d62110d47a", + "difficulty": "NORMAL", + "songID": 1288, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22014, + "notecount": 446, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3b250628184fa3b22ed95b97fe911003f1bfbedb", + "difficulty": "ANOTHER", + "songID": 1288, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22014, + "notecount": 1226, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3b25242b694040c7cca2000a220b6519879b460f", + "difficulty": "HYPER", + "songID": 1288, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22014, + "notecount": 917, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a023b49a76873deffd79889f9a373981fab1a850", + "difficulty": "NORMAL", + "songID": 1288, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22014, + "notecount": 496, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7bc0fd3c6a5a69bae31c30fae385bd288718ef97", + "difficulty": "ANOTHER", + "songID": 1289, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22015, + "notecount": 2155, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "093be5289f914590c8776382930252284a2bf6e5", + "difficulty": "HYPER", + "songID": 1289, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22015, + "notecount": 1328, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7aaa808f154502db64dffc3007b99fadc20e09e5", + "difficulty": "NORMAL", + "songID": 1289, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22015, + "notecount": 723, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d7ea762fffcf7998e57ae17ad6f13074071ab4f3", + "difficulty": "ANOTHER", + "songID": 1289, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22015, + "notecount": 2096, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "8745a98300ddc787a8e5343f34c3ca298c1a42f0", + "difficulty": "HYPER", + "songID": 1289, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22015, + "notecount": 1248, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83e88cd61ec66a39c4e28b42a4ffc63e63cdc026", + "difficulty": "NORMAL", + "songID": 1289, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22015, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49df205db6c7085d1b8390be751b1f5e6d7a14dd", + "difficulty": "ANOTHER", + "songID": 1290, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22016, + "notecount": 2090, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11daac88c69ca93f3cbda0634e22e075728fd440", + "difficulty": "HYPER", + "songID": 1290, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22016, + "notecount": 1009, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc50b5f7c9faecad959dc923e8168960599fbd57", + "difficulty": "NORMAL", + "songID": 1290, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22016, + "notecount": 596, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "407cd34932263b24504d81f686941cbf4b05a82b", + "difficulty": "ANOTHER", + "songID": 1290, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22016, + "notecount": 1691, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": true + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7880af2fd12110c8c7be2629ecb5302f7352aa72", + "difficulty": "HYPER", + "songID": 1290, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22016, + "notecount": 931, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52c3efb3c385a6c5739ecbf979ee917892203221", + "difficulty": "NORMAL", + "songID": 1290, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22016, + "notecount": 489, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b40efc1d58613f9fa88d6918d03f6ca343d39cae", + "difficulty": "ANOTHER", + "songID": 1291, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22017, + "notecount": 1681, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c559454d4e798957bffbe48520ac3f2e8cee7a14", + "difficulty": "HYPER", + "songID": 1291, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22017, + "notecount": 1118, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "70e6191d14caebb4203013cb49efe95bec63b7ff", + "difficulty": "NORMAL", + "songID": 1291, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22017, + "notecount": 535, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34b58328aa62cb6b2f6ffa225cb79b90a46d31a1", + "difficulty": "ANOTHER", + "songID": 1291, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22017, + "notecount": 1659, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.50", + "value": 12.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3024fcdd1f8ab33316a789657b17c54f9c7dfe33", + "difficulty": "HYPER", + "songID": 1291, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22017, + "notecount": 1082, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c083f7c461d59126a62b5ad056f01294405e932d", + "difficulty": "NORMAL", + "songID": 1291, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22017, + "notecount": 586, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10c2c0aa9e8c34eef28ab4af8f6ed3a6479f06f9", + "difficulty": "ANOTHER", + "songID": 1292, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22018, + "notecount": 1794, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "67fecc7c71374cb1230ad101b17c06c8fe9b6e73", + "difficulty": "HYPER", + "songID": 1292, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22018, + "notecount": 1125, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd0ed0a9d3b98c98f0e671ba960b06c707de0532", + "difficulty": "NORMAL", + "songID": 1292, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22018, + "notecount": 682, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "121ae86ba0b98667616231dbf50bc12160af65bb", + "difficulty": "ANOTHER", + "songID": 1292, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22018, + "notecount": 1649, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "15742908064a52c8660874f50cebeb6d8078824d", + "difficulty": "HYPER", + "songID": 1292, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22018, + "notecount": 1166, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a02f49594044b7e53069c9a6451506020c266477", + "difficulty": "NORMAL", + "songID": 1292, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22018, + "notecount": 698, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7142c918f18447a4339b2d3029ebe44b305de774", + "difficulty": "ANOTHER", + "songID": 1293, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22019, + "notecount": 1250, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "483e2086a4ded5f136dd63a3a30528a64e5315d0", + "difficulty": "HYPER", + "songID": 1293, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22019, + "notecount": 832, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ddcdd58b678d9ea0c19189a016019f0cdd5e26e", + "difficulty": "NORMAL", + "songID": 1293, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 22019, + "notecount": 297, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c6cdda303b0bae0e68c6d41a29193638340bf754", + "difficulty": "ANOTHER", + "songID": 1293, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22019, + "notecount": 1172, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03876ecb20589a178edac365f2b105aa7b71026e", + "difficulty": "HYPER", + "songID": 1293, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22019, + "notecount": 817, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45a31f62423a6ea68c13c8de25ccfcea9c299232", + "difficulty": "NORMAL", + "songID": 1293, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 22019, + "notecount": 316, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "88098559d547b2507330403213428ea277bb0061", + "difficulty": "ANOTHER", + "songID": 1294, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22020, + "notecount": 1052, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "613155ca92194580155539e2544add28bcd3420c", + "difficulty": "HYPER", + "songID": 1294, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22020, + "notecount": 721, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9bd2595341732816bc857752f7a2a40bf8a88fe8", + "difficulty": "NORMAL", + "songID": 1294, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22020, + "notecount": 409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea05e3d21d59e5e3e8e34172f4fafbc9eaa07dc6", + "difficulty": "ANOTHER", + "songID": 1294, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22020, + "notecount": 1059, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3062488ee94c93e152cce6ed1c12ccd9f9737a83", + "difficulty": "HYPER", + "songID": 1294, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22020, + "notecount": 695, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "222952dcdcf4bdd31bd0567f440a96c34d1cec03", + "difficulty": "NORMAL", + "songID": 1294, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22020, + "notecount": 458, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff4f66fbf4e9e00dd6abdba75aaf76b54af8263f", + "difficulty": "ANOTHER", + "songID": 1295, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22023, + "notecount": 1201, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "564f0b1c9eaa89832f3b050cd9940df639aa5f1c", + "difficulty": "HYPER", + "songID": 1295, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22023, + "notecount": 860, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a9b36d6d111561dc9d80704a34df7049b513271", + "difficulty": "NORMAL", + "songID": 1295, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22023, + "notecount": 423, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5051c951b35967b75c2a2b709dd08b8bd21e5e61", + "difficulty": "ANOTHER", + "songID": 1295, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22023, + "notecount": 1205, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4bff890218985ea9cd10d8d82660b4336bc9c1ed", + "difficulty": "HYPER", + "songID": 1295, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22023, + "notecount": 867, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9efe4bc2c815ca2e49942b3171bbb77595db3a8d", + "difficulty": "NORMAL", + "songID": 1295, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22023, + "notecount": 381, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c4e34140591feffd905b7e8d39374346dbce6b8", + "difficulty": "ANOTHER", + "songID": 1296, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22024, + "notecount": 955, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a771035389bbc5f3a0a2df253a3652f7f8a1e41b", + "difficulty": "HYPER", + "songID": 1296, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22024, + "notecount": 635, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "465910c1d899b8a1d8536b961a009e817e83c050", + "difficulty": "LEGGENDARIA", + "songID": 1296, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22024, + "notecount": 1494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae6bb451e63aceb0a916be0e4cda78c1dac3cbe1", + "difficulty": "NORMAL", + "songID": 1296, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22024, + "notecount": 409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "440bbcc79c18f6c8bf734d009a9a939ecdbe8089", + "difficulty": "ANOTHER", + "songID": 1296, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22024, + "notecount": 1021, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02f05bbef659354213f8119a0e8e415e14e46f9c", + "difficulty": "HYPER", + "songID": 1296, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22024, + "notecount": 664, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0bfdab235b966fb322025656d3a85e2c15b91312", + "difficulty": "LEGGENDARIA", + "songID": 1296, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22024, + "notecount": 1395, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "fa71ae47506674ac985e86496c097828c34ce4cf", + "difficulty": "NORMAL", + "songID": 1296, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 22024, + "notecount": 377, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f7f9ff06889d3d2aae7075ec5c3194845e81634", + "difficulty": "ANOTHER", + "songID": 1297, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22025, + "notecount": 1301, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5434bfcc52d6f922ebee44f5c929a7544ed84c72", + "difficulty": "HYPER", + "songID": 1297, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22025, + "notecount": 939, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a6a4b9483cb86ef59d654b1a9e8fd1cf79cd91bf", + "difficulty": "NORMAL", + "songID": 1297, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22025, + "notecount": 610, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "acfb19b440995e8d85bfc66361d7e0ce4abdfc59", + "difficulty": "ANOTHER", + "songID": 1297, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22025, + "notecount": 1130, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a7c6ef221c88f43a9b6ec03643c17c1fd0fa869", + "difficulty": "HYPER", + "songID": 1297, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22025, + "notecount": 789, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97c28e088addb83ec0cdedb07ea0002729e45581", + "difficulty": "NORMAL", + "songID": 1297, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22025, + "notecount": 396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fdc7a4e19658644b37667392f867c0705932851a", + "difficulty": "ANOTHER", + "songID": 1298, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22026, + "notecount": 951, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9896c25c6d0be322b42be96f32d584b6d06e3904", + "difficulty": "HYPER", + "songID": 1298, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22026, + "notecount": 555, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb6efbdfbc6179127688c2dc26c8fffa4e0485af", + "difficulty": "NORMAL", + "songID": 1298, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 22026, + "notecount": 223, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6a725c385e436a72bef0a601315ba2c7f334386c", + "difficulty": "ANOTHER", + "songID": 1298, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22026, + "notecount": 1018, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1ec4d0fe7c83f63ae8614a7f164739490155b95", + "difficulty": "HYPER", + "songID": 1298, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22026, + "notecount": 639, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fcffcfede9dea1c857f705acb503808d991be067", + "difficulty": "NORMAL", + "songID": 1298, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 22026, + "notecount": 240, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02d797f6df00b680ff063f1994187d2acc898c77", + "difficulty": "ANOTHER", + "songID": 1299, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22027, + "notecount": 1354, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "259f678c9d93d785b035f9d88c5f765495bf5dbd", + "difficulty": "HYPER", + "songID": 1299, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22027, + "notecount": 716, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9e4a278332f95e7157722b97e4d36269b3c3a18", + "difficulty": "LEGGENDARIA", + "songID": 1299, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22027, + "notecount": 1887, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "86592287837d0450c6a2c8ea62979c412c83c6e3", + "difficulty": "NORMAL", + "songID": 1299, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22027, + "notecount": 420, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a3210da68c478611da0c02d8b05d47b6fe93afaf", + "difficulty": "ANOTHER", + "songID": 1299, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22027, + "notecount": 1335, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "42a5706070bac0ec224388bde300718ba67e6173", + "difficulty": "HYPER", + "songID": 1299, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22027, + "notecount": 826, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9e64fcc0727a28f97c88a874f4ad94960cf87c04", + "difficulty": "LEGGENDARIA", + "songID": 1299, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22027, + "notecount": 1809, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "101877e1728daf651c2a98173bfabe9565448831", + "difficulty": "NORMAL", + "songID": 1299, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22027, + "notecount": 505, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b44567d113a2f4737324ae3e550a433f6608d6c0", + "difficulty": "ANOTHER", + "songID": 1300, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22028, + "notecount": 1087, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d6deee31aaa6b207aba62afa08bd849e6e56088c", + "difficulty": "HYPER", + "songID": 1300, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22028, + "notecount": 837, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "14dd23bf18b22a9016c2457935347ca5433659d6", + "difficulty": "NORMAL", + "songID": 1300, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22028, + "notecount": 521, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da303ae112185c37a7f1b9da4e2c6fcabb7b7abe", + "difficulty": "ANOTHER", + "songID": 1300, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22028, + "notecount": 966, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f3336be26b77ea649dd5113e9c7c324d48a3952", + "difficulty": "HYPER", + "songID": 1300, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22028, + "notecount": 798, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b5f84b94ee8412c98dd67b269a9fa89d92493248", + "difficulty": "NORMAL", + "songID": 1300, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22028, + "notecount": 509, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22", + "inf", + "15-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bed4ff5b9f18a306566f62cc6f2dc72480ef14f4", + "difficulty": "ANOTHER", + "songID": 1301, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22029, + "notecount": 1184, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e90c59b0fd3f440cf4deb309a783362637d47bbc", + "difficulty": "HYPER", + "songID": 1301, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22029, + "notecount": 684, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6a7bba86280a32238b54cf98b3896b77e0f59a23", + "difficulty": "NORMAL", + "songID": 1301, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22029, + "notecount": 353, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4971d2f0dcaf5088cf205a037978dc8338485b98", + "difficulty": "ANOTHER", + "songID": 1301, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22029, + "notecount": 1159, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "95f96fb5ca95a85b06b564172c24b3ea4a39d877", + "difficulty": "HYPER", + "songID": 1301, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22029, + "notecount": 627, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e263691f8a255a856eca0c7101b425ea78823823", + "difficulty": "NORMAL", + "songID": 1301, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22029, + "notecount": 295, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9952387f010ec952cc11726503e4aa72bce964cf", + "difficulty": "ANOTHER", + "songID": 1302, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22031, + "notecount": 1651, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9894605159581bafedb8a2def164c227b1c1daa", + "difficulty": "HYPER", + "songID": 1302, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22031, + "notecount": 973, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e3ec9b7bdf4601c12c7c02e544ddcc74a8789e8", + "difficulty": "LEGGENDARIA", + "songID": 1302, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22031, + "notecount": 2257, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ecd5572e3e7579a4b15caa8352e6eaadf1c0f139", + "difficulty": "NORMAL", + "songID": 1302, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22031, + "notecount": 529, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dde926d70c01e01bda4f18c0bb76321e49c53865", + "difficulty": "ANOTHER", + "songID": 1302, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22031, + "notecount": 1350, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2be2a7a9d659476eef7fa630868c1ef189818748", + "difficulty": "HYPER", + "songID": 1302, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22031, + "notecount": 1028, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28fb63a81c602f8a5cd7130efac57e77ff9f8015", + "difficulty": "LEGGENDARIA", + "songID": 1302, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22031, + "notecount": 2110, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1b6af6be21ec5f6bf93a2d35c2f05878d256871d", + "difficulty": "NORMAL", + "songID": 1302, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22031, + "notecount": 531, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "414fe7d7fd325e1560a740c5914ebc3544f6c400", + "difficulty": "ANOTHER", + "songID": 1303, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22032, + "notecount": 1848, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee4aa6b1caadf439c5ad122dae0c2ef4a1d8f3a8", + "difficulty": "HYPER", + "songID": 1303, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22032, + "notecount": 1264, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa79107b4bef5e5ff634f1508bfe39795cdf4843", + "difficulty": "NORMAL", + "songID": 1303, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22032, + "notecount": 567, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f8820703c3e5099c9b0e732e5cf9a629487e778", + "difficulty": "ANOTHER", + "songID": 1303, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22032, + "notecount": 1771, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": true + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4da4dfc543bdc47b1f86eb8c4a270e065bde005b", + "difficulty": "HYPER", + "songID": 1303, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22032, + "notecount": 1186, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74d167ec419efa8073ae13cbb4292938cf051587", + "difficulty": "NORMAL", + "songID": 1303, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22032, + "notecount": 504, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6487fb33f1043f587107fa3af2c5c65e7992a329", + "difficulty": "ANOTHER", + "songID": 1304, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22033, + "notecount": 1764, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "855eaf273c25f4c7ccb5709f257c66f171b1578a", + "difficulty": "HYPER", + "songID": 1304, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22033, + "notecount": 1139, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4e7a8bc2f60ef95a96c10fab685339ca05d215a", + "difficulty": "NORMAL", + "songID": 1304, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22033, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca9a886582e37613ad134415911ce444292295f4", + "difficulty": "ANOTHER", + "songID": 1304, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22033, + "notecount": 1601, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6dbee2a13adb958bd1b74b75dbf7e141a9c3f989", + "difficulty": "HYPER", + "songID": 1304, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22033, + "notecount": 1037, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "31458d2cb17aad61442cc7ac5677ca7c5fe76118", + "difficulty": "NORMAL", + "songID": 1304, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22033, + "notecount": 432, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0845362e323c483454f20ffe704474158755fefb", + "difficulty": "ANOTHER", + "songID": 1305, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22034, + "notecount": 1539, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c6ae51cf7e0137d3e72bb1552f05121cd09e5379", + "difficulty": "HYPER", + "songID": 1305, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22034, + "notecount": 1152, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d3bd248d25c94711413153b47b9a4aeedd1aa83e", + "difficulty": "NORMAL", + "songID": 1305, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22034, + "notecount": 677, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93464077e82b3cbeefffe1fc1e881f07bdeacf79", + "difficulty": "ANOTHER", + "songID": 1305, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22034, + "notecount": 1503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4c715c1f5f5a93a0077d023bf6cc7b068fdd1c86", + "difficulty": "HYPER", + "songID": 1305, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22034, + "notecount": 1054, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b3aed9ba86ef1d1924ddac77085894c1ec090c5", + "difficulty": "NORMAL", + "songID": 1305, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22034, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "895a399ec3765091581a24774128e492fbdcfdc3", + "difficulty": "ANOTHER", + "songID": 1306, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22035, + "notecount": 1658, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e7196f66e2e96098fc50ebf55fe5eea61fbb6ac2", + "difficulty": "HYPER", + "songID": 1306, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22035, + "notecount": 1035, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd19516c12f8bb2b1a646ffb87f0e0485489e52e", + "difficulty": "NORMAL", + "songID": 1306, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22035, + "notecount": 559, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2aeca0d517dffe6d7ea15e88a9b4dfbc6a772de3", + "difficulty": "ANOTHER", + "songID": 1306, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22035, + "notecount": 1485, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "344c8d3400a3a7b61411c8ba8ea84c7708e2400e", + "difficulty": "HYPER", + "songID": 1306, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22035, + "notecount": 907, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f4e869dc1581a3672a6e3361c661f0489b10471d", + "difficulty": "NORMAL", + "songID": 1306, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22035, + "notecount": 477, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4786460861ce3304f7310923a1409274868b0b23", + "difficulty": "ANOTHER", + "songID": 1307, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22036, + "notecount": 1007, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98a51ab16166cb11617c4cea534aa0209825bdf0", + "difficulty": "HYPER", + "songID": 1307, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22036, + "notecount": 686, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2bcb3bf30c4c24ea1207d24ac097ff04a1d8bb9", + "difficulty": "NORMAL", + "songID": 1307, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22036, + "notecount": 444, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98befdd6af41390b8717c54e0cde6419af8b3bd6", + "difficulty": "ANOTHER", + "songID": 1307, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22036, + "notecount": 1060, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "70201e5f209a41b7af16e125254be59bd586958a", + "difficulty": "HYPER", + "songID": 1307, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22036, + "notecount": 682, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a35b464ee94dd4316f3884bcd9b17b253aedfbe", + "difficulty": "NORMAL", + "songID": 1307, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22036, + "notecount": 390, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1657c1d1cb1e697e6e3666d25345627171173128", + "difficulty": "ANOTHER", + "songID": 1308, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22037, + "notecount": 1235, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bfe4c27de1c525e9bcac746ecfd13c9832196ca1", + "difficulty": "HYPER", + "songID": 1308, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22037, + "notecount": 917, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "582b626ebc150df3ca36a6cb49ada841944af6b3", + "difficulty": "NORMAL", + "songID": 1308, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22037, + "notecount": 662, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51ddac33912d2f25a6db85be111b7a2579a37c8c", + "difficulty": "ANOTHER", + "songID": 1308, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22037, + "notecount": 1132, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f0ffb38d4b6f1451e3b32bd764651570240ae1e", + "difficulty": "HYPER", + "songID": 1308, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22037, + "notecount": 823, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8eb4480df672572bbd55b077be0584eb2cae16bb", + "difficulty": "NORMAL", + "songID": 1308, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22037, + "notecount": 521, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9bcf41bb170a49b51aa2a9e1a81b5d4022c0baa", + "difficulty": "ANOTHER", + "songID": 1309, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22038, + "notecount": 1291, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "62fdf193a97b708bd3062d80dc11fbb81f55cb47", + "difficulty": "HYPER", + "songID": 1309, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22038, + "notecount": 930, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f2698fa99a26087630ee043fed34d8ed66de3b4", + "difficulty": "NORMAL", + "songID": 1309, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22038, + "notecount": 599, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26b526565fede68e552920a87ede9ebc72f1defa", + "difficulty": "ANOTHER", + "songID": 1309, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22038, + "notecount": 1445, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.50", + "value": 12.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a7f5d9980188a6f146193447655d2b9a9c9a9b0b", + "difficulty": "BEGINNER", + "songID": 1309, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 22038, + "notecount": 249, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "802bbdd598438ef54c3b785f0347c4ba0cfaebb8", + "difficulty": "HYPER", + "songID": 1309, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22038, + "notecount": 929, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52c0eb9defec9a3c1e56322b6d753b69d10e4d9d", + "difficulty": "NORMAL", + "songID": 1309, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22038, + "notecount": 544, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93e1e1fc05c48a0356a0835ebc47d5bb1235778a", + "difficulty": "ANOTHER", + "songID": 1310, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22039, + "notecount": 1509, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d90f8123d548a688475f9f8246c20d295bc2d23f", + "difficulty": "HYPER", + "songID": 1310, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22039, + "notecount": 1092, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3b52b64692f597f48a65d64fd21d774d22abb4ee", + "difficulty": "NORMAL", + "songID": 1310, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22039, + "notecount": 596, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca5ba65911118ac36d7391c7409e3419e976ac4b", + "difficulty": "ANOTHER", + "songID": 1310, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22039, + "notecount": 1606, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": true + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1b313d5b2cfaddca91bebe10107d71e8e4d95dee", + "difficulty": "HYPER", + "songID": 1310, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22039, + "notecount": 1091, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30b40465a2b8edc9d7d346e809d0112cf0fdc453", + "difficulty": "NORMAL", + "songID": 1310, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22039, + "notecount": 596, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "12-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b1cfa5480c9a994d5c2c94ade86bc9720c7e5a5", + "difficulty": "ANOTHER", + "songID": 1311, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22040, + "notecount": 1626, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc45d02e9d12e1a2339c6ccd6b6c8e0e8c285270", + "difficulty": "HYPER", + "songID": 1311, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22040, + "notecount": 929, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d3197ef8a19811495c9e47da4e8695f0967b200a", + "difficulty": "NORMAL", + "songID": 1311, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22040, + "notecount": 592, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d92c86185317fdc23510b6fb95684ccdd0764dc1", + "difficulty": "ANOTHER", + "songID": 1311, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22040, + "notecount": 1479, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e8cbbd4ac0b8bb1c6f29c0216cf51db2f26498ea", + "difficulty": "HYPER", + "songID": 1311, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22040, + "notecount": 1028, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "be7464c936e39fc85fa1787b16f67399b15847ac", + "difficulty": "NORMAL", + "songID": 1311, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22040, + "notecount": 611, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa21939fe1d7377952f4c29e0fb0418e8dba17e9", + "difficulty": "ANOTHER", + "songID": 1312, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22041, + "notecount": 1613, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32fb40507e092a6e69f97f5b6d930b357f87a624", + "difficulty": "HYPER", + "songID": 1312, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22041, + "notecount": 1069, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60eb29e88bf480e15f065dbaac243987a4d222cb", + "difficulty": "NORMAL", + "songID": 1312, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22041, + "notecount": 564, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d379211d140f8b373421c2deba95c73055c3ea0", + "difficulty": "ANOTHER", + "songID": 1312, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22041, + "notecount": 1501, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5f33d63d70a2177636e9ac89b6ce07bb7e330429", + "difficulty": "HYPER", + "songID": 1312, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22041, + "notecount": 964, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68083a11aedb639ba46cf43e4fa2e92bce9fe628", + "difficulty": "NORMAL", + "songID": 1312, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22041, + "notecount": 493, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e42e9ecab2c78e462f92f5e2686ac055fb65ab2c", + "difficulty": "ANOTHER", + "songID": 1313, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22042, + "notecount": 1000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0148386eacac5de49faafa28e9f6bdc9f35d1361", + "difficulty": "HYPER", + "songID": 1313, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22042, + "notecount": 586, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "61c46db3fbaa667901829693e5d3d7bb825f3b9c", + "difficulty": "NORMAL", + "songID": 1313, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22042, + "notecount": 345, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f5f17f3a8ec03e5625574476c390161d3485bc54", + "difficulty": "ANOTHER", + "songID": 1313, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22042, + "notecount": 1020, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "712cd00c4b5b958817d98d58caa8361885476e2d", + "difficulty": "HYPER", + "songID": 1313, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22042, + "notecount": 689, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa393aed4d2e8645a4425f9981e9e5cfe18a46e4", + "difficulty": "NORMAL", + "songID": 1313, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22042, + "notecount": 338, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c6d2218d22320df34c56a9be4bf13f9e3dc05142", + "difficulty": "ANOTHER", + "songID": 1314, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22043, + "notecount": 1153, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1d0845f19876ae38dd850672122ffb3f74f02c8", + "difficulty": "HYPER", + "songID": 1314, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22043, + "notecount": 807, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d44301351fe5661700d1ac89dbbc50aed739ac07", + "difficulty": "NORMAL", + "songID": 1314, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22043, + "notecount": 502, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3dba626c0505ab89737523ea55afc9112d855117", + "difficulty": "ANOTHER", + "songID": 1314, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22043, + "notecount": 1163, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": true + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4794dda67afcf0e4f281f8fe79a40a8ca8cb776c", + "difficulty": "HYPER", + "songID": 1314, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22043, + "notecount": 885, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "653a0d49a2e04493c6d96d549044bac64651219d", + "difficulty": "NORMAL", + "songID": 1314, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22043, + "notecount": 335, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1200268fb6b322b77609ffb73ebcd9946b077ed8", + "difficulty": "ANOTHER", + "songID": 1315, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22044, + "notecount": 1672, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c2c6982aaf2ba20d46c57287383d792f0bcc022b", + "difficulty": "HYPER", + "songID": 1315, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22044, + "notecount": 968, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b38c81e76d9b0463e3d14fb4bcacf2271450f816", + "difficulty": "NORMAL", + "songID": 1315, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22044, + "notecount": 600, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a62fc0ba42e4674464b89fa2b5ac0ee6f3d7206c", + "difficulty": "ANOTHER", + "songID": 1315, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22044, + "notecount": 1491, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "dd5e38cf7551c79e5604b211764bf4adf07b4a3a", + "difficulty": "HYPER", + "songID": 1315, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22044, + "notecount": 972, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "faf59f6f7f9349b4aa0dd9ecc7ecba49f2a59732", + "difficulty": "NORMAL", + "songID": 1315, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22044, + "notecount": 599, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "76dcbb22f71e73995cda458ecdd96e1a1e2b7bd1", + "difficulty": "ANOTHER", + "songID": 1316, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22045, + "notecount": 1194, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "826fd366c3090d68b54e721d9b4d31fc334d625f", + "difficulty": "HYPER", + "songID": 1316, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22045, + "notecount": 838, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "06f7050b776a76648f023c64b433b0619a3d1981", + "difficulty": "NORMAL", + "songID": 1316, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22045, + "notecount": 531, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "620eeaaa856238689999fd3cedb387a78c9c0f8c", + "difficulty": "ANOTHER", + "songID": 1316, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22045, + "notecount": 1289, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11, + "individualDifference": true + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c4b4877d8a49e15df2852f5ad20990d0f6ab37b2", + "difficulty": "HYPER", + "songID": 1316, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22045, + "notecount": 853, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6fb807b1cb6e2ada37c3ddde455ff5567247c234", + "difficulty": "NORMAL", + "songID": 1316, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22045, + "notecount": 509, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "994ef02fb9c46c6084bb5a24beacae29b007d211", + "difficulty": "ANOTHER", + "songID": 1317, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22046, + "notecount": 1087, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "786c8926795ca3721614bae0f726ffded717c6b2", + "difficulty": "HYPER", + "songID": 1317, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22046, + "notecount": 786, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "000222f0a5982f2f05c2dca51a668e8b4cea3802", + "difficulty": "NORMAL", + "songID": 1317, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22046, + "notecount": 408, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c613e49f3bc8cba1555422ba8ba484d81963e8f1", + "difficulty": "ANOTHER", + "songID": 1317, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22046, + "notecount": 1031, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6bfb5f18153825d94d883633d7a74e4f211a344f", + "difficulty": "HYPER", + "songID": 1317, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22046, + "notecount": 731, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "05cf6737cb20a474bd02bf0b9f511c9fa4d7fb96", + "difficulty": "NORMAL", + "songID": 1317, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22046, + "notecount": 432, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a89d0f86e305c6f50f580e3139d8d76de3c1e69a", + "difficulty": "ANOTHER", + "songID": 1318, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22047, + "notecount": 1313, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f82be0b3fa7cd250b570210906ae90e02e500481", + "difficulty": "HYPER", + "songID": 1318, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22047, + "notecount": 975, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd52c9fc43d830b10a2f108d6fb6d323e178a2ff", + "difficulty": "NORMAL", + "songID": 1318, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22047, + "notecount": 546, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b2ff69b2fbc7e1b5887c9a60b17319d228ce872f", + "difficulty": "ANOTHER", + "songID": 1318, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22047, + "notecount": 1395, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f030cead362d665936b1afdd941f3dd897d74dfe", + "difficulty": "HYPER", + "songID": 1318, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22047, + "notecount": 983, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9302641dc42e733645176b7da4b5aa9085eac76c", + "difficulty": "NORMAL", + "songID": 1318, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22047, + "notecount": 571, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "65e770e88d8091688ad0a588630342dafe75e250", + "difficulty": "ANOTHER", + "songID": 1319, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22048, + "notecount": 1243, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd7115740c83af8087a176390fed2283d506aba6", + "difficulty": "HYPER", + "songID": 1319, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22048, + "notecount": 728, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "15958175f35af2c45792e2362acd62bbae2956ad", + "difficulty": "NORMAL", + "songID": 1319, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22048, + "notecount": 386, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce22f2d5f103080c9138bb5c4fb0895ebdb2568a", + "difficulty": "ANOTHER", + "songID": 1319, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22048, + "notecount": 1285, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "29a2609e6d46f0e2768d6f958f9c3ec049ef322d", + "difficulty": "HYPER", + "songID": 1319, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22048, + "notecount": 756, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ddf45d277364cfe9364461c990e84f9e11ebb2ef", + "difficulty": "NORMAL", + "songID": 1319, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22048, + "notecount": 453, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1cb552c1b91751d349a00ef08b6c46cf1ba216e3", + "difficulty": "ANOTHER", + "songID": 1320, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22049, + "notecount": 1459, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bebe481e5e6b9d825ac84e473bc76c813b006bad", + "difficulty": "HYPER", + "songID": 1320, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22049, + "notecount": 1177, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0dedd235fb62ed78c6e111413c71405cf646e70f", + "difficulty": "NORMAL", + "songID": 1320, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22049, + "notecount": 741, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "288df175a094cbf1b201bb4065827fe37ce4a747", + "difficulty": "ANOTHER", + "songID": 1320, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22049, + "notecount": 1458, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e28e9272e94b8530e5135575edd8c59cf1302bab", + "difficulty": "HYPER", + "songID": 1320, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22049, + "notecount": 911, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1fdd7d9767817692179085cf9feba3ab7ebeeb7", + "difficulty": "NORMAL", + "songID": 1320, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22049, + "notecount": 494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3768789dcf2e08fdf1319e497d55d4a8dd2f6bd9", + "difficulty": "ANOTHER", + "songID": 1321, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22050, + "notecount": 1294, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80c708b046222c12b717246fb3a44b4d0a3b1e3c", + "difficulty": "HYPER", + "songID": 1321, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22050, + "notecount": 782, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4706d37864684616c1bbc7fdc21ffb01d4578519", + "difficulty": "NORMAL", + "songID": 1321, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22050, + "notecount": 551, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a3e7419e66a942ea5f2d838031796016b485bf20", + "difficulty": "ANOTHER", + "songID": 1321, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22050, + "notecount": 1281, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3b617c491d1fb936b4a9211dc98e7dc04d40ff00", + "difficulty": "HYPER", + "songID": 1321, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22050, + "notecount": 843, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ad4a90828b270988ff54302dfd63fba2bafee80", + "difficulty": "NORMAL", + "songID": 1321, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22050, + "notecount": 449, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aaa821f0abf1d34f77ebc74abc1637d2f77384f7", + "difficulty": "ANOTHER", + "songID": 1322, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22051, + "notecount": 1254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6973bb034510ad0e10ea4d80cfc2e5832a9950db", + "difficulty": "HYPER", + "songID": 1322, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22051, + "notecount": 909, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0bad0e494984c43d7382058f504aebb064616508", + "difficulty": "NORMAL", + "songID": 1322, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22051, + "notecount": 556, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "38079d398e75a97353fe5e57b5cc63293ebc7a80", + "difficulty": "ANOTHER", + "songID": 1322, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22051, + "notecount": 1354, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f319e353f60518d4e0f83c985730cd9b0c158a92", + "difficulty": "HYPER", + "songID": 1322, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22051, + "notecount": 876, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "58aeb020ec266de5e8cf453ede74bb3200878e03", + "difficulty": "NORMAL", + "songID": 1322, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22051, + "notecount": 442, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "018c34cc2d31975f0c3da434171399106545b804", + "difficulty": "ANOTHER", + "songID": 1323, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22052, + "notecount": 1187, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32d7d623f3c0ad9f4b2abb55cc5c831121ebd5e3", + "difficulty": "HYPER", + "songID": 1323, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22052, + "notecount": 911, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bab40d09f3006ee62a06d127d1ee7a4af6279aa7", + "difficulty": "NORMAL", + "songID": 1323, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22052, + "notecount": 621, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13a58a19cf7ef3c3d58f89f6eec75967e3d7e3b0", + "difficulty": "ANOTHER", + "songID": 1323, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22052, + "notecount": 1086, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ac1cd8f01ae8ca8c0488a3f9cd5b619f4e9b0773", + "difficulty": "HYPER", + "songID": 1323, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22052, + "notecount": 913, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82c2497a0f0e50f3977c4d606a727488b5a32bf7", + "difficulty": "NORMAL", + "songID": 1323, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22052, + "notecount": 569, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "37653c648904d86248d2c781684100cabac01cce", + "difficulty": "ANOTHER", + "songID": 1324, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22053, + "notecount": 1524, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4eeac2c62d3b84e32030136a357fdac835c51632", + "difficulty": "HYPER", + "songID": 1324, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22053, + "notecount": 912, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d8a01b3f459d40f2521c4b8a8a1eb04335ce149f", + "difficulty": "NORMAL", + "songID": 1324, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22053, + "notecount": 511, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3da5e897e03aebcf94079a6c71d5524502adece2", + "difficulty": "ANOTHER", + "songID": 1324, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22053, + "notecount": 1533, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0535875b93d229464e2d80b3b634331333498515", + "difficulty": "HYPER", + "songID": 1324, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22053, + "notecount": 966, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4ef12f441025ad1bf044624ffbd671186370891e", + "difficulty": "NORMAL", + "songID": 1324, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22053, + "notecount": 495, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f6438fe1dc2e155b6a8e056309bfdf0a8b13e06", + "difficulty": "ANOTHER", + "songID": 1325, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22054, + "notecount": 2222, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fbccc0e4369ea7bb2b16c3342a945f4fe8c687c4", + "difficulty": "HYPER", + "songID": 1325, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22054, + "notecount": 1422, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "947246e477dfe9da828f87a2bf6ccbe679848b0e", + "difficulty": "NORMAL", + "songID": 1325, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22054, + "notecount": 722, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f94fe9c3bdc18c440e7ba2dff824adaa2c9d3a9", + "difficulty": "ANOTHER", + "songID": 1325, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22054, + "notecount": 2222, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1bf603dc03acca6369e66c91477c6d5493720595", + "difficulty": "BEGINNER", + "songID": 1325, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 22054, + "notecount": 281, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6327609bd9e61074dd33c7c4b50e53b17ff2e077", + "difficulty": "HYPER", + "songID": 1325, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22054, + "notecount": 1422, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3963214e0eeb0f99dbaa3a718a5675441fbcaab5", + "difficulty": "NORMAL", + "songID": 1325, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22054, + "notecount": 722, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "340816a91cfb5605d4e551b77ed64eed920b63f2", + "difficulty": "ANOTHER", + "songID": 1326, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22055, + "notecount": 1528, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b43f4230e914409b2dd36cb3a20a198545b7085", + "difficulty": "HYPER", + "songID": 1326, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22055, + "notecount": 951, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35208a1ffe61924e6abc0edf52f7abbeb6bfbac8", + "difficulty": "NORMAL", + "songID": 1326, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22055, + "notecount": 585, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63f5ab7b244dfd1207202ebc283ae9e00bd16e8d", + "difficulty": "ANOTHER", + "songID": 1326, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22055, + "notecount": 1501, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "27916e7ccc0ecc698fe28cff7ed99b6b2bf2b0e3", + "difficulty": "HYPER", + "songID": 1326, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22055, + "notecount": 900, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4232be5e0dc9fcd4d037ad93905ff09d4cf436b9", + "difficulty": "NORMAL", + "songID": 1326, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22055, + "notecount": 552, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72c3e477f13e1c49b378a13880e0a27e5a048c72", + "difficulty": "ANOTHER", + "songID": 1327, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22056, + "notecount": 1145, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb73bd806271ead2b6c57c95cb31f8967c8546e6", + "difficulty": "HYPER", + "songID": 1327, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22056, + "notecount": 858, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ec2d3a55d7f07b84cd2666970953591f49f0ce1", + "difficulty": "NORMAL", + "songID": 1327, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22056, + "notecount": 544, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "478f567eefe76662649b3b4b7b3e5f9ec563a62f", + "difficulty": "ANOTHER", + "songID": 1327, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22056, + "notecount": 1180, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "23ca928fa1728499143590f941cbd6725c90dcca", + "difficulty": "HYPER", + "songID": 1327, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22056, + "notecount": 849, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d3c5807bf6b89439533b2eb253ce71b54af06fbe", + "difficulty": "NORMAL", + "songID": 1327, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22056, + "notecount": 579, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ea1cee263a92b555b6c7c0bfa9bc107c35f23a7", + "difficulty": "ANOTHER", + "songID": 1328, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22057, + "notecount": 1618, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "005260cc9b7b3b45da507c700e93ac2b9673615a", + "difficulty": "HYPER", + "songID": 1328, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22057, + "notecount": 1120, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83b07bbca21f625f52d4769f3f909c0e34d0e842", + "difficulty": "NORMAL", + "songID": 1328, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22057, + "notecount": 582, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3fc44f9686a82a9857df084779dfed8cefa1f827", + "difficulty": "ANOTHER", + "songID": 1328, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22057, + "notecount": 1518, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e8e38aec17ecdf691c6eb8c922f909a933e5511b", + "difficulty": "HYPER", + "songID": 1328, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22057, + "notecount": 1030, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "991690a67fd0f4d45ecc192e93d7c9e223b7b70c", + "difficulty": "NORMAL", + "songID": 1328, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22057, + "notecount": 527, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df24cbcb02db6e7a7c47ca6a44ba73016c29871e", + "difficulty": "ANOTHER", + "songID": 1329, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22058, + "notecount": 1424, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b8c88e368a058af9b50bec614d343a45e952341e", + "difficulty": "HYPER", + "songID": 1329, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22058, + "notecount": 816, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "14216c2ce31ddf744568c81c4882aa0d63dbc42d", + "difficulty": "NORMAL", + "songID": 1329, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22058, + "notecount": 436, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0448490c05dab193fb7b36c7f7ec7cfa61e1faf6", + "difficulty": "ANOTHER", + "songID": 1329, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22058, + "notecount": 1475, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "ae53c8aad9273c31b34ae6cb1a200f38c701c670", + "difficulty": "HYPER", + "songID": 1329, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22058, + "notecount": 871, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "276987265e0e3a0ad7d84c0946e8c0960351afa0", + "difficulty": "NORMAL", + "songID": 1329, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22058, + "notecount": 435, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e16c92be0ac9c0d3e1f7fbf671194bc43691af11", + "difficulty": "ANOTHER", + "songID": 1330, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22059, + "notecount": 1220, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f920f549a309c92fa7ac855145180909843c683e", + "difficulty": "HYPER", + "songID": 1330, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22059, + "notecount": 626, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d85eb87e1fbfefdbb85224f6bd3fea859dd74267", + "difficulty": "NORMAL", + "songID": 1330, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22059, + "notecount": 424, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d51b49b81fa8174d5e7ecce99fabf63cadce0c13", + "difficulty": "ANOTHER", + "songID": 1330, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22059, + "notecount": 1143, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c20ae7990f1c7d5f43be64c2c5d3cd963d63500", + "difficulty": "HYPER", + "songID": 1330, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22059, + "notecount": 651, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "670d5a1e12e57a049398c92747d3f64e739760e6", + "difficulty": "NORMAL", + "songID": 1330, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22059, + "notecount": 323, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "67ec5dc5d604287d0888b10b35cbbf715c9e0913", + "difficulty": "ANOTHER", + "songID": 1331, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22060, + "notecount": 1156, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "755c39880bf7fb314f7c5ff91df51c65b215b662", + "difficulty": "HYPER", + "songID": 1331, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22060, + "notecount": 731, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a7cff6b80da6bfbc4c552e55b6e16a1311f1898", + "difficulty": "NORMAL", + "songID": 1331, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22060, + "notecount": 520, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "326eab98c25ea5502e47cb0b381592dcac5560f9", + "difficulty": "ANOTHER", + "songID": 1331, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22060, + "notecount": 1190, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d6ce4563fe7780a111e8224150c1fd5f6179ea03", + "difficulty": "HYPER", + "songID": 1331, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22060, + "notecount": 710, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d0224f5d446fb9190521e760b99ed7714008e86", + "difficulty": "NORMAL", + "songID": 1331, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22060, + "notecount": 520, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "96fe9e96d7b9bb04a0841b56e73cc886f18dc052", + "difficulty": "ANOTHER", + "songID": 1332, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22061, + "notecount": 1134, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9c30a5f303c8f51241726cdd08a6c95f8be38a4a", + "difficulty": "HYPER", + "songID": 1332, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22061, + "notecount": 715, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "128dc5890d903f07c6f25aa1c4a1d49770abd3bf", + "difficulty": "NORMAL", + "songID": 1332, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22061, + "notecount": 421, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "677948fc98738e3ea5415c3146e01959fd6c011c", + "difficulty": "ANOTHER", + "songID": 1332, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22061, + "notecount": 1198, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b77979a06b69a6113e3e51bdb741f911922999e9", + "difficulty": "HYPER", + "songID": 1332, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22061, + "notecount": 871, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ededb63509748014da7925752d9b69a48b1eb4f8", + "difficulty": "NORMAL", + "songID": 1332, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22061, + "notecount": 461, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bde5a2b531c14bc6ca860ac17d134b961051de0c", + "difficulty": "ANOTHER", + "songID": 1333, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22062, + "notecount": 1301, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b507f9a027ba9162686b66182bacc25c71090d20", + "difficulty": "HYPER", + "songID": 1333, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22062, + "notecount": 770, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c60670feb47a1994dde29f733465831270de46b6", + "difficulty": "NORMAL", + "songID": 1333, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22062, + "notecount": 479, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df7d4bf63feb6b921845834f1d3370d9d4d75f08", + "difficulty": "ANOTHER", + "songID": 1333, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22062, + "notecount": 1342, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7f1a82b40bae1b97c97505c2e038607e68d916ee", + "difficulty": "BEGINNER", + "songID": 1333, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 22062, + "notecount": 100, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e13901cd992ee79b8e10571d23ff260d4f7f01f", + "difficulty": "HYPER", + "songID": 1333, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22062, + "notecount": 701, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ddc71464cab325057d5e57170ace16e8352d6475", + "difficulty": "NORMAL", + "songID": 1333, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22062, + "notecount": 419, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1bae9a547f314baffbc668200e973d8d704c9fea", + "difficulty": "ANOTHER", + "songID": 1334, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22063, + "notecount": 1216, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4103bd22d344501308333ddef2f237d39c17b6bf", + "difficulty": "HYPER", + "songID": 1334, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22063, + "notecount": 1028, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bdc4bbc88c9d75eec56b92c5b29c67124a05e905", + "difficulty": "NORMAL", + "songID": 1334, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22063, + "notecount": 639, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "803fab4e2b546bb510d58437e3b6abc58ac1d86e", + "difficulty": "ANOTHER", + "songID": 1334, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22063, + "notecount": 1286, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6368379e2dc7d8cca1a1f43c51bf01a89ad96f63", + "difficulty": "HYPER", + "songID": 1334, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22063, + "notecount": 1082, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53639454acc005e40977d472efc8cfd328f60a0a", + "difficulty": "NORMAL", + "songID": 1334, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22063, + "notecount": 609, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "86c0047f49a21a2be70ce9961981ee75708d775f", + "difficulty": "ANOTHER", + "songID": 1335, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22064, + "notecount": 1467, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b57f731ac2d830181747da37eb4acdaefe1ac2ff", + "difficulty": "HYPER", + "songID": 1335, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22064, + "notecount": 960, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab07684e7709eb1d51e02a75dd573ec76e1b6bed", + "difficulty": "NORMAL", + "songID": 1335, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22064, + "notecount": 576, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a021b88b64d7eecb26d5ecca06e860966ff01af6", + "difficulty": "ANOTHER", + "songID": 1335, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22064, + "notecount": 1265, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "337c971830df4f839ae6a5acc6f1049491a00121", + "difficulty": "HYPER", + "songID": 1335, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22064, + "notecount": 889, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a19d3586d1a17a334415ea1b76bfcf481f6b7588", + "difficulty": "NORMAL", + "songID": 1335, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22064, + "notecount": 519, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3cbf10191e01e756770a14bed278eef2af2e8a56", + "difficulty": "ANOTHER", + "songID": 1336, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22065, + "notecount": 1778, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8e15fd53f8f04788b4f5a5ec60b120ffe8ef8be", + "difficulty": "HYPER", + "songID": 1336, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22065, + "notecount": 1094, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a3b5f84542f0de26563621d561e379fc3b33f4d6", + "difficulty": "NORMAL", + "songID": 1336, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22065, + "notecount": 589, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "75f19bc87b45c0956a7e1734172733d533ea46a8", + "difficulty": "ANOTHER", + "songID": 1336, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22065, + "notecount": 1657, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d31eba051dfadf9ec92f3ef89d6531801a027f83", + "difficulty": "HYPER", + "songID": 1336, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22065, + "notecount": 1106, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c05cb24745175cbc46c7997da351d1afa5549de", + "difficulty": "NORMAL", + "songID": 1336, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22065, + "notecount": 528, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c963852c74b815a300d6fe851a634eca38a2852", + "difficulty": "ANOTHER", + "songID": 1337, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 20053, + "notecount": 1493, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5fbe7f4f3093feccc9ffaf183a3a016095c3b3df", + "difficulty": "HYPER", + "songID": 1337, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20053, + "notecount": 977, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e48426cce36d50a51aa596d75ea33c959efc0583", + "difficulty": "NORMAL", + "songID": 1337, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20053, + "notecount": 605, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3fb33734d5dbdd9bb16b19b6afd6ebc2d54074ce", + "difficulty": "ANOTHER", + "songID": 1337, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20053, + "notecount": 1460, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "97956b06fab7cea820753c1cb538071f99173a02", + "difficulty": "BEGINNER", + "songID": 1337, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 20053, + "notecount": 182, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da4de2e4c905f2689c37293de704b1fa63451e8b", + "difficulty": "HYPER", + "songID": 1337, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20053, + "notecount": 915, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e9bfb7053954fe844599c7c4e09d9036cf41a95", + "difficulty": "NORMAL", + "songID": 1337, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20053, + "notecount": 575, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "686ed78e3827858ec4e9a7189405aafe24926f50", + "difficulty": "ANOTHER", + "songID": 1338, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22066, + "notecount": 856, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5656ea8dbdac24467ed46c3bb052ed60258e2fea", + "difficulty": "HYPER", + "songID": 1338, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22066, + "notecount": 597, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b1ad80f7a77112a47fd0fe36d2a5968647d0866", + "difficulty": "NORMAL", + "songID": 1338, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22066, + "notecount": 352, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b81cd452df590957e207cee25f4681249c97f07e", + "difficulty": "ANOTHER", + "songID": 1338, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22066, + "notecount": 858, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f2b79d0e758999a35ea53222445d7845fba77d8", + "difficulty": "HYPER", + "songID": 1338, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22066, + "notecount": 597, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21ccae6cdc8dbe5fa77e5f12ba6e796def26493e", + "difficulty": "NORMAL", + "songID": 1338, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 22066, + "notecount": 352, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5aa9d498c6c8d141e3757efc6051d7298c2e4f7e", + "difficulty": "ANOTHER", + "songID": 1339, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22067, + "notecount": 1149, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f8bd62d353d62df778cc9f8c2889f7cada896f7", + "difficulty": "HYPER", + "songID": 1339, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22067, + "notecount": 890, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e7afd97a508ad5d97882f7a118ce5eec69447534", + "difficulty": "NORMAL", + "songID": 1339, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22067, + "notecount": 559, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84740c2c4335ad64c7682240463d70c80fe6f232", + "difficulty": "ANOTHER", + "songID": 1339, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22067, + "notecount": 1154, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": true + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "9fabcbbb10fed665f78318f17c731da30cbbc16c", + "difficulty": "HYPER", + "songID": 1339, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22067, + "notecount": 755, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b41a6ad37afb9818f7c6f40c8d22d7180eb4e05", + "difficulty": "NORMAL", + "songID": 1339, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22067, + "notecount": 432, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "652a94ca977139f2115b6bd1eeb7b77dbdfbbe53", + "difficulty": "ANOTHER", + "songID": 1340, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22068, + "notecount": 1494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "76098b7e3c459b25fb0c1589a2e0468320e9019c", + "difficulty": "HYPER", + "songID": 1340, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22068, + "notecount": 1214, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5be86d90f62d668428854121096296ea0b3e1799", + "difficulty": "NORMAL", + "songID": 1340, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22068, + "notecount": 748, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b655646bd87de77fbe9d9e292cbbbb80ccb2392a", + "difficulty": "ANOTHER", + "songID": 1340, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22068, + "notecount": 1646, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4c163b05f268b6ea445301b2fa5623211894ae60", + "difficulty": "HYPER", + "songID": 1340, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22068, + "notecount": 1102, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "64ae2dc94ed0b4545df4efff6d0c54c6b4b16699", + "difficulty": "NORMAL", + "songID": 1340, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22068, + "notecount": 668, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1153a24bbb917d7b7a3fdd845d51ca7d808f119d", + "difficulty": "ANOTHER", + "songID": 1341, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22069, + "notecount": 1369, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45e399a454a559e1c600de2149d8601785b8ea9f", + "difficulty": "HYPER", + "songID": 1341, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22069, + "notecount": 774, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3faf4abf114e516f9ee28d5d210328f12708898", + "difficulty": "NORMAL", + "songID": 1341, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22069, + "notecount": 496, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "613ce57bf98a392b3f833ec7c942062e572d5f40", + "difficulty": "ANOTHER", + "songID": 1341, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22069, + "notecount": 1505, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "36bd53583d923fed57e429790e5a8ab26dd7f547", + "difficulty": "HYPER", + "songID": 1341, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22069, + "notecount": 762, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "750c15b6ac74624b9e84c4b337f5ac7b27a217ae", + "difficulty": "NORMAL", + "songID": 1341, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22069, + "notecount": 414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b2fbc3ba1009260ebd5c0b1f0d621b64058c118", + "difficulty": "ANOTHER", + "songID": 1342, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22070, + "notecount": 1832, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2bb704e373aa536d9ebec5a093f63bac71e42135", + "difficulty": "HYPER", + "songID": 1342, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22070, + "notecount": 967, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "879fab750240e811a75884e8e6f0591366bf5aaf", + "difficulty": "NORMAL", + "songID": 1342, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22070, + "notecount": 629, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b2db7559e3d05546f8f8352fc4d7bbd6080daf4f", + "difficulty": "ANOTHER", + "songID": 1342, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22070, + "notecount": 1745, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c9413395110762ee6d321ba638f7fe974931791f", + "difficulty": "HYPER", + "songID": 1342, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22070, + "notecount": 1085, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff5dd8c1001ac261cf485c46f3e4564428a17400", + "difficulty": "NORMAL", + "songID": 1342, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22070, + "notecount": 603, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cac0e17070c2a54f40b1ca861885d8bc0a1db588", + "difficulty": "ANOTHER", + "songID": 1343, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22071, + "notecount": 1797, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "adeb992e862c0e4b039bb45a88235bdf498089b0", + "difficulty": "HYPER", + "songID": 1343, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22071, + "notecount": 1086, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fdf3ad6f024c12cb856cd279dfe9e5202cdcb1ca", + "difficulty": "NORMAL", + "songID": 1343, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22071, + "notecount": 509, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee593ae6d117c2726d407594e481dc6eea66aea9", + "difficulty": "ANOTHER", + "songID": 1343, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22071, + "notecount": 1809, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b6495c86a22cd4ebdc2181564006fdd23f2bdf8", + "difficulty": "HYPER", + "songID": 1343, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22071, + "notecount": 1118, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f7a9a82ed225417c04b115085d10d65f5965f0be", + "difficulty": "NORMAL", + "songID": 1343, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22071, + "notecount": 492, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "44060039127c8036aec1b328e6802c32f8037efa", + "difficulty": "ANOTHER", + "songID": 1344, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22072, + "notecount": 1126, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c440496f2cae20163884aaf09df5d1bac7d3ae8", + "difficulty": "HYPER", + "songID": 1344, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22072, + "notecount": 774, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d4a94ab3b0714be1c4d9c48f7286aea30f38396", + "difficulty": "NORMAL", + "songID": 1344, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22072, + "notecount": 404, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0fb8ac4da8e2cfb26fe689202beab2dc9685665", + "difficulty": "ANOTHER", + "songID": 1344, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22072, + "notecount": 1040, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4ccfd67db0e1e74e3c8d4ad36100149b000ec7c8", + "difficulty": "HYPER", + "songID": 1344, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22072, + "notecount": 766, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d6d832f536cf8f5f6b5e1e1a27ae36de723e8be7", + "difficulty": "NORMAL", + "songID": 1344, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22072, + "notecount": 443, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82bd21e241882e9bde16a7d25f27a00221abb5ea", + "difficulty": "ANOTHER", + "songID": 1345, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22073, + "notecount": 1362, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9148fb20f7e3aaf4b0dc2ed7497d6d63d1fa458", + "difficulty": "HYPER", + "songID": 1345, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22073, + "notecount": 982, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "115811af8ad359bcc1ff757adbf9f144b6c83978", + "difficulty": "NORMAL", + "songID": 1345, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22073, + "notecount": 433, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bcfda236352d85a8df52271c467dd6550f6e61f3", + "difficulty": "ANOTHER", + "songID": 1345, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22073, + "notecount": 1729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4fd4c6f24353c8436e65d2c6ed702a46d2af0cd4", + "difficulty": "HYPER", + "songID": 1345, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22073, + "notecount": 867, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2f733aade54bd1907b8087c4a32bc775e3423e7", + "difficulty": "NORMAL", + "songID": 1345, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22073, + "notecount": 403, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4f80d639b8f992139f8501ee15f0d3d821623d9", + "difficulty": "ANOTHER", + "songID": 1346, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22074, + "notecount": 2134, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "897a0d3e138c690a18d3f77e444a213920375e0f", + "difficulty": "HYPER", + "songID": 1346, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22074, + "notecount": 1376, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d3936ca5ac024e06d27813179367ce9475d5685b", + "difficulty": "NORMAL", + "songID": 1346, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22074, + "notecount": 872, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "69b0c54ac778b27604c9ec44656f6f607cc63659", + "difficulty": "ANOTHER", + "songID": 1346, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22074, + "notecount": 1933, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "73e895b4384a7bb2bfd7048750373bda367ec9ba", + "difficulty": "HYPER", + "songID": 1346, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22074, + "notecount": 1248, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "123adda10e11a3a34a47e799a6f60c5255999dd4", + "difficulty": "NORMAL", + "songID": 1346, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22074, + "notecount": 831, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c99cfc4a34378bca76773f0c8a5abede403f659", + "difficulty": "ANOTHER", + "songID": 1347, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22075, + "notecount": 1186, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4277c9a9ba4cfdb490f4b81926f6ed5e2f56750b", + "difficulty": "HYPER", + "songID": 1347, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22075, + "notecount": 798, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "814c4870f43e94305d91f9e20702961b338066bc", + "difficulty": "NORMAL", + "songID": 1347, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22075, + "notecount": 433, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "65d7c82e1cf57a59f337347b232de5a67a68781d", + "difficulty": "ANOTHER", + "songID": 1347, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22075, + "notecount": 1096, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6db64c52bd7f3dabe9264cc40839299a7b867e61", + "difficulty": "HYPER", + "songID": 1347, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22075, + "notecount": 788, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72d42b9d1f475195b6a6deb4cc93278b73046d66", + "difficulty": "NORMAL", + "songID": 1347, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22075, + "notecount": 407, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "65cd5fc24edd0c2f37358e6b6f55709deac851b9", + "difficulty": "ANOTHER", + "songID": 1348, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22076, + "notecount": 1073, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03c90f96cd84d7a5b774c92e5572a214126065e2", + "difficulty": "HYPER", + "songID": 1348, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22076, + "notecount": 663, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7590f1a8b016b36c0fb26a9237db6287669e58eb", + "difficulty": "NORMAL", + "songID": 1348, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22076, + "notecount": 459, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8688074fbc756c5942095030e9d829222515fb5c", + "difficulty": "ANOTHER", + "songID": 1348, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22076, + "notecount": 999, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f6663d4d10f9cc473a41f8e4ca6d3c26f0f235a", + "difficulty": "HYPER", + "songID": 1348, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22076, + "notecount": 644, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "31c798183edd8459a97b8d9f4e5c72fafde050dc", + "difficulty": "NORMAL", + "songID": 1348, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22076, + "notecount": 463, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e2684bd3ecae3e7027de202ea37ae1a9e3c8b792", + "difficulty": "ANOTHER", + "songID": 1349, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22077, + "notecount": 1647, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eb4930711442174ca89654ae404e33d211ddee6a", + "difficulty": "HYPER", + "songID": 1349, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22077, + "notecount": 1019, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04e987d76a3208dc57fcaa633e91901c71354b86", + "difficulty": "NORMAL", + "songID": 1349, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22077, + "notecount": 665, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c300d05f4778b37d70ffc13fa4a638dc988e2fb", + "difficulty": "ANOTHER", + "songID": 1349, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22077, + "notecount": 1541, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": true + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b774f50e8fe309ffa9518296e0dca96e2b6aa329", + "difficulty": "BEGINNER", + "songID": 1349, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 22077, + "notecount": 102, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f32bd3e583263fee1749d74e8ea7bdf17c8eb4c1", + "difficulty": "HYPER", + "songID": 1349, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22077, + "notecount": 1042, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5824f7f10e0438c124d3433f8fb7cb38a0b6a724", + "difficulty": "NORMAL", + "songID": 1349, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22077, + "notecount": 667, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f5ad4d5f6a6749f9c684bcd06537e3df22fdf9be", + "difficulty": "ANOTHER", + "songID": 1350, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22078, + "notecount": 1064, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da0e70eb2d65a6f402da7f10ac3d97751270cb7d", + "difficulty": "HYPER", + "songID": 1350, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22078, + "notecount": 774, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5b38d0c4baec2a12cdb0ef9d208c2a2d768da751", + "difficulty": "NORMAL", + "songID": 1350, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22078, + "notecount": 403, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63e5f9eb5530bbbf96a354b9a37e00ed7a444bd9", + "difficulty": "ANOTHER", + "songID": 1350, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22078, + "notecount": 1170, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "268f023316302472e031654909c0c7326ffd3998", + "difficulty": "HYPER", + "songID": 1350, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22078, + "notecount": 778, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c8ff58ee5b34f992c77b70f571b8db7110df4bc7", + "difficulty": "NORMAL", + "songID": 1350, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22078, + "notecount": 392, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed50430db30e183207f505f6c13292d469da5c08", + "difficulty": "ANOTHER", + "songID": 1351, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22079, + "notecount": 1767, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "798c1d84f36b92ed06cad219cca987e0dd872795", + "difficulty": "HYPER", + "songID": 1351, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22079, + "notecount": 1099, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "90e6001ef0febaf1b8a803f5e2f974407d64e929", + "difficulty": "NORMAL", + "songID": 1351, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22079, + "notecount": 630, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9817c33ae8dd5c57f2f2c5d4f994c7c4af2419a", + "difficulty": "ANOTHER", + "songID": 1351, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22079, + "notecount": 1752, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.60", + "value": 12.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "fbc70c0acb73a0977a3b69ee4fa58ddb74070bee", + "difficulty": "HYPER", + "songID": 1351, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22079, + "notecount": 1096, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7584571c06f08924ad75e8afcfa533ce2505aa94", + "difficulty": "NORMAL", + "songID": 1351, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22079, + "notecount": 653, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72ca94b14c1e69ec9eff11e80fb18c16de096166", + "difficulty": "ANOTHER", + "songID": 1352, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22080, + "notecount": 1716, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "195483a48c412fe1ce4e6e2cc7c747149eea05d6", + "difficulty": "HYPER", + "songID": 1352, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22080, + "notecount": 1197, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "75395d1d443f4468ff9d954e7668813eac52cd5f", + "difficulty": "NORMAL", + "songID": 1352, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22080, + "notecount": 598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b92b1a88b427aa557eb27fada5719af404a932cc", + "difficulty": "ANOTHER", + "songID": 1352, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22080, + "notecount": 1896, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f7c9ece27e18ecbcba68199cac3db3257377874c", + "difficulty": "HYPER", + "songID": 1352, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22080, + "notecount": 1187, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "470b6f0e5bd97edf30558c92b0b329917c8ccdce", + "difficulty": "NORMAL", + "songID": 1352, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22080, + "notecount": 600, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6dda01290a98bde4f5cf70bf83c09b4b51031522", + "difficulty": "ANOTHER", + "songID": 1353, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22081, + "notecount": 1694, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d8c1277f69b3c9c49c836e5dd87254cad6ddc56e", + "difficulty": "HYPER", + "songID": 1353, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22081, + "notecount": 1254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c3daa2bbdd86693c830351cd3fa8bc62ac554e6", + "difficulty": "NORMAL", + "songID": 1353, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22081, + "notecount": 607, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9879c4783839d1c683bb1339ba7ac5e056e000b9", + "difficulty": "ANOTHER", + "songID": 1353, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22081, + "notecount": 1778, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee2fc9739eadba36f3a8201ecc0909382b810c54", + "difficulty": "HYPER", + "songID": 1353, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22081, + "notecount": 1234, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97208601e6ef53d3e9883c62cf13ba012745a606", + "difficulty": "NORMAL", + "songID": 1353, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22081, + "notecount": 585, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89af21a2ef6dcfffe65cde56ccdfa3fa7abcea47", + "difficulty": "ANOTHER", + "songID": 1354, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22082, + "notecount": 1351, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e8fe5c1d09b85103d7a90cdd4e5cf79487cc2ad5", + "difficulty": "HYPER", + "songID": 1354, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22082, + "notecount": 849, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7396ee3773bcd9df0a16a99f224c8dcbee579e1a", + "difficulty": "NORMAL", + "songID": 1354, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22082, + "notecount": 577, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1162e8fe655f952cea28dddc2356c5d274ea09b", + "difficulty": "ANOTHER", + "songID": 1354, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22082, + "notecount": 1142, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13b98e2a317399c46c4a871b7640e9634cb73188", + "difficulty": "HYPER", + "songID": 1354, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22082, + "notecount": 846, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8ec6265dd8442f2c1551bb1da77fc0485e8d85ec", + "difficulty": "NORMAL", + "songID": 1354, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22082, + "notecount": 570, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "22", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "feb3775d4149205b700d7d1a4173302244f63a76", + "difficulty": "ANOTHER", + "songID": 1355, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22083, + "notecount": 1774, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51eef5303c24287468c71e3a41de05d738b69602", + "difficulty": "HYPER", + "songID": 1355, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22083, + "notecount": 931, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43ce730b28754147389777340cce966240d69682", + "difficulty": "LEGGENDARIA", + "songID": 1355, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22083, + "notecount": 2190, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6dd76289eab7ee65a40086584e25e342486b027a", + "difficulty": "NORMAL", + "songID": 1355, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22083, + "notecount": 680, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cea0eadee4ae414d91360c88f2c69c1b0e6f6681", + "difficulty": "ANOTHER", + "songID": 1355, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22083, + "notecount": 1608, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12F", + "value": 11.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.50", + "value": 12.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "889e78a8cc1fcd13eda58f2ccb9829ec18b4a90c", + "difficulty": "HYPER", + "songID": 1355, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22083, + "notecount": 1008, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c2d3063f6c42c5367174f68ee924e4c442584d55", + "difficulty": "LEGGENDARIA", + "songID": 1355, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22083, + "notecount": 2183, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f0301735b6472b33055339b6762ef88150c197ed", + "difficulty": "NORMAL", + "songID": 1355, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22083, + "notecount": 602, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a43adbf75fb8cad54a4ec4d999582654c63e06ff", + "difficulty": "ANOTHER", + "songID": 1356, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22084, + "notecount": 1380, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2aaf891c185679829b738d14f77f91d5f6a05cd5", + "difficulty": "HYPER", + "songID": 1356, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22084, + "notecount": 822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a18c2b111b6ae15b80f5e7f85a529a4ee535e18", + "difficulty": "NORMAL", + "songID": 1356, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22084, + "notecount": 535, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae5884ea05882b6bf2a06e267d4b4eb76127b2c3", + "difficulty": "ANOTHER", + "songID": 1356, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22084, + "notecount": 1103, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d74aa3180d92349cd912126e5666070eafd2c4ef", + "difficulty": "HYPER", + "songID": 1356, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22084, + "notecount": 803, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9106c57b37a5b127ca82da6de2ec42496f720a25", + "difficulty": "NORMAL", + "songID": 1356, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22084, + "notecount": 489, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8757354300f6fc3e60249c0785478a9a9b8b846", + "difficulty": "ANOTHER", + "songID": 1357, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22085, + "notecount": 1158, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9228b591c5b0c0993442664d82628c09b5cc97e", + "difficulty": "HYPER", + "songID": 1357, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22085, + "notecount": 745, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b3fc7371c8ac4fcd4abedf83fea923eba716f1ce", + "difficulty": "NORMAL", + "songID": 1357, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22085, + "notecount": 393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "685ddd7123cfd8ddd9352449d01aeef6a7a7e89c", + "difficulty": "ANOTHER", + "songID": 1357, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22085, + "notecount": 1111, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f148efed4c6dd03e6568167db4b94b5b0b91ff68", + "difficulty": "BEGINNER", + "songID": 1357, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 22085, + "notecount": 126, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "44e7d6da7f7a3f693452c3b272ae27ad9babb2b9", + "difficulty": "HYPER", + "songID": 1357, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22085, + "notecount": 882, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f81e65234d37fdffbc97b740ae8db8a9efad365", + "difficulty": "NORMAL", + "songID": 1357, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22085, + "notecount": 495, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e8ae3b4f9a7f258a657703f55567b192ed2703f", + "difficulty": "ANOTHER", + "songID": 1358, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22086, + "notecount": 1438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f7dfa175a6dd4bd272a75de708fffcf1e4d92dc1", + "difficulty": "HYPER", + "songID": 1358, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22086, + "notecount": 989, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "42d51a24e05b1b2fa9dc29065bdee75ad4ee529b", + "difficulty": "NORMAL", + "songID": 1358, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22086, + "notecount": 555, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89a21e87805ca0872b607d8e6bbf7823a06d570e", + "difficulty": "ANOTHER", + "songID": 1358, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22086, + "notecount": 1389, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1250f1dc30cb580d6996710d854c470fe96dffc2", + "difficulty": "HYPER", + "songID": 1358, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22086, + "notecount": 998, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1bc6688d297f64ba89c829d44c340f32176a8201", + "difficulty": "NORMAL", + "songID": 1358, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22086, + "notecount": 542, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f808199a4cbc8295071ce4e1554deb7c17101496", + "difficulty": "ANOTHER", + "songID": 1359, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22087, + "notecount": 1930, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e530c388c7682f0d6843b1c4d70c8b894b4d693b", + "difficulty": "HYPER", + "songID": 1359, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22087, + "notecount": 1261, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf61c005c25121160b1da8227a06ee3ce5be536e", + "difficulty": "NORMAL", + "songID": 1359, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22087, + "notecount": 664, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3bac303c18147978000617b8a894a50b9731ef73", + "difficulty": "ANOTHER", + "songID": 1359, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22087, + "notecount": 1976, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d0275578f535d5644ada372923d749d86e2c91d1", + "difficulty": "BEGINNER", + "songID": 1359, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 22087, + "notecount": 354, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5106932179cb53de17cf08ce559b613cca860392", + "difficulty": "HYPER", + "songID": 1359, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22087, + "notecount": 1321, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa75e0ea2fae8e6e499c5a3bccb0af37c3a34192", + "difficulty": "NORMAL", + "songID": 1359, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22087, + "notecount": 649, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b264be3d73faf71159d3a9c215a634b36ea4fcc2", + "difficulty": "ANOTHER", + "songID": 1362, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22088, + "notecount": 1348, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87ce700a4be864200d1f4df4e951aa2f239f1277", + "difficulty": "HYPER", + "songID": 1362, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22088, + "notecount": 923, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf8756e76be315e7df5708fec9c47290d8d8c051", + "difficulty": "NORMAL", + "songID": 1362, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22088, + "notecount": 503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "450b019d5479cfba006faa52e7db081cd52230db", + "difficulty": "ANOTHER", + "songID": 1362, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22088, + "notecount": 1280, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6004ca07f5dcd4b3539237fe48e11c3f07bc9c83", + "difficulty": "BEGINNER", + "songID": 1362, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 22088, + "notecount": 190, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2243a033161431f298296f35cd453b182db4cd06", + "difficulty": "HYPER", + "songID": 1362, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22088, + "notecount": 814, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87ceb4751a212be86057771d3687a66abd2da33a", + "difficulty": "NORMAL", + "songID": 1362, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22088, + "notecount": 527, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9b0740fe3c253157ceb34d5be5e4125f7c3513e", + "difficulty": "ANOTHER", + "songID": 1363, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22089, + "notecount": 1575, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "be1df22896b10d6849f34ccf39554084d962b918", + "difficulty": "HYPER", + "songID": 1363, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22089, + "notecount": 900, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff8a3edb6efa4d3f4db2037a4b50042f99b49b22", + "difficulty": "LEGGENDARIA", + "songID": 1363, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22089, + "notecount": 1878, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "103433ebc2b89336f1c2e049c682ea9b3ab12c03", + "difficulty": "NORMAL", + "songID": 1363, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22089, + "notecount": 594, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e407c4408e078da685520446c237af8d0c6fb51", + "difficulty": "ANOTHER", + "songID": 1363, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22089, + "notecount": 1520, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e8028286d2a828b6c2249f503ae6f8494ab60535", + "difficulty": "HYPER", + "songID": 1363, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22089, + "notecount": 890, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9d22ee867c41b915ea65df43dc3ec5f41265c29", + "difficulty": "LEGGENDARIA", + "songID": 1363, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22089, + "notecount": 1887, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b2386aed17fc413d80298f664fc1d90135d54a87", + "difficulty": "NORMAL", + "songID": 1363, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22089, + "notecount": 557, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cea55b1884069574e3396228e73d2917eb4dd854", + "difficulty": "ANOTHER", + "songID": 1364, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22090, + "notecount": 996, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "96540338b75549670ebbc322dba0a8b8c4d9d660", + "difficulty": "HYPER", + "songID": 1364, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22090, + "notecount": 630, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49d58ab1b2624f9940031ac190d1118b27313271", + "difficulty": "NORMAL", + "songID": 1364, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22090, + "notecount": 416, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54809864a461a5421562752bf67034d7367cf522", + "difficulty": "ANOTHER", + "songID": 1364, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22090, + "notecount": 896, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a4e2045574ff094d674c6b2f9c012c08e2b3e37", + "difficulty": "HYPER", + "songID": 1364, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22090, + "notecount": 601, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b5fb4206131e8515f6608a7583c7e47609d4bbae", + "difficulty": "NORMAL", + "songID": 1364, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22090, + "notecount": 336, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "122868e4e0e008138525452103a7e31eaa48a77f", + "difficulty": "ANOTHER", + "songID": 1365, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22091, + "notecount": 1599, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9bb9084a2fafdbc8eb7012feffe924bafe50ea4", + "difficulty": "HYPER", + "songID": 1365, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22091, + "notecount": 1006, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24eaf7af7de6f7e5bc5a5a41c983c6accc88f967", + "difficulty": "NORMAL", + "songID": 1365, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22091, + "notecount": 617, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb02a769542a45f979cd348aa4415ef6872b28b7", + "difficulty": "ANOTHER", + "songID": 1365, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22091, + "notecount": 1513, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "ca7ec7e3ba2249ccefcd4eca7ee26c52b69f6396", + "difficulty": "HYPER", + "songID": 1365, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22091, + "notecount": 1080, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "131afaa07e9f214c53b114f1d4f034e3219d9b2f", + "difficulty": "NORMAL", + "songID": 1365, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22091, + "notecount": 640, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "768b12ba45588ba0772333f5b4fd3082b5122807", + "difficulty": "ANOTHER", + "songID": 1366, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22092, + "notecount": 1356, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c7d94e337cf8eea4237dc13dfe40703131cbecf", + "difficulty": "HYPER", + "songID": 1366, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22092, + "notecount": 914, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "386548cdeff75481b427c3cd60439b4a09984f01", + "difficulty": "LEGGENDARIA", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 1366, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 22092, + "arcChartID": null, + "notecount": 1453, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "ae19bda487868448da00e8062fde2a63e8f32b59", + "difficulty": "NORMAL", + "songID": 1366, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22092, + "notecount": 462, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6e752b6083f327b88685854c1d1f32bf44b663b6", + "difficulty": "ANOTHER", + "songID": 1366, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22092, + "notecount": 1205, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "51d07ce46fd078a33e214869f2727c4498c3af64", + "difficulty": "HYPER", + "songID": 1366, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22092, + "notecount": 717, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "3d930d9a40d092c4e8c38006b728e6d37824a534", + "difficulty": "LEGGENDARIA", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 1366, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 22092, + "arcChartID": null, + "notecount": 1538, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "53ccd0714facb9465354ab032eefe82f69dc2297", + "difficulty": "NORMAL", + "songID": 1366, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22092, + "notecount": 443, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "61ff6aa182cc5ccc24ab083a1e175a556f280570", + "difficulty": "ANOTHER", + "songID": 1367, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22093, + "notecount": 1908, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02d55b9fd724bf30818881808f46646270d4844b", + "difficulty": "HYPER", + "songID": 1367, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22093, + "notecount": 1092, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3562c8cb7b7cff82fa1c3e1b93ca3d9ea54104d1", + "difficulty": "NORMAL", + "songID": 1367, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22093, + "notecount": 644, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e75a51c9bd1e49a5a5f0fe7fbf6f720d2bbeb6c", + "difficulty": "ANOTHER", + "songID": 1367, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22093, + "notecount": 1729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b1cd730adf8e38d763147c5a80578874b7f86241", + "difficulty": "HYPER", + "songID": 1367, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22093, + "notecount": 1081, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02a518f33cd3b0af3d96d05af9b846bf1b5629d7", + "difficulty": "NORMAL", + "songID": 1367, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22093, + "notecount": 644, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eb682612a23f518f362f5404921a629e769a5178", + "difficulty": "ANOTHER", + "songID": 1395, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22094, + "notecount": 1452, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9206b1ad2c065d9010f4fea40ad3e14e4f129e3", + "difficulty": "HYPER", + "songID": 1395, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22094, + "notecount": 975, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "59733ebad10314986c18668378c32d17caffe5be", + "difficulty": "NORMAL", + "songID": 1395, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22094, + "notecount": 517, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1fc19d5ce6b1efe4eb9924b6365e8dcc7633a9cd", + "difficulty": "ANOTHER", + "songID": 1395, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22094, + "notecount": 1447, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3f72460eb946317d251c1d8f44ee29f9ded5c555", + "difficulty": "HYPER", + "songID": 1395, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22094, + "notecount": 907, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9332f62aeff5b7d9aa741c6cdd799383a7d1ee89", + "difficulty": "NORMAL", + "songID": 1395, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22094, + "notecount": 531, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f17dd300aac5eac63dd4ffc5a56ff6ed9d98704a", + "difficulty": "ANOTHER", + "songID": 1396, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22095, + "notecount": 1377, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79368661714f1cb613850698aae9d56f92c0e8fd", + "difficulty": "HYPER", + "songID": 1396, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22095, + "notecount": 1135, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c77c36cac8deac8f75b9def28f5cc95010339c6", + "difficulty": "NORMAL", + "songID": 1396, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22095, + "notecount": 495, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45f661505ae2ed62586f675980e701ab12c013ef", + "difficulty": "ANOTHER", + "songID": 1396, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22095, + "notecount": 1590, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "eca34a10087b533b17d572d5306df16041a313a9", + "difficulty": "HYPER", + "songID": 1396, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22095, + "notecount": 1031, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "596c81dfcabda0c921ca83fe9c753d946ed011c7", + "difficulty": "NORMAL", + "songID": 1396, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22095, + "notecount": 505, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "37b6e294595cc711c1e46b5a44896b42090c427a", + "difficulty": "ANOTHER", + "songID": 1397, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22098, + "notecount": 1437, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b14e9cac74f59f3e26df8ee8edd03ff66958d50", + "difficulty": "HYPER", + "songID": 1397, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22098, + "notecount": 966, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85f26e5269dd77e427be365b3309cf37729ed577", + "difficulty": "NORMAL", + "songID": 1397, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22098, + "notecount": 497, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2c6f066c59728ae3b37a3b50755c5f90ea8c214", + "difficulty": "ANOTHER", + "songID": 1397, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22098, + "notecount": 1365, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "9026c3d9ea129356b20f57d238d75bc6b5add913", + "difficulty": "HYPER", + "songID": 1397, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22098, + "notecount": 872, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9486e22ce24f90a4771eb6ee535fcee576983178", + "difficulty": "NORMAL", + "songID": 1397, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22098, + "notecount": 498, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "91423ca2c1fcca43b1b3f688ea317682c357b527", + "difficulty": "ANOTHER", + "songID": 1398, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22099, + "notecount": 1399, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d6c1bbb3ab30fb619b70e4d75bab1b80f115641d", + "difficulty": "HYPER", + "songID": 1398, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22099, + "notecount": 833, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "639563d4437cc8df5b33bb9b1e2229f2dd685cbd", + "difficulty": "NORMAL", + "songID": 1398, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 22099, + "notecount": 637, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b71032e6f578f8645fdfbfa53d375a2f55c4326", + "difficulty": "ANOTHER", + "songID": 1398, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 22099, + "notecount": 1405, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": true + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1eaf7f136e9be58f23971fdf054f6075c5f5fc71", + "difficulty": "HYPER", + "songID": 1398, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 22099, + "notecount": 810, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "206b6d4cec222fdb927bee0d3e4d7b263c58d19e", + "difficulty": "NORMAL", + "songID": 1398, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 22099, + "notecount": 594, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "327c0534e06e7e401c9dbcbca427034e3a521254", + "difficulty": "ANOTHER", + "songID": 1399, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 22100, + "notecount": 1340, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b77023af773ae93affdfd5f5bfd62888516d37dc", + "difficulty": "HYPER", + "songID": 1399, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22100, + "notecount": 992, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba25722a5639c8e72c37d4995e271c243893f6c8", + "difficulty": "NORMAL", + "songID": 1399, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 22100, + "notecount": 446, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b32423ab1efcff9bed3c50a77dc54180ee82fb9", + "difficulty": "ANOTHER", + "songID": 1399, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 22100, + "notecount": 1314, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "bd6399f54808017d298de6335d512844b9347514", + "difficulty": "HYPER", + "songID": 1399, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 22100, + "notecount": 820, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c514ed40fe051c6781a075b58aec42f6574a8de", + "difficulty": "NORMAL", + "songID": 1399, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 22100, + "notecount": 524, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0dafe8257f7335d9ebe1134a509b00f44a2efbff", + "difficulty": "ANOTHER", + "songID": 1404, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23000, + "notecount": 1681, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c826159df3c004ae3d040cf9032189189f9fb6ef", + "difficulty": "HYPER", + "songID": 1404, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23000, + "notecount": 979, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a69730208f3ed887c51a9959e0082b31e0b51f2", + "difficulty": "NORMAL", + "songID": 1404, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23000, + "notecount": 688, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a831810c4336370ae9e030c206dc32ab0e03dad7", + "difficulty": "ANOTHER", + "songID": 1404, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23000, + "notecount": 1585, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": true + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7f3f37ed0ce99e5f513021aafcf9ab5a45411001", + "difficulty": "HYPER", + "songID": 1404, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23000, + "notecount": 917, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "138160198dc3fe24e5732495abbfa3d61ce06646", + "difficulty": "NORMAL", + "songID": 1404, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23000, + "notecount": 509, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "59da3b9ce1b043c362c879b4cb371c288805b2bb", + "difficulty": "ANOTHER", + "songID": 1405, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23001, + "notecount": 1635, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8f375f7ded68f30da12c54fb4181d5dbfb751dc", + "difficulty": "HYPER", + "songID": 1405, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23001, + "notecount": 1147, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "563dc6aed6c51afd00ce5e455569efdd001207a1", + "difficulty": "NORMAL", + "songID": 1405, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23001, + "notecount": 515, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f92c0a11f0a9a72138423e1b604a5ae941b4ad35", + "difficulty": "ANOTHER", + "songID": 1405, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23001, + "notecount": 1558, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.40", + "value": 13.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "eb2a611a72997ffdb259e4900b4af85516d45976", + "difficulty": "HYPER", + "songID": 1405, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23001, + "notecount": 1174, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a7ff55bf5a731caf21c0867c6cf8df4379963889", + "difficulty": "NORMAL", + "songID": 1405, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23001, + "notecount": 601, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4d2f625346f1648fff845007d4eb9be7f42afc16", + "difficulty": "ANOTHER", + "songID": 1406, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23002, + "notecount": 1484, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b6db80c47d3ff002dc7be5f14954ce5b73c2629", + "difficulty": "HYPER", + "songID": 1406, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23002, + "notecount": 1037, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4ceac0e0c99573bd9b23f32e4cfec810569aeb0d", + "difficulty": "NORMAL", + "songID": 1406, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23002, + "notecount": 645, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35be47e6c1bcfa67b46d05ee87f3c56dbb72f0c6", + "difficulty": "ANOTHER", + "songID": 1406, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23002, + "notecount": 1538, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "01eedcdd6c731c8a19ad270f539102b3d04c67ce", + "difficulty": "HYPER", + "songID": 1406, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23002, + "notecount": 1020, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1f1d8a95217c107158d9c5ef18b91015dd8f7bc", + "difficulty": "NORMAL", + "songID": 1406, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23002, + "notecount": 722, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f930dafc7be2284b47c6ea1b3af0eccff191691", + "difficulty": "ANOTHER", + "songID": 1407, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23003, + "notecount": 1501, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b804ab77e09a722a4b6803c77a5326beb4dcdba", + "difficulty": "HYPER", + "songID": 1407, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23003, + "notecount": 941, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef022ded909d48087960f1bf14307a205e9b9ebb", + "difficulty": "NORMAL", + "songID": 1407, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23003, + "notecount": 607, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf64da7cda9b15485152719857f3961e4b76883a", + "difficulty": "ANOTHER", + "songID": 1407, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23003, + "notecount": 1453, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1f3b54aed3c06efc17a0d2232e3d25ffe9aeb99f", + "difficulty": "HYPER", + "songID": 1407, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23003, + "notecount": 966, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c6cd9dfa4ecd848497602f45ad7ab59b745f3e0", + "difficulty": "NORMAL", + "songID": 1407, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23003, + "notecount": 607, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e226790d1341a91ee75ef6f1e8fe48a070a7a37", + "difficulty": "ANOTHER", + "songID": 1408, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23004, + "notecount": 1164, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "62f6670b68607d8da0894d2541adda07f31761a6", + "difficulty": "HYPER", + "songID": 1408, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23004, + "notecount": 805, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd3957abba187bfab9882fcc4d022d7df0dec4f8", + "difficulty": "NORMAL", + "songID": 1408, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23004, + "notecount": 428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "245a3e8c3cf9f31f9da7c562524dd6957ad73d19", + "difficulty": "ANOTHER", + "songID": 1408, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23004, + "notecount": 1209, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3050bea7d3f5285a0681820705b5cfb06b255679", + "difficulty": "HYPER", + "songID": 1408, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23004, + "notecount": 743, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c625f753d4cb4f587f6d4d464bee8c6b383078ce", + "difficulty": "NORMAL", + "songID": 1408, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23004, + "notecount": 418, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "761b1010f4b11ec2290a0640a6edeff9a0c96287", + "difficulty": "ANOTHER", + "songID": 1409, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23005, + "notecount": 1580, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d87677d213c12316bf090cefe09e80cf39f9c2b2", + "difficulty": "HYPER", + "songID": 1409, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23005, + "notecount": 975, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b7f75da35dc22fdc39e77215ac2062a9f5cad6c2", + "difficulty": "NORMAL", + "songID": 1409, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23005, + "notecount": 665, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72266f5a1f0762fd5ed6289a55d631b2bcd004cd", + "difficulty": "ANOTHER", + "songID": 1409, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23005, + "notecount": 1500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "539710749d90e7ce20dafd21c30cf42a0b45790c", + "difficulty": "HYPER", + "songID": 1409, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23005, + "notecount": 988, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1a0a4f8745552d00168b16f4f14451706365fc5", + "difficulty": "NORMAL", + "songID": 1409, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23005, + "notecount": 605, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8466154e32280bea41ebfc7c4fca367b41f0557e", + "difficulty": "ANOTHER", + "songID": 1410, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23007, + "notecount": 1431, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ae4f1d8490b5c3fd15e5c6e6f380f257b9251f7", + "difficulty": "HYPER", + "songID": 1410, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23007, + "notecount": 863, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54c2aad2961298fedad6bb7cddbcd4e2a703b818", + "difficulty": "NORMAL", + "songID": 1410, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23007, + "notecount": 527, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84fb6b1231bc87038c19b43c381f6ed9a116972a", + "difficulty": "ANOTHER", + "songID": 1410, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23007, + "notecount": 1421, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f9ffed51a7bda4b8b4eeff42683e883ef60f636e", + "difficulty": "HYPER", + "songID": 1410, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23007, + "notecount": 889, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7da1c4dc7d5f8d6460638f0f6d9f83da96a43ecd", + "difficulty": "NORMAL", + "songID": 1410, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23007, + "notecount": 456, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d3b25efc457b1fac1ed9917151870f7fc7cce3d3", + "difficulty": "ANOTHER", + "songID": 1411, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23008, + "notecount": 1182, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea6ed9d169edf200c0c88791c2dd763b4e86398a", + "difficulty": "HYPER", + "songID": 1411, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23008, + "notecount": 808, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1722a061a59aef557eba870f7425659b32a845ba", + "difficulty": "NORMAL", + "songID": 1411, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23008, + "notecount": 580, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a9e91dc800ed93c97c7293a78484a8c87b777e9", + "difficulty": "ANOTHER", + "songID": 1411, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23008, + "notecount": 1228, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a6602c56d551b568005a6be51517bfceeef1deba", + "difficulty": "HYPER", + "songID": 1411, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23008, + "notecount": 891, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ddb8c683058ea6447c40986773501986c58c5a43", + "difficulty": "NORMAL", + "songID": 1411, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23008, + "notecount": 568, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02d298b10428fd0b2fd7d1b4c9ed13c33c471778", + "difficulty": "ANOTHER", + "songID": 1412, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23009, + "notecount": 1521, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4fef1f7e1f32ab6172f1e21e324f14dd7d77de60", + "difficulty": "HYPER", + "songID": 1412, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23009, + "notecount": 1062, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c12399fa104ded661876ecdd879d4923e996054f", + "difficulty": "NORMAL", + "songID": 1412, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23009, + "notecount": 675, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7d15fac882a2a218a93243c745ef347e02d4464b", + "difficulty": "ANOTHER", + "songID": 1412, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23009, + "notecount": 1546, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7120690687bb62ffe471815163169f8ead3efc71", + "difficulty": "HYPER", + "songID": 1412, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23009, + "notecount": 1082, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "901c8069fa8cec805425087f2fbd44239bff5086", + "difficulty": "NORMAL", + "songID": 1412, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23009, + "notecount": 713, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e706b5b4d49f6a269a049787d9c1f3a16d1df5af", + "difficulty": "ANOTHER", + "songID": 1413, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23010, + "notecount": 1154, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed5cfb33609eeaadce1123eb612a8723ac2614be", + "difficulty": "HYPER", + "songID": 1413, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23010, + "notecount": 976, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "58f536c45d6d441ea7ee91bc9b188635358103ac", + "difficulty": "NORMAL", + "songID": 1413, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23010, + "notecount": 560, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c96a978d91b06a19ad50b1c2d6e921fe5e135c96", + "difficulty": "ANOTHER", + "songID": 1413, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23010, + "notecount": 1150, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ed039b4f5de5737e5b8b736c26248252af4b6b3", + "difficulty": "HYPER", + "songID": 1413, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23010, + "notecount": 892, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "64066f046ddf484c140db3fb815ce13fd11623bc", + "difficulty": "NORMAL", + "songID": 1413, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23010, + "notecount": 611, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff3dfbfcd55f9ba1cd52828e728f656fa707ba47", + "difficulty": "ANOTHER", + "songID": 1414, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23011, + "notecount": 1237, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d098dcf4bdc8cb8a34ec5659d76e2174ecd41736", + "difficulty": "HYPER", + "songID": 1414, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23011, + "notecount": 809, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11c42c1ebbf0827fea88d949982509c9be90aea8", + "difficulty": "NORMAL", + "songID": 1414, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23011, + "notecount": 555, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26003d6e5104607c9d5b25718d69d938db4a8c87", + "difficulty": "ANOTHER", + "songID": 1414, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23011, + "notecount": 1124, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3edd30d920f3d077f6f2363c6aae314c7c453d26", + "difficulty": "HYPER", + "songID": 1414, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23011, + "notecount": 836, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "949261a7edce2912d5ec8e5367e438a4d55e58b9", + "difficulty": "NORMAL", + "songID": 1414, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23011, + "notecount": 427, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "153a8b97d7664fdc7c29be44f51e885420bb75aa", + "difficulty": "ANOTHER", + "songID": 1415, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23012, + "notecount": 1331, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4422ca29dd25c227c84943f83fafe3a7579c6c18", + "difficulty": "HYPER", + "songID": 1415, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23012, + "notecount": 701, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb921f72f8b36a5fce7c4e769c9f337e25eaee38", + "difficulty": "NORMAL", + "songID": 1415, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23012, + "notecount": 388, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8641423e2dc453b7127588c06796c92b3480254", + "difficulty": "ANOTHER", + "songID": 1415, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23012, + "notecount": 1137, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "365ed0d7f534573b891806499528adc77b29bd10", + "difficulty": "HYPER", + "songID": 1415, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23012, + "notecount": 725, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1ea87cf894f14ebe62a5869986019f43faf0f49", + "difficulty": "NORMAL", + "songID": 1415, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23012, + "notecount": 424, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cdea8f9a07f942571dded9346faa69945cecaea4", + "difficulty": "ANOTHER", + "songID": 1416, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23013, + "notecount": 1856, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c041c38d5e9459e77fdccfd5b8db9f2179a94f30", + "difficulty": "HYPER", + "songID": 1416, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23013, + "notecount": 1094, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff19f5527c6156b97af866194107d8448e8dbfc8", + "difficulty": "NORMAL", + "songID": 1416, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23013, + "notecount": 633, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e326db241bd81b53be33e457f4a3740a8e4559d5", + "difficulty": "ANOTHER", + "songID": 1416, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23013, + "notecount": 1857, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5ce6ea5a6508d3ca3a4f78cc92888d0811b4e2a3", + "difficulty": "HYPER", + "songID": 1416, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23013, + "notecount": 1208, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f6c6d4b5db8fc0648faec1164ac31430b3420165", + "difficulty": "NORMAL", + "songID": 1416, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23013, + "notecount": 622, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa0dc93756d316aef4f1ea97d271c18b7366b630", + "difficulty": "ANOTHER", + "songID": 1417, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23014, + "notecount": 1049, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9977c69fad33ea35af81d89d57b3909ed808027a", + "difficulty": "HYPER", + "songID": 1417, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23014, + "notecount": 776, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "efd03977014b759151310b9d81e71de5ed1ea80a", + "difficulty": "NORMAL", + "songID": 1417, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23014, + "notecount": 481, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c3b0ff79cf2eba248af57d3a77d7c56ed870f362", + "difficulty": "ANOTHER", + "songID": 1417, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23014, + "notecount": 1091, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80653f4e0da7b3a8666f7371515d5553d3854ba7", + "difficulty": "HYPER", + "songID": 1417, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23014, + "notecount": 771, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef016f0688d54157dc0b0bf428856169d4fd622f", + "difficulty": "NORMAL", + "songID": 1417, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23014, + "notecount": 522, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d05e384c9e1ed63e2a97351f5ab3c5bd41764e7", + "difficulty": "ANOTHER", + "songID": 1418, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23015, + "notecount": 1285, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e7ce8117014cadad00666f9c7a53d5b94ef7f51", + "difficulty": "HYPER", + "songID": 1418, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23015, + "notecount": 806, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72b9c55e2d3c54975de2dc2ff4430878c40ec855", + "difficulty": "NORMAL", + "songID": 1418, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23015, + "notecount": 467, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35994f5ee68f612cd2e9d08fefe8a2619c02868d", + "difficulty": "ANOTHER", + "songID": 1418, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23015, + "notecount": 1223, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3885333dd819ff2c32d64ac7cd29c7bdf3d2f8d4", + "difficulty": "HYPER", + "songID": 1418, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23015, + "notecount": 803, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2594b68fe00bbf0c03d0336df166951c3f2c06dd", + "difficulty": "NORMAL", + "songID": 1418, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23015, + "notecount": 527, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9cade6462c5ee496f2a564e53093574f53333c8e", + "difficulty": "ANOTHER", + "songID": 1419, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23016, + "notecount": 1259, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2eb8336e58a8e239f4fb553ae910c847957244b5", + "difficulty": "HYPER", + "songID": 1419, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23016, + "notecount": 819, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2880052881af3a21bb769f5cac633709b35c5581", + "difficulty": "NORMAL", + "songID": 1419, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23016, + "notecount": 440, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d98d108f55831d899e3eaf404382a0c3ad753a2", + "difficulty": "ANOTHER", + "songID": 1419, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23016, + "notecount": 1095, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a0d05ebda09eb13f321cf92aff64df40389be6bb", + "difficulty": "HYPER", + "songID": 1419, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23016, + "notecount": 761, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "997b8f7619974774d85dbc60f2489cc6a9f1a1f9", + "difficulty": "NORMAL", + "songID": 1419, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23016, + "notecount": 390, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2540cdaea2bde0dd63361b38a7c26ad0025f862f", + "difficulty": "ANOTHER", + "songID": 1420, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23017, + "notecount": 1548, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e4990f0848616297b3b1a1333ec1447f725c8b0", + "difficulty": "HYPER", + "songID": 1420, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23017, + "notecount": 914, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f27b5dadddb8fc42477c9d901f2fe63873eec02d", + "difficulty": "NORMAL", + "songID": 1420, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23017, + "notecount": 658, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0910214c4c8a1063385a4d91d843c6b5aaf34477", + "difficulty": "ANOTHER", + "songID": 1420, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23017, + "notecount": 1523, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0f8b70cc9bea6ed50a2205a8318b0f107b98019b", + "difficulty": "HYPER", + "songID": 1420, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23017, + "notecount": 933, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e45a89d67a52eab413b49e25941881019a2d53d", + "difficulty": "NORMAL", + "songID": 1420, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23017, + "notecount": 675, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bdab0056a7c5e3fb9747513ea51228473a105dac", + "difficulty": "ANOTHER", + "songID": 1421, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23018, + "notecount": 2086, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7313ce8dd5d197ef96c841bd594b8a6e5b9c2bf8", + "difficulty": "HYPER", + "songID": 1421, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23018, + "notecount": 1377, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "574507652e0a12f5aca463d65620192fbce841e6", + "difficulty": "NORMAL", + "songID": 1421, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23018, + "notecount": 802, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7bebfae34eb8697922ef06ec2bc981a7da844afa", + "difficulty": "ANOTHER", + "songID": 1421, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23018, + "notecount": 1952, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6f698d178b9b09309d83bc297be6bddff05dcb3a", + "difficulty": "HYPER", + "songID": 1421, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23018, + "notecount": 1277, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3994edcefa6950f697a5c8c7950e12ec1c1a92f8", + "difficulty": "NORMAL", + "songID": 1421, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23018, + "notecount": 811, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e5bf9ad3b8b0fb1cb1100af83d46b78cd7a942ce", + "difficulty": "ANOTHER", + "songID": 1422, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23019, + "notecount": 1231, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "966ff19865a95f716fe10b9a736ac60ba437e38f", + "difficulty": "HYPER", + "songID": 1422, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23019, + "notecount": 948, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a74c3a41de4f8846d6a5b2e65ee4795a29c5a9f2", + "difficulty": "NORMAL", + "songID": 1422, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23019, + "notecount": 676, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "16edcd62e73cc6e3beb399813f507109e9729b78", + "difficulty": "ANOTHER", + "songID": 1422, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23019, + "notecount": 1194, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "8d4fe89d6f9bdc8f5d1985179c6bc451277cc151", + "difficulty": "HYPER", + "songID": 1422, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23019, + "notecount": 947, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e56dc33ad1ee364a8e6c5bf164587993822c5663", + "difficulty": "NORMAL", + "songID": 1422, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23019, + "notecount": 677, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf0da83b55cce93afbcb7223f50872b5cee063f9", + "difficulty": "ANOTHER", + "songID": 1423, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23020, + "notecount": 1247, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "23c846d9d9bc2edfbdf09908ba4064275b65b425", + "difficulty": "HYPER", + "songID": 1423, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23020, + "notecount": 975, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c6c1e5b5d5d3f8bd91da5244e082f2ea0178c27", + "difficulty": "NORMAL", + "songID": 1423, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23020, + "notecount": 514, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "37f16e0b1d8ffef9670b8509185e4c8826c54a53", + "difficulty": "ANOTHER", + "songID": 1423, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23020, + "notecount": 1402, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f7889ac69e99a2153b872c7120496b4e30fce1f", + "difficulty": "HYPER", + "songID": 1423, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23020, + "notecount": 899, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc20aa5ebdd9fdc522183bfe12ed03e269273fb2", + "difficulty": "NORMAL", + "songID": 1423, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23020, + "notecount": 523, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e03a5bfa09babddac9938a18610968b6b315ad7", + "difficulty": "ANOTHER", + "songID": 1424, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23021, + "notecount": 1622, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "70a2b171ad1deb21d06b9963a4f384f4fff9355e", + "difficulty": "HYPER", + "songID": 1424, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23021, + "notecount": 1102, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ee0a843e35095c0dcef3a637810b2e96336aa3d", + "difficulty": "NORMAL", + "songID": 1424, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23021, + "notecount": 554, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c5710bb9d193fd9cff6854d4e499e6864068ec70", + "difficulty": "ANOTHER", + "songID": 1424, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23021, + "notecount": 1494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "ebc65f7795e2f97c4224603453f84f145cdbfe6c", + "difficulty": "HYPER", + "songID": 1424, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23021, + "notecount": 1098, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d79ffd1704e3d1bb4b39aea5358242847f905085", + "difficulty": "NORMAL", + "songID": 1424, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23021, + "notecount": 549, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28c4dadbc7941433c07a057021e18dc0ca6e82ea", + "difficulty": "ANOTHER", + "songID": 1425, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23022, + "notecount": 1346, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab251fb36440021927814af15699b10eb0bdf1dd", + "difficulty": "HYPER", + "songID": 1425, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23022, + "notecount": 862, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "927cbd3b6083af6104c26e7bc956e76986cb90cd", + "difficulty": "NORMAL", + "songID": 1425, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23022, + "notecount": 416, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc0fcf6088830eceb7afb578c7f8ff29982ffdab", + "difficulty": "ANOTHER", + "songID": 1425, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23022, + "notecount": 1443, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0c78d0e4b8d73d1b4281802adc8271a9c1e3e622", + "difficulty": "HYPER", + "songID": 1425, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23022, + "notecount": 976, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e0508a36bae222e15d49e7c7c8a7a1a952cb74f", + "difficulty": "NORMAL", + "songID": 1425, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23022, + "notecount": 438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a0687bc6951293e803bc121526948dc49aa1394f", + "difficulty": "ANOTHER", + "songID": 1426, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23023, + "notecount": 1182, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a80757be4c72f3674c96ff4bdff75deea120892", + "difficulty": "HYPER", + "songID": 1426, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23023, + "notecount": 541, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "37e606ef02188466d7690bbed82af83d34674831", + "difficulty": "NORMAL", + "songID": 1426, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 23023, + "notecount": 299, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "37817b02053862c7887f8e30cda23cd5f2c3be4d", + "difficulty": "ANOTHER", + "songID": 1426, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23023, + "notecount": 1185, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df5543a6822c307dfdbdf162fecf6da013043fff", + "difficulty": "HYPER", + "songID": 1426, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23023, + "notecount": 561, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e985e4af75789b18b08863e1c9dfc0c9c8058170", + "difficulty": "NORMAL", + "songID": 1426, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23023, + "notecount": 299, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c9d9c7412fca3733928151ec1307a1907d89064d", + "difficulty": "ANOTHER", + "songID": 1427, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23024, + "notecount": 1510, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c317fe86e090829923e23b15b45e17f08844941", + "difficulty": "HYPER", + "songID": 1427, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23024, + "notecount": 818, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba5508f7b52065b718045fe2e85566ba7e7aea4c", + "difficulty": "NORMAL", + "songID": 1427, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23024, + "notecount": 552, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "471408813967ece139613e7e6f850c38097b768c", + "difficulty": "ANOTHER", + "songID": 1427, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23024, + "notecount": 1365, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b268ca3f7fd90f5df5e53a9169e120881deff6ea", + "difficulty": "HYPER", + "songID": 1427, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23024, + "notecount": 840, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "81f195795a73e998884779da88f2ceddb00d36ed", + "difficulty": "NORMAL", + "songID": 1427, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23024, + "notecount": 543, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f4cd745f3c0927ae40074ee57c6e890d0b6b5f8b", + "difficulty": "ANOTHER", + "songID": 1428, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23025, + "notecount": 1106, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72bc0be8c14317bd417a69df494a4ca6659fa366", + "difficulty": "HYPER", + "songID": 1428, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23025, + "notecount": 744, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4eac31e3becc319b8970991c376e40b773d1ee0d", + "difficulty": "NORMAL", + "songID": 1428, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 23025, + "notecount": 327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1df1351c42d5fd71dba5091b150fdc8e9a39a73", + "difficulty": "ANOTHER", + "songID": 1428, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23025, + "notecount": 1095, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51244dd4efd8b9aee458604fb2d6d759b89f5424", + "difficulty": "HYPER", + "songID": 1428, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23025, + "notecount": 781, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef0dcaa359598a405f9ff2cdf885a62d2c3a76e7", + "difficulty": "NORMAL", + "songID": 1428, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 23025, + "notecount": 342, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "196bb2769f007e0cf07dc2e3148ae99fdf891265", + "difficulty": "ANOTHER", + "songID": 1429, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23026, + "notecount": 1363, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0bd8e6666b96111e744e5dc53b45d3e13f346f1f", + "difficulty": "HYPER", + "songID": 1429, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23026, + "notecount": 931, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b596d72f4503c3db6758cf65b026222cc7c2db4f", + "difficulty": "NORMAL", + "songID": 1429, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23026, + "notecount": 571, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2fc9e9fcb18686c626c15a18bd6433338b21fb25", + "difficulty": "ANOTHER", + "songID": 1429, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23026, + "notecount": 1259, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ece804a9dc06fc5f1dbef21f92429afe02bbf693", + "difficulty": "HYPER", + "songID": 1429, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23026, + "notecount": 766, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83d3e5bf3594988d3ab74784eca23a412dd6b1f2", + "difficulty": "NORMAL", + "songID": 1429, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23026, + "notecount": 520, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c7ed4940d6c10939aa93556423a67be851d4e420", + "difficulty": "ANOTHER", + "songID": 1430, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23027, + "notecount": 2084, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9414ebdeb34e33b4321efd5214cb9048971be2e", + "difficulty": "HYPER", + "songID": 1430, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23027, + "notecount": 1194, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a44e5fedea144c9ca14cb5b75e558b31361a6541", + "difficulty": "NORMAL", + "songID": 1430, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23027, + "notecount": 775, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "42f66857c39275f3c9ec0ae17561aef6da17f1c9", + "difficulty": "ANOTHER", + "songID": 1430, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23027, + "notecount": 1953, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d91b28a8d208c21fec5012f60d7052c0504043a4", + "difficulty": "BEGINNER", + "songID": 1430, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 23027, + "notecount": 276, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4cbed586567dd7db851578b957ab08deb1e7e8f3", + "difficulty": "HYPER", + "songID": 1430, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23027, + "notecount": 1246, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e499130964308fd021679cf6e122a68d4e9820f", + "difficulty": "NORMAL", + "songID": 1430, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23027, + "notecount": 611, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d913a9485684af34e63beff42c781235c05156a1", + "difficulty": "ANOTHER", + "songID": 1431, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23028, + "notecount": 1262, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4977be14f24bdd0b5a43e86a7237d2f1ec888e71", + "difficulty": "HYPER", + "songID": 1431, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23028, + "notecount": 836, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae9fb285100e804f4372874e311c200efeb9d5c6", + "difficulty": "NORMAL", + "songID": 1431, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23028, + "notecount": 513, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ed343271f3036e06877d01a81d661a3634db4cd", + "difficulty": "ANOTHER", + "songID": 1431, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23028, + "notecount": 1299, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "94c60f35c4a6cf4641b921f8e919f00aed07bb08", + "difficulty": "HYPER", + "songID": 1431, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23028, + "notecount": 785, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "442343e98cacc86986ec5a4fdff7cd573e456d9a", + "difficulty": "NORMAL", + "songID": 1431, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23028, + "notecount": 495, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0df2b8fe23f8865c037850967c38c664c0aa554b", + "difficulty": "ANOTHER", + "songID": 1432, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23029, + "notecount": 1155, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d6f39cf8c6077d837b8a2bd38ca1ccdb88b858b1", + "difficulty": "HYPER", + "songID": 1432, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23029, + "notecount": 709, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1bbb4ccddb0e1e4e41c356e37635527a388891b", + "difficulty": "NORMAL", + "songID": 1432, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23029, + "notecount": 538, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a370a5312fe2ec37a19c176cd8ba5cc1ed8ea0e9", + "difficulty": "ANOTHER", + "songID": 1432, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23029, + "notecount": 1268, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "899f201e872ac99c917f4759ff8359bd8e816756", + "difficulty": "HYPER", + "songID": 1432, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23029, + "notecount": 722, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d88852ccafc79fdcbe196e09cc50033587d4886", + "difficulty": "NORMAL", + "songID": 1432, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23029, + "notecount": 539, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6538099fd5d97d3b66fcd820a9688aa5f0952b3c", + "difficulty": "ANOTHER", + "songID": 1433, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23030, + "notecount": 1285, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d836ca4068099062b74b6f15bddf0b4dbd287bb", + "difficulty": "HYPER", + "songID": 1433, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23030, + "notecount": 918, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c1ebdbe3bbf360b0a9e7290ba500fdedb99c1cd", + "difficulty": "NORMAL", + "songID": 1433, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23030, + "notecount": 575, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "62d31fc8cbc720c27d1dfab3335d5c9d2025978d", + "difficulty": "ANOTHER", + "songID": 1433, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23030, + "notecount": 1323, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": true + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a19a1600f0653c324fcfd0946a1155329a36996f", + "difficulty": "HYPER", + "songID": 1433, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23030, + "notecount": 860, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4437503791dffbe951c16a637335c011982c2199", + "difficulty": "NORMAL", + "songID": 1433, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23030, + "notecount": 482, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b811ed06511917727821102776308c3be8d36a6", + "difficulty": "ANOTHER", + "songID": 1434, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23031, + "notecount": 1435, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eb33a1710cc3a5cbcd55cde126e3db1038c98a87", + "difficulty": "HYPER", + "songID": 1434, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23031, + "notecount": 1007, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa3cec379df6494d3d0279b603d0e811bf277282", + "difficulty": "LEGGENDARIA", + "songID": 1434, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23031, + "notecount": 1814, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4dc82eaa459c48e661bae03850288178ac123971", + "difficulty": "NORMAL", + "songID": 1434, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23031, + "notecount": 705, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35b80eed3726eacd523b56e16c0e8b87c8dfcc13", + "difficulty": "ANOTHER", + "songID": 1434, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23031, + "notecount": 1342, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "58218f3dcdf651a8f3780b214884e9ba9da4cadf", + "difficulty": "HYPER", + "songID": 1434, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23031, + "notecount": 939, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6a290f87e433e3b1705effc0e63a9baf4f1695c6", + "difficulty": "LEGGENDARIA", + "songID": 1434, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23031, + "notecount": 1712, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "065282f8d20edd32129a44fa5fd4ec37e618fc34", + "difficulty": "NORMAL", + "songID": 1434, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23031, + "notecount": 648, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a9bc6720433d6888011a4cccc1dc954724ad589", + "difficulty": "ANOTHER", + "songID": 1435, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23032, + "notecount": 1573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "90a7cc97ecc706f184197c22e726d96343f0973d", + "difficulty": "HYPER", + "songID": 1435, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23032, + "notecount": 1110, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6bb0264ce3751613ab6d357813f74ff6af60ee8e", + "difficulty": "NORMAL", + "songID": 1435, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23032, + "notecount": 638, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d88db1254ec6417597b2494b62328b59398e2df", + "difficulty": "ANOTHER", + "songID": 1435, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23032, + "notecount": 1589, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "8f14e555ce73e3072b5a8ac6673c16aa40373ac8", + "difficulty": "HYPER", + "songID": 1435, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23032, + "notecount": 1077, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b1011663880788bf09e61a136edc1bedb76cbcb", + "difficulty": "NORMAL", + "songID": 1435, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23032, + "notecount": 615, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21be47e625c81c847fd92ec354aa9c8c08bc7912", + "difficulty": "ANOTHER", + "songID": 1436, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23033, + "notecount": 1433, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8dab6eb71e38d2ee4feb6112844c9aff04cdd748", + "difficulty": "HYPER", + "songID": 1436, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23033, + "notecount": 802, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4381f1c9a7c7873d389a05c79796627d4136854f", + "difficulty": "NORMAL", + "songID": 1436, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23033, + "notecount": 476, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eb5b336b248e46f128dca8f597a8e68328d8c1f4", + "difficulty": "ANOTHER", + "songID": 1436, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23033, + "notecount": 1290, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "266b8641038fb49b6798576d8458e2598fb00caa", + "difficulty": "HYPER", + "songID": 1436, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23033, + "notecount": 812, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89f5b2b3405a1a240c873bd2e89824339a84530b", + "difficulty": "NORMAL", + "songID": 1436, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23033, + "notecount": 478, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9c3a547057f30d42be7b024ee81b13dcd0e0a17", + "difficulty": "ANOTHER", + "songID": 1437, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23034, + "notecount": 1135, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5cb089093e2851f97b33e540863582aaf2aa1eb9", + "difficulty": "HYPER", + "songID": 1437, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23034, + "notecount": 703, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32065b1acf86eade247443414a5d24cce0da91e0", + "difficulty": "NORMAL", + "songID": 1437, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23034, + "notecount": 494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "842d02d59fe19ce34aba636c0f837e2a4281916f", + "difficulty": "ANOTHER", + "songID": 1437, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23034, + "notecount": 1014, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "67023e9e3f12a9789879d849059682fdbea34f49", + "difficulty": "HYPER", + "songID": 1437, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23034, + "notecount": 658, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f52141632aef98abbdf66c83c9a7f99a518adb0", + "difficulty": "NORMAL", + "songID": 1437, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23034, + "notecount": 363, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "144faa58ffb5e7592a9d315268ef591680034d9f", + "difficulty": "ANOTHER", + "songID": 1438, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23035, + "notecount": 1000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1afbcaa8c1927fee6f3636341963d0e8ac9a0607", + "difficulty": "HYPER", + "songID": 1438, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23035, + "notecount": 624, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "23c37bc2f827ed840eed9fd6b1e9b3d0eb28647c", + "difficulty": "NORMAL", + "songID": 1438, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23035, + "notecount": 347, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43bad81b5a9890b17079cd67e424606d97ff8e65", + "difficulty": "ANOTHER", + "songID": 1438, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23035, + "notecount": 1073, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78aefeeecdb3bde520be096c0549c43d7c785581", + "difficulty": "HYPER", + "songID": 1438, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23035, + "notecount": 619, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87fb50276aa5ff5a4eebf9d2c5d697876a785d93", + "difficulty": "NORMAL", + "songID": 1438, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23035, + "notecount": 353, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1af6a9c99df025fe37142e7e390965cbf592fd1d", + "difficulty": "ANOTHER", + "songID": 1439, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23036, + "notecount": 1271, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa60c82088ae57d599b2bde178ba91f73df4ff62", + "difficulty": "HYPER", + "songID": 1439, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23036, + "notecount": 1000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7fb7e2bd59aa175399edb4b7c21527313cafcde7", + "difficulty": "NORMAL", + "songID": 1439, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23036, + "notecount": 485, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f8028f3c4d86c3c8065d199f260dda941fdc638", + "difficulty": "ANOTHER", + "songID": 1439, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23036, + "notecount": 1308, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6fcbd9c4e2e50031956bca696da19a1e32e4920", + "difficulty": "HYPER", + "songID": 1439, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23036, + "notecount": 935, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1399643b2572c04239f0f0c958dd1cfc64ba0b5a", + "difficulty": "NORMAL", + "songID": 1439, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23036, + "notecount": 536, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f46e80fce0d36b4a207255179601bb96b750ecc5", + "difficulty": "ANOTHER", + "songID": 1440, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23037, + "notecount": 1456, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9eddfafe11177fa2b1c3e3b01a838f65e8e6f21", + "difficulty": "HYPER", + "songID": 1440, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23037, + "notecount": 1087, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "155c2fe5bae7c80c532835bb98d6152423933b03", + "difficulty": "NORMAL", + "songID": 1440, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23037, + "notecount": 671, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "748fa71509fb11e0718e726daf10b2d786e7f084", + "difficulty": "ANOTHER", + "songID": 1440, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23037, + "notecount": 1443, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": true + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7a42dd5c2ea76b3080ef80e1fa1cff92e1dde843", + "difficulty": "HYPER", + "songID": 1440, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23037, + "notecount": 999, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d31abf305f241edd4a0d09e80f2646f47dd04110", + "difficulty": "NORMAL", + "songID": 1440, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23037, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9009a3ed107f38cc88bc58ea9fae3993201fe14", + "difficulty": "ANOTHER", + "songID": 1441, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23038, + "notecount": 1182, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9dc1433375f88949e2d05968543aa1936ab8421", + "difficulty": "HYPER", + "songID": 1441, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23038, + "notecount": 818, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "823a709e70a2c25456736c6040d3f3b04fac8c80", + "difficulty": "NORMAL", + "songID": 1441, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23038, + "notecount": 488, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04dfaae0a5b289a10d8f9972331d79c09f2fdf98", + "difficulty": "ANOTHER", + "songID": 1441, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23038, + "notecount": 1100, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "95ed71cb82186284c6aeaa6878e75d89bd2d8ed0", + "difficulty": "HYPER", + "songID": 1441, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23038, + "notecount": 759, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93e11ce6270bb693828a29c008177cf2ddfdf94d", + "difficulty": "NORMAL", + "songID": 1441, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23038, + "notecount": 441, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "964cd3552b60622a01011c42de503b111058b856", + "difficulty": "ANOTHER", + "songID": 1442, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23039, + "notecount": 1251, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c0ad4d0dee447f5e8fb49eeafb9dd09730653ef", + "difficulty": "HYPER", + "songID": 1442, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23039, + "notecount": 741, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "858d91ff5e1a1d5ff25203026401aaa2114b611c", + "difficulty": "NORMAL", + "songID": 1442, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 23039, + "notecount": 323, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d66377d797ae9f7c7f90fc34d6c28015dd915502", + "difficulty": "ANOTHER", + "songID": 1442, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23039, + "notecount": 1171, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "634f4b61d5563435fe571c5e55bb407dc53a9a4c", + "difficulty": "HYPER", + "songID": 1442, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23039, + "notecount": 777, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1664c01588d8aae260a3ad9bf2299e5bda10dfc5", + "difficulty": "NORMAL", + "songID": 1442, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 23039, + "notecount": 321, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "69e3c26f0c6d6a86c9dd0b0723407845d6890161", + "difficulty": "ANOTHER", + "songID": 1443, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23040, + "notecount": 1183, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "828dc62f7cabaf33db72158fdfc5c9ffb89adb4e", + "difficulty": "HYPER", + "songID": 1443, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23040, + "notecount": 939, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7e7e6866fc5c587a8029aa1bf0bec56441c8c519", + "difficulty": "NORMAL", + "songID": 1443, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23040, + "notecount": 491, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c611976a4c5fdd4ce85559e669a6634382e363cc", + "difficulty": "ANOTHER", + "songID": 1443, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23040, + "notecount": 1179, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41a3a76ae2e48e17d740ed6d21a38c126b6966bc", + "difficulty": "HYPER", + "songID": 1443, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23040, + "notecount": 724, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a105869a8421b19b2e18592e634c1442dd3f589", + "difficulty": "NORMAL", + "songID": 1443, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23040, + "notecount": 540, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a329095d48017b0bda2d1e92cc5cf38e3baa48a2", + "difficulty": "ANOTHER", + "songID": 1444, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23041, + "notecount": 1773, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a946756ae7b1c6594e49e4aa9f52554cf85c291", + "difficulty": "HYPER", + "songID": 1444, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23041, + "notecount": 1175, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4055e2eb959b618abc01c0a4ee4757443aa049a1", + "difficulty": "NORMAL", + "songID": 1444, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23041, + "notecount": 769, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3c3d66c91e5b1608c0eb809ce9f152882115852", + "difficulty": "ANOTHER", + "songID": 1444, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23041, + "notecount": 1727, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": true + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c5e9b3aa04e42787f54f5bebe3387c47058c4991", + "difficulty": "HYPER", + "songID": 1444, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23041, + "notecount": 1123, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0434ce44638b18b48ebe076bfb015225f33be9b7", + "difficulty": "NORMAL", + "songID": 1444, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23041, + "notecount": 737, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "16546bce49dc39881bd9102c05abfa2cdf06e064", + "difficulty": "ANOTHER", + "songID": 1445, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23042, + "notecount": 1388, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f530b0ebfe7260fb92cf7087587ef40ec51fbba", + "difficulty": "HYPER", + "songID": 1445, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23042, + "notecount": 855, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eeca836f33aeae1b2570dcad7401ec06d42de956", + "difficulty": "NORMAL", + "songID": 1445, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23042, + "notecount": 543, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f0e83af3cde0cdc67c503a9a188bb8095a3d898", + "difficulty": "ANOTHER", + "songID": 1445, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23042, + "notecount": 1309, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce39b79adfe72f027f24b1dbe98312678d57653a", + "difficulty": "HYPER", + "songID": 1445, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23042, + "notecount": 908, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68b4babaa678bfea5099236dd10757c8681c5156", + "difficulty": "NORMAL", + "songID": 1445, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23042, + "notecount": 576, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "66a22de1297cbc10b8ec139ff3270320246a7e40", + "difficulty": "ANOTHER", + "songID": 1446, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23043, + "notecount": 1556, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51db52654c6db8b9636e73a2f15309b7af20f360", + "difficulty": "HYPER", + "songID": 1446, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23043, + "notecount": 931, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "01ec885a65604fb2a93f7a464b0279e78e017122", + "difficulty": "NORMAL", + "songID": 1446, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23043, + "notecount": 569, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c0d133b47eb42d91bc0e630e978f706a233b14f7", + "difficulty": "ANOTHER", + "songID": 1446, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23043, + "notecount": 1500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "75a0c9829093d837c670b3043a88d0e53550ceb6", + "difficulty": "HYPER", + "songID": 1446, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23043, + "notecount": 859, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ca0d683e1abd5d68e4b4cc36e32d4d304867491", + "difficulty": "NORMAL", + "songID": 1446, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23043, + "notecount": 590, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e058e8964a5f0ae8937100da4bde2dd812724580", + "difficulty": "ANOTHER", + "songID": 1447, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23044, + "notecount": 1384, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b76e0b13c5731f91bfdb7c066bdc15fd8bbfa05", + "difficulty": "HYPER", + "songID": 1447, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23044, + "notecount": 1071, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f7ea73cac8219e0605584185d1ed67d279f7733", + "difficulty": "NORMAL", + "songID": 1447, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23044, + "notecount": 654, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f878eeafb45189745e6a62d44078b41a1bb82e43", + "difficulty": "ANOTHER", + "songID": 1447, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23044, + "notecount": 1333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "9260ce93cf03c7f636595b8c6dd6a609ef5ed951", + "difficulty": "HYPER", + "songID": 1447, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23044, + "notecount": 1038, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "57ad3708dd3a68b390581e8c5e88845fa29573b9", + "difficulty": "NORMAL", + "songID": 1447, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23044, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c9b21fdb708c7be0dc78d190e7d42e62b56e098f", + "difficulty": "ANOTHER", + "songID": 1448, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23045, + "notecount": 1837, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a3a2160486c6c26a0e58a44bbfe20cd5d289a40", + "difficulty": "HYPER", + "songID": 1448, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23045, + "notecount": 1248, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b0b95ee6590fe99925ac43fcfe4695a987240360", + "difficulty": "NORMAL", + "songID": 1448, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23045, + "notecount": 696, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a7a5b8d8178bde0e64f9492374acfea126184cab", + "difficulty": "ANOTHER", + "songID": 1448, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23045, + "notecount": 1717, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2be7f825f0cd3a4e3f064b96d94e06a93ee6b531", + "difficulty": "HYPER", + "songID": 1448, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23045, + "notecount": 1202, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "802ddea6f027d74e65f77c01f561e03ae420ead3", + "difficulty": "NORMAL", + "songID": 1448, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23045, + "notecount": 777, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a3b6fc9bcfa93a9abb82d90cbc29a62171bb009", + "difficulty": "ANOTHER", + "songID": 1449, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23046, + "notecount": 1407, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b4398eaf421ef24bc60b545e0a92f6c213c42da", + "difficulty": "HYPER", + "songID": 1449, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23046, + "notecount": 940, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e226ef00b3d888f408596f2a09e0be95296f260e", + "difficulty": "NORMAL", + "songID": 1449, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23046, + "notecount": 469, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cc2fea79f09072132c4cb36220a92d3d35a6697d", + "difficulty": "ANOTHER", + "songID": 1449, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23046, + "notecount": 1508, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "afbd1bc59c7a59309f72a8789a33eb5b7ed38f93", + "difficulty": "HYPER", + "songID": 1449, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23046, + "notecount": 919, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63dcd17c4211282c7c2d2c5468b2e78ab96990a1", + "difficulty": "NORMAL", + "songID": 1449, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23046, + "notecount": 468, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "773a40d5f6066a2c8b73d81fe806fc45c5f6efb6", + "difficulty": "ANOTHER", + "songID": 1450, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23047, + "notecount": 1365, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "530e7407e65072057ed5ad054ba2ec2e19efa261", + "difficulty": "HYPER", + "songID": 1450, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23047, + "notecount": 878, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "652c5c306cda86ed1849af3dc65744b4b55a63d0", + "difficulty": "NORMAL", + "songID": 1450, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23047, + "notecount": 558, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "913010a52cbbb5a5c58e1e8b14576441dcc7fd9e", + "difficulty": "ANOTHER", + "songID": 1450, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23047, + "notecount": 1234, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "439036019e7b0dada9bcf9c7936833374634f60f", + "difficulty": "HYPER", + "songID": 1450, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23047, + "notecount": 904, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c8f5cebd0168cbfcc4ec272126e5cc98bb8565d", + "difficulty": "NORMAL", + "songID": 1450, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23047, + "notecount": 568, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "668d86d188330de9e14b862ee70272f8a907e352", + "difficulty": "ANOTHER", + "songID": 1451, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23048, + "notecount": 1363, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9dd911d8518defcda919e424507ed347585d65a0", + "difficulty": "HYPER", + "songID": 1451, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23048, + "notecount": 1006, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa81a912f6496bd03f8836f9cc2a6e0bd8991a32", + "difficulty": "NORMAL", + "songID": 1451, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23048, + "notecount": 603, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff9d2ab69bb815221f768445a16639e805a646df", + "difficulty": "ANOTHER", + "songID": 1451, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23048, + "notecount": 1329, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "10e6520b81372c1f9215b41fd8de26dfc26265c9", + "difficulty": "BEGINNER", + "songID": 1451, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 23048, + "notecount": 132, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43ffad0122f80ab92240d3c1fd1707c47f2aadb5", + "difficulty": "HYPER", + "songID": 1451, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23048, + "notecount": 903, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa6a7e3f9ad416f1cbdc9d8390b5e37999ae7b80", + "difficulty": "NORMAL", + "songID": 1451, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23048, + "notecount": 577, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54a3dcb1a573425c4afe5e6f978cfbca5aa8a07d", + "difficulty": "ANOTHER", + "songID": 1452, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23049, + "notecount": 1017, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "01b8d0738211655daf653600b6c35ef8f9cd8822", + "difficulty": "HYPER", + "songID": 1452, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23049, + "notecount": 623, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd6ac208569354eb767d1863e700c55da058db86", + "difficulty": "NORMAL", + "songID": 1452, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23049, + "notecount": 393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb9298962b63b31f7dd95f774a6459dd24256915", + "difficulty": "ANOTHER", + "songID": 1452, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23049, + "notecount": 1148, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a2fc91e3761bb1607d59af660f4ad9df30893f9", + "difficulty": "HYPER", + "songID": 1452, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23049, + "notecount": 631, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cabb9d940bdd3cf77cfe24d21ec319222be83e1e", + "difficulty": "NORMAL", + "songID": 1452, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23049, + "notecount": 420, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "59cc22ebc0d927ab538f1374b38171f12fd3b2a9", + "difficulty": "ANOTHER", + "songID": 1453, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23050, + "notecount": 1369, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9664158bd0bf31e26d8fdf2216dc66e8e9f33ec8", + "difficulty": "HYPER", + "songID": 1453, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23050, + "notecount": 858, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c518f4f5a9b5492a88d338424a3552410a3ba10e", + "difficulty": "NORMAL", + "songID": 1453, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23050, + "notecount": 478, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c1b239c9f96f531e2bfaab6447a1482fd5fbe2b4", + "difficulty": "ANOTHER", + "songID": 1453, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23050, + "notecount": 1298, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c9f2087fabf74d83c86ab4df71af5573be7ded5b", + "difficulty": "HYPER", + "songID": 1453, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23050, + "notecount": 882, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2db99bdf2ddbcb3b29042ed565992165f88b3e29", + "difficulty": "NORMAL", + "songID": 1453, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23050, + "notecount": 490, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e737dd471a2b5b941897dd83ee2e27e6c01ee2de", + "difficulty": "ANOTHER", + "songID": 1454, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23051, + "notecount": 1732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ffee518a490dea818cf43b6b46c1fe8a3ec3c37", + "difficulty": "HYPER", + "songID": 1454, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23051, + "notecount": 1031, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f192a8904a993f0c561dc07dc071f72c66a8d79", + "difficulty": "NORMAL", + "songID": 1454, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23051, + "notecount": 664, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54c09f84b1910128ca1adc2b20f44617c54d13f4", + "difficulty": "ANOTHER", + "songID": 1454, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23051, + "notecount": 1804, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S+", + "value": 13.1, + "individualDifference": true + }, + "kt-HC": { + "text": "12S+", + "value": 13.2, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.50", + "value": 13.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6bf587a5ec9c9eba2fdf45ddf235fbdd5e2a75a0", + "difficulty": "HYPER", + "songID": 1454, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23051, + "notecount": 1093, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": true + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c759f7a7a9ae59b185ba17789b7ba4fce8b08490", + "difficulty": "NORMAL", + "songID": 1454, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23051, + "notecount": 675, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29bb3a7e7a4f538f5b44120001914b1bd3479b70", + "difficulty": "ANOTHER", + "songID": 1455, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23052, + "notecount": 1550, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "95f87acb7cf3ebc6d5fa1792dfe8fa28b6222bc2", + "difficulty": "HYPER", + "songID": 1455, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23052, + "notecount": 989, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "65dab8dc1b33cd870000a2ac801c6d5b4b902e0a", + "difficulty": "NORMAL", + "songID": 1455, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23052, + "notecount": 476, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bca6cfcde78a4d99ec7937050950f2b2726cabdc", + "difficulty": "ANOTHER", + "songID": 1455, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23052, + "notecount": 1458, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "37dd1ab2efc98e50650a7c912b7800774fc43e4b", + "difficulty": "HYPER", + "songID": 1455, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23052, + "notecount": 985, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e2fd8194c3310080810670a260861ffcfc96db5f", + "difficulty": "NORMAL", + "songID": 1455, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23052, + "notecount": 446, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c00d7fcc78645caf5dbabaf636dbb480c19d944b", + "difficulty": "ANOTHER", + "songID": 1456, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23053, + "notecount": 1249, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2543dc48235fcce5380627014472502f6daf8ad3", + "difficulty": "HYPER", + "songID": 1456, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23053, + "notecount": 814, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed52ef2877dec8492894dab8f1423576ce41598c", + "difficulty": "NORMAL", + "songID": 1456, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23053, + "notecount": 627, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb46f461d255fceeac3031f946eef4f994f492c4", + "difficulty": "ANOTHER", + "songID": 1456, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23053, + "notecount": 1419, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7682329b70cf30b56374edee19b87cb64aa804a6", + "difficulty": "HYPER", + "songID": 1456, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23053, + "notecount": 821, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34e2168c80f67689f45fd586be6167a2e438d300", + "difficulty": "NORMAL", + "songID": 1456, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23053, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a904ed8dcad41568e8082f655882fc080c810a5", + "difficulty": "ANOTHER", + "songID": 1457, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23054, + "notecount": 1056, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "14d131580f3f77f371305b95b44b063db9c6285b", + "difficulty": "HYPER", + "songID": 1457, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23054, + "notecount": 705, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d46a8a0d2bcb3e7f999ed979992dec0b68025f2", + "difficulty": "LEGGENDARIA", + "songID": 1457, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23054, + "notecount": 1238, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "478cc021bb34e8d26a1a924969db407661266fd5", + "difficulty": "NORMAL", + "songID": 1457, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23054, + "notecount": 415, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "37ec0409bf7654940ce5ee52731c6b43b6df5660", + "difficulty": "ANOTHER", + "songID": 1457, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23054, + "notecount": 1026, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e87d4c595d419a378e04265477eecdd451b2e70f", + "difficulty": "HYPER", + "songID": 1457, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23054, + "notecount": 718, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f33e16f22d44cc6aa8e235d00039b46700516b9f", + "difficulty": "LEGGENDARIA", + "songID": 1457, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23054, + "notecount": 1153, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60a8e1336ff5195f742752f328b37da7e99b6442", + "difficulty": "NORMAL", + "songID": 1457, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23054, + "notecount": 447, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c3015049e03d1a2823b0f3e2f72b9928f82104a3", + "difficulty": "ANOTHER", + "songID": 1458, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23055, + "notecount": 1210, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "48cf5116d33e965c66c2488b80c1c8b234cb554f", + "difficulty": "HYPER", + "songID": 1458, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23055, + "notecount": 853, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d6ebc240b13f01b086caa5a50d66070545d16646", + "difficulty": "NORMAL", + "songID": 1458, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23055, + "notecount": 370, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e7b29f13bb17d14b16564a3427da8877e602e0dd", + "difficulty": "ANOTHER", + "songID": 1458, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23055, + "notecount": 1260, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": true + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "53cc0f62a45cbe2c3c720dfa4d81dc526b23a96f", + "difficulty": "HYPER", + "songID": 1458, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23055, + "notecount": 873, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c77fe9361d414dfea41a3bd30c66e7064a4ed03c", + "difficulty": "NORMAL", + "songID": 1458, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23055, + "notecount": 360, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f5199b3c4ee169ed45d11ffdc728a4fd94659e71", + "difficulty": "ANOTHER", + "songID": 1459, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23056, + "notecount": 1172, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c722d1b7707a95ffe2a4a15d27eb0752f06d24bc", + "difficulty": "HYPER", + "songID": 1459, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23056, + "notecount": 913, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9dcad2da49aef994db6ae874e6ad590c938dba40", + "difficulty": "NORMAL", + "songID": 1459, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23056, + "notecount": 605, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8a5d163f74b89921617f72a2dc2486022360c5c", + "difficulty": "ANOTHER", + "songID": 1459, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23056, + "notecount": 1150, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dcccea01d58d61ab53314b4cd8611d328ad41a3d", + "difficulty": "HYPER", + "songID": 1459, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23056, + "notecount": 893, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "316e866d964a662d31526edaeeee2b98f903b925", + "difficulty": "NORMAL", + "songID": 1459, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23056, + "notecount": 613, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0ec29b9f7eb15ae3c0337e7ba9ef3247c89034d", + "difficulty": "ANOTHER", + "songID": 1460, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23057, + "notecount": 1221, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f721d179b45d44993e707f96c412ed8735cbfe1", + "difficulty": "HYPER", + "songID": 1460, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23057, + "notecount": 850, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "86ad6ce10d9c9d3aa432ba618387ac4103739b45", + "difficulty": "NORMAL", + "songID": 1460, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23057, + "notecount": 392, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82abfab85e4eb02f1f81835b94b67b1a82c74672", + "difficulty": "ANOTHER", + "songID": 1460, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23057, + "notecount": 1267, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": true + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "89fdf6a96c6b66f3580f3d78e8dc19c621d2ec0e", + "difficulty": "HYPER", + "songID": 1460, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23057, + "notecount": 812, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "18155cc768b151effc7b1473b7fc7eb112def992", + "difficulty": "NORMAL", + "songID": 1460, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23057, + "notecount": 348, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9322240e1646cdb5709e0dde31e61faa07d07f0f", + "difficulty": "ANOTHER", + "songID": 1461, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23058, + "notecount": 907, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ee3ec853d05800f068d2fc82f5fac2d36fffa14", + "difficulty": "HYPER", + "songID": 1461, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23058, + "notecount": 629, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9bfb49fd39b5404da500b6e4c06b9f574eed4992", + "difficulty": "NORMAL", + "songID": 1461, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23058, + "notecount": 408, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29baeb0b73a6ab627dc95316ac8fd5423a81a49f", + "difficulty": "ANOTHER", + "songID": 1461, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23058, + "notecount": 903, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a3cf4b4e6ac1b736a48831f8c075d5d9a3015fba", + "difficulty": "HYPER", + "songID": 1461, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23058, + "notecount": 646, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e93762efd29de386b35d18aa85532ee74e6f7d20", + "difficulty": "NORMAL", + "songID": 1461, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23058, + "notecount": 388, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb0a508175f6c509d947f5b73e7251b6a09352bc", + "difficulty": "ANOTHER", + "songID": 1462, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23059, + "notecount": 1062, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dfb1260ea8c55b7aa215e20944969da95791bc56", + "difficulty": "HYPER", + "songID": 1462, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23059, + "notecount": 691, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "08aecb7fe5bfd77fbc530f3cf74e359c9a7a87a9", + "difficulty": "NORMAL", + "songID": 1462, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 23059, + "notecount": 306, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "57c01fb9de811aa1fb1a009b0aa359fa3bf181ad", + "difficulty": "ANOTHER", + "songID": 1462, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23059, + "notecount": 1072, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4fc43ae1d062399b9b10cb1c12b19047cae2e8ff", + "difficulty": "HYPER", + "songID": 1462, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23059, + "notecount": 695, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d7521cfe61eb8995b60cfe35d98c67efd0e70591", + "difficulty": "NORMAL", + "songID": 1462, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 23059, + "notecount": 306, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c751f7e27e22b7df017902c1557ca825545d35b9", + "difficulty": "ANOTHER", + "songID": 1463, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23060, + "notecount": 312, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f11aba092fe50aeaaa761df62c8a656e19c1040c", + "difficulty": "HYPER", + "songID": 1463, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23060, + "notecount": 225, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "46e2f3257ac8f19b9e1a1594375c7e58b8b9cab5", + "difficulty": "NORMAL", + "songID": 1463, + "playtype": "DP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 23060, + "notecount": 128, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "018ac53249beed24fc8f63d239cc533752aa4a41", + "difficulty": "ANOTHER", + "songID": 1463, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23060, + "notecount": 264, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5de51eb193912f3225394a0fc6a0d89fdf56d8c2", + "difficulty": "HYPER", + "songID": 1463, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 23060, + "notecount": 178, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19293ac666a61315781ae0e5b1274be443b5f6a8", + "difficulty": "NORMAL", + "songID": 1463, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 23060, + "notecount": 80, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c0e7f6f42071e302a8785c629c6073f5169fc2f", + "difficulty": "ANOTHER", + "songID": 1464, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23061, + "notecount": 1782, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ba2d5278178a30ac00c8fb47fd77a9e7d9601b7", + "difficulty": "HYPER", + "songID": 1464, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23061, + "notecount": 1163, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc4679c83f395deb414afd8daa38931f0ee265be", + "difficulty": "NORMAL", + "songID": 1464, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23061, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "39a9c7ffea5593d1f23abd12bd9f9b3d27d17b85", + "difficulty": "ANOTHER", + "songID": 1464, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23061, + "notecount": 1793, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d3f1faf000a289762ef8f5836c64ce28788c9fdf", + "difficulty": "HYPER", + "songID": 1464, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23061, + "notecount": 1152, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ed3d9b9988b49d2970a56dcdd469ec8e82f8219", + "difficulty": "NORMAL", + "songID": 1464, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23061, + "notecount": 548, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f09d1b80881932c06e83a7d96d697ba7f21c543", + "difficulty": "ANOTHER", + "songID": 1465, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23062, + "notecount": 1030, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af6ebbd671d213857e5007f41a2275e3f8a6718e", + "difficulty": "HYPER", + "songID": 1465, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23062, + "notecount": 730, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e1e82d857316279ff0ea582b800a048641ece68", + "difficulty": "NORMAL", + "songID": 1465, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 23062, + "notecount": 310, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "479ed91c389a81e175d98cda1f21fc2ff9351108", + "difficulty": "ANOTHER", + "songID": 1465, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23062, + "notecount": 1030, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68ffc6913b4c34e1d2492d813dbf90172eb3207c", + "difficulty": "HYPER", + "songID": 1465, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23062, + "notecount": 662, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7028f4c23b20f28555614bc0eb7bad6d6bfe9655", + "difficulty": "NORMAL", + "songID": 1465, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 23062, + "notecount": 133, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b486fb445151ac2d1ae33acc31aa4bd8d82846c9", + "difficulty": "ANOTHER", + "songID": 1466, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23063, + "notecount": 1602, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d33b1e2212506cfa5864a53b5b2d83e665827f18", + "difficulty": "HYPER", + "songID": 1466, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23063, + "notecount": 1013, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3157bf94f65f3f328cdcdd461fe50694d57db834", + "difficulty": "NORMAL", + "songID": 1466, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23063, + "notecount": 585, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b31063b317d82039aca13f44cbccdaa40167d03c", + "difficulty": "ANOTHER", + "songID": 1466, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23063, + "notecount": 1728, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "44c82f42bdec35ae4a9b4855b639c14c64996cc3", + "difficulty": "HYPER", + "songID": 1466, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23063, + "notecount": 1087, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c07118800f95663e78d1eafbcd7c573b0ca0bb26", + "difficulty": "NORMAL", + "songID": 1466, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23063, + "notecount": 664, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "515845ec6d9d4bc70a98a23974ef04e42459f2bf", + "difficulty": "ANOTHER", + "songID": 1467, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23065, + "notecount": 1701, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c30f0e40c93b0c11b351da0f5fcbf6302d9fc4bb", + "difficulty": "HYPER", + "songID": 1467, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23065, + "notecount": 1216, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a11c593ccc3697f920f2d4485c5024fecacf04c", + "difficulty": "NORMAL", + "songID": 1467, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23065, + "notecount": 774, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e298802bbae13e48bc0de3050ce06c02e1265ebe", + "difficulty": "ANOTHER", + "songID": 1467, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23065, + "notecount": 1312, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "9-cs" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "bec87b25570c679612efe4597b33abcb1981330f", + "difficulty": "HYPER", + "songID": 1467, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23065, + "notecount": 1077, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a35fcc958c5503f2000b9afa2e97ef4ba6b0c9e2", + "difficulty": "NORMAL", + "songID": 1467, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23065, + "notecount": 702, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "9-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11e3ce9c7d07b936889a61989a53e6c066afa638", + "difficulty": "ANOTHER", + "songID": 1468, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23066, + "notecount": 917, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ef61598f33cd9c0727d56e530c10095f491768e", + "difficulty": "HYPER", + "songID": 1468, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23066, + "notecount": 917, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6c33599b58925b4d55abff8168ecc2f73b7e122", + "difficulty": "NORMAL", + "songID": 1468, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23066, + "notecount": 369, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7916cdb4e52ac343481da45f39f3f03384666a43", + "difficulty": "ANOTHER", + "songID": 1468, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23066, + "notecount": 866, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "9e20834db41cdd56d807989d7596e6054cdc3604", + "difficulty": "HYPER", + "songID": 1468, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23066, + "notecount": 369, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c98f7734503be59ae8987b229f573e0f424bf47", + "difficulty": "NORMAL", + "songID": 1468, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23066, + "notecount": 252, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "4-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a0602175b0ecf53821879816a9a41a7d9c417f8c", + "difficulty": "ANOTHER", + "songID": 1469, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23067, + "notecount": 1234, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7727516629d18d25b8aa78748071c9f2706fdc9c", + "difficulty": "HYPER", + "songID": 1469, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23067, + "notecount": 941, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cc244f0e956af6a5626905fc3fd3a9aa177aeb79", + "difficulty": "NORMAL", + "songID": 1469, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23067, + "notecount": 566, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c0fd0d94bae4223dc365294f8182d065cc21ad66", + "difficulty": "ANOTHER", + "songID": 1469, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23067, + "notecount": 1182, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fdf054b7cf884cd9926aa9bb2e7c8deadee17287", + "difficulty": "HYPER", + "songID": 1469, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23067, + "notecount": 892, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73658247ba5751bf837cef1ff9dc2d45a0e40ea3", + "difficulty": "NORMAL", + "songID": 1469, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23067, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c66242f158e7019b2b5cd19439f2f14a4f1b1467", + "difficulty": "ANOTHER", + "songID": 1470, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23068, + "notecount": 1442, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84089dd0967c621a1fb7cf62b17624601036478c", + "difficulty": "HYPER", + "songID": 1470, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23068, + "notecount": 905, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d45cf1919782ea7b339f1318c45bb7afac5126cc", + "difficulty": "NORMAL", + "songID": 1470, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23068, + "notecount": 683, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f6d7bc71b9ae33bd4eda988fb25686c87e6b71d", + "difficulty": "ANOTHER", + "songID": 1470, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23068, + "notecount": 1328, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5ae22f51a807399d27d8b92d44bf21ea9f80f1f8", + "difficulty": "HYPER", + "songID": 1470, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23068, + "notecount": 887, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eb22521033e7a6bdcf6d6b49e1b5646191ad6c92", + "difficulty": "NORMAL", + "songID": 1470, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23068, + "notecount": 604, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "36bd866058e0f33e69b0bc3d6ee879286854ed5f", + "difficulty": "ANOTHER", + "songID": 1471, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23069, + "notecount": 1949, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "041559f064ae6cfab2307a626bcf7275cb52f081", + "difficulty": "HYPER", + "songID": 1471, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23069, + "notecount": 1218, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c7cc4c4658baced95878a1bb36f21d1d42f3311", + "difficulty": "NORMAL", + "songID": 1471, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23069, + "notecount": 714, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a63148926fda8872b13d230d4b7a0dcbf5f24414", + "difficulty": "ANOTHER", + "songID": 1471, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23069, + "notecount": 1687, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6a411d6122d213cffdf458f780bc4c73a60d9eee", + "difficulty": "HYPER", + "songID": 1471, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23069, + "notecount": 1302, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bede07ab4bd501d58d0334a6db0f8f5c0d9ad05d", + "difficulty": "NORMAL", + "songID": 1471, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23069, + "notecount": 454, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "190a943b3b612e3f5cfe17006545a19562850996", + "difficulty": "ANOTHER", + "songID": 1472, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23070, + "notecount": 1326, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "970f3518d2cd9842de6d58f1aab502f32a178033", + "difficulty": "HYPER", + "songID": 1472, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23070, + "notecount": 967, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c0cfecf43b2a70f20113ce71ea58bdcc074a293e", + "difficulty": "LEGGENDARIA", + "songID": 1472, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23070, + "notecount": 1762, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52af0eb6c9d9c402897486392edbd898a8f84a20", + "difficulty": "NORMAL", + "songID": 1472, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23070, + "notecount": 727, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8c315818a0a5b2ebf369bed09637a353d716c1e", + "difficulty": "ANOTHER", + "songID": 1472, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23070, + "notecount": 1357, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "30171fd866dc5e2b4f651b4e9d13b0e2e3d5c39b", + "difficulty": "HYPER", + "songID": 1472, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23070, + "notecount": 919, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dfe8ce33b836fb7da096588c59e5ab8b10832cbf", + "difficulty": "LEGGENDARIA", + "songID": 1472, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23070, + "notecount": 1701, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d3d517f424539fce83c74a01c50e78ebe20176e6", + "difficulty": "NORMAL", + "songID": 1472, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23070, + "notecount": 440, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33de6b690b99a20b8d45635bd17baaafa2324cbc", + "difficulty": "ANOTHER", + "songID": 1473, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23072, + "notecount": 1559, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db0309b61e85018032fc7db9e4949ca10372f82c", + "difficulty": "HYPER", + "songID": 1473, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23072, + "notecount": 1132, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5566bca0bf19261e57954b7c8df5ad0baf050454", + "difficulty": "NORMAL", + "songID": 1473, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23072, + "notecount": 669, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da1a071a450b75e823f6b6c973d6c592a2613bc3", + "difficulty": "ANOTHER", + "songID": 1473, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23072, + "notecount": 1710, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "572e75fe34c5b8868e2decc56d47e7df02e86a18", + "difficulty": "HYPER", + "songID": 1473, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23072, + "notecount": 1181, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c24986612b044b0c5bb2c005ad39c3eddd6e26ce", + "difficulty": "NORMAL", + "songID": 1473, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23072, + "notecount": 653, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9509e3a88d629723d9737c33ee38281738006c3", + "difficulty": "ANOTHER", + "songID": 1474, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23073, + "notecount": 1378, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e08bcc0c7dee55161e3fa748295e7c0e7b791d20", + "difficulty": "HYPER", + "songID": 1474, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23073, + "notecount": 1014, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5e419db0021f18fb7834b7e416c50ff8e01ef344", + "difficulty": "NORMAL", + "songID": 1474, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23073, + "notecount": 622, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f99797f7751d0664317c5740c2f227b3ac95a3dc", + "difficulty": "ANOTHER", + "songID": 1474, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23073, + "notecount": 1336, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4a45dc959367338ed12e3bd34556314bd02e37d9", + "difficulty": "HYPER", + "songID": 1474, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23073, + "notecount": 977, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c22a1fb7a6c40bc00c8de159bd90e8543664c19", + "difficulty": "NORMAL", + "songID": 1474, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23073, + "notecount": 709, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c2a27df11291e8312cf597edc7ff5f7d86c041e", + "difficulty": "ANOTHER", + "songID": 1475, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23074, + "notecount": 1711, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4712d0ac3128c26f65a9b01efd55925513923ffd", + "difficulty": "HYPER", + "songID": 1475, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23074, + "notecount": 1167, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c0f3d80228c4ead8d38b6bb8d505ef8e340012a", + "difficulty": "NORMAL", + "songID": 1475, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23074, + "notecount": 708, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4d8cd9bd08e720488b1194d856a6fc9c951e1ef9", + "difficulty": "ANOTHER", + "songID": 1475, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23074, + "notecount": 1521, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": true + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "644d0643cac05a8c35a9ae75096684cb810453a1", + "difficulty": "BEGINNER", + "songID": 1475, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 23074, + "notecount": 272, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "01d68942f42b5f03181934e2c7857dac7b1f24fb", + "difficulty": "HYPER", + "songID": 1475, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23074, + "notecount": 1105, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "277cbca6ee60ced29f728a11dccdacc769e19283", + "difficulty": "NORMAL", + "songID": 1475, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23074, + "notecount": 701, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c71c1929090bff7ef047472a0f517e3c9a9ccc5", + "difficulty": "ANOTHER", + "songID": 1476, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23075, + "notecount": 1707, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21a908f2828630f518bc60267f0e386a1a7e2873", + "difficulty": "HYPER", + "songID": 1476, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23075, + "notecount": 1112, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf68080b6b14cb37f4b521218897ff016878154d", + "difficulty": "NORMAL", + "songID": 1476, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23075, + "notecount": 705, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "08a7a61929f9a0831e06c4e2cc0cb1e4b989f8c7", + "difficulty": "ANOTHER", + "songID": 1476, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23075, + "notecount": 1631, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "52cce6be82b94bdf06bf59833e16c8e0a227c115", + "difficulty": "HYPER", + "songID": 1476, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23075, + "notecount": 1002, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ec815c62322c2339d28ef1a1b879f09e4917d4dd", + "difficulty": "NORMAL", + "songID": 1476, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23075, + "notecount": 545, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54e2de18395db3940cddba0652611ef082001291", + "difficulty": "ANOTHER", + "songID": 1477, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23076, + "notecount": 1291, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28e288f607cf195b5d69ecc4c035a5b68c4f468e", + "difficulty": "HYPER", + "songID": 1477, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23076, + "notecount": 753, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85213d574397fae9e40614cf15b78910c7c7c003", + "difficulty": "NORMAL", + "songID": 1477, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23076, + "notecount": 367, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "66cc809416236fa913f38c449c03fb6ea66ced8f", + "difficulty": "ANOTHER", + "songID": 1477, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23076, + "notecount": 1098, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ab8a019e048c66b0da62be687aa22217d4136ed", + "difficulty": "HYPER", + "songID": 1477, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23076, + "notecount": 707, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7163bf098e95f1639b0c86b68b3dad5726684d02", + "difficulty": "NORMAL", + "songID": 1477, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23076, + "notecount": 360, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1994d7440a8eebba99ef24dd5c2c9e1f0e9d2e69", + "difficulty": "ANOTHER", + "songID": 1478, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23077, + "notecount": 1431, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba44c638bb75faec49956da4392a97bb27769694", + "difficulty": "HYPER", + "songID": 1478, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23077, + "notecount": 863, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aafe0c153ebb814bd9ff3f151c5a88982774f3c2", + "difficulty": "NORMAL", + "songID": 1478, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23077, + "notecount": 569, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "06be92a462eb6c12bac663f90a9ef7b61a3619ce", + "difficulty": "ANOTHER", + "songID": 1478, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23077, + "notecount": 1363, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c81ba47d52eb62bfa530652b1334fc0d69110514", + "difficulty": "HYPER", + "songID": 1478, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23077, + "notecount": 885, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a975ae0a8d0ab1b307401392a1c08cd0dfe9705c", + "difficulty": "NORMAL", + "songID": 1478, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23077, + "notecount": 600, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "23", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4809aafc9243e746df978baeb7efafd585685cac", + "difficulty": "ANOTHER", + "songID": 1479, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23078, + "notecount": 1334, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "88bb66763cf76d2a97d6039e98ccd83d1d3e79a3", + "difficulty": "HYPER", + "songID": 1479, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23078, + "notecount": 956, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a65d27a564e928330c30204c658fd0ccdbe0a85e", + "difficulty": "NORMAL", + "songID": 1479, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23078, + "notecount": 518, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "320acd17496dede59ba7f82af1fd686fa33a5957", + "difficulty": "ANOTHER", + "songID": 1479, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23078, + "notecount": 1149, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29e90d499e71996e291a7c802dc8897b748c17cc", + "difficulty": "HYPER", + "songID": 1479, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23078, + "notecount": 734, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d774420620bf4cd51a47fe2279fe30fa3c5b98c6", + "difficulty": "NORMAL", + "songID": 1479, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23078, + "notecount": 528, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e715ceb6794834dc96de87dfd6c8f6d3e019b8b", + "difficulty": "ANOTHER", + "songID": 1480, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23079, + "notecount": 1500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2afdbc9482d79df6c8141dbd5b57e3a05daea6a7", + "difficulty": "HYPER", + "songID": 1480, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23079, + "notecount": 954, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d4bb604409223f0a1ea4199bd3ecf55f53595c29", + "difficulty": "NORMAL", + "songID": 1480, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23079, + "notecount": 622, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e2ab4d1c2cf5bcd1fff84ba2f00a2c789cd13e09", + "difficulty": "ANOTHER", + "songID": 1480, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23079, + "notecount": 1520, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.60", + "value": 12.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f94a9e9ef082fe65c8a239711725996b24587c85", + "difficulty": "HYPER", + "songID": 1480, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23079, + "notecount": 989, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd2c17343123374439635060649450334b1a5b3d", + "difficulty": "NORMAL", + "songID": 1480, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23079, + "notecount": 627, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4bfba0d4937fe6e75cede5de010543e34a0b1687", + "difficulty": "ANOTHER", + "songID": 1481, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23080, + "notecount": 1327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4ce9e960bafd26dc61266964ab1023ce51d7402", + "difficulty": "HYPER", + "songID": 1481, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23080, + "notecount": 923, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2e31c02be85121e027c7257326f0e2aaf18d2c5", + "difficulty": "NORMAL", + "songID": 1481, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 23080, + "notecount": 212, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5590eae7d98a4131aea9c716778a634facfcb23e", + "difficulty": "ANOTHER", + "songID": 1481, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23080, + "notecount": 1252, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04ae904c3ae70354548d62f54390defb5071e792", + "difficulty": "HYPER", + "songID": 1481, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23080, + "notecount": 883, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b45198a8d6d5ba6e46c61a323a9fba60acd8166e", + "difficulty": "NORMAL", + "songID": 1481, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 23080, + "notecount": 216, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd32f95dd49062cc0c0d4359d0cb0fa7f52d93c6", + "difficulty": "ANOTHER", + "songID": 1482, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23082, + "notecount": 1481, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0787be19342f188c85b44da1e3f0b455e64776e9", + "difficulty": "HYPER", + "songID": 1482, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23082, + "notecount": 954, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c79ed5b6470e458c5f2c15cf261285c1aeda29b", + "difficulty": "NORMAL", + "songID": 1482, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23082, + "notecount": 535, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8acb9f4479c66726ca14330f8460a7df3c80227a", + "difficulty": "ANOTHER", + "songID": 1482, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23082, + "notecount": 1413, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a57478c6f9fd91de9805cb3b95408722b781ae76", + "difficulty": "HYPER", + "songID": 1482, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23082, + "notecount": 944, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ab050f465175823b6a9a6f5495417142319d04a", + "difficulty": "NORMAL", + "songID": 1482, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23082, + "notecount": 482, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8d0e95ced02284d8e0de7ad04e608030ad275b77", + "difficulty": "ANOTHER", + "songID": 1483, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23083, + "notecount": 1496, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c1d2e5b18cc5e7081aa79f1a380d35cfc355cdb", + "difficulty": "HYPER", + "songID": 1483, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23083, + "notecount": 1118, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "483b56dd2ce47e6c3cea59884149a08ad61d6b2f", + "difficulty": "NORMAL", + "songID": 1483, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23083, + "notecount": 675, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f6f195d144d4f482ad81bed31f16e7ed089625d7", + "difficulty": "ANOTHER", + "songID": 1483, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23083, + "notecount": 1490, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "24d417effd3daabaf210d1c198c3cdb242eda0a1", + "difficulty": "BEGINNER", + "songID": 1483, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 23083, + "notecount": 212, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa205349d13bf6f82410bb61dfb62de99bda569f", + "difficulty": "HYPER", + "songID": 1483, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23083, + "notecount": 1094, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2bcfed4e686ffe1088ba2dd633c3158d7fcb0fce", + "difficulty": "NORMAL", + "songID": 1483, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23083, + "notecount": 655, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0ed81d50ca6cc0be465047707264e9371688068", + "difficulty": "ANOTHER", + "songID": 1484, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23084, + "notecount": 1010, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "95abe18e2fd62c93a1f1deeb4b794d23345d26f2", + "difficulty": "HYPER", + "songID": 1484, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23084, + "notecount": 728, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "f1fcf6a498934629879263d8f9ea8f0566aed715", + "difficulty": "LEGGENDARIA", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 1484, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 23084, + "arcChartID": null, + "notecount": 1556, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "c3c598c8cca65960061b3e77165891216b2b617e", + "difficulty": "NORMAL", + "songID": 1484, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23084, + "notecount": 353, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "be9a4ade1a2a7455ce5e1aa94cf928a0b8baead6", + "difficulty": "ANOTHER", + "songID": 1484, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23084, + "notecount": 950, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ecbd6c0199133df11e3a4a6cd5a8e91cef71a716", + "difficulty": "HYPER", + "songID": 1484, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23084, + "notecount": 639, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "dbfdc5b7bba2b6bc2b0413aacb60d1b9d792593b", + "difficulty": "LEGGENDARIA", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 1484, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 23084, + "arcChartID": null, + "notecount": 1585, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "eb52c92a61b68130d6311bac0cd9b8538f482372", + "difficulty": "NORMAL", + "songID": 1484, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 23084, + "notecount": 351, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d75a2340766e5090170034b3f28df0b2782864fd", + "difficulty": "ANOTHER", + "songID": 1485, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23085, + "notecount": 1685, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c419bec7daf85ea0b71608420c07b1c6c00c3554", + "difficulty": "HYPER", + "songID": 1485, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23085, + "notecount": 877, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "540c1f88a4017f60c889dec355991c13d6b8aa45", + "difficulty": "NORMAL", + "songID": 1485, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23085, + "notecount": 476, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e36f4d636ec7ce42a5da27671ad7093f033dd801", + "difficulty": "ANOTHER", + "songID": 1485, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23085, + "notecount": 1590, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "ce1a8455ac71e37ea83ecd3a7b92e6a4a31502c6", + "difficulty": "HYPER", + "songID": 1485, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23085, + "notecount": 887, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30b2e4acc9ffd93aa0d1a1872464dedcbcd6f6d9", + "difficulty": "NORMAL", + "songID": 1485, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23085, + "notecount": 497, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8268f587d1bc19c3ae64395dda8aaef45b1bd36", + "difficulty": "ANOTHER", + "songID": 1486, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23086, + "notecount": 1128, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f42332f3a355a53620e2d78d406864223aabac1", + "difficulty": "HYPER", + "songID": 1486, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23086, + "notecount": 624, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "08a4430f0a866bd8c581849da0bcc1a33269d4b1", + "difficulty": "NORMAL", + "songID": 1486, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23086, + "notecount": 375, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "65af4d31428943612553eb9f9a0ce00356d025d7", + "difficulty": "ANOTHER", + "songID": 1486, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23086, + "notecount": 1163, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "94190e26ab47092620a22287332870ed8bdeb1e4", + "difficulty": "HYPER", + "songID": 1486, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23086, + "notecount": 661, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c02bf642ff6bf01215242115f54109e2a85653a2", + "difficulty": "NORMAL", + "songID": 1486, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23086, + "notecount": 374, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c884429c0070c0fb9c07d728c9515042b67c4660", + "difficulty": "ANOTHER", + "songID": 1487, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23087, + "notecount": 1200, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1aa550ac164a1bfe6d2c7c54bf0b47336f35b10", + "difficulty": "HYPER", + "songID": 1487, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23087, + "notecount": 830, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97c287d2d191c87bf1ae139f1930eb4a38e5f1e6", + "difficulty": "NORMAL", + "songID": 1487, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23087, + "notecount": 499, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f839f5351756d445ace431c92d43b8ab8a9b9c8", + "difficulty": "ANOTHER", + "songID": 1487, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23087, + "notecount": 1199, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c5ee2f8c11f0d4c63dcb9107609a37392bcf3ec0", + "difficulty": "HYPER", + "songID": 1487, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23087, + "notecount": 821, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "457fedfd9e9c9a4a7d9581984944fc11eccca70b", + "difficulty": "NORMAL", + "songID": 1487, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 23087, + "notecount": 480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "043edb4ecc4a7217a48a0c34750bcb1cb6c1263e", + "difficulty": "ANOTHER", + "songID": 1488, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23088, + "notecount": 1782, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cde05614b772c090c4d64fcebdfb5c465f582246", + "difficulty": "HYPER", + "songID": 1488, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23088, + "notecount": 1065, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "431ce5777bb3ec79acc63f6317c9145aca798951", + "difficulty": "NORMAL", + "songID": 1488, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23088, + "notecount": 550, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52f8d752f124396287d4318cf47093a46686aa3c", + "difficulty": "ANOTHER", + "songID": 1488, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23088, + "notecount": 1783, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "aee85a7805ad0680ae00d47b381ba4e146975aee", + "difficulty": "HYPER", + "songID": 1488, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23088, + "notecount": 831, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a04c76c0aef034e63e0b41f5f92f5ee3110a2ed", + "difficulty": "NORMAL", + "songID": 1488, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23088, + "notecount": 547, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d6927d4c03c0de09d4e9ca0d07993c7d09910de6", + "difficulty": "ANOTHER", + "songID": 1489, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23090, + "notecount": 1866, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c2e9033439618fbb67ec15da7da96965c06d2831", + "difficulty": "HYPER", + "songID": 1489, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23090, + "notecount": 1035, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8e78dff20346b7c581fa8e364946678d0dd85d2", + "difficulty": "NORMAL", + "songID": 1489, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23090, + "notecount": 620, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9e4187730b77c3b8978570d151f8250f9149659", + "difficulty": "ANOTHER", + "songID": 1489, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23090, + "notecount": 1775, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a3e401ea89f41141509f852d5089069119f2b7d6", + "difficulty": "HYPER", + "songID": 1489, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23090, + "notecount": 989, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e53cb5a6fb7877cc63a006e2a255fa97554438d0", + "difficulty": "NORMAL", + "songID": 1489, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23090, + "notecount": 588, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bfb60e1238d77d0b8b13efa337392f0c2b5e0f0f", + "difficulty": "ANOTHER", + "songID": 1490, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23091, + "notecount": 1161, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2255bf0cd1c2db500e72616ef3dc6600b6bb2987", + "difficulty": "HYPER", + "songID": 1490, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23091, + "notecount": 842, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c1408d541bcc3865d008ba0b8ec3b251e2de3459", + "difficulty": "NORMAL", + "songID": 1490, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23091, + "notecount": 483, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3e8ce22f6c67b7d7a670dffe43ca6b49b0fb179", + "difficulty": "ANOTHER", + "songID": 1490, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23091, + "notecount": 1193, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f598481dee4399fac5b0eb07366e27e322c66c0", + "difficulty": "HYPER", + "songID": 1490, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 23091, + "notecount": 848, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41284ef1f8456651900b24206b49644cb38d924b", + "difficulty": "NORMAL", + "songID": 1490, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23091, + "notecount": 485, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d4a565da1c817d63fa6431b291bf444349d7e21", + "difficulty": "ANOTHER", + "songID": 1491, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23092, + "notecount": 1376, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "70f078a49923b6d6252d4db2b0a84fcd904196d0", + "difficulty": "HYPER", + "songID": 1491, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23092, + "notecount": 831, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fdb87cc0f40c4f170e5bbe87aa388d89a8680e55", + "difficulty": "NORMAL", + "songID": 1491, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23092, + "notecount": 515, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3da54ef6731db8265b207239a4aa0d4361ca372c", + "difficulty": "ANOTHER", + "songID": 1491, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23092, + "notecount": 1490, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "271e94fd79573057c4064d19dfeb5d7c4e2d74e3", + "difficulty": "HYPER", + "songID": 1491, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23092, + "notecount": 1052, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "91bd4dbe70e440ccc8c3a806c40da6aeba923836", + "difficulty": "NORMAL", + "songID": 1491, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23092, + "notecount": 557, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db8dd269a88a62f750274cc25a7bf26e0822f484", + "difficulty": "ANOTHER", + "songID": 1492, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23093, + "notecount": 1447, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "945c9b0e03ba08a55c58d2d57a32a2ca43ade4bc", + "difficulty": "HYPER", + "songID": 1492, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23093, + "notecount": 1019, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4defd0b211bb38eb1f14a6229160123133a04844", + "difficulty": "NORMAL", + "songID": 1492, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23093, + "notecount": 592, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "702d7d7761657997443eb43e5d7802052b9d00fa", + "difficulty": "ANOTHER", + "songID": 1492, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23093, + "notecount": 1419, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5ba28c15c9ef147fe3efe8251f77997005649832", + "difficulty": "HYPER", + "songID": 1492, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23093, + "notecount": 1058, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "172e9a3d3ea5ca5bf3b83e76820afcd0be107661", + "difficulty": "NORMAL", + "songID": 1492, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 23093, + "notecount": 579, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d369c3d5a6c2fef9d82280d3ee2cf506cfa07480", + "difficulty": "ANOTHER", + "songID": 1493, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23094, + "notecount": 1997, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb7f030edb22ddb58f74ea837bb31a2900c5e75c", + "difficulty": "HYPER", + "songID": 1493, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23094, + "notecount": 1193, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d4d8c564daa4af188c7e63743efbcf7394c6f1d8", + "difficulty": "NORMAL", + "songID": 1493, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23094, + "notecount": 711, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "530c8d4b7390f83f2be5426fc8d735c57fbe6df3", + "difficulty": "ANOTHER", + "songID": 1493, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23094, + "notecount": 2016, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "8afa0d95b08210358aeb97a693c0cb6ecfbaa17b", + "difficulty": "HYPER", + "songID": 1493, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 23094, + "notecount": 1145, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cde3c51e5ee97d7370e450095faff164ac3f9bae", + "difficulty": "NORMAL", + "songID": 1493, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 23094, + "notecount": 716, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd27c243e02f79485b54eba31b74dcd5730c7fcb", + "difficulty": "ANOTHER", + "songID": 1494, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23095, + "notecount": 1599, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7830fecc5f484f4bb07b84e4b77589e45dfcff84", + "difficulty": "HYPER", + "songID": 1494, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23095, + "notecount": 983, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7de073183ba082795816ead4dd604ea6df16c93b", + "difficulty": "LEGGENDARIA", + "songID": 1494, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23095, + "notecount": 1985, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "efde1a24915f3123a30b587e9181439d8f26a0d1", + "difficulty": "NORMAL", + "songID": 1494, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23095, + "notecount": 510, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b29869ab33bde97f456b6fd679dde1ef77a57e1", + "difficulty": "ANOTHER", + "songID": 1494, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 23095, + "notecount": 1499, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1e761be5d23d5857e73f71b90eb532d5ad430297", + "difficulty": "HYPER", + "songID": 1494, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 23095, + "notecount": 943, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "690f6eb6f34fd4fef0ca1b396a9815862082aa15", + "difficulty": "LEGGENDARIA", + "songID": 1494, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 23095, + "notecount": 1982, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "53bcc692162495d7e0694640982e25a828af4b11", + "difficulty": "NORMAL", + "songID": 1494, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 23095, + "notecount": 514, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff48915570fb822bfa4e20405e9f7f41acfec1f9", + "difficulty": "ANOTHER", + "songID": 1497, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24000, + "notecount": 1346, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ee55b6c339523f941e875e43a8a6cf48060f25a", + "difficulty": "HYPER", + "songID": 1497, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24000, + "notecount": 1130, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21e48dc1f953172cf92653870cb1a8ed67a21823", + "difficulty": "NORMAL", + "songID": 1497, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24000, + "notecount": 741, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "977a1149f636d8febe26a82ae507db7cedbc59c5", + "difficulty": "ANOTHER", + "songID": 1497, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24000, + "notecount": 1356, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "22dfaa8bbe9f49fec02e0ee9f81e2e020552383d", + "difficulty": "HYPER", + "songID": 1497, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24000, + "notecount": 1136, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d5f37577b6b94a40bf65f1463d33306cd5bfd08e", + "difficulty": "NORMAL", + "songID": 1497, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24000, + "notecount": 763, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "38e92c844188113a75b3def8ea948331dba4cf7b", + "difficulty": "ANOTHER", + "songID": 1498, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24001, + "notecount": 1984, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c99f2747ba6eb95749f77087d1cff6c56f4d8e20", + "difficulty": "HYPER", + "songID": 1498, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24001, + "notecount": 1252, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bc83a26ba9abb6d8235fa2b4a7f205ffa31c7de3", + "difficulty": "NORMAL", + "songID": 1498, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24001, + "notecount": 672, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "206d0d56cf109f8accc434b3e8d8a14436044250", + "difficulty": "ANOTHER", + "songID": 1498, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24001, + "notecount": 1901, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a6b913c19f8f697e448e07af0ce84da618141fe4", + "difficulty": "HYPER", + "songID": 1498, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24001, + "notecount": 1118, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0cf1aef11e775182c8d2c097cd50380abaa155ce", + "difficulty": "NORMAL", + "songID": 1498, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24001, + "notecount": 598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "951f1b0e047c735a4c5adc29412a4391daf3f3e7", + "difficulty": "ANOTHER", + "songID": 1499, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24002, + "notecount": 1359, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5954fe535239428d764154653ec86cf292ec10e0", + "difficulty": "HYPER", + "songID": 1499, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24002, + "notecount": 854, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ecf8ca991d6bda9e015ece3f632dc50b741a68f0", + "difficulty": "NORMAL", + "songID": 1499, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24002, + "notecount": 439, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83085e1e5c48592fc0c7225fbbfba3654a295066", + "difficulty": "ANOTHER", + "songID": 1499, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24002, + "notecount": 1372, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "fa80d86dab4dfa79363016910cae5ae83968a07a", + "difficulty": "HYPER", + "songID": 1499, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24002, + "notecount": 768, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c7d9722e797ac99d6cc4427531a67c01faaded0", + "difficulty": "NORMAL", + "songID": 1499, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24002, + "notecount": 440, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "40abe8240b591a6f430c58acacd911d02088d8f7", + "difficulty": "ANOTHER", + "songID": 1500, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24003, + "notecount": 1769, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ebfe2b013e002597ecb52e1d754ab9f8033310e5", + "difficulty": "HYPER", + "songID": 1500, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24003, + "notecount": 962, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "baa3cefeca6c939ff4fbc0a928e17c3427c6e99c", + "difficulty": "NORMAL", + "songID": 1500, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24003, + "notecount": 637, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a7c1ac71971255d916a276a841f522be36e2684", + "difficulty": "ANOTHER", + "songID": 1500, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24003, + "notecount": 1661, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "40d814d053ceefe73d9bac719588fdee62205484", + "difficulty": "HYPER", + "songID": 1500, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24003, + "notecount": 1007, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78cf6d0ae9183743b67eeaafca7524196004f06f", + "difficulty": "NORMAL", + "songID": 1500, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24003, + "notecount": 605, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c12e72dcee5c7d7d61b6e9e3774036ba2aeab47b", + "difficulty": "ANOTHER", + "songID": 1501, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24004, + "notecount": 1385, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d665237f722d2af35d7743b596cce418ea42ceff", + "difficulty": "HYPER", + "songID": 1501, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24004, + "notecount": 922, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54be0d6bd1e834a069af91621ab3fce655d2644e", + "difficulty": "NORMAL", + "songID": 1501, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24004, + "notecount": 617, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d7afc2d0c5f2229e77e93ab2ddfa6b9b8eb48527", + "difficulty": "ANOTHER", + "songID": 1501, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24004, + "notecount": 1337, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6c248183d412b1a937c1e987d6f9a8b534cb0e7f", + "difficulty": "HYPER", + "songID": 1501, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24004, + "notecount": 911, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b1ba69446396c826d3130b91f46172361e01a00", + "difficulty": "NORMAL", + "songID": 1501, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24004, + "notecount": 606, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1af7acc7caeec0bc13ff5451fee3f0849fd8f2f8", + "difficulty": "ANOTHER", + "songID": 1502, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24005, + "notecount": 1719, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d797969dbec8467cc19e1b9a30136f5305cbca2b", + "difficulty": "HYPER", + "songID": 1502, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24005, + "notecount": 1007, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26687f7b7377fb24e8f4217af42f48e869203d20", + "difficulty": "NORMAL", + "songID": 1502, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24005, + "notecount": 574, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "112d70ca4e52081e329a98b29523e47fd0e8fe90", + "difficulty": "ANOTHER", + "songID": 1502, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24005, + "notecount": 1791, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "66335395b7104eb2ac01cd51133caa522dfe0f81", + "difficulty": "HYPER", + "songID": 1502, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24005, + "notecount": 953, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a057b653cc59c3bfda5ee02ba09f4cb755b7ad3d", + "difficulty": "NORMAL", + "songID": 1502, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24005, + "notecount": 523, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72fa71dd266e9277de60c106a59ac580b5a873c4", + "difficulty": "ANOTHER", + "songID": 1503, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24006, + "notecount": 1597, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "18ef5a8907be3de76d474e8d01eea99bfe959fdb", + "difficulty": "HYPER", + "songID": 1503, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24006, + "notecount": 975, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c83ed88c7c57669ef98d1ed38c3a3c4b592481c", + "difficulty": "NORMAL", + "songID": 1503, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24006, + "notecount": 546, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f98b2075a9ecb1b6b1962718cfd508dc99b180c4", + "difficulty": "ANOTHER", + "songID": 1503, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24006, + "notecount": 1700, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4e9467360c98c2fc6123802db261406e78c37ab6", + "difficulty": "HYPER", + "songID": 1503, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24006, + "notecount": 946, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94b0fb43f5b11f18609af339566cb27a65dda8d9", + "difficulty": "NORMAL", + "songID": 1503, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24006, + "notecount": 538, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "47272d2d508cb539934e7a807976efbb7b7957ee", + "difficulty": "ANOTHER", + "songID": 1504, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24007, + "notecount": 1681, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "468d4d82323b67f2fce2e54e566c63dbe63274b9", + "difficulty": "HYPER", + "songID": 1504, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24007, + "notecount": 1064, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ffd10183137cc236b1867a49cbddd410d69e1d88", + "difficulty": "NORMAL", + "songID": 1504, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24007, + "notecount": 626, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "558ccd6a23eb64c176440fee29739f3236e93d27", + "difficulty": "ANOTHER", + "songID": 1504, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24007, + "notecount": 1561, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": true + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "97f0559f9c4e7e0c02b186addaf6523b78360c02", + "difficulty": "HYPER", + "songID": 1504, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24007, + "notecount": 1129, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "addb8ad370157f04e92e351b0b16ab0c21ef226c", + "difficulty": "NORMAL", + "songID": 1504, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24007, + "notecount": 617, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84dd986e172f5d1c32b5095238171e74e054a216", + "difficulty": "ANOTHER", + "songID": 1505, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24008, + "notecount": 1206, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2596a9707b0da17586e290f41416b13e894e9fda", + "difficulty": "HYPER", + "songID": 1505, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24008, + "notecount": 838, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a14a725168a858d0f015f16a3f88f0f9560407d1", + "difficulty": "NORMAL", + "songID": 1505, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24008, + "notecount": 444, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8d1335bc1a9d0e57c3a73eee3be996e9ca619067", + "difficulty": "ANOTHER", + "songID": 1505, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24008, + "notecount": 1014, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27b80d718455beb9230c198d22eabf4eeceee964", + "difficulty": "HYPER", + "songID": 1505, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24008, + "notecount": 825, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b968f0650dfaaae2c61a9dddd0484caa9c25ce50", + "difficulty": "NORMAL", + "songID": 1505, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24008, + "notecount": 492, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b248ba0b7988ad9ecff22d976aa850c21f194ecc", + "difficulty": "ANOTHER", + "songID": 1506, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24009, + "notecount": 1044, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3aaef4c15d9427a99054455ba99852742ea122ee", + "difficulty": "HYPER", + "songID": 1506, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24009, + "notecount": 714, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f4af93bf81d65fb3eff1e0a335eb157c0cbda87b", + "difficulty": "NORMAL", + "songID": 1506, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24009, + "notecount": 373, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8bebe112a18d3155708eb014d87f014d24aaa92c", + "difficulty": "ANOTHER", + "songID": 1506, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24009, + "notecount": 1034, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0d7364220a9a9cf751f58de6bf36a3edb4c2f2d", + "difficulty": "HYPER", + "songID": 1506, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24009, + "notecount": 737, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dbb2732e21bf325514c610a705f14d92b9872897", + "difficulty": "NORMAL", + "songID": 1506, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24009, + "notecount": 349, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf7bace618163bf39c0c317cd31729106b187d1c", + "difficulty": "ANOTHER", + "songID": 1507, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24010, + "notecount": 1862, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f71af1cc4511a9e506fff3888bfa417b2bb64d20", + "difficulty": "HYPER", + "songID": 1507, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24010, + "notecount": 1081, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3246a4d5e7c3cf5c7f0d144194772c33d63784b", + "difficulty": "NORMAL", + "songID": 1507, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24010, + "notecount": 746, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "924bf011fdd8334b609b02e382123f9f5440d16d", + "difficulty": "ANOTHER", + "songID": 1507, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24010, + "notecount": 2094, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S+", + "value": 13.1, + "individualDifference": false + }, + "kt-HC": { + "text": "12S+", + "value": 13.2, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.60", + "value": 13.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "66a652fe36bdb0e9dc7a6f93403e040e45259394", + "difficulty": "HYPER", + "songID": 1507, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24010, + "notecount": 1116, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "331a87da5775fd2fbfe933c19e295fb6c415c117", + "difficulty": "NORMAL", + "songID": 1507, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24010, + "notecount": 746, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "42d66f43d520b35825ba67cd76d1beddf47d9448", + "difficulty": "ANOTHER", + "songID": 1508, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24011, + "notecount": 1114, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bba11c18da63e44fa50f6b3b182f17c6e174cdad", + "difficulty": "HYPER", + "songID": 1508, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24011, + "notecount": 621, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9d82a1400e943634ff426bec6b302681024324f", + "difficulty": "LEGGENDARIA", + "songID": 1508, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24011, + "notecount": 1509, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf56d54652ae503d883bd9b6dbfc58ee040d6887", + "difficulty": "NORMAL", + "songID": 1508, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24011, + "notecount": 474, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c9a6746f42d6b16676625ad3130b3806d4a2db19", + "difficulty": "ANOTHER", + "songID": 1508, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24011, + "notecount": 1146, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f1d1a4ba1132a51624070e96699c9113e74e02e", + "difficulty": "BEGINNER", + "songID": 1508, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 24011, + "notecount": 131, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da1a33b73558e1c2c571d2ab2782797b19a70491", + "difficulty": "HYPER", + "songID": 1508, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24011, + "notecount": 633, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "faa57bc9c6ca7160430c74bd83a85685d4fa687e", + "difficulty": "LEGGENDARIA", + "songID": 1508, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24011, + "notecount": 1535, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "777bd0281b005e46e8ecdeab10ca683d1f2ecee3", + "difficulty": "NORMAL", + "songID": 1508, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24011, + "notecount": 482, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2659575629b1510dc012b13b3ba886837516aef5", + "difficulty": "ANOTHER", + "songID": 1509, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24012, + "notecount": 1333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f66344e98b350a375b419e1cfb6d2646c0a0d3e", + "difficulty": "HYPER", + "songID": 1509, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24012, + "notecount": 920, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5799d9445185290f23a0832e891469042623684d", + "difficulty": "NORMAL", + "songID": 1509, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24012, + "notecount": 493, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "08ebac5bd3bad4781936ace52b9a547b5d7f780e", + "difficulty": "ANOTHER", + "songID": 1509, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24012, + "notecount": 1343, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": true + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "089c5e7008ffa62e6edd008fb797bdb9dd9f9118", + "difficulty": "HYPER", + "songID": 1509, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24012, + "notecount": 987, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "768e360a15651f11f597520f38bb4613f976e926", + "difficulty": "NORMAL", + "songID": 1509, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24012, + "notecount": 526, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a80a1fe85998f65ee85ad612058fa298c43c006d", + "difficulty": "ANOTHER", + "songID": 1510, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24013, + "notecount": 1206, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe60f4fae1a316f24012a257983121c9f5da9b36", + "difficulty": "HYPER", + "songID": 1510, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24013, + "notecount": 904, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f4e73124dd4b82e93fcb055349e83e8943821613", + "difficulty": "NORMAL", + "songID": 1510, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24013, + "notecount": 523, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c2b457f5e7af541e6a60f504649272dec1d2352b", + "difficulty": "ANOTHER", + "songID": 1510, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24013, + "notecount": 1228, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd467465a2e22ed03cf8c4d6fefde5b8e566fcae", + "difficulty": "HYPER", + "songID": 1510, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24013, + "notecount": 867, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c2db0b552637310db0ae7363847eb8bd44b12b74", + "difficulty": "NORMAL", + "songID": 1510, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24013, + "notecount": 522, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41311c07c2c093baaeeb8b456b44de8e25583cf8", + "difficulty": "ANOTHER", + "songID": 1511, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24014, + "notecount": 2101, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c4fc7f3e719df97ec51308bdd4810ba173287575", + "difficulty": "HYPER", + "songID": 1511, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24014, + "notecount": 1165, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2fe55bfaff09fd54912a39687edd1481c4d94f9e", + "difficulty": "NORMAL", + "songID": 1511, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24014, + "notecount": 844, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4d190eaec7a42b36d8c45ee80c9dd530eaeb3c04", + "difficulty": "ANOTHER", + "songID": 1511, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24014, + "notecount": 1953, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e86e3726d1d86541ddc925d400ee67ca66b7f71b", + "difficulty": "HYPER", + "songID": 1511, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24014, + "notecount": 1137, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9bf2e95f777a955b27a2eda35e038bbe5589b7f", + "difficulty": "NORMAL", + "songID": 1511, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24014, + "notecount": 784, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b46e54d14fae864d675a162ae886e5cf0932913b", + "difficulty": "ANOTHER", + "songID": 1512, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24015, + "notecount": 1365, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53f465f648e8b55a234bb15322a82acb3e0fdae3", + "difficulty": "HYPER", + "songID": 1512, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24015, + "notecount": 973, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9023dc04ede0473621f73c36704c730a08321faa", + "difficulty": "NORMAL", + "songID": 1512, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24015, + "notecount": 631, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1d798c80275f10244c3a292e6c28c0e7a73191a", + "difficulty": "ANOTHER", + "songID": 1512, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24015, + "notecount": 1372, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5366f48df23504f87daaf97b09f8e0e7d9556107", + "difficulty": "HYPER", + "songID": 1512, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24015, + "notecount": 1006, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e5f5c89ba5736b071e7ea3390f809acc22623c7", + "difficulty": "NORMAL", + "songID": 1512, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24015, + "notecount": 638, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d5fb13bfe07dbd0fe10282d2f3bc2f43670686e7", + "difficulty": "ANOTHER", + "songID": 1513, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24016, + "notecount": 1286, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "071dade0eb10b64ea7a3b27514b0cd8f00739e8b", + "difficulty": "HYPER", + "songID": 1513, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24016, + "notecount": 822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ff3232b0b95a6ca1f67f7c6c103adcd26afb8a2", + "difficulty": "NORMAL", + "songID": 1513, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24016, + "notecount": 435, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1abd62d6b5d9bdd0b21f849916791619e8aa59b5", + "difficulty": "ANOTHER", + "songID": 1513, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24016, + "notecount": 1284, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5a3adea3321c01fda2901757a26ca7dd0ad7148f", + "difficulty": "HYPER", + "songID": 1513, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24016, + "notecount": 822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "daf1f762597b8eef6e04204b520db0d4cce6c7a7", + "difficulty": "NORMAL", + "songID": 1513, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24016, + "notecount": 422, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5accdc65e12d57da5e954e748cd195aa86fd0ff9", + "difficulty": "ANOTHER", + "songID": 1514, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 21201, + "notecount": 4459, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b8ed18a4cce60432a3c507520f6b2560df4c44db", + "difficulty": "ANOTHER", + "songID": 1518, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24017, + "notecount": 1411, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "241afbecf2c68fadde55b2a2d271f450a7419e14", + "difficulty": "HYPER", + "songID": 1518, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24017, + "notecount": 919, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf8b7f65621a7ca1e462020775983fcf50a6014b", + "difficulty": "NORMAL", + "songID": 1518, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24017, + "notecount": 562, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab85084c587890f8ab6b72084b31a3cb06d1a096", + "difficulty": "ANOTHER", + "songID": 1518, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24017, + "notecount": 1299, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1b88e59648977946136b592352c92bbbf399acb6", + "difficulty": "BEGINNER", + "songID": 1518, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24017, + "notecount": 274, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1cb5ce93c19c65fb4cc586ad9d3575440fd687e7", + "difficulty": "HYPER", + "songID": 1518, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24017, + "notecount": 930, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b3bdbe6a0db40ce27fde06188cce513cc778f0f6", + "difficulty": "NORMAL", + "songID": 1518, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24017, + "notecount": 574, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "484c2199cb7ff4e7087fb02bbac479c75fe5242b", + "difficulty": "ANOTHER", + "songID": 1523, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24018, + "notecount": 1871, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee202de62c82cbf2513e83c538a17978dcf6887c", + "difficulty": "HYPER", + "songID": 1523, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24018, + "notecount": 1230, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dcde7a7abd42f483aa7c9304ec63515933f55ff3", + "difficulty": "NORMAL", + "songID": 1523, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24018, + "notecount": 684, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72397faab41e86b3da61494224508299b1c7d3ac", + "difficulty": "ANOTHER", + "songID": 1523, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24018, + "notecount": 1903, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d6d4ab8d008211b569927017146f8391dab96d23", + "difficulty": "HYPER", + "songID": 1523, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24018, + "notecount": 1163, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "800b07159836c78357609cc2ea015650409d1a29", + "difficulty": "NORMAL", + "songID": 1523, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24018, + "notecount": 655, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63ec0eceacf990312046026304850590d04ee4be", + "difficulty": "ANOTHER", + "songID": 1525, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24019, + "notecount": 938, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dce2d8675b382165baf57282af1e839aa0b24629", + "difficulty": "HYPER", + "songID": 1525, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24019, + "notecount": 526, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6313c52122e819e2f807cb211c4c2c0b335ff7d", + "difficulty": "NORMAL", + "songID": 1525, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24019, + "notecount": 250, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e66384eab13d0ad1ae8442514b97d115f0dcdebf", + "difficulty": "ANOTHER", + "songID": 1525, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24019, + "notecount": 873, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6232b37bd0632f906ff4fa602838b855f46cf939", + "difficulty": "HYPER", + "songID": 1525, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24019, + "notecount": 550, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1259cfdd2044fa2be4a221d37c31ba197a36f96f", + "difficulty": "NORMAL", + "songID": 1525, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24019, + "notecount": 252, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b4c15639cbb95f82cb01689defff9cd0d15fb46", + "difficulty": "ANOTHER", + "songID": 1527, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24020, + "notecount": 1822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c811b07ca93319385830cee09fb694393598059", + "difficulty": "HYPER", + "songID": 1527, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24020, + "notecount": 1084, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b7a32b6369cb3de1d0ada4e2f438726d3b1b10df", + "difficulty": "NORMAL", + "songID": 1527, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24020, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fac63d4c66de9207490de8477161c0f7020ab04d", + "difficulty": "ANOTHER", + "songID": 1527, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24020, + "notecount": 1775, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": true + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b99b3cbfc0788d5fb368d755d7bc42ffaa14ef74", + "difficulty": "HYPER", + "songID": 1527, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24020, + "notecount": 1111, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb6ed2792babe3f3b91d36bd34fa807e3cb8c08d", + "difficulty": "NORMAL", + "songID": 1527, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24020, + "notecount": 665, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b797bdcd2c71d2ada1789060630a1d5ce2f2700d", + "difficulty": "ANOTHER", + "songID": 1528, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24021, + "notecount": 1613, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ef04aac95cda0f23002844c737fba4b01210f80", + "difficulty": "HYPER", + "songID": 1528, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24021, + "notecount": 1066, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f159f5fe06a1a5eba39feee97f9854018d30a6c", + "difficulty": "NORMAL", + "songID": 1528, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24021, + "notecount": 559, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2a1f492ade999b8afa045f06d07548fada47df3", + "difficulty": "ANOTHER", + "songID": 1528, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24021, + "notecount": 1654, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "932e433fa711d1f9baa71a7ea9faa552401c3bc0", + "difficulty": "HYPER", + "songID": 1528, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24021, + "notecount": 1080, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a71f5e27eea0e4653d3dcdad42f59c50df6dfc18", + "difficulty": "NORMAL", + "songID": 1528, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24021, + "notecount": 577, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e2efdc7ce0100c15c743e1bd1176307374e6eb83", + "difficulty": "ANOTHER", + "songID": 1529, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24022, + "notecount": 1362, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "303e0bc877e7ff21bb07f7ac8aefeba99a4ee60c", + "difficulty": "HYPER", + "songID": 1529, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24022, + "notecount": 802, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "338bf529773e7ddc6d64950b6e6eb1ba1a8c8ad6", + "difficulty": "NORMAL", + "songID": 1529, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24022, + "notecount": 485, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9b1e798d754a914381dfea6daf9f7549a61e36e", + "difficulty": "ANOTHER", + "songID": 1529, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24022, + "notecount": 1428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "31d4948acabafafc8ecea199022681dd9b5c3542", + "difficulty": "HYPER", + "songID": 1529, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24022, + "notecount": 788, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9693cf2786638349f299931442b425eeaf5fdc19", + "difficulty": "NORMAL", + "songID": 1529, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24022, + "notecount": 397, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "61cea8f7f2b5a089b2cc4a4f39721802ae023ca1", + "difficulty": "ANOTHER", + "songID": 1530, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24023, + "notecount": 1431, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f6a34d18a01e47e66c97d11c2497f4205c81b15d", + "difficulty": "HYPER", + "songID": 1530, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24023, + "notecount": 780, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff875ecf3bff89b5368f83ee99eb450eba16e7a6", + "difficulty": "NORMAL", + "songID": 1530, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24023, + "notecount": 440, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3bb5e6333b07e930a97d0ac982f2a3754f930574", + "difficulty": "ANOTHER", + "songID": 1530, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24023, + "notecount": 1437, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": true + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "99d2102a50550defb9a2187998e1ffa48477fac1", + "difficulty": "HYPER", + "songID": 1530, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24023, + "notecount": 723, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a505e2b36424b6f70f2fd5740ebe7a09d405756", + "difficulty": "NORMAL", + "songID": 1530, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24023, + "notecount": 366, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "46382d4d144f63b18004d5f41644be31aebb7f8a", + "difficulty": "ANOTHER", + "songID": 1531, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24024, + "notecount": 1420, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30ee0396cc6154020073b667524c33290b1734bf", + "difficulty": "HYPER", + "songID": 1531, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24024, + "notecount": 796, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3347297a37f8771c1ea373ad13e4ab4a6ecb38da", + "difficulty": "NORMAL", + "songID": 1531, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24024, + "notecount": 480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe2a19b2cc5885dc0419b31b3ca356f501740618", + "difficulty": "ANOTHER", + "songID": 1531, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24024, + "notecount": 1455, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e743f8988dd9bdcb435431c59082c989c9eec345", + "difficulty": "HYPER", + "songID": 1531, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24024, + "notecount": 771, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "341608302aaae944272c4294597ba56fa6651893", + "difficulty": "NORMAL", + "songID": 1531, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24024, + "notecount": 429, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "99023826645cf6a6644961f4975db1af19270db6", + "difficulty": "ANOTHER", + "songID": 1532, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24025, + "notecount": 1304, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b9c5bb3e3210b4d1b5eb5d6cf446a637c1711c5", + "difficulty": "HYPER", + "songID": 1532, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24025, + "notecount": 776, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e5ee31b9fb2b02e9b68fb6a2af435ebcb32896e7", + "difficulty": "NORMAL", + "songID": 1532, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24025, + "notecount": 372, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72f09e8bf2501d9e0e79e4ad033ae05684d7e6a1", + "difficulty": "ANOTHER", + "songID": 1532, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24025, + "notecount": 1364, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7873a70388882a5464e3f858f9667105b69ad66b", + "difficulty": "HYPER", + "songID": 1532, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24025, + "notecount": 739, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04069654b7a7d26b162094fcc7b36291eb34d6ec", + "difficulty": "NORMAL", + "songID": 1532, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24025, + "notecount": 309, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7293f3028586ec049ecf53c3aa68d6112012ac66", + "difficulty": "ANOTHER", + "songID": 1533, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24026, + "notecount": 905, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cdc80b50a0c914f0a791d11151ec2c21d61f37cc", + "difficulty": "HYPER", + "songID": 1533, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24026, + "notecount": 496, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6ac575d61aa1b6736954413fe528bd74cfb33f0", + "difficulty": "NORMAL", + "songID": 1533, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24026, + "notecount": 323, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c2f3f239f3fd3768ab9870a144f4330536b2c5ef", + "difficulty": "ANOTHER", + "songID": 1533, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24026, + "notecount": 877, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b7201a0a8b76ebe20a1fb20215465d1acec65f7", + "difficulty": "HYPER", + "songID": 1533, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24026, + "notecount": 493, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1d2a3820f4ac5039734d190177c5026ea79f288", + "difficulty": "NORMAL", + "songID": 1533, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24026, + "notecount": 327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dbc6fb8ddf81b9d63a6a867149fe2f835770a6a1", + "difficulty": "ANOTHER", + "songID": 1535, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24027, + "notecount": 1334, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a0fc4afaee1b001afb8d8c272a6740c7b4475816", + "difficulty": "HYPER", + "songID": 1535, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24027, + "notecount": 897, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d4caeeea8fb346115b610c6f4fb376f32075c665", + "difficulty": "NORMAL", + "songID": 1535, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24027, + "notecount": 518, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bcd8a07f2d1d8ac939c0d803f9bb65d277e52973", + "difficulty": "ANOTHER", + "songID": 1535, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24027, + "notecount": 1413, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "9c788b563c067c03b90925e9ef5fdf73df2d309b", + "difficulty": "HYPER", + "songID": 1535, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24027, + "notecount": 925, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45d1cc934068791b38dfbeb7042254c58415fe27", + "difficulty": "NORMAL", + "songID": 1535, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24027, + "notecount": 487, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f880745376f8588047f3c238c7353d78b8146873", + "difficulty": "ANOTHER", + "songID": 1536, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24028, + "notecount": 1286, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0386506526b14326d4d152241b90458a705af9db", + "difficulty": "HYPER", + "songID": 1536, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24028, + "notecount": 847, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "07893146d5f70af2e2db4690bfef390cdb8be87b", + "difficulty": "NORMAL", + "songID": 1536, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24028, + "notecount": 533, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7bbd220ea3df7396ae895a29f0bf60dc968c774c", + "difficulty": "ANOTHER", + "songID": 1536, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24028, + "notecount": 1383, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f143af6133f19bf7dcbe87fe9b0a136daa64b5ce", + "difficulty": "HYPER", + "songID": 1536, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24028, + "notecount": 848, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f1a88bd424fe67acc6ca368f556bb1e9e0d7ff7", + "difficulty": "NORMAL", + "songID": 1536, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24028, + "notecount": 527, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ab93b3ac4d9667660e52d0862023886aa7cd82d", + "difficulty": "ANOTHER", + "songID": 1537, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24029, + "notecount": 1219, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d2ef64d826fdedef1ee80d0bde01e8a3bbd57f62", + "difficulty": "HYPER", + "songID": 1537, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24029, + "notecount": 753, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad38388b1b168483844dd8fd2302a4f158abf93e", + "difficulty": "NORMAL", + "songID": 1537, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24029, + "notecount": 427, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9245428e009fd7242c52d281638ed49cbe5d2349", + "difficulty": "ANOTHER", + "songID": 1537, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24029, + "notecount": 1336, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "17fe88851ccf3eca133dffffb57f32364cedb112", + "difficulty": "HYPER", + "songID": 1537, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24029, + "notecount": 704, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aef5842d0737cba0276f1674c484125eacaf6ea5", + "difficulty": "NORMAL", + "songID": 1537, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24029, + "notecount": 411, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9ced91a99210a10a306d88aa07b94aa4ef6b20f", + "difficulty": "ANOTHER", + "songID": 1538, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24030, + "notecount": 1425, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4435937a45ef49fa19c4fb1d5f38d9e2891d0977", + "difficulty": "HYPER", + "songID": 1538, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24030, + "notecount": 817, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "937007da7b9f07ad831e81ad28c9732ce544faf8", + "difficulty": "NORMAL", + "songID": 1538, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24030, + "notecount": 525, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "583a9f6b90383303c229c46fa3eb2a35305b1dd6", + "difficulty": "ANOTHER", + "songID": 1538, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24030, + "notecount": 1153, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c5a9512a63081dbc80675ff6b2b8c6ec8fb54b0c", + "difficulty": "HYPER", + "songID": 1538, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24030, + "notecount": 809, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "86facd7d40cf49bf7320027cb89f1722d9440087", + "difficulty": "NORMAL", + "songID": 1538, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24030, + "notecount": 503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da31f4e719c4a0ce622909821e0424659596f3e4", + "difficulty": "ANOTHER", + "songID": 1539, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24031, + "notecount": 1073, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3bb464d2e7aa837c3e1919f5abff948c27ab9355", + "difficulty": "HYPER", + "songID": 1539, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24031, + "notecount": 693, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2731f91bfa73a10a42ae1864bf95b1398b0bcd72", + "difficulty": "NORMAL", + "songID": 1539, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24031, + "notecount": 427, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "202d2b2cf3b121f7c9e7afecd937b8e10f058270", + "difficulty": "ANOTHER", + "songID": 1539, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24031, + "notecount": 1003, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e498668cec8eca5c26f0c7f694dcb70acfbfbfd", + "difficulty": "HYPER", + "songID": 1539, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24031, + "notecount": 716, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "92692f517abfb291f20e1caded12e02faecf1f06", + "difficulty": "NORMAL", + "songID": 1539, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24031, + "notecount": 427, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0d46e0872a3e77ff12717fdebc315446a251a1c", + "difficulty": "ANOTHER", + "songID": 1540, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24032, + "notecount": 1351, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a73fda177646e9662efcf2ad7cd4e4144dcfdb9d", + "difficulty": "HYPER", + "songID": 1540, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24032, + "notecount": 872, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7fd4c066fd1b042436c5b39dbf49f7fe3d9d5e04", + "difficulty": "NORMAL", + "songID": 1540, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24032, + "notecount": 534, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c7cb3bc486a267af6b241b50631d0e900a38414", + "difficulty": "ANOTHER", + "songID": 1540, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24032, + "notecount": 1375, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "582940309d6443c6315ca4661eac308164395a2a", + "difficulty": "HYPER", + "songID": 1540, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24032, + "notecount": 952, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11c0cefd1eb793630d4d576ddf051be07ee8fc84", + "difficulty": "NORMAL", + "songID": 1540, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24032, + "notecount": 601, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ed370623c74ce32c7ab8cdd1930bc6973c8cba4", + "difficulty": "ANOTHER", + "songID": 1541, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24033, + "notecount": 1330, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7800dafb2c0a91d6ca13a04de714fa318c5bdd2d", + "difficulty": "HYPER", + "songID": 1541, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24033, + "notecount": 856, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f895a5031a48eb030d5ae70cc5312344d42ff08", + "difficulty": "NORMAL", + "songID": 1541, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24033, + "notecount": 508, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa8cb88e2d971ffcc3130aeb887faf7cb870c055", + "difficulty": "ANOTHER", + "songID": 1541, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24033, + "notecount": 1141, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": true + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e8a8894e65432cf06dee28cfac4fda1386ec61ce", + "difficulty": "HYPER", + "songID": 1541, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24033, + "notecount": 867, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f7aaf062597127efec05c8da9b152d04bf833e5", + "difficulty": "NORMAL", + "songID": 1541, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24033, + "notecount": 515, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "884e5ec19cdb215b7ebf8524aef375bb94450428", + "difficulty": "ANOTHER", + "songID": 1542, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24034, + "notecount": 1403, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a25c45dee5fba63fea0734da5c4008fde155970d", + "difficulty": "HYPER", + "songID": 1542, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24034, + "notecount": 792, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c479d7ef31c2e968c25bac61cb265bd4de37ab04", + "difficulty": "NORMAL", + "songID": 1542, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24034, + "notecount": 498, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f5b558892bc4ab519543a319a0899b9d7a5ddf6", + "difficulty": "ANOTHER", + "songID": 1542, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24034, + "notecount": 1413, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": false + }, + "kt-HC": { + "text": "12S+", + "value": 13.2, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.50", + "value": 13.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b7ee26890ff6094e53a3269bbe2709ecccb64774", + "difficulty": "HYPER", + "songID": 1542, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24034, + "notecount": 810, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eaa49af69ea857012855d61b4f8ffaabfcac7072", + "difficulty": "NORMAL", + "songID": 1542, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24034, + "notecount": 521, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9e9d35ac728647faf0fb234d6408925a1b77fe7", + "difficulty": "ANOTHER", + "songID": 1543, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24035, + "notecount": 1645, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a94a49d53fa219ae412a9f6e80fbd8db335bc667", + "difficulty": "HYPER", + "songID": 1543, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24035, + "notecount": 935, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5cad6583cb43009bf0a75e71d027c3833e50d886", + "difficulty": "NORMAL", + "songID": 1543, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24035, + "notecount": 374, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41993bcee1b9ac6a6328c8c9c4bc3b5abcc50db2", + "difficulty": "ANOTHER", + "songID": 1543, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24035, + "notecount": 1497, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7e550e37b672b263e494167d60198030cd64e280", + "difficulty": "HYPER", + "songID": 1543, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24035, + "notecount": 954, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb44383947a4335e9689a4b64ad628d066af4e10", + "difficulty": "NORMAL", + "songID": 1543, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24035, + "notecount": 372, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3feb6015f3290c09c8b0946aefb6a63549a74a38", + "difficulty": "ANOTHER", + "songID": 1544, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24036, + "notecount": 1500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29ec70b47e537538d373c1c87358b60895f882ca", + "difficulty": "HYPER", + "songID": 1544, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24036, + "notecount": 956, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f39be7c445bee468a90697d746c026e1bc1bcc2c", + "difficulty": "NORMAL", + "songID": 1544, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24036, + "notecount": 592, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eaf84d3b7982bf2c08e4ba2f6547e7733107bbb3", + "difficulty": "ANOTHER", + "songID": 1544, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24036, + "notecount": 1753, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0fecc8134fde509225795f8aaa9b689cecc97fb5", + "difficulty": "HYPER", + "songID": 1544, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24036, + "notecount": 991, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "336849b52a51346b8f359db59e2e8f9c2ce16532", + "difficulty": "NORMAL", + "songID": 1544, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24036, + "notecount": 588, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cea51c32ab9ba5b88f93d8632ab6c7b3ebfde424", + "difficulty": "ANOTHER", + "songID": 1545, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24037, + "notecount": 1282, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "99e5269177a09766b8943cd8effa35fd840b89cf", + "difficulty": "HYPER", + "songID": 1545, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24037, + "notecount": 803, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49517dceaddb30513a61f91604716afcd308108c", + "difficulty": "NORMAL", + "songID": 1545, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24037, + "notecount": 485, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d5cbc85e82e1716ccceb680cb4544eed656cee8", + "difficulty": "ANOTHER", + "songID": 1545, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24037, + "notecount": 1227, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f24e5144f4b86d47463189c38304e11b12ad80ed", + "difficulty": "HYPER", + "songID": 1545, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24037, + "notecount": 764, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54b0a91e28dc7ecec62fd426c052a141798f0b05", + "difficulty": "NORMAL", + "songID": 1545, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24037, + "notecount": 486, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f7e15de45b3499f5728564a4a39adc4d049046d", + "difficulty": "ANOTHER", + "songID": 1546, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24038, + "notecount": 1032, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cc8f2b2b79ca8f660a6942511af6fe497a7d2cea", + "difficulty": "HYPER", + "songID": 1546, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24038, + "notecount": 675, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c643a02a779a908a1b17ee22edd6ec6373a71d58", + "difficulty": "NORMAL", + "songID": 1546, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24038, + "notecount": 314, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f7933384fd96a25cea7673fe04e80a45375a5f59", + "difficulty": "ANOTHER", + "songID": 1546, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24038, + "notecount": 966, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e2649f677d7ce8008b671ef67cbe6e83dc80eca2", + "difficulty": "HYPER", + "songID": 1546, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24038, + "notecount": 720, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d8e054a97a8b3f4b1e650a9d51cc147a18c3b10", + "difficulty": "NORMAL", + "songID": 1546, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24038, + "notecount": 311, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f717dded45f0d82238a7a25e9467db311bee572", + "difficulty": "ANOTHER", + "songID": 1547, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24039, + "notecount": 1392, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "117165e061fd9ac953cdd4ea42624e7e777e693e", + "difficulty": "HYPER", + "songID": 1547, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24039, + "notecount": 938, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e0854a5fa89c135c6ba8c49aa0fed7df6047b57", + "difficulty": "NORMAL", + "songID": 1547, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24039, + "notecount": 487, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6bc69b5a486b8544049781c21d874533428f89a6", + "difficulty": "ANOTHER", + "songID": 1547, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24039, + "notecount": 1604, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": true + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "038aebc84f595a8c22b5467cfc45065028bd952a", + "difficulty": "HYPER", + "songID": 1547, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24039, + "notecount": 759, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d31174ccbd4e2400d799c1f90246ea113ef31014", + "difficulty": "NORMAL", + "songID": 1547, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24039, + "notecount": 466, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0343772e595489d1c24eccdda96e97eb0788eddb", + "difficulty": "ANOTHER", + "songID": 1548, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24040, + "notecount": 1062, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "36c20c99985545c2e01919dea60a3da0c0b3c4a6", + "difficulty": "HYPER", + "songID": 1548, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24040, + "notecount": 766, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d50bcfa711dca92bfafc96f8e593d593aa1d3e60", + "difficulty": "NORMAL", + "songID": 1548, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24040, + "notecount": 402, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27492649e716b1b9cc8fd781c6cfc86a7ddbfd2f", + "difficulty": "ANOTHER", + "songID": 1548, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24040, + "notecount": 977, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eeec3f2a3ff4f6a0300b4cb014f6fd552ab08e4c", + "difficulty": "HYPER", + "songID": 1548, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24040, + "notecount": 726, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "61f70c81ca1224cdadcfb178e49f1d82e9df779c", + "difficulty": "NORMAL", + "songID": 1548, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24040, + "notecount": 403, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a01a665e0b9dbae294b35d080e49676cbaf828b0", + "difficulty": "ANOTHER", + "songID": 1549, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24041, + "notecount": 1413, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f86f164e84abd84422747b0032842c985ee4d043", + "difficulty": "HYPER", + "songID": 1549, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24041, + "notecount": 931, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1abee12f8f210b495623a8ea37ea9de3dc18f424", + "difficulty": "LEGGENDARIA", + "songID": 1549, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24041, + "notecount": 1671, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d3898577a9b632027fc1ece919926e8554084000", + "difficulty": "NORMAL", + "songID": 1549, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24041, + "notecount": 459, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ef8839f066706f356304eac366039b3169db1f5", + "difficulty": "ANOTHER", + "songID": 1549, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24041, + "notecount": 1343, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "8a6b62892cfea4101ad0c7eefc465e14d7d46e09", + "difficulty": "BEGINNER", + "songID": 1549, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 24041, + "notecount": 189, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "190f1df9b7b18487ec089495eda9dca9f57be6c0", + "difficulty": "HYPER", + "songID": 1549, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24041, + "notecount": 894, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c01c4630946e1cb895b8ef6c3e76ddb5ca6ca847", + "difficulty": "LEGGENDARIA", + "songID": 1549, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24041, + "notecount": 1684, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b32a6dd211e71610653f263bc76c8e60d191b82a", + "difficulty": "NORMAL", + "songID": 1549, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24041, + "notecount": 458, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc27b8cc20a9848d478f374fe03aeacb081287bb", + "difficulty": "ANOTHER", + "songID": 1550, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24042, + "notecount": 1163, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "534ecf7d7f29c48c8cfb4d9bebeeca6fc8fb67fe", + "difficulty": "HYPER", + "songID": 1550, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24042, + "notecount": 634, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74df4d9fbd7a7c846257c6ca9410c9d8e0f0e10c", + "difficulty": "NORMAL", + "songID": 1550, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24042, + "notecount": 304, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82c71a4087a5bf183120fdd45c768dddfddbe123", + "difficulty": "ANOTHER", + "songID": 1550, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24042, + "notecount": 1054, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5fb35fbdb1b18efa0d11b48ce0e06de7289ce472", + "difficulty": "HYPER", + "songID": 1550, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24042, + "notecount": 610, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c38dfb57d5ba39656a5e7fe1ea309d61a3e7478d", + "difficulty": "NORMAL", + "songID": 1550, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24042, + "notecount": 305, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ce974b0ed698a2280e208bb85a404d40dbd5a30", + "difficulty": "ANOTHER", + "songID": 1551, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24043, + "notecount": 1566, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85d14b04bd9e1938f9f58a88333420357080fd2b", + "difficulty": "HYPER", + "songID": 1551, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24043, + "notecount": 1074, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "846347309bada62968ef51e7470677a0b52e471f", + "difficulty": "NORMAL", + "songID": 1551, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24043, + "notecount": 558, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f18e642d1435abb55324e37dc2aab53885f3ed8", + "difficulty": "ANOTHER", + "songID": 1551, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24043, + "notecount": 1475, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11, + "individualDifference": true + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5cec1b4412b1e95ad2c36c955654f91085203e83", + "difficulty": "HYPER", + "songID": 1551, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24043, + "notecount": 910, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9fc99280cc3df5cc2cffb4739ec980ae0ab9d4f7", + "difficulty": "NORMAL", + "songID": 1551, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24043, + "notecount": 506, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a827d68b2f001aceba6d5277593f2447e8e7c8d", + "difficulty": "ANOTHER", + "songID": 1552, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24044, + "notecount": 1931, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4490224a0ee7725fe39e093da3d02a12d455c872", + "difficulty": "HYPER", + "songID": 1552, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24044, + "notecount": 944, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a83303f5ec034d65fa9c5733b9d0b59938bb00dd", + "difficulty": "NORMAL", + "songID": 1552, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24044, + "notecount": 650, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80a76b750dc1cb632f92761c3b66b0579ae5acd1", + "difficulty": "ANOTHER", + "songID": 1552, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24044, + "notecount": 1929, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1382ebf49283da25bec4bf97069e8ddf837d7f0a", + "difficulty": "HYPER", + "songID": 1552, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24044, + "notecount": 1008, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "827feba3988a317b26945cbc45a3faf8851ef640", + "difficulty": "NORMAL", + "songID": 1552, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24044, + "notecount": 609, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0aa01f5a5a3658deed043f9aa2477c0b785281b5", + "difficulty": "ANOTHER", + "songID": 1553, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24045, + "notecount": 1292, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84ef61a37c902d8d65d771290814f122215f9ec3", + "difficulty": "HYPER", + "songID": 1553, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24045, + "notecount": 761, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d8a5c7eb058c259ec8bfd35f608d9332ed83bfd", + "difficulty": "NORMAL", + "songID": 1553, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24045, + "notecount": 386, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7cb01834cf455a4b1b80fdb885206e699a6110ec", + "difficulty": "ANOTHER", + "songID": 1553, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24045, + "notecount": 1280, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11, + "individualDifference": true + } + } + }, + { + "rgcID": null, + "chartID": "aa574fe4d396a4eb8321c50fdefb294eeae53cd3", + "difficulty": "HYPER", + "songID": 1553, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24045, + "notecount": 736, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1fbd8d6ff290813ab463a914b03e22fd589ef7f", + "difficulty": "NORMAL", + "songID": 1553, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24045, + "notecount": 366, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "467def8817cdb5dfac8bdf8a6d0ea97bfed39986", + "difficulty": "ANOTHER", + "songID": 1554, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24046, + "notecount": 742, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c4a8bbb955657d66b7f627f9877e0ae249e8d46c", + "difficulty": "HYPER", + "songID": 1554, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24046, + "notecount": 483, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "56fdc74799a0d8c5048a29d38d77447c4ecba6de", + "difficulty": "NORMAL", + "songID": 1554, + "playtype": "DP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 24046, + "notecount": 203, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0dbb6ffe8031a5154069c3afb7c85e3eefbe6133", + "difficulty": "ANOTHER", + "songID": 1554, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24046, + "notecount": 715, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "09338d39338a23dde17bbf1ee642f8a1ed1064eb", + "difficulty": "HYPER", + "songID": 1554, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24046, + "notecount": 475, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1172562473f9d149b8ae5eed7334ba8e8e0ff880", + "difficulty": "NORMAL", + "songID": 1554, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24046, + "notecount": 207, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc433afd5df799b8a4bd86c4fe88b8feca2ca574", + "difficulty": "ANOTHER", + "songID": 1555, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24047, + "notecount": 1251, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "44ee43fcbf77a9ea1b9b058369b96a2fe660e537", + "difficulty": "HYPER", + "songID": 1555, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24047, + "notecount": 924, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24dfa8c20a2d7d53e2221cf6d9632e8899898060", + "difficulty": "NORMAL", + "songID": 1555, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24047, + "notecount": 582, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c1be147ee42f4c2565da761f93e009bdcf8b6cb", + "difficulty": "ANOTHER", + "songID": 1555, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24047, + "notecount": 1226, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed30d84d7cb970a4e190f197af7c734d29af462f", + "difficulty": "HYPER", + "songID": 1555, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24047, + "notecount": 955, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "346ec5ff789f89267ba867def0e741fab6e2a513", + "difficulty": "NORMAL", + "songID": 1555, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24047, + "notecount": 604, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "06b582ce77660d089f5968b4757b18911e08b609", + "difficulty": "ANOTHER", + "songID": 1556, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24048, + "notecount": 1416, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45016e9608d8c39bb0479fb38a313f52f61acb61", + "difficulty": "HYPER", + "songID": 1556, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24048, + "notecount": 855, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8eb2e56aa2fadb457839cf27206478c18c2fb1ed", + "difficulty": "NORMAL", + "songID": 1556, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24048, + "notecount": 318, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0257f81d2bca1b30533f6959be33bcc476b7ca50", + "difficulty": "ANOTHER", + "songID": 1556, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24048, + "notecount": 1264, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "13-cs" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6d2e32655504f8223cce26aa41938b0b083bacb4", + "difficulty": "HYPER", + "songID": 1556, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24048, + "notecount": 748, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "add495a7ca0d971b5829eba76090d79205a4a932", + "difficulty": "NORMAL", + "songID": 1556, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24048, + "notecount": 404, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "13-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ebb0f07d1a27226c9292a5976bfb32966aa5d46", + "difficulty": "ANOTHER", + "songID": 1557, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24049, + "notecount": 1241, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22509af5134a08024d304081f0c284dd8a82c356", + "difficulty": "HYPER", + "songID": 1557, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24049, + "notecount": 811, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b0b75ecc4bd0c863c922d0a1f751d1a8cb7793e", + "difficulty": "NORMAL", + "songID": 1557, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24049, + "notecount": 461, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b72de4049ffccda4098e1e4e38788b2393c85938", + "difficulty": "ANOTHER", + "songID": 1557, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24049, + "notecount": 1169, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aec9ba367eb665ac2e50b1faa7d8720f522750eb", + "difficulty": "HYPER", + "songID": 1557, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24049, + "notecount": 669, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad5465afee73542863bdead06bc2e0fffff2d5d4", + "difficulty": "NORMAL", + "songID": 1557, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24049, + "notecount": 362, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83b1ea92d0b58f703a199cb058f5a13713e8e705", + "difficulty": "ANOTHER", + "songID": 1558, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24050, + "notecount": 2175, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "66de521b5db52f046cecb753ff055ba3f3642e3e", + "difficulty": "HYPER", + "songID": 1558, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24050, + "notecount": 1420, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e71b7e02dc2b11d351c4e76ab868ba55d0c2a5f", + "difficulty": "LEGGENDARIA", + "songID": 1558, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24050, + "notecount": 2428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b7ec9b8a5a0a9b0190c1cfde9cb7f3ca16eed860", + "difficulty": "NORMAL", + "songID": 1558, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24050, + "notecount": 681, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c7a99cc269d18bad5888a4f51ad428ac92f8769", + "difficulty": "ANOTHER", + "songID": 1558, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24050, + "notecount": 2081, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "823795f8fef306160eff2f42a6fdfc752e56125e", + "difficulty": "HYPER", + "songID": 1558, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24050, + "notecount": 1397, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c7172c1f9f9cc2221a0aea8d33891dd13b058248", + "difficulty": "LEGGENDARIA", + "songID": 1558, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24050, + "notecount": 2443, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "12S+", + "value": 13.2, + "individualDifference": false + }, + "kt-NC": { + "text": "12S+", + "value": 13.1 + } + } + }, + { + "rgcID": null, + "chartID": "5c88a78a9aa83a5e5ad49bcf8eb7824c87f24619", + "difficulty": "NORMAL", + "songID": 1558, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24050, + "notecount": 684, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "38de2855473c1f7b63d9d58b569808bf3d9d6462", + "difficulty": "ANOTHER", + "songID": 1559, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24051, + "notecount": 1564, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eeafe20e2cc6231d214f4ed25362eb6e4f88dbf1", + "difficulty": "HYPER", + "songID": 1559, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24051, + "notecount": 964, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "91f2b545ee9c8a7cc2fc5438e73ce786a369bb51", + "difficulty": "NORMAL", + "songID": 1559, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24051, + "notecount": 475, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "69ae835d2b68c3fa13234eb6f85eb8abec0dcdc2", + "difficulty": "ANOTHER", + "songID": 1559, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24051, + "notecount": 1601, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1eb88833f3619c907715160ba3db08a35f535a70", + "difficulty": "BEGINNER", + "songID": 1559, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 24051, + "notecount": 197, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22d9c0a678bb6de682f3ef073ed844974007d30a", + "difficulty": "HYPER", + "songID": 1559, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24051, + "notecount": 950, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03e9af48b067656332695e0c00d00af5f74ae385", + "difficulty": "NORMAL", + "songID": 1559, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24051, + "notecount": 500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0839a943e6a5d840173f803e7088cfc358a5d3e7", + "difficulty": "ANOTHER", + "songID": 1560, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24052, + "notecount": 1163, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe4e3b9a6513ac96eb41532257d3a00171dfa6e2", + "difficulty": "HYPER", + "songID": 1560, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24052, + "notecount": 809, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8576c9a426b5ce6b97c0afee2eb300a65c12882a", + "difficulty": "NORMAL", + "songID": 1560, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24052, + "notecount": 457, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78acdeff3f3c1d83a12cb7d870e8c50db81668f5", + "difficulty": "ANOTHER", + "songID": 1560, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24052, + "notecount": 1116, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f23f4b9f214d1de2fc6ab42bf2fda5c44d26e08", + "difficulty": "HYPER", + "songID": 1560, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24052, + "notecount": 835, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d968009b6781987211858db6a88cc4a2c2be148b", + "difficulty": "NORMAL", + "songID": 1560, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24052, + "notecount": 468, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd0f552daa044ac8239cd54711c0357138061f2f", + "difficulty": "ANOTHER", + "songID": 1561, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24053, + "notecount": 1264, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9fc36c5c9c21c595fb6e2c795443ca417b1d2215", + "difficulty": "HYPER", + "songID": 1561, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24053, + "notecount": 812, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b8d5cde6b5a83b205b66e37b22a7831d5bd12324", + "difficulty": "NORMAL", + "songID": 1561, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24053, + "notecount": 452, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "844ff7d0de9480bf8295625e6acb5cdf021cb758", + "difficulty": "ANOTHER", + "songID": 1561, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24053, + "notecount": 1177, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d513020c347853172c9bd85c36613ae55cb136c", + "difficulty": "HYPER", + "songID": 1561, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24053, + "notecount": 810, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d77eef81e46c3f2d2a6e9718aa01e1ace904bd4", + "difficulty": "NORMAL", + "songID": 1561, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24053, + "notecount": 490, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b4a1183d4307887633638b88cff89e8617dd871", + "difficulty": "ANOTHER", + "songID": 1562, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24054, + "notecount": 1387, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d2481d4037f4a47fd358e8c1dcb1521d2bdb9a5", + "difficulty": "HYPER", + "songID": 1562, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24054, + "notecount": 733, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d101b72732447bab1c0f1cce424cc0d46759dd31", + "difficulty": "NORMAL", + "songID": 1562, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24054, + "notecount": 472, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "251ef8940e31c2f4808537ee8b431cab2d797629", + "difficulty": "ANOTHER", + "songID": 1562, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24054, + "notecount": 1375, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6f945090d47056766dede0a7fb934c0022dc0ca5", + "difficulty": "HYPER", + "songID": 1562, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24054, + "notecount": 671, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e5723b9c6607cd03403fa4a1d9848513c2c7340", + "difficulty": "NORMAL", + "songID": 1562, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24054, + "notecount": 373, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "864526a21cd79d27236ccd967953aafd431044c3", + "difficulty": "ANOTHER", + "songID": 1563, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24055, + "notecount": 846, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2248ac72817cb59046b42f293dae65bccbe5f069", + "difficulty": "HYPER", + "songID": 1563, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24055, + "notecount": 609, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55221d1778c9777e04c1f99be2eb603577aaec4f", + "difficulty": "NORMAL", + "songID": 1563, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24055, + "notecount": 319, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f16b05c4ff6710b30b6fc54d6ef8f4ec2956ee70", + "difficulty": "ANOTHER", + "songID": 1563, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24055, + "notecount": 826, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "31f37e3d9cb78878bf5c65a013338f7801cf2922", + "difficulty": "HYPER", + "songID": 1563, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24055, + "notecount": 606, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd24cdf796b856c3768bd13da867f9a0600f9605", + "difficulty": "NORMAL", + "songID": 1563, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24055, + "notecount": 326, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f6ac096f486efd6a1565b180ac9c926a2e3bc982", + "difficulty": "ANOTHER", + "songID": 1564, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24056, + "notecount": 972, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84a4c7fa245d67befaa1aeb41c0def71c13b6700", + "difficulty": "HYPER", + "songID": 1564, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24056, + "notecount": 620, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e19489ca670ebb5a156fb6e664fa57e14e6cf76a", + "difficulty": "NORMAL", + "songID": 1564, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24056, + "notecount": 330, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6a48dcf52dc63d45397fdd2478b9de685bed77b1", + "difficulty": "ANOTHER", + "songID": 1564, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24056, + "notecount": 953, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a9355e6b6e451ba66d2e805981f01c5d2217de0", + "difficulty": "HYPER", + "songID": 1564, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24056, + "notecount": 667, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "daa8b8f1af584492f2380a7b763227de5ecf7a09", + "difficulty": "NORMAL", + "songID": 1564, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24056, + "notecount": 332, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c9caa6324fe41cbc4881fbb42fdced372fa63f76", + "difficulty": "ANOTHER", + "songID": 1565, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24057, + "notecount": 1299, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82fce6253d2bdd8c826c059effa17390bf4d4608", + "difficulty": "HYPER", + "songID": 1565, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24057, + "notecount": 957, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "2f20bbbb5030c2ed58a497bc9e166edabefb33d2", + "difficulty": "LEGGENDARIA", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 1565, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 24057, + "arcChartID": null, + "notecount": 1572, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "093448f215e8d9ac87f14e1afbc9a42c6ad3d846", + "difficulty": "NORMAL", + "songID": 1565, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24057, + "notecount": 559, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5103ad44dc2c5b9a92353c43ade00366fd219b4e", + "difficulty": "ANOTHER", + "songID": 1565, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24057, + "notecount": 1232, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S+", + "value": 12.2, + "individualDifference": true + }, + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0e1f88edd617a022f590ac5bb2a1fd77bf49dbcf", + "difficulty": "HYPER", + "songID": 1565, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24057, + "notecount": 865, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "8afd1828f839cb76d6ca05f39cdfd8ff81ae4291", + "difficulty": "LEGGENDARIA", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 1565, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 24057, + "arcChartID": null, + "notecount": 1576, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "8d9afd3a7c56e2dae4bea4b9e4cf1cf746f33606", + "difficulty": "NORMAL", + "songID": 1565, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24057, + "notecount": 511, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "56d964ff28238e1cd80b6cafaa552f234455ad9c", + "difficulty": "ANOTHER", + "songID": 1566, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24058, + "notecount": 1251, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6aadbd84398faac7e277c1f4ff11a145cf785638", + "difficulty": "HYPER", + "songID": 1566, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24058, + "notecount": 880, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "848de36a6608fa1a2e99086a574e48ed36cdbd94", + "difficulty": "NORMAL", + "songID": 1566, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24058, + "notecount": 512, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cdc4f027c13b847d0f8299c0fabf6293a99b215b", + "difficulty": "ANOTHER", + "songID": 1566, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24058, + "notecount": 1257, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8ac6017b2051bc74b894105a2ac9c3ca0dd45fc6", + "difficulty": "HYPER", + "songID": 1566, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24058, + "notecount": 914, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b076b267f1c4de495e7982e2970c54971523ffe1", + "difficulty": "NORMAL", + "songID": 1566, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24058, + "notecount": 517, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1b2ce4f95dee70b7c07a8262e4550f6fec22c2f", + "difficulty": "ANOTHER", + "songID": 1567, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24059, + "notecount": 1104, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "051e7cee88e4b60834f95a0653fe521557a35c23", + "difficulty": "HYPER", + "songID": 1567, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24059, + "notecount": 714, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5676c9e98bb8ecb7854b42df0827703a34460482", + "difficulty": "NORMAL", + "songID": 1567, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24059, + "notecount": 332, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4ace3e335aa3434c95de9b464d7be7c947100408", + "difficulty": "ANOTHER", + "songID": 1567, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24059, + "notecount": 1013, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63dba90c62b8adc6dd54f98a32f824d3b4e3d31d", + "difficulty": "HYPER", + "songID": 1567, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24059, + "notecount": 715, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19cfdd27d4459adb7e6c6ba9f9f171081944daec", + "difficulty": "NORMAL", + "songID": 1567, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24059, + "notecount": 332, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d08d3ef0e26469816482c54e26015c10051748b9", + "difficulty": "ANOTHER", + "songID": 1568, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24060, + "notecount": 1251, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54eedd583fb791e495a772c3d820b420f76c6a7e", + "difficulty": "HYPER", + "songID": 1568, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24060, + "notecount": 903, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ba898ef4778a6f45aa34cf8d4a1e7750f573e5c", + "difficulty": "NORMAL", + "songID": 1568, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24060, + "notecount": 501, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f3eed4c2ad489a4be821a17cb2724e5a9c72d9f", + "difficulty": "ANOTHER", + "songID": 1568, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24060, + "notecount": 1265, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "229b602a53ae37b8e96fbb6b5414d010dabaac68", + "difficulty": "HYPER", + "songID": 1568, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24060, + "notecount": 909, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "989a6a820aa1aa14a802fead1fd0e46dcdfef68b", + "difficulty": "NORMAL", + "songID": 1568, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24060, + "notecount": 546, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "afe9bbb9800f75a093b15548241cee4869fd5c35", + "difficulty": "ANOTHER", + "songID": 1569, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24061, + "notecount": 971, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "75defe567d7d66813c89d4b004c98d6e10874a71", + "difficulty": "HYPER", + "songID": 1569, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24061, + "notecount": 637, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e8452179fb14e8652432b934e8a1872b3806167c", + "difficulty": "NORMAL", + "songID": 1569, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24061, + "notecount": 388, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b8e0a918c49fe3a5b3422274f25dc125e0e1b39", + "difficulty": "ANOTHER", + "songID": 1569, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24061, + "notecount": 959, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4611160215e692158a7b211b207c80b69b96571e", + "difficulty": "HYPER", + "songID": 1569, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24061, + "notecount": 623, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e4ed899f58269bf8616e9540b08d102ddfdc7e4", + "difficulty": "NORMAL", + "songID": 1569, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24061, + "notecount": 285, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c88da9483ba60a4b8def78293f93692e1a5cf763", + "difficulty": "ANOTHER", + "songID": 1570, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24062, + "notecount": 1153, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "15a1a213e80e741bab8945e70bcc119e6b2d2084", + "difficulty": "HYPER", + "songID": 1570, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24062, + "notecount": 810, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9169736b2d524c430615ea1159f0951b17d3a6fe", + "difficulty": "NORMAL", + "songID": 1570, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24062, + "notecount": 425, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "561885c1dfe8917a50f2a0edae2ae8268166599d", + "difficulty": "ANOTHER", + "songID": 1570, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24062, + "notecount": 1192, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "06062e5ae7ddca22c33a8b6c7da9b7aa9c46a708", + "difficulty": "HYPER", + "songID": 1570, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24062, + "notecount": 822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d60d0f0acde432610d5f541b4c5272619ae9b44", + "difficulty": "NORMAL", + "songID": 1570, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24062, + "notecount": 445, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "26", + "25", + "24" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78ebf6ad70f7dc35ece9c58938b93c40baae3c23", + "difficulty": "ANOTHER", + "songID": 1571, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24063, + "notecount": 1193, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e86b4de75b4d4bd52df86d14352ba861c91c9d83", + "difficulty": "HYPER", + "songID": 1571, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24063, + "notecount": 712, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c5c625979cf95f08215c016905bdf112670e594e", + "difficulty": "NORMAL", + "songID": 1571, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24063, + "notecount": 427, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4af4d02bdf4657c0836f0504dc2e5e7b045f1d87", + "difficulty": "ANOTHER", + "songID": 1571, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24063, + "notecount": 1210, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "921a1ab3f5d3c31ccbd417e54508d74e82e20474", + "difficulty": "HYPER", + "songID": 1571, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24063, + "notecount": 785, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ebb1cca4a16cf4e12bd2d4bee85ce86f7c577a3d", + "difficulty": "NORMAL", + "songID": 1571, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24063, + "notecount": 462, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a51375d59bbe382f9e951d69a8f814b359b570b", + "difficulty": "ANOTHER", + "songID": 1572, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24064, + "notecount": 1223, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8ce008ee846349caba96edd4538e7a9c148f8af7", + "difficulty": "HYPER", + "songID": 1572, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24064, + "notecount": 936, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c8805a4e481bb124b6687c44d3d359bdca4dd50e", + "difficulty": "NORMAL", + "songID": 1572, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24064, + "notecount": 388, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "adc8458064d179fef6302c12d691f9ff58d92163", + "difficulty": "ANOTHER", + "songID": 1572, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24064, + "notecount": 1098, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f654276295ca8c228da91c230cc8ac86b23d16e9", + "difficulty": "HYPER", + "songID": 1572, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24064, + "notecount": 694, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a856ae72278eedc5ac19050bc1cb441885ac46d", + "difficulty": "NORMAL", + "songID": 1572, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24064, + "notecount": 387, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7d9dc87501cfce53a0f8094f8b4852c6135f22d1", + "difficulty": "ANOTHER", + "songID": 1573, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24065, + "notecount": 1743, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf51db8785b955e6f8b0ca9728e86a044f8822a8", + "difficulty": "HYPER", + "songID": 1573, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24065, + "notecount": 1133, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33368b1a8e233aca15ea99390bd893f484e8b671", + "difficulty": "NORMAL", + "songID": 1573, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24065, + "notecount": 654, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51a603bbca90675e996345da8a4529cd0932c207", + "difficulty": "ANOTHER", + "songID": 1573, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24065, + "notecount": 1643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4b6f1bdcb17ff75ce99ae8c31e19ab58963c1585", + "difficulty": "HYPER", + "songID": 1573, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24065, + "notecount": 1135, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a0dbb140f59ea40e9f0a41dc4d3295d4e5c501d", + "difficulty": "NORMAL", + "songID": 1573, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24065, + "notecount": 670, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d78848b34fcb0369b5514d4edbb8a0cd025770c8", + "difficulty": "ANOTHER", + "songID": 1574, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24066, + "notecount": 1028, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "639ab4102c47477a667d87163f0c72442f432561", + "difficulty": "HYPER", + "songID": 1574, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24066, + "notecount": 635, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd8f9b546477747947a3bf2a0107c78a20a46806", + "difficulty": "NORMAL", + "songID": 1574, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24066, + "notecount": 410, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11571ae221dea4cd9a70cd14987cb4145951d61f", + "difficulty": "ANOTHER", + "songID": 1574, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24066, + "notecount": 1011, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7893f91c416e2b2b8ce0f876195ba0865120d545", + "difficulty": "HYPER", + "songID": 1574, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24066, + "notecount": 601, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "015a430227b21135cf9bb72d93d2a10beec6526e", + "difficulty": "NORMAL", + "songID": 1574, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24066, + "notecount": 410, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6481b57e7d64965a53b9d243884158a39bff119a", + "difficulty": "ANOTHER", + "songID": 1575, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24067, + "notecount": 1545, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f997728858755c9273894a3e9040d41c61fe51e", + "difficulty": "HYPER", + "songID": 1575, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24067, + "notecount": 1010, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b56e542bc31a1baeb97c71ce5854d5ee81cab3f", + "difficulty": "NORMAL", + "songID": 1575, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24067, + "notecount": 387, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a9d36bbb04362065bc52a2ee2fb49d732f2950e", + "difficulty": "ANOTHER", + "songID": 1575, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24067, + "notecount": 1479, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3d58cbe7cbc22669e3318f86f9cbb2c3cacd08de", + "difficulty": "HYPER", + "songID": 1575, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24067, + "notecount": 943, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c0c3c1114ffa49076b397aa7c95b7c4aadea1d19", + "difficulty": "NORMAL", + "songID": 1575, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24067, + "notecount": 389, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eca4fcba196cb996d89664a08a593ee2c63408bc", + "difficulty": "ANOTHER", + "songID": 1576, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24068, + "notecount": 1321, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f887feef45f04670997c8e1eb1f1e34a94122cca", + "difficulty": "HYPER", + "songID": 1576, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24068, + "notecount": 660, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72b2f5e976e4817ddf366ed30333befdddbb9f61", + "difficulty": "NORMAL", + "songID": 1576, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24068, + "notecount": 387, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bdb598b7539f3c88ef3e4472faff1d14bac60311", + "difficulty": "ANOTHER", + "songID": 1576, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24068, + "notecount": 1298, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e7daeefa81240aa59bce69a942bc137f235ace0d", + "difficulty": "HYPER", + "songID": 1576, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24068, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8d6108b459e37ade8c99a07740575c9bf6b38126", + "difficulty": "NORMAL", + "songID": 1576, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24068, + "notecount": 396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f95e6b9b45fac152aed7f315c56b7f2de4b9e277", + "difficulty": "ANOTHER", + "songID": 1577, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24069, + "notecount": 1299, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f42d22b7c57574ab7401cee1bbf6b670c33e618", + "difficulty": "HYPER", + "songID": 1577, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24069, + "notecount": 836, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e15578faa665ecaf7cb2d6c5cf5e22e91fa49e73", + "difficulty": "NORMAL", + "songID": 1577, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24069, + "notecount": 480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "348353b850d7050bf746ac9c9bb5ab3157b685b6", + "difficulty": "ANOTHER", + "songID": 1577, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24069, + "notecount": 1345, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f39f5a1bbaf7f57fef60243ca5a57388a6a90a75", + "difficulty": "HYPER", + "songID": 1577, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24069, + "notecount": 823, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "96e44f25c35e95b289179524654e5ac84fae14f7", + "difficulty": "NORMAL", + "songID": 1577, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24069, + "notecount": 499, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "688a421c906fe40e709db29346caefbdbc53ccea", + "difficulty": "ANOTHER", + "songID": 1578, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24070, + "notecount": 1530, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2366c90fdc0d2ffb305a54e6c0fa5b83c380eb7", + "difficulty": "HYPER", + "songID": 1578, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24070, + "notecount": 948, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "46689446bab50370732ee42632f2f8b95f54446d", + "difficulty": "NORMAL", + "songID": 1578, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24070, + "notecount": 456, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fcf0a364874c414632d4b49c22bb1530af457d3f", + "difficulty": "ANOTHER", + "songID": 1578, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24070, + "notecount": 1521, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2f37ba5f467bf5f9390ac457c7319d2bc3cbd60f", + "difficulty": "HYPER", + "songID": 1578, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24070, + "notecount": 912, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f5cae4928a987ba411c85f8095a5a97ca14769d0", + "difficulty": "NORMAL", + "songID": 1578, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24070, + "notecount": 438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "07e19a82fc3c114cc8b749ad787ff68e27179e32", + "difficulty": "ANOTHER", + "songID": 1579, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24071, + "notecount": 1940, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af2161194acfd7b29a10a8e46de1f8f80cec1453", + "difficulty": "HYPER", + "songID": 1579, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24071, + "notecount": 1398, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce347103c39572d06b350d3b634b5966f893ef0e", + "difficulty": "NORMAL", + "songID": 1579, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24071, + "notecount": 759, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb08d1773d2a551de280c1d728974896d2cf90a7", + "difficulty": "ANOTHER", + "songID": 1579, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24071, + "notecount": 1714, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6f668d26c2cd3a9e050956e4cbd3316383d0d207", + "difficulty": "HYPER", + "songID": 1579, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24071, + "notecount": 1080, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a01fe145e26f3f2d19cc3f42dc2c7f4adb5f75a", + "difficulty": "NORMAL", + "songID": 1579, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24071, + "notecount": 570, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1408d61639c8e4f9e33bd566e36711c6d9b49c5b", + "difficulty": "ANOTHER", + "songID": 1580, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24072, + "notecount": 1918, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17ffc24bd1e10d16aa6fe7403da4794efd5352ed", + "difficulty": "HYPER", + "songID": 1580, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24072, + "notecount": 1192, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb74b66cf83cb3a6ee352f8b1e47df627999cfac", + "difficulty": "NORMAL", + "songID": 1580, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24072, + "notecount": 589, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f5f3b0b5158d10c90a86c9234812b39978d0afee", + "difficulty": "ANOTHER", + "songID": 1580, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24072, + "notecount": 1943, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4308833a3e042140f6f575f05e76e30e47a16e72", + "difficulty": "BEGINNER", + "songID": 1580, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24072, + "notecount": 222, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bdf8e4fae04c4e85f4c62370ec3c215bb7f4f175", + "difficulty": "HYPER", + "songID": 1580, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24072, + "notecount": 1205, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "590f87d3acc1f889885d91797a37ae1e1c5c27fe", + "difficulty": "NORMAL", + "songID": 1580, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24072, + "notecount": 603, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74bee74795d3a1b4805a8f71f8b03839a785bf5b", + "difficulty": "ANOTHER", + "songID": 1581, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24073, + "notecount": 1799, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c02b3396b76ab24ad9684c96e9fbec75a2ff812", + "difficulty": "HYPER", + "songID": 1581, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24073, + "notecount": 1122, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8eb5ad2593d8c1022f4cf912553e7eb47e0e2b1b", + "difficulty": "NORMAL", + "songID": 1581, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24073, + "notecount": 539, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4829754a9ecce26a516bce46af3173900a6419be", + "difficulty": "ANOTHER", + "songID": 1581, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24073, + "notecount": 1751, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b8384c09ff896179a45fe80821ba9ec73a457803", + "difficulty": "HYPER", + "songID": 1581, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24073, + "notecount": 1110, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb522b2a7c04a2ad9649db379ef2b4a43344c3a4", + "difficulty": "NORMAL", + "songID": 1581, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24073, + "notecount": 563, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d4a76b9782693007e95ea14de9610525ec7675b", + "difficulty": "ANOTHER", + "songID": 1582, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24074, + "notecount": 1053, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a4974db9fd2aa3692f20396d80acd70f7043ca73", + "difficulty": "HYPER", + "songID": 1582, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24074, + "notecount": 722, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "15e6be0b8446d5877a5bd5105ae70fcd4a3129f4", + "difficulty": "NORMAL", + "songID": 1582, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24074, + "notecount": 446, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "824fbfc23103a93724e3cc48e0b5814af000193a", + "difficulty": "ANOTHER", + "songID": 1582, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24074, + "notecount": 1083, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0156b724d24ea6ed38f70ed4a5f64513260b18e", + "difficulty": "HYPER", + "songID": 1582, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24074, + "notecount": 683, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8f277c1c0e46c0c478c9735573835c2094963aa", + "difficulty": "NORMAL", + "songID": 1582, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24074, + "notecount": 437, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e5d0c77244560c5e66f9012c00625a915f147715", + "difficulty": "ANOTHER", + "songID": 1583, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24075, + "notecount": 1383, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e6c6e4db2ace7af809b3f37cfaec842dc0d313d", + "difficulty": "HYPER", + "songID": 1583, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24075, + "notecount": 1081, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7e9a322b6cf755015a2a6d0ff28a7eaf85513007", + "difficulty": "NORMAL", + "songID": 1583, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24075, + "notecount": 600, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce66568e4826ee4e36f080c015b486cb1262da2b", + "difficulty": "ANOTHER", + "songID": 1583, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24075, + "notecount": 1331, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "80422a54423af7ba1520b2d5ea5e89f0c5fbc3b1", + "difficulty": "HYPER", + "songID": 1583, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24075, + "notecount": 1074, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c1cb681c8cd3e5433a3cc85c025c36278b5c51ef", + "difficulty": "NORMAL", + "songID": 1583, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24075, + "notecount": 601, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "298635223c8b6eac79623f2b6bf1bb2460a19a40", + "difficulty": "ANOTHER", + "songID": 1584, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24076, + "notecount": 1755, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02b25e5bc32ba4f4a181fc3df2f4fd02a0604b7c", + "difficulty": "HYPER", + "songID": 1584, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24076, + "notecount": 1038, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6921c127919bf4aa2c3f0307f40ec4110f81aa52", + "difficulty": "NORMAL", + "songID": 1584, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24076, + "notecount": 603, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8d21499e7a5f91535634f646dee9cf483f28f5a2", + "difficulty": "ANOTHER", + "songID": 1584, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24076, + "notecount": 1657, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "53d1b54870f22b3ca1a7f2417b36ebd8e0214946", + "difficulty": "HYPER", + "songID": 1584, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24076, + "notecount": 928, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c27fbe94b05318e532984f352a22a3560936f8ac", + "difficulty": "NORMAL", + "songID": 1584, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24076, + "notecount": 588, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c57000bd0c6a4c1432f52c59856aa648833afd5a", + "difficulty": "ANOTHER", + "songID": 1585, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24077, + "notecount": 1790, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ae4a9ec6f49cd2a81e626729487c6a938eff6e2", + "difficulty": "HYPER", + "songID": 1585, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24077, + "notecount": 1089, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "decdf1b3c98ee4ae42da2c0fd984b53bc4a65b39", + "difficulty": "NORMAL", + "songID": 1585, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24077, + "notecount": 590, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "748aef310b84717241431b1a770d7f4517ea345d", + "difficulty": "ANOTHER", + "songID": 1585, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24077, + "notecount": 1746, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c272c66fd5958f9c8cbc4fcab0008e3ed341bb6c", + "difficulty": "HYPER", + "songID": 1585, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24077, + "notecount": 1082, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a6ac646dd80d013e7cce9182164822c6d06ad46", + "difficulty": "NORMAL", + "songID": 1585, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24077, + "notecount": 626, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e83e7764accd6ed105c6671506ec5cdcf8637311", + "difficulty": "ANOTHER", + "songID": 1586, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24078, + "notecount": 1933, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "48947f36aaf882a9c83fdaa9099fba75c0a2b9a5", + "difficulty": "HYPER", + "songID": 1586, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24078, + "notecount": 1198, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0fdd892559f248b894b9b28e664c35d5e61876f3", + "difficulty": "NORMAL", + "songID": 1586, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24078, + "notecount": 665, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "074d0aaa9597770fd4c6ab480e26c292293c88a9", + "difficulty": "ANOTHER", + "songID": 1586, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24078, + "notecount": 1877, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4e1222a957122717733f8197db2ca941ebc9cfe7", + "difficulty": "HYPER", + "songID": 1586, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24078, + "notecount": 1194, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d19d55ebf59c78780d49ab69399bbc918a3ad322", + "difficulty": "NORMAL", + "songID": 1586, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24078, + "notecount": 657, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b34c1b874463032a100b41d6edbdce87fa2a4c35", + "difficulty": "ANOTHER", + "songID": 1587, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24079, + "notecount": 1517, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9757a89797822ff21fd04e85a7b5391d3c2e75e0", + "difficulty": "HYPER", + "songID": 1587, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24079, + "notecount": 1079, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "67fccbfe06e3001df8e7a4df265d2e81968dcb49", + "difficulty": "NORMAL", + "songID": 1587, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24079, + "notecount": 652, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34fa0299f87b8e6a390c7bf334fe36f5d1564331", + "difficulty": "ANOTHER", + "songID": 1587, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24079, + "notecount": 1432, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d20632acc5e4fa5b7973454bfddf65a7013693d1", + "difficulty": "HYPER", + "songID": 1587, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24079, + "notecount": 1097, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c4260b5c918c07fc09e2011a3075a25187dad5c", + "difficulty": "NORMAL", + "songID": 1587, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24079, + "notecount": 662, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "311ee179b6f0b3411bfefd544317a1ecfa62f796", + "difficulty": "ANOTHER", + "songID": 1588, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24080, + "notecount": 1575, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c0c3f493adc9f1969e95dfdd29afae878b38f56", + "difficulty": "HYPER", + "songID": 1588, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24080, + "notecount": 1098, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3aeb8a252b65f6c66232ac66df67b63888c82bb6", + "difficulty": "NORMAL", + "songID": 1588, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24080, + "notecount": 667, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6342ed7e3ca933baa211fc1975c12190778051e0", + "difficulty": "ANOTHER", + "songID": 1588, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24080, + "notecount": 1568, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "9df8de38068f546af3e3915856922c317919998a", + "difficulty": "HYPER", + "songID": 1588, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24080, + "notecount": 1099, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d32a22cfecbd9c248dc95ce837358338fc89859b", + "difficulty": "NORMAL", + "songID": 1588, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24080, + "notecount": 699, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "59a91885570f6fa72cecf38c841503985850df09", + "difficulty": "ANOTHER", + "songID": 1589, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24081, + "notecount": 1171, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "587dd53fa7388599c230708c7c1c7006d4fa6d0e", + "difficulty": "HYPER", + "songID": 1589, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24081, + "notecount": 859, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0510a731728983f433651e75f9c364f757aeef8", + "difficulty": "NORMAL", + "songID": 1589, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24081, + "notecount": 533, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b9ccd5d019300fbc16c500d28a2980128f1509f", + "difficulty": "ANOTHER", + "songID": 1589, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24081, + "notecount": 1138, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2fff7ec08030e918e25660294a53adc8c9a88474", + "difficulty": "HYPER", + "songID": 1589, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24081, + "notecount": 837, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f312a25db06a091feb5b48c5c08d6c06572b1d99", + "difficulty": "NORMAL", + "songID": 1589, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24081, + "notecount": 531, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f27e1507c137f4e43642892663fb1ae8966a590d", + "difficulty": "ANOTHER", + "songID": 1590, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24082, + "notecount": 1985, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ffa07bf488d0e662c040b62d90d04bf73752318e", + "difficulty": "HYPER", + "songID": 1590, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24082, + "notecount": 1333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5e6f66f51c177d468142fcfdce91105a3bbf7516", + "difficulty": "NORMAL", + "songID": 1590, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24082, + "notecount": 640, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "985e47dfe4617bda9af40d424bbad7e4ca1ab2a3", + "difficulty": "ANOTHER", + "songID": 1590, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24082, + "notecount": 1446, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "74b4664bc4c7e50bd7163f1de5cd0ffe3d5a2b3e", + "difficulty": "HYPER", + "songID": 1590, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24082, + "notecount": 1128, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "20cabaec308c223ff4ecca282394809b8687bc6a", + "difficulty": "NORMAL", + "songID": 1590, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24082, + "notecount": 551, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "14-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c82c838430648ccb600ebda96257c5fa49e15c65", + "difficulty": "ANOTHER", + "songID": 1591, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24083, + "notecount": 1324, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8dd22fb3b7e60e9798de6893f033543043602d0", + "difficulty": "HYPER", + "songID": 1591, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24083, + "notecount": 814, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a26b2e14168c3cd61c89bc89702c76f86e4c75f", + "difficulty": "NORMAL", + "songID": 1591, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24083, + "notecount": 486, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a60d863a89970223e452c4602a591d5e77fd83e", + "difficulty": "ANOTHER", + "songID": 1591, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24083, + "notecount": 1359, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5b33addafadb05213d5a62b54807acd26547ec8d", + "difficulty": "HYPER", + "songID": 1591, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24083, + "notecount": 722, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3fdddb888cb7021af81286c7aa7bbbf41b913da7", + "difficulty": "NORMAL", + "songID": 1591, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24083, + "notecount": 471, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9df894657a701e275173df37512b041c2347cf47", + "difficulty": "ANOTHER", + "songID": 1592, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24084, + "notecount": 1574, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dcefa6c6599d52a5db6d46cd48c02a4787985c33", + "difficulty": "HYPER", + "songID": 1592, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24084, + "notecount": 946, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "39bbb2977b7a7898c216e276b6dbe5991d967c4a", + "difficulty": "NORMAL", + "songID": 1592, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24084, + "notecount": 339, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "888909093e20053f731570e82ab6b305c02f6c31", + "difficulty": "ANOTHER", + "songID": 1592, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24084, + "notecount": 1480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "715a4d52352be1d692765af90a35e7089bf1671f", + "difficulty": "HYPER", + "songID": 1592, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24084, + "notecount": 885, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d45c2fedd8dd3503fa9d4bfbeb360e6ffc64d3d5", + "difficulty": "NORMAL", + "songID": 1592, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24084, + "notecount": 317, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a338c48e18f41300c0c4525ba9e87a54f3f974e", + "difficulty": "ANOTHER", + "songID": 1593, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24085, + "notecount": 1546, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6589755a2a15fb2e76eb452182a6f926ba430de", + "difficulty": "HYPER", + "songID": 1593, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24085, + "notecount": 1042, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "558d2db77ef39c3f37daa035dd64951933bb04e1", + "difficulty": "NORMAL", + "songID": 1593, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24085, + "notecount": 768, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b10719db4cd4082b2ff37e88e76cd2695177ff55", + "difficulty": "ANOTHER", + "songID": 1593, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24085, + "notecount": 1677, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "05d449abf2a7c10c21d25db1fdce1f37547d41e2", + "difficulty": "BEGINNER", + "songID": 1593, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 24085, + "notecount": 267, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bca88331d58ad71c24760184a19f9936e5b2e8bb", + "difficulty": "HYPER", + "songID": 1593, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24085, + "notecount": 1147, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0470011d90e4a1cdfab4c2da81307b7d2d2cdaec", + "difficulty": "NORMAL", + "songID": 1593, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24085, + "notecount": 752, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "096daa16f51b5992a684bfe82ca090a1bc62bff6", + "difficulty": "ANOTHER", + "songID": 1594, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24086, + "notecount": 1654, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af575f85b0dae70edc0346104cca1f9af852b4cb", + "difficulty": "HYPER", + "songID": 1594, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24086, + "notecount": 960, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b7ad2c798f9da6f56ebddcc2476d85cd067f63b8", + "difficulty": "NORMAL", + "songID": 1594, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24086, + "notecount": 583, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a350b9499abd6ba8e377419bad41c79e7a351950", + "difficulty": "ANOTHER", + "songID": 1594, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24086, + "notecount": 1580, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "60c6c73d54963abe54744a107d0afc504a78b486", + "difficulty": "HYPER", + "songID": 1594, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24086, + "notecount": 949, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "988db3c7bdf1df48369d6e47966a617e2a480c82", + "difficulty": "NORMAL", + "songID": 1594, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24086, + "notecount": 581, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41d62c6188af7412fbd696637c1660372fcfd0c4", + "difficulty": "ANOTHER", + "songID": 1595, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24087, + "notecount": 1468, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "77b7a24d0ccea39bf80deea38edc4ab54fad4771", + "difficulty": "HYPER", + "songID": 1595, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24087, + "notecount": 978, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85a0be9af82d88342b636c51686367277ae95db7", + "difficulty": "NORMAL", + "songID": 1595, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24087, + "notecount": 463, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "56dda1cb7ee2d48863217e34f13eee65d38231ca", + "difficulty": "ANOTHER", + "songID": 1595, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24087, + "notecount": 1490, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "429f16d7a197bf8edde5a5f247146ee260ef1da0", + "difficulty": "HYPER", + "songID": 1595, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24087, + "notecount": 982, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "23270baf2c612012db8ad770e521526bfd48ada2", + "difficulty": "NORMAL", + "songID": 1595, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24087, + "notecount": 400, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "926e414d034ab4d04c387092e2a20f79963543db", + "difficulty": "ANOTHER", + "songID": 1596, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26015, + "notecount": 1252, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba2ff5263689a8f0ae238e8682744a3780d7fe8b", + "difficulty": "HYPER", + "songID": 1596, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26015, + "notecount": 777, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50a34f0c758ada879fa24da7916509eac64e5d4f", + "difficulty": "NORMAL", + "songID": 1596, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26015, + "notecount": 490, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b6dbd758e558dcadf7c54d16fe316bc6cdaa6da", + "difficulty": "ANOTHER", + "songID": 1596, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26015, + "notecount": 1247, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cfbf5ce0325c29a1fd7bcac875be7241b8701f47", + "difficulty": "HYPER", + "songID": 1596, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26015, + "notecount": 808, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2755c7dc999de8957c9985590dafaed2d7ffc549", + "difficulty": "NORMAL", + "songID": 1596, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26015, + "notecount": 494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b7bab2466d5705740571237b4623d1de3c20bccf", + "difficulty": "ANOTHER", + "songID": 1597, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26016, + "notecount": 1382, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc9a9402ceace4658f7d75dfb7d186434ee2fe99", + "difficulty": "HYPER", + "songID": 1597, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26016, + "notecount": 1086, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bddaf22f04213bf701ee4ce212778e6da277e4df", + "difficulty": "NORMAL", + "songID": 1597, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26016, + "notecount": 738, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8827b52fc69ebcddbea8d1b29e05ea9666511de", + "difficulty": "ANOTHER", + "songID": 1597, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26016, + "notecount": 1454, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c3b67cc98056ba2b9f135c501d43a944a9b23440", + "difficulty": "HYPER", + "songID": 1597, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26016, + "notecount": 1120, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b090f4e27b9ef58b0e64c34aad79278d3c1b2428", + "difficulty": "NORMAL", + "songID": 1597, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26016, + "notecount": 726, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d6bd5e74c314ce32a388ea702c21378b01c5e2f", + "difficulty": "ANOTHER", + "songID": 1598, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26017, + "notecount": 1316, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f09ea59d3eb192cac7e13342234e133a464d86fd", + "difficulty": "HYPER", + "songID": 1598, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26017, + "notecount": 815, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af1ca0dd54b5277c5ee1f67d3f9f76aef44c0a0f", + "difficulty": "NORMAL", + "songID": 1598, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26017, + "notecount": 546, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ab3ff3adc0f6ad0b06730b4986c93842c69ac55", + "difficulty": "ANOTHER", + "songID": 1598, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26017, + "notecount": 1290, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f95b733a91b601ca463c04db1c9b27a9f1b5de1", + "difficulty": "HYPER", + "songID": 1598, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26017, + "notecount": 843, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f5b77ffbdf4df0da2a425bb92c92d5e2166f5f2d", + "difficulty": "NORMAL", + "songID": 1598, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26017, + "notecount": 550, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ad41cb71789d3917a83925c43a3414eb00e6224", + "difficulty": "ANOTHER", + "songID": 1599, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26018, + "notecount": 1378, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b0bc03f77e2a68821a3dbfac5285c36b5089c3e7", + "difficulty": "HYPER", + "songID": 1599, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26018, + "notecount": 922, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a5f6042e7447759af9c29a13778110b80b819be3", + "difficulty": "NORMAL", + "songID": 1599, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26018, + "notecount": 587, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d2e1ff0644a71be6e585eba56779b08f3e9debee", + "difficulty": "ANOTHER", + "songID": 1599, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26018, + "notecount": 1393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3df4055efe9a136be53cffaed988efe990b7f3eb", + "difficulty": "HYPER", + "songID": 1599, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26018, + "notecount": 935, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9dfc0b7f0566092eb8b2db9c241c677f436f3f2e", + "difficulty": "NORMAL", + "songID": 1599, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26018, + "notecount": 602, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a79a0a0458fcd796180e3f69b9922457a567e37", + "difficulty": "ANOTHER", + "songID": 1600, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26019, + "notecount": 842, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d6a97ebf293b4554a44579df47793a451062a50f", + "difficulty": "HYPER", + "songID": 1600, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26019, + "notecount": 509, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "223853aaf40014760d2ac3526f9fb8b10eddfddb", + "difficulty": "NORMAL", + "songID": 1600, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 26019, + "notecount": 330, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "936ac9fbb4b20b5adf96bbbd9ab5f3a4980b8247", + "difficulty": "ANOTHER", + "songID": 1600, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26019, + "notecount": 841, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78d5d71939ddf46907fa1032311fb4ca425b2f14", + "difficulty": "HYPER", + "songID": 1600, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26019, + "notecount": 512, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19b0328f4879252acd8a83539299a71cb557ffec", + "difficulty": "NORMAL", + "songID": 1600, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 26019, + "notecount": 324, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eadb77f1a2af5b18e139142fe5ec40148771e016", + "difficulty": "ANOTHER", + "songID": 1601, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26020, + "notecount": 1325, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f7f2334f3bec10c65c37a8d26a46cfd2effad30", + "difficulty": "HYPER", + "songID": 1601, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26020, + "notecount": 835, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9970dd03cb405b12f63da6f2c19a4ee96b82846e", + "difficulty": "NORMAL", + "songID": 1601, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26020, + "notecount": 531, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "323472e61afe52a05a09986b33590f2058bcab87", + "difficulty": "ANOTHER", + "songID": 1601, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26020, + "notecount": 1469, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "dfa11836d891f8df1d9c8544080996ff6c2d2a7c", + "difficulty": "HYPER", + "songID": 1601, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26020, + "notecount": 862, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e4eca3baa98a71bf282818727b1d3e6c67f369a", + "difficulty": "NORMAL", + "songID": 1601, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26020, + "notecount": 524, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c6678f4737c31fbc2ce339d15ef933405582e4a7", + "difficulty": "ANOTHER", + "songID": 1602, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26021, + "notecount": 1346, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d55c8afce37601190f2a05064a8268471cfadaa", + "difficulty": "HYPER", + "songID": 1602, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26021, + "notecount": 864, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df0c64cdbc4522eaf526da5fb64eb171285910ce", + "difficulty": "NORMAL", + "songID": 1602, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26021, + "notecount": 483, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a6c232cbd6b451e87d55951ecb40b14771ee505", + "difficulty": "ANOTHER", + "songID": 1602, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26021, + "notecount": 1346, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "fec74c605152ce1361469ed159d3ef9094277caf", + "difficulty": "HYPER", + "songID": 1602, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26021, + "notecount": 888, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c56ac396db72f88cf667de8845f1d4e2c9fd6063", + "difficulty": "NORMAL", + "songID": 1602, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26021, + "notecount": 480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d00d2a9985f86d692184005e9bfc10cd7055f05", + "difficulty": "ANOTHER", + "songID": 1603, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26022, + "notecount": 1172, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "65226b635ac92fec33531cbee135cd788763aa63", + "difficulty": "HYPER", + "songID": 1603, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26022, + "notecount": 778, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9c0595ea74fcfd55bd1125198586220b81c4557", + "difficulty": "NORMAL", + "songID": 1603, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 26022, + "notecount": 340, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "57f0e0f3d745e50137561f228b40ba4bd432af19", + "difficulty": "ANOTHER", + "songID": 1603, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26022, + "notecount": 1166, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1b4d7a79c8a616ce2929b073b389f9359bba734", + "difficulty": "BEGINNER", + "songID": 1603, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 26022, + "notecount": 134, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3438de0b4c0decc7b5227eef9a32b827c21dafb2", + "difficulty": "HYPER", + "songID": 1603, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26022, + "notecount": 785, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eef6d8b31d9dc281e8a7b01b520dc37a393cec61", + "difficulty": "NORMAL", + "songID": 1603, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 26022, + "notecount": 316, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "38e8a6e73ae3f824bf75a01801dc85ca1dce9401", + "difficulty": "ANOTHER", + "songID": 1604, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26023, + "notecount": 1319, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dfdaea4862b9da83c8ba556e6f1167db3c9fa0ac", + "difficulty": "HYPER", + "songID": 1604, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26023, + "notecount": 876, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4be98117706dd834cb2de9dac0963e3ef78e207", + "difficulty": "NORMAL", + "songID": 1604, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26023, + "notecount": 541, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c6c7148b8c277d8dd60a2fb7be1deaac03ea210", + "difficulty": "ANOTHER", + "songID": 1604, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26023, + "notecount": 1323, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "be31c2b01587c309835c91dc0e2fafa73a8c0966", + "difficulty": "HYPER", + "songID": 1604, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26023, + "notecount": 842, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9dc2882e382a340bfa987e0f628e509d7225918f", + "difficulty": "NORMAL", + "songID": 1604, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26023, + "notecount": 541, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf39894349d50894291355c9f5740ec128ad9672", + "difficulty": "ANOTHER", + "songID": 1605, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26024, + "notecount": 985, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c0e1094049046966201b7468e60929d736f3c4da", + "difficulty": "HYPER", + "songID": 1605, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26024, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8884eeec6df5e1f593be37c580d9a87fa319c941", + "difficulty": "NORMAL", + "songID": 1605, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26024, + "notecount": 426, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "77b9e1f06af4fd06a144482179549f504bd0c472", + "difficulty": "ANOTHER", + "songID": 1605, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26024, + "notecount": 954, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f57a3cdeca6995bcd0c9854c0736659c096dd60", + "difficulty": "HYPER", + "songID": 1605, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26024, + "notecount": 637, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "306061a078aac49560de9a709cec7c92d1c0df78", + "difficulty": "NORMAL", + "songID": 1605, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26024, + "notecount": 414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4689443200bff8b61a8f83e1b6c92fcd4c6718e", + "difficulty": "ANOTHER", + "songID": 1606, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26025, + "notecount": 1716, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b7fe3b07ab96c631f59db3b13c4eabc3e004a532", + "difficulty": "HYPER", + "songID": 1606, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26025, + "notecount": 1092, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a090a33cd1c6c85a1465ae60a0b1cbb8263caf7", + "difficulty": "NORMAL", + "songID": 1606, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26025, + "notecount": 661, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28ae5c1316d940ec91b8bc02a543d04b3846d8a3", + "difficulty": "ANOTHER", + "songID": 1606, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26025, + "notecount": 1675, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "8f15a03e9bb44fe684be31f22c14bf780ef99c5a", + "difficulty": "HYPER", + "songID": 1606, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26025, + "notecount": 1113, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7fccb714b89e2d699cd4e8d428a3fd7b3d166176", + "difficulty": "NORMAL", + "songID": 1606, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26025, + "notecount": 570, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c7f15adc623cef01cc893227d8d3378d42dd18c7", + "difficulty": "ANOTHER", + "songID": 1607, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26026, + "notecount": 1304, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8efbdb72d4f7b1c0eb9d43fc65f8fbc9f3eb478e", + "difficulty": "HYPER", + "songID": 1607, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26026, + "notecount": 1151, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1eb1a239c07ac643312bcd9dedff129e0bfb125", + "difficulty": "NORMAL", + "songID": 1607, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26026, + "notecount": 640, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a50c7f768247b19e44123fc5416503dc36ee6769", + "difficulty": "ANOTHER", + "songID": 1607, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26026, + "notecount": 1208, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0019079c76cf32cfa41fa7e6c8faeafd08dbcc32", + "difficulty": "HYPER", + "songID": 1607, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26026, + "notecount": 1068, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9034d245a4c1674121c933a4902928ba62122478", + "difficulty": "NORMAL", + "songID": 1607, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26026, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d182169556f40bb9bf54f5229e41c8a2811f325", + "difficulty": "ANOTHER", + "songID": 1608, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26027, + "notecount": 1129, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd533bbcecc2fc166a700e05e1902f79f0ebf561", + "difficulty": "HYPER", + "songID": 1608, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26027, + "notecount": 605, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3adc2daa22e7cf652a8d76d4ad6a03f9b1b45aba", + "difficulty": "NORMAL", + "songID": 1608, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26027, + "notecount": 400, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab974d436e2bf5c3b5a85adb50139df25f9eed54", + "difficulty": "ANOTHER", + "songID": 1608, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26027, + "notecount": 1206, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a4ac04b7a8e6c44b34df5bc1597e3b9264ea662c", + "difficulty": "HYPER", + "songID": 1608, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26027, + "notecount": 605, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d5f84c4b31e550401d4bb74fbded4838d492e72f", + "difficulty": "NORMAL", + "songID": 1608, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26027, + "notecount": 399, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f3b4bb84730a199e80525822e3566e46bf2e148", + "difficulty": "ANOTHER", + "songID": 1609, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26028, + "notecount": 1392, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98b6c8aa104c7653be60a2a34c913ff2bb2e6430", + "difficulty": "HYPER", + "songID": 1609, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26028, + "notecount": 901, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "407e5d06a2e18775e9d39573c6e6d7b26dd40f71", + "difficulty": "NORMAL", + "songID": 1609, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26028, + "notecount": 533, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ffbbfa031a0389d45627da0a85d8a4ea4a106fe", + "difficulty": "ANOTHER", + "songID": 1609, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26028, + "notecount": 1393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1f886b58beef6d4810261a3bc2ad1f4417945163", + "difficulty": "HYPER", + "songID": 1609, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26028, + "notecount": 957, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d2b660044a94309a465aa4781efddf718826ac09", + "difficulty": "NORMAL", + "songID": 1609, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26028, + "notecount": 542, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e2e4c9f1a3488510b19dd69332cb72aa7515e87", + "difficulty": "ANOTHER", + "songID": 1610, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26029, + "notecount": 1522, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a3fdc518e1ada1421fb1deb74a7d85c11d94491", + "difficulty": "HYPER", + "songID": 1610, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26029, + "notecount": 1100, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "00664e91299f88d58d268fb55eaef2c9be242a7f", + "difficulty": "NORMAL", + "songID": 1610, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26029, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7cbd566193d9e0e712e9f51cdd0d4743c516e938", + "difficulty": "ANOTHER", + "songID": 1610, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26029, + "notecount": 1588, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "391f1d07655790d1ee9d48b50a7ab21ba44a0810", + "difficulty": "HYPER", + "songID": 1610, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26029, + "notecount": 1123, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c4e80ae84cf38bc862755ee4729ce74908842eb", + "difficulty": "NORMAL", + "songID": 1610, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26029, + "notecount": 754, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c504a31d0c8a3749633611d9968c51703cb54906", + "difficulty": "ANOTHER", + "songID": 1611, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26030, + "notecount": 1168, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "735545d31d2d09bf80c55fb94ce42189e15c1b15", + "difficulty": "HYPER", + "songID": 1611, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26030, + "notecount": 838, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "efcf61560cee39c6eaef4fc6063c99243da7cbd3", + "difficulty": "NORMAL", + "songID": 1611, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26030, + "notecount": 376, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53e0a35fd4ca1947c57fb5e620e714218d82f34a", + "difficulty": "ANOTHER", + "songID": 1611, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26030, + "notecount": 1185, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e754e939b43688a250a91f2e6595253582ae6036", + "difficulty": "HYPER", + "songID": 1611, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26030, + "notecount": 855, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f765360bd25d87919b5fcd38dc1520569744505d", + "difficulty": "NORMAL", + "songID": 1611, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26030, + "notecount": 390, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "77cae68be88f13401d3094c16bc5b3e9ad9700ae", + "difficulty": "ANOTHER", + "songID": 1612, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26031, + "notecount": 1348, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6317d3242d89f478a36519f179897739db2196d0", + "difficulty": "HYPER", + "songID": 1612, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26031, + "notecount": 817, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f3fe88978ebc28bb501e4a81023458df60efc3e", + "difficulty": "NORMAL", + "songID": 1612, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26031, + "notecount": 355, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e774baa440140c3e6284554dd1bf5a749e3d764", + "difficulty": "ANOTHER", + "songID": 1612, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26031, + "notecount": 1281, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21ba366dc478b444bf47b944569dc8de1484d51e", + "difficulty": "HYPER", + "songID": 1612, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26031, + "notecount": 777, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83ab3ec85fb4ad15611b884f2e1ada12e096393d", + "difficulty": "NORMAL", + "songID": 1612, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26031, + "notecount": 347, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f251981f7af5735080a1e25512ca1c71037f474", + "difficulty": "ANOTHER", + "songID": 1613, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26032, + "notecount": 1195, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d2eb8927bde1f4e9a9df3eb24e7660ce549add13", + "difficulty": "HYPER", + "songID": 1613, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26032, + "notecount": 842, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cac213fe5d3e74256b081cd6b8bd79f65a9fc602", + "difficulty": "NORMAL", + "songID": 1613, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26032, + "notecount": 565, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c7deb1ba0a52c4d5faa971e840077eab68e2a6b", + "difficulty": "ANOTHER", + "songID": 1613, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26032, + "notecount": 1166, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "56fc7f96b1a80d32855aa00dc65444f36e5edba8", + "difficulty": "HYPER", + "songID": 1613, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26032, + "notecount": 823, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cda9d9eba9a2c233974a95cd5101e33466fdf48f", + "difficulty": "NORMAL", + "songID": 1613, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26032, + "notecount": 518, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da390eb1c8ffe21e3d4be2eb9553eb3ca7639f13", + "difficulty": "ANOTHER", + "songID": 1614, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26033, + "notecount": 1888, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9041a5a894c2691ed34e2355b6eb32c5b3f30d8", + "difficulty": "HYPER", + "songID": 1614, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26033, + "notecount": 1198, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "77365959f9306e100ea75a28f6241576c972089a", + "difficulty": "NORMAL", + "songID": 1614, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26033, + "notecount": 691, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e20385c725f53b2d41543509accad835372ddc02", + "difficulty": "ANOTHER", + "songID": 1614, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26033, + "notecount": 1885, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "feaf132230d972977d10e41148526e91676d18e3", + "difficulty": "HYPER", + "songID": 1614, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26033, + "notecount": 1186, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "556491353cd1e3071a226e2bff6df8d5396c7a71", + "difficulty": "NORMAL", + "songID": 1614, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26033, + "notecount": 699, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "630d5f3b7077a7aa9cab8716e5756f84513e056a", + "difficulty": "ANOTHER", + "songID": 1615, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26034, + "notecount": 1770, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "917baaf4ec6095a9714d25ac857dc1f22ebc3d2b", + "difficulty": "HYPER", + "songID": 1615, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26034, + "notecount": 1157, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "38500cee8e1332ad944ddd35cbfff6051414f65a", + "difficulty": "NORMAL", + "songID": 1615, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26034, + "notecount": 584, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c9ad702c4b7fc83c636aa67c9719fe6fadc725e", + "difficulty": "ANOTHER", + "songID": 1615, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26034, + "notecount": 1775, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "22a1363f8c40435e4393cd26af63409767cb991a", + "difficulty": "HYPER", + "songID": 1615, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26034, + "notecount": 1018, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "813f0c122ccbcb57cc9c1402ae9406e343411b2f", + "difficulty": "NORMAL", + "songID": 1615, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26034, + "notecount": 542, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc78219c82c39ad628ccb9ef2f5aa47e48976f74", + "difficulty": "ANOTHER", + "songID": 1616, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26035, + "notecount": 1254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee65bf3a4a0ead9f78ba026fc0638de517ad7211", + "difficulty": "HYPER", + "songID": 1616, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26035, + "notecount": 926, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0107fc4212e1540421926e74da34d7bc187e42c5", + "difficulty": "NORMAL", + "songID": 1616, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26035, + "notecount": 542, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6927bb39f5c9b4ae041d59bafb4b32ff4285272c", + "difficulty": "ANOTHER", + "songID": 1616, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26035, + "notecount": 1268, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f11f26f385fcb51f2b6869fb33af11114dad074", + "difficulty": "HYPER", + "songID": 1616, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26035, + "notecount": 847, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cc68ef876a3a3ba9adcfef4b82a8d5c5c22cd02b", + "difficulty": "NORMAL", + "songID": 1616, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26035, + "notecount": 467, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0d03fb77369e9c126ebd552b735bc73b26a1f0f", + "difficulty": "ANOTHER", + "songID": 1617, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26036, + "notecount": 1477, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ead0ee07180f6be3664b16f2c1e4f2d3746c0cd", + "difficulty": "HYPER", + "songID": 1617, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26036, + "notecount": 918, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a4bde3068a5997749f4b673fb9b0e06e078b0a5d", + "difficulty": "NORMAL", + "songID": 1617, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26036, + "notecount": 565, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da080cc2476f0ed92e0c1c329a9efe67b0db5605", + "difficulty": "ANOTHER", + "songID": 1617, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26036, + "notecount": 1473, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21108dcbc5ff49ac5792d02a184ad22735bf9f14", + "difficulty": "HYPER", + "songID": 1617, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26036, + "notecount": 916, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "37333d7620b2b2824aa9879ec3565ef38bbbe043", + "difficulty": "NORMAL", + "songID": 1617, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26036, + "notecount": 567, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8dd87af2d59c60a3938ebfe385524c03777ecd0", + "difficulty": "ANOTHER", + "songID": 1618, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26037, + "notecount": 2000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "712856b8704cf2171aad0e544b55d06182b41e96", + "difficulty": "HYPER", + "songID": 1618, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26037, + "notecount": 1273, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "462c7ecc1a05d691ebeef592dcbd00321f1f0c96", + "difficulty": "NORMAL", + "songID": 1618, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26037, + "notecount": 701, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "261bbe065eefb27b6cae28b38a3e25836ee957ce", + "difficulty": "ANOTHER", + "songID": 1618, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26037, + "notecount": 2000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.40", + "value": 13.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1c33b53ba5f4956ed535d210eb890b0bd4dd6bf4", + "difficulty": "HYPER", + "songID": 1618, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26037, + "notecount": 1292, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a07bb2133c65e3ed9d7d4606065e141be75cc12", + "difficulty": "NORMAL", + "songID": 1618, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26037, + "notecount": 683, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "405ba1fc58616dac9a6dfc442a5bbc287ab9a130", + "difficulty": "ANOTHER", + "songID": 1619, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26038, + "notecount": 1697, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba0e282165f109e50cdd427f10865f5f89deb0b2", + "difficulty": "HYPER", + "songID": 1619, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26038, + "notecount": 847, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df33af5797c7ed3962fdb03b8c4207526c157666", + "difficulty": "NORMAL", + "songID": 1619, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26038, + "notecount": 448, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9683f55a11e42a5aa5475376814f5d3f2d2c4a28", + "difficulty": "ANOTHER", + "songID": 1619, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26038, + "notecount": 1687, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1f7b82161f2ae5ca6a778fd5457877b5dcc5bc7d", + "difficulty": "HYPER", + "songID": 1619, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26038, + "notecount": 898, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "259942d1728d7d782df47c840c035232c17bf332", + "difficulty": "NORMAL", + "songID": 1619, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26038, + "notecount": 444, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d220e629759757a504ef8b6be6c3d941bcdb8045", + "difficulty": "ANOTHER", + "songID": 1620, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26039, + "notecount": 1628, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34adb7e44dcf85c56c82c921f22519e29970cefb", + "difficulty": "HYPER", + "songID": 1620, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26039, + "notecount": 1041, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "313c6afc27ccca37feac308cfaad410395109551", + "difficulty": "NORMAL", + "songID": 1620, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26039, + "notecount": 640, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ddef587dfb5a8bea66837ec4afae6cfb451aa5b9", + "difficulty": "ANOTHER", + "songID": 1620, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26039, + "notecount": 1634, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "20614ab2bac596ec4109591ed6ce4cd09cd85cc8", + "difficulty": "HYPER", + "songID": 1620, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26039, + "notecount": 1054, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "889595c3de2c4aa5a3be94969f03ccec6d1ab7a7", + "difficulty": "NORMAL", + "songID": 1620, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26039, + "notecount": 646, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a45418287d0c6e457a8488f3745af7aa8c8bd783", + "difficulty": "ANOTHER", + "songID": 1621, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26040, + "notecount": 1291, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0dced50d4f995d2338fc5e6f2ea1472ecae235d0", + "difficulty": "HYPER", + "songID": 1621, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26040, + "notecount": 470, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a3871fd284fd086d7f5ab8dbfb4bf3233459c705", + "difficulty": "NORMAL", + "songID": 1621, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 26040, + "notecount": 276, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c7bbe89f70c36c081a59f274774dd7d3b2dcd40c", + "difficulty": "ANOTHER", + "songID": 1621, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26040, + "notecount": 914, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "10-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": true + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "347a150ad8e0ce56c7f789b923459797679409a5", + "difficulty": "HYPER", + "songID": 1621, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26040, + "notecount": 384, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "892bda7818dfe89f931d30017810dab010bd647f", + "difficulty": "NORMAL", + "songID": 1621, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 26040, + "notecount": 252, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9bef76d5609d2007c51965f86d3b9eb8dbf67408", + "difficulty": "ANOTHER", + "songID": 1622, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26041, + "notecount": 1366, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "07a7c1ba57362a8452105ffc76100e5f54140470", + "difficulty": "HYPER", + "songID": 1622, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26041, + "notecount": 886, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d46cbf6623c4621c749c43663d18dfb7db64d25f", + "difficulty": "NORMAL", + "songID": 1622, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26041, + "notecount": 502, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "91cefc7a0c6b9dc66d5ab51a152a79325c4c97e1", + "difficulty": "ANOTHER", + "songID": 1622, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26041, + "notecount": 1365, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "9318771fc7fed97284e52d11c7f6fdeb5cc0de78", + "difficulty": "HYPER", + "songID": 1622, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26041, + "notecount": 869, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a832c986f1c190632e182d5c15e4ab0d77d06be9", + "difficulty": "NORMAL", + "songID": 1622, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26041, + "notecount": 513, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "18aaf02551131e08d044e42aaa0bcbc329e36bec", + "difficulty": "ANOTHER", + "songID": 1623, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26042, + "notecount": 1002, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d6ff30f80206b26c0207ca0ca4b7cc9efc11c839", + "difficulty": "HYPER", + "songID": 1623, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26042, + "notecount": 504, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef878c123adca3a04b31445a8b6a9f2f49c39d85", + "difficulty": "NORMAL", + "songID": 1623, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 26042, + "notecount": 300, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0bf4816056b17b926781a48e6781660325af06b", + "difficulty": "ANOTHER", + "songID": 1623, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26042, + "notecount": 1015, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a863463a2ebd018af40ef77990399c6c7b17fbb", + "difficulty": "HYPER", + "songID": 1623, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26042, + "notecount": 555, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e2febbb443ce1331eee316baf9ffa04604854a4a", + "difficulty": "NORMAL", + "songID": 1623, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 26042, + "notecount": 302, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de2292706be40d0bdeb93589802b3cdb73442c8b", + "difficulty": "ANOTHER", + "songID": 1624, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26043, + "notecount": 1919, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "95d6f695b367c56cee25c90d8e30be43f9b67b11", + "difficulty": "HYPER", + "songID": 1624, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26043, + "notecount": 978, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f5c1d61a033be0997a4ddcc0ddcbe26fec7e808", + "difficulty": "NORMAL", + "songID": 1624, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26043, + "notecount": 586, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c4e2ec5aa666d32507efa443e8a573b9508806b1", + "difficulty": "ANOTHER", + "songID": 1624, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26043, + "notecount": 1700, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "dad3a8feb5831bcfbdffbce61c3806982f00802d", + "difficulty": "HYPER", + "songID": 1624, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26043, + "notecount": 964, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f51615bcb21ad398251fb84a33661990b8d6a65", + "difficulty": "NORMAL", + "songID": 1624, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26043, + "notecount": 567, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a40e31fb5ceed7c143e7c00e806004a8821e9dd", + "difficulty": "ANOTHER", + "songID": 1625, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26044, + "notecount": 1441, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f36659c9ff506915bccef9c6666e94a768e71ce4", + "difficulty": "HYPER", + "songID": 1625, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26044, + "notecount": 966, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1470c83963699662bdc94c7f8ebf88b7ed248d2d", + "difficulty": "NORMAL", + "songID": 1625, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26044, + "notecount": 562, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ecd01bcd73364b98fbaf274c9969e142820daef", + "difficulty": "ANOTHER", + "songID": 1625, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26044, + "notecount": 1447, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e2ce085782661ed55630e562f08e2a5730b99fbf", + "difficulty": "HYPER", + "songID": 1625, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26044, + "notecount": 928, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9dc587951824fbc237618e8e061449af2137bab1", + "difficulty": "NORMAL", + "songID": 1625, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26044, + "notecount": 582, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a133c0d8790ad3a622ef02cff5cda335d938c302", + "difficulty": "ANOTHER", + "songID": 1626, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26045, + "notecount": 1483, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bc10dc70c238804b0fdaee3c583c6ab844ae7c61", + "difficulty": "HYPER", + "songID": 1626, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26045, + "notecount": 920, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "471c72672b0cee4b03bc343861a0a673ad6687d2", + "difficulty": "NORMAL", + "songID": 1626, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26045, + "notecount": 565, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8cd426519fd3a589a7ac168f9f6ca2bca24517de", + "difficulty": "ANOTHER", + "songID": 1626, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26045, + "notecount": 1467, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "75b4172c7cf619d2862f85b5b94b0ebb50d70273", + "difficulty": "BEGINNER", + "songID": 1626, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 26045, + "notecount": 287, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a981d76387f584ebf24c279c23f6ab2ee9df1eb", + "difficulty": "HYPER", + "songID": 1626, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26045, + "notecount": 969, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35bbeb0d03163f7b38c55b8c6f001f777472783e", + "difficulty": "NORMAL", + "songID": 1626, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26045, + "notecount": 568, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b2ba3ef9ff4412b19f376224505895c45183b29", + "difficulty": "ANOTHER", + "songID": 1627, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26046, + "notecount": 1017, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "839ca0ed6b96c91ea3e37c7446dcce5c71ddb925", + "difficulty": "HYPER", + "songID": 1627, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26046, + "notecount": 779, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f66b96fbb289ade77c9d4535df74021a7d9152c", + "difficulty": "NORMAL", + "songID": 1627, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26046, + "notecount": 553, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa3739bea6043e359bc1ea040c8d4850e4af36b4", + "difficulty": "ANOTHER", + "songID": 1627, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26046, + "notecount": 1145, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S+", + "value": 12.2, + "individualDifference": true + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "166c8c5b21bd15e76bd2b611913ea278c6779c1b", + "difficulty": "HYPER", + "songID": 1627, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26046, + "notecount": 818, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc722af790bc6e62944447fae2e5636b239e0436", + "difficulty": "NORMAL", + "songID": 1627, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26046, + "notecount": 557, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a07c1352b76e027a93adc2fa71214c0ddd85e0c", + "difficulty": "ANOTHER", + "songID": 1628, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26047, + "notecount": 1612, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c448e46563170a2d07fc8e79eb7f7f973019f66", + "difficulty": "HYPER", + "songID": 1628, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26047, + "notecount": 1129, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2cf566193978370c80ee2d46de8ebee49d3d400c", + "difficulty": "NORMAL", + "songID": 1628, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26047, + "notecount": 735, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c33ce454b1c4435ae4d2f92edb6671f11fb295ae", + "difficulty": "ANOTHER", + "songID": 1628, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26047, + "notecount": 1862, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": true + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.40", + "value": 13.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3ab492c473fc52a3cc1794c382a83c9f141b0d1f", + "difficulty": "HYPER", + "songID": 1628, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26047, + "notecount": 1122, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c00243cafd5039d1b055b50fa09bf7a3995f841c", + "difficulty": "NORMAL", + "songID": 1628, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26047, + "notecount": 770, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "20b4981dce8bc2cf62afa70fb43c339c95c28508", + "difficulty": "ANOTHER", + "songID": 1629, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26048, + "notecount": 1110, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "76e44b00d6c69fea1f002af397cf37085110a2c1", + "difficulty": "HYPER", + "songID": 1629, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26048, + "notecount": 740, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "36a8527b93a046682035cf749bec92225685456f", + "difficulty": "NORMAL", + "songID": 1629, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26048, + "notecount": 483, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "00fe113baf6b2ee96fbf79c46a1f8e27c7f225c8", + "difficulty": "ANOTHER", + "songID": 1629, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26048, + "notecount": 1083, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3bb5b8c8f70ce7e6831a30bc871dd862654abcb3", + "difficulty": "HYPER", + "songID": 1629, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26048, + "notecount": 741, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53333d3ca11bfe631ac60a99793d10f2ebd76db7", + "difficulty": "NORMAL", + "songID": 1629, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26048, + "notecount": 483, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "035e875645b5f274c0d883c3523210e207f5e204", + "difficulty": "ANOTHER", + "songID": 1630, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26049, + "notecount": 1435, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "18558a1cd282a3f111283fad9e8265f49dabccb3", + "difficulty": "HYPER", + "songID": 1630, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26049, + "notecount": 997, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd88298356097360e09c49b3d3a59942870bdf62", + "difficulty": "NORMAL", + "songID": 1630, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26049, + "notecount": 561, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f8829cdd97119d9efb13d412694eec7836b449c", + "difficulty": "ANOTHER", + "songID": 1630, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26049, + "notecount": 1436, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f515480250f226b6fd019fed85beb04680ef07be", + "difficulty": "HYPER", + "songID": 1630, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26049, + "notecount": 954, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d26914ba0fc64cd492aa008dbb296ccfb0ee2d00", + "difficulty": "NORMAL", + "songID": 1630, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26049, + "notecount": 548, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4dd8d33e416ff6d6bf4e9b69f0b0755091e9808f", + "difficulty": "ANOTHER", + "songID": 1631, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26050, + "notecount": 1236, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e3899974a305d338d2020b912ef3cfc30be134a", + "difficulty": "HYPER", + "songID": 1631, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26050, + "notecount": 820, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5b6e939079562a0a9349365bd487a70cfb0ad115", + "difficulty": "NORMAL", + "songID": 1631, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26050, + "notecount": 436, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b98223be9b8eca5f7f3f6481024526d34de56989", + "difficulty": "ANOTHER", + "songID": 1631, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26050, + "notecount": 1204, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "fb5a77f671368af97d46e3cb2b4203790e734814", + "difficulty": "HYPER", + "songID": 1631, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26050, + "notecount": 799, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f794d6af0b0b5e46d231659cab3b90739e30b63", + "difficulty": "NORMAL", + "songID": 1631, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26050, + "notecount": 398, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "088e2a1d43a5e5b3bbecb244cf3aaa20cf4c30ae", + "difficulty": "ANOTHER", + "songID": 1632, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26051, + "notecount": 1253, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a6bec9f362fbd57e45893dde0f5daee3e73f7249", + "difficulty": "HYPER", + "songID": 1632, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26051, + "notecount": 894, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "883c554f1b4258d04625504c932107f25eeab526", + "difficulty": "NORMAL", + "songID": 1632, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26051, + "notecount": 601, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "193c9d888276c7e0d5e1d53aecdd50d5c64797d3", + "difficulty": "ANOTHER", + "songID": 1632, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26051, + "notecount": 1258, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": true + } + } + }, + { + "rgcID": null, + "chartID": "3676cbb30f507ae7dff03ca2ccf39364d335a5c5", + "difficulty": "HYPER", + "songID": 1632, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26051, + "notecount": 865, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3952d43201282b8fab348570bff61a206ddfd8e8", + "difficulty": "NORMAL", + "songID": 1632, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26051, + "notecount": 572, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3e79fd7f5ca44711c6f336736ea05c9d5433c12", + "difficulty": "ANOTHER", + "songID": 1633, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26052, + "notecount": 1272, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6834bce7ab0ef9cf2acfbad727e9f060e96f26cd", + "difficulty": "HYPER", + "songID": 1633, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26052, + "notecount": 792, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "179e7fa26ebb2440c3dac8f0ecd9511cf440bef0", + "difficulty": "NORMAL", + "songID": 1633, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26052, + "notecount": 447, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a49d02160b7cd803ae5d9ed005229c6e1597f8d", + "difficulty": "ANOTHER", + "songID": 1633, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26052, + "notecount": 1234, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "437aed6f01f67c0582eef572b48a345ef643ad4c", + "difficulty": "HYPER", + "songID": 1633, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26052, + "notecount": 816, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97b6618ec44ec18aae262ece06d64b8e562fedd4", + "difficulty": "NORMAL", + "songID": 1633, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26052, + "notecount": 433, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2bdfd2da5b0507cbb79a981988aa9ce3ac99602", + "difficulty": "ANOTHER", + "songID": 1634, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26053, + "notecount": 1600, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e35cdc8a64420a726d46d028f08adc63493db3fb", + "difficulty": "HYPER", + "songID": 1634, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26053, + "notecount": 1129, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "14ae9d69156ff989b7de6c2f709cd6c16192a3b4", + "difficulty": "NORMAL", + "songID": 1634, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26053, + "notecount": 603, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f47a0bb64a77626a78d70287b38822e8ae347a8", + "difficulty": "ANOTHER", + "songID": 1634, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26053, + "notecount": 1623, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1742ea47c356489327ae1e4e5ecb53275a827d1e", + "difficulty": "HYPER", + "songID": 1634, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26053, + "notecount": 1112, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "efe3a178e5a7511923070455facb39b7c5ffb795", + "difficulty": "NORMAL", + "songID": 1634, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26053, + "notecount": 594, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5be37a084b255950526052cc87865b68e4b9770f", + "difficulty": "ANOTHER", + "songID": 1635, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26054, + "notecount": 1032, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "111c32d0fc40693dd7858f1d5a933a894043cebf", + "difficulty": "HYPER", + "songID": 1635, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26054, + "notecount": 527, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f41b3fc976cc6f0efaae12258b987d5c79d7487", + "difficulty": "NORMAL", + "songID": 1635, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26054, + "notecount": 379, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "532230dd211212d91eeb8f6578009d9d82633ef7", + "difficulty": "ANOTHER", + "songID": 1635, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26054, + "notecount": 1045, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "16eb9f3580c553785ce0d3779d6b9d99859873e5", + "difficulty": "HYPER", + "songID": 1635, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26054, + "notecount": 527, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a51b4475589147a263de7201074f68bfa11e891", + "difficulty": "NORMAL", + "songID": 1635, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26054, + "notecount": 380, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72efb748777b9b61926f128ab0df4fee29b69a0f", + "difficulty": "ANOTHER", + "songID": 1636, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26055, + "notecount": 1296, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8ea1258fc70b0f3438d802451e3583e6ba3e7411", + "difficulty": "HYPER", + "songID": 1636, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26055, + "notecount": 863, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12c10bba781a7a577f491ce1dbba5edd5cd25aa9", + "difficulty": "NORMAL", + "songID": 1636, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26055, + "notecount": 530, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "371af5aa5bba68351ad850ba9b17b8619b45fe3e", + "difficulty": "ANOTHER", + "songID": 1636, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26055, + "notecount": 1369, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "ee44cf9820a9fdcdf2a1e248b496ec43d8f49ad9", + "difficulty": "HYPER", + "songID": 1636, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26055, + "notecount": 842, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "186dc7a8770553e4d822a84c71d646b4ad87f283", + "difficulty": "NORMAL", + "songID": 1636, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26055, + "notecount": 491, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce007df553084c45defc9b7d9c99de3f5db7f900", + "difficulty": "ANOTHER", + "songID": 1637, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26057, + "notecount": 1335, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45cba91bc6cef13a9a6138103bcac29125d366f8", + "difficulty": "HYPER", + "songID": 1637, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26057, + "notecount": 885, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "590bb920087bd2bab5c6e659f00024f0ebe07412", + "difficulty": "NORMAL", + "songID": 1637, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26057, + "notecount": 493, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b99c5a018ec79886c0e7294a71a3a78f4bde2bc", + "difficulty": "ANOTHER", + "songID": 1637, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26057, + "notecount": 1266, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d821054fc8a5bb22086df85eb83101f646dc5b23", + "difficulty": "HYPER", + "songID": 1637, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26057, + "notecount": 844, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3554e19f1f6739eda550443faf6f28ea33ee1196", + "difficulty": "NORMAL", + "songID": 1637, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26057, + "notecount": 451, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de2476462001ec64244f6622595d0db54588f8a0", + "difficulty": "ANOTHER", + "songID": 1638, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26058, + "notecount": 1261, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea7b50eae51b7ba7e0b9501366dd27302e34329e", + "difficulty": "HYPER", + "songID": 1638, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26058, + "notecount": 761, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a517786b5801b28773701c45dea33391365fa1f9", + "difficulty": "NORMAL", + "songID": 1638, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26058, + "notecount": 372, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5becf7636ead09cc305c93557c80803ae23f989c", + "difficulty": "ANOTHER", + "songID": 1638, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26058, + "notecount": 1167, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a34ff01e6710b60b948709b994ea9c775dacec57", + "difficulty": "HYPER", + "songID": 1638, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26058, + "notecount": 771, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "606e37c3f9b2caa399ac68fae1a0d7d8fe0435a4", + "difficulty": "NORMAL", + "songID": 1638, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26058, + "notecount": 362, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c7f04bcdca198e869b05ed66341138fc16690a9", + "difficulty": "ANOTHER", + "songID": 1639, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26059, + "notecount": 1503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c63a16a00b3057c932d7479003cfdb2968d48546", + "difficulty": "HYPER", + "songID": 1639, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26059, + "notecount": 1107, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "785c94409a94c668cc21f9e9088c13c2ef02866f", + "difficulty": "NORMAL", + "songID": 1639, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26059, + "notecount": 584, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a3f28c5ec2a7d866cf33486546facc804314c5c", + "difficulty": "ANOTHER", + "songID": 1639, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26059, + "notecount": 1541, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": true + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": true + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d9eebc6773260e788b97f5f6265037e0809919db", + "difficulty": "HYPER", + "songID": 1639, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26059, + "notecount": 1107, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9cd76f8f63267ebfee9cb46683bb35e53931e66", + "difficulty": "NORMAL", + "songID": 1639, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26059, + "notecount": 597, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "256303a2cbbd64cb2927cf814fea467fccdb2d3d", + "difficulty": "ANOTHER", + "songID": 1640, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26060, + "notecount": 1332, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ee0824a1a6f33b881f105b73aaf767f7a53a148", + "difficulty": "HYPER", + "songID": 1640, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26060, + "notecount": 1009, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0941024a667fb4a364484be384231edacadfd1c8", + "difficulty": "NORMAL", + "songID": 1640, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26060, + "notecount": 634, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "86e748ab4e1565f86d99b6e677019292cefed0bc", + "difficulty": "ANOTHER", + "songID": 1640, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26060, + "notecount": 1391, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "9490ad364c8a9bb210909db45d169757e9b61e4d", + "difficulty": "HYPER", + "songID": 1640, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26060, + "notecount": 993, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49400960c5e718910cb6a120790f84f5aa5cf35a", + "difficulty": "NORMAL", + "songID": 1640, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26060, + "notecount": 639, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "47a542c61b4433a06927b78c36741d394684c8b9", + "difficulty": "ANOTHER", + "songID": 1641, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26061, + "notecount": 1007, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a3570299ad4d9cce1fd967e19e7a90b372574f8c", + "difficulty": "HYPER", + "songID": 1641, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26061, + "notecount": 582, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22f1fd0a4220f46cbb5f089a9a16e3137f4ce894", + "difficulty": "NORMAL", + "songID": 1641, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 26061, + "notecount": 218, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f1595778adf658167c7dcc04881bfb1c14ed0e1", + "difficulty": "ANOTHER", + "songID": 1641, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26061, + "notecount": 990, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "539afceb4bf4c16d5eb469220a600d051eeddf37", + "difficulty": "HYPER", + "songID": 1641, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26061, + "notecount": 572, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0174bea2d17027ae6f17ede82abef2aba92b0778", + "difficulty": "NORMAL", + "songID": 1641, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 26061, + "notecount": 218, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c77cf6200f41a584945ecd0af7916f750366c90c", + "difficulty": "ANOTHER", + "songID": 1642, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26062, + "notecount": 1056, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43292e870cfff41a0775734f003ac1fe4b529bb1", + "difficulty": "HYPER", + "songID": 1642, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26062, + "notecount": 690, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6656c013747b6759a7753240e54a3a993b4d4e7a", + "difficulty": "NORMAL", + "songID": 1642, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26062, + "notecount": 436, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "664ef7d504a290e2fb7333ba8fddf747920df1e7", + "difficulty": "ANOTHER", + "songID": 1642, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26062, + "notecount": 1117, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7881dc83e78dbf17f62b7429d10867a17a2fa0b3", + "difficulty": "HYPER", + "songID": 1642, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26062, + "notecount": 716, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7d2cd7b0d481832661d9271cba46030d1e325219", + "difficulty": "NORMAL", + "songID": 1642, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26062, + "notecount": 427, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17e3de1b23883c5b122bf6d0fdcca4e8acf707d7", + "difficulty": "ANOTHER", + "songID": 1643, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26063, + "notecount": 1211, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a58b0a303af3d27c7f84d85529f039625bd8ce7", + "difficulty": "HYPER", + "songID": 1643, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26063, + "notecount": 732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d259de5838856643dd0f3ef6239bc0ca16c26339", + "difficulty": "NORMAL", + "songID": 1643, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 26063, + "notecount": 303, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "852091253200f648e79304d2547adec3997e8914", + "difficulty": "ANOTHER", + "songID": 1643, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26063, + "notecount": 1128, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "00ff2fc2eecd4c9c89b2e6aad1c7a14628639595", + "difficulty": "HYPER", + "songID": 1643, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26063, + "notecount": 726, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "511ed572706922c95637a957b5212571b213d759", + "difficulty": "NORMAL", + "songID": 1643, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 26063, + "notecount": 301, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c4d4cae40177be84c1a121c248eda6cbcb924ff4", + "difficulty": "ANOTHER", + "songID": 1644, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26064, + "notecount": 1503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9d420ef47243a0c8abf0c6419e211f9705ffc68", + "difficulty": "HYPER", + "songID": 1644, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26064, + "notecount": 1002, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "56f185b02adf28520fc2f2d9c591b64cd2d8cd02", + "difficulty": "NORMAL", + "songID": 1644, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26064, + "notecount": 662, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9296b0705d082145d14216ab7c0dac8d3a499538", + "difficulty": "ANOTHER", + "songID": 1644, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26064, + "notecount": 1400, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d61752854a0767673f7b1a366ee5b0e5da55e898", + "difficulty": "HYPER", + "songID": 1644, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26064, + "notecount": 970, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60df6e199470112dd197503790d0d9fda2448b27", + "difficulty": "NORMAL", + "songID": 1644, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26064, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f7d15f7c174110f490326978ab20980c407483cd", + "difficulty": "ANOTHER", + "songID": 1645, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26065, + "notecount": 1227, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4143fa774694b4b57c01870911c0500dc631caef", + "difficulty": "HYPER", + "songID": 1645, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26065, + "notecount": 897, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d4c33204d8b78d7738b2cf807ebf10fa5b4b3a16", + "difficulty": "NORMAL", + "songID": 1645, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26065, + "notecount": 500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d881230861ccbf0b2c774fcd03737455e85a3c7", + "difficulty": "ANOTHER", + "songID": 1645, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26065, + "notecount": 1233, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e55c47544b19c8188979a31546712638b8960d04", + "difficulty": "HYPER", + "songID": 1645, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26065, + "notecount": 907, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d20e2aa9aa159210630666824302332e0a981156", + "difficulty": "NORMAL", + "songID": 1645, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26065, + "notecount": 468, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "42aa625c3114191fa85141b69c7ca1d06f31adc7", + "difficulty": "ANOTHER", + "songID": 1646, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26066, + "notecount": 709, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6eb2fb3b0917fba1cfe36c15f44a567420eeb9c9", + "difficulty": "HYPER", + "songID": 1646, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26066, + "notecount": 465, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a674b814b5b3d7a3b3f962930fd073b6a0d2d6cc", + "difficulty": "NORMAL", + "songID": 1646, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 26066, + "notecount": 279, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e5e48aec61f9ede7fa99a622392a441e42b42e1f", + "difficulty": "ANOTHER", + "songID": 1646, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26066, + "notecount": 718, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b2951270a8cb75a73a31d98b274622ae0e92d573", + "difficulty": "HYPER", + "songID": 1646, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26066, + "notecount": 518, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "785aad86dff3832d814ef3781f12fb74348b9093", + "difficulty": "NORMAL", + "songID": 1646, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 26066, + "notecount": 293, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "785e8cbe29ea40cc09f0d09b167a6e7bce87a111", + "difficulty": "ANOTHER", + "songID": 1647, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26067, + "notecount": 1214, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a3277de95d3db7f3335c6c359d5dac31a7f21ff7", + "difficulty": "HYPER", + "songID": 1647, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26067, + "notecount": 874, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b12d543c3cf47ca1df429ea5cffa5759f63712d5", + "difficulty": "NORMAL", + "songID": 1647, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26067, + "notecount": 491, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "75525ae5061f44ca67c8dba395ce84ede0f14900", + "difficulty": "ANOTHER", + "songID": 1647, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26067, + "notecount": 1175, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef986efc0815a5432170b370dcd7f2c7510feb97", + "difficulty": "HYPER", + "songID": 1647, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26067, + "notecount": 879, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "625362fe6cb3441ad799e0117658927ef6f5923c", + "difficulty": "NORMAL", + "songID": 1647, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26067, + "notecount": 464, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e99d2e3995f25b665ebe949ccd59466e659c8329", + "difficulty": "ANOTHER", + "songID": 1648, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26068, + "notecount": 1183, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa75a34000d0d4dbd4c87deb637b96ffd799c685", + "difficulty": "HYPER", + "songID": 1648, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26068, + "notecount": 720, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "210a778952046753120f2ca880e032ef103f1e5a", + "difficulty": "NORMAL", + "songID": 1648, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26068, + "notecount": 397, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85fd3be5a5d708778da14ac32cc72d58dad588ab", + "difficulty": "ANOTHER", + "songID": 1648, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26068, + "notecount": 1109, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee55bbc1afa2fb048ca3fadd692d1971027b9481", + "difficulty": "HYPER", + "songID": 1648, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26068, + "notecount": 738, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4a69428b6f28dc5336567d68eb581e111b47346", + "difficulty": "NORMAL", + "songID": 1648, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26068, + "notecount": 382, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca67ea1348eec6c1326da3c7b74f9ff9d8708241", + "difficulty": "ANOTHER", + "songID": 1649, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26069, + "notecount": 841, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2913fa3b85bb952c487b5b3e92cca3b472d7b841", + "difficulty": "HYPER", + "songID": 1649, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26069, + "notecount": 556, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9e2bdc7ca36a27d18990688010e6e9624012590", + "difficulty": "NORMAL", + "songID": 1649, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 26069, + "notecount": 262, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b494ca39e87f931eca060f9a1bcfa098f98edffd", + "difficulty": "ANOTHER", + "songID": 1649, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26069, + "notecount": 779, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "788c267349932467c5afc13eae5306224069fd8b", + "difficulty": "HYPER", + "songID": 1649, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26069, + "notecount": 492, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b8ede919721b312d035f8b8b45bbd9ab64ed97f", + "difficulty": "NORMAL", + "songID": 1649, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 26069, + "notecount": 293, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "375e7fed1b0fb483dc3e1c6900e0108217ff8060", + "difficulty": "ANOTHER", + "songID": 1650, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26070, + "notecount": 1936, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "61f7102abaca3bcc4f7b9155efc48050f1df087c", + "difficulty": "HYPER", + "songID": 1650, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26070, + "notecount": 1304, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e74ab30f73722ea9611fb5f0b42d91c27e165221", + "difficulty": "NORMAL", + "songID": 1650, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26070, + "notecount": 708, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "266840d6c5cfd45d5ff4e84c37832c439947e0e0", + "difficulty": "ANOTHER", + "songID": 1650, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26070, + "notecount": 1988, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "8b2c2b22de28e9e264ef278de65e2fce72e6120f", + "difficulty": "HYPER", + "songID": 1650, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26070, + "notecount": 1304, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f74c63947fd05c55da2c3c616d40b9bc4f3f2c2c", + "difficulty": "NORMAL", + "songID": 1650, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26070, + "notecount": 776, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d86fc2d6df2a01a845768b39f65473bdea6207dc", + "difficulty": "ANOTHER", + "songID": 1651, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26071, + "notecount": 1354, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c39a8e41faff016b4c93f496f87a59d45f3773c", + "difficulty": "HYPER", + "songID": 1651, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26071, + "notecount": 879, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0af408b73237c590be9fcedf6a8bc42194a3e2ae", + "difficulty": "NORMAL", + "songID": 1651, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26071, + "notecount": 631, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a981390292978835c7de7ab057fca24b4e062706", + "difficulty": "ANOTHER", + "songID": 1651, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26071, + "notecount": 1344, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "535dbbdd41332ae191cb94793f91303a89096702", + "difficulty": "HYPER", + "songID": 1651, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26071, + "notecount": 718, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "247d9d16c51ea7f793ee693490e6919d834a4293", + "difficulty": "NORMAL", + "songID": 1651, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26071, + "notecount": 573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa2a1c8eddff3a2b487b473a7732e2e73f32ad59", + "difficulty": "ANOTHER", + "songID": 1652, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26072, + "notecount": 1872, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f05f8781e6387ec7891b26e0f54e532ab049b0d", + "difficulty": "HYPER", + "songID": 1652, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26072, + "notecount": 1149, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dda4cdf4cd10b350f4b26caf568f9df6cfd29c9c", + "difficulty": "NORMAL", + "songID": 1652, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26072, + "notecount": 750, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79764016288d9587df7a41b0edd3a9cfe520cf05", + "difficulty": "ANOTHER", + "songID": 1652, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26072, + "notecount": 1857, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": true + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.40", + "value": 13.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f89726f57a088733355ab39496e6f41b974522d6", + "difficulty": "HYPER", + "songID": 1652, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26072, + "notecount": 1182, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52d305c910cf90fe50d46477050bb9e5ac3bff07", + "difficulty": "NORMAL", + "songID": 1652, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26072, + "notecount": 647, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "40af8524d40ff24255245823f42f2bfaca6d3182", + "difficulty": "ANOTHER", + "songID": 1653, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26074, + "notecount": 1415, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9cc5ffcba81dee0259441e5796a51274688c5892", + "difficulty": "HYPER", + "songID": 1653, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26074, + "notecount": 820, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1b0ce412e02e4aefa93b5a4bf5ca265872f39cd", + "difficulty": "NORMAL", + "songID": 1653, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26074, + "notecount": 519, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f8e5a0a2e0f11432515a27e13a12f71f048681e", + "difficulty": "ANOTHER", + "songID": 1653, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26074, + "notecount": 1387, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2705cc5462767fcab01c8cf55b5abecee9937a7d", + "difficulty": "HYPER", + "songID": 1653, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26074, + "notecount": 847, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a0011a61888e6eff3da3360a9a4cc4516c17b842", + "difficulty": "NORMAL", + "songID": 1653, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26074, + "notecount": 457, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da79088c51c7beeaf70e3fa766a2337fb4d5a9d7", + "difficulty": "ANOTHER", + "songID": 1654, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26075, + "notecount": 1159, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b4573eac20a6deec36d8b74bef0b15e29dbfc6e5", + "difficulty": "HYPER", + "songID": 1654, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26075, + "notecount": 730, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0980a0149c6b947647947eadfbcf6ad65948b1f3", + "difficulty": "NORMAL", + "songID": 1654, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 26075, + "notecount": 300, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "116f55299797511fd439e0087d45b17362620fb1", + "difficulty": "ANOTHER", + "songID": 1654, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26075, + "notecount": 1142, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb42796a7a3add86901fd88285592a4e666534c1", + "difficulty": "HYPER", + "songID": 1654, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26075, + "notecount": 605, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dfca35136cea794e97b3d753924c085f43302f2a", + "difficulty": "NORMAL", + "songID": 1654, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 26075, + "notecount": 298, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85445bae59dc342a6f1e807a7964293cfa86488e", + "difficulty": "ANOTHER", + "songID": 1655, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26076, + "notecount": 1599, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c639cfa9d59888a9ea4fdaae759c6925d3f3804b", + "difficulty": "HYPER", + "songID": 1655, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26076, + "notecount": 1070, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d6dd3d8e5766f34548fb8c765b2fa74a8e4969e7", + "difficulty": "NORMAL", + "songID": 1655, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26076, + "notecount": 577, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9741126e9edee362c26dce6c4777b740a27a9978", + "difficulty": "ANOTHER", + "songID": 1655, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26076, + "notecount": 1614, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6bd0c50811a8dfb2e76b53650035c20bd477ecab", + "difficulty": "HYPER", + "songID": 1655, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26076, + "notecount": 1190, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "388dd81662af1d5cfaa5d9403125c550560034d8", + "difficulty": "NORMAL", + "songID": 1655, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26076, + "notecount": 576, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "432f67e55d4b2224c862f7925e3a3ca07e1ad997", + "difficulty": "ANOTHER", + "songID": 1656, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26077, + "notecount": 1514, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "879147a661e0eeb37b90c2c4ac14b072751f374b", + "difficulty": "HYPER", + "songID": 1656, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26077, + "notecount": 936, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ccef3a301d9e498decf9dbeb9c2ef9a64d0f894", + "difficulty": "NORMAL", + "songID": 1656, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26077, + "notecount": 572, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "076a33ebe173b0e46fe0701441b1dea48fc363b5", + "difficulty": "ANOTHER", + "songID": 1656, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26077, + "notecount": 1584, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1498386ccb80a5888a1a432bdb485473106345b7", + "difficulty": "HYPER", + "songID": 1656, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26077, + "notecount": 872, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c5cd43a90bf7d0b483db1857a6243a639de4f8f", + "difficulty": "NORMAL", + "songID": 1656, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26077, + "notecount": 516, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54a3ebdd59aba5b64021e671b82c76bea661a20f", + "difficulty": "ANOTHER", + "songID": 1657, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26078, + "notecount": 1676, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "798394c1e74dd61f5ad08fbbec07e582b20164b3", + "difficulty": "HYPER", + "songID": 1657, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26078, + "notecount": 1189, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce23f33ffe2789ac6255676872cc0de3b4a5b6af", + "difficulty": "NORMAL", + "songID": 1657, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26078, + "notecount": 640, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "47d6e7683b758f87b12c585499a844574a3f99be", + "difficulty": "ANOTHER", + "songID": 1657, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26078, + "notecount": 1630, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "bc907ae226f125aa852622c8ae61093233f73cbf", + "difficulty": "HYPER", + "songID": 1657, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26078, + "notecount": 1171, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3b9b731c6f954a517a5b1c6aa388559dcf4c8843", + "difficulty": "NORMAL", + "songID": 1657, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26078, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc7cdc334a0a2f48cebf0ca3dc9cabd0bee8fdaa", + "difficulty": "ANOTHER", + "songID": 1658, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26079, + "notecount": 1820, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13af31e1f73a543e6285b4f095b364faf77ec029", + "difficulty": "HYPER", + "songID": 1658, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26079, + "notecount": 1174, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9cedc9dc0142bbe0dfe6bbb1ee498e435fba1289", + "difficulty": "NORMAL", + "songID": 1658, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26079, + "notecount": 660, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "116cef9b47cef84edc07453bedc9fcf245cd5a88", + "difficulty": "ANOTHER", + "songID": 1658, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26079, + "notecount": 1845, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "05e8dd90d3a81b546cee07d25e255e046cec201b", + "difficulty": "HYPER", + "songID": 1658, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26079, + "notecount": 1241, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3884f32bba7cdff6e850fc078e949c51c78591c0", + "difficulty": "NORMAL", + "songID": 1658, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26079, + "notecount": 661, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32c9910860d21f67f4f010a5bef19040ad8826cd", + "difficulty": "ANOTHER", + "songID": 1659, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26080, + "notecount": 1849, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e8bba186604bb62c765c8726deb22db2c0f00d1b", + "difficulty": "HYPER", + "songID": 1659, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26080, + "notecount": 1009, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27c4d674c51bc5176cb534bb0e4daddea0f5f5a4", + "difficulty": "NORMAL", + "songID": 1659, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26080, + "notecount": 644, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8ef9d33dee51ad0131309bf5863a4184252042f6", + "difficulty": "ANOTHER", + "songID": 1659, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26080, + "notecount": 1822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "03d90b414f374f4aaa99520234b8ce6db0dfaa36", + "difficulty": "HYPER", + "songID": 1659, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26080, + "notecount": 984, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02aafa2b5e7dfecb3ac29e2e07ca385484295088", + "difficulty": "NORMAL", + "songID": 1659, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26080, + "notecount": 590, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45ebc79cd3930e6e44d49f443694324a5a76f86e", + "difficulty": "ANOTHER", + "songID": 1660, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26081, + "notecount": 1482, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80f2b484b35ff41cd4eb912339e2f34076dcd439", + "difficulty": "HYPER", + "songID": 1660, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26081, + "notecount": 911, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6649a6cdc690d174d7560835a511ee5f239dd789", + "difficulty": "NORMAL", + "songID": 1660, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26081, + "notecount": 609, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "965768cff7212cb4ed48d9af5dfd74a0e0869e14", + "difficulty": "ANOTHER", + "songID": 1660, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26081, + "notecount": 1523, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "de7ccf7eb53e38d13111817c1aaa8c9da55cd668", + "difficulty": "HYPER", + "songID": 1660, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26081, + "notecount": 915, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f768f6f50554f470f93bdbe0f57736c01cee3b26", + "difficulty": "NORMAL", + "songID": 1660, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26081, + "notecount": 601, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "05cffa8ee09e060f950cf355ae26e46a3110c5ca", + "difficulty": "ANOTHER", + "songID": 1661, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26083, + "notecount": 1104, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "08a4e317f06a99d7268402cf3d9cc1f5f3807d72", + "difficulty": "HYPER", + "songID": 1661, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26083, + "notecount": 862, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6fac0c78bd7aa7f570d1207a27e5918195c1e07f", + "difficulty": "NORMAL", + "songID": 1661, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26083, + "notecount": 593, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "555575e2144c7da2c2d6c14fd1bb740353eb8448", + "difficulty": "ANOTHER", + "songID": 1661, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26083, + "notecount": 1177, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "13-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f27985dec4201312837ed608f0d5471385adb5ab", + "difficulty": "HYPER", + "songID": 1661, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26083, + "notecount": 833, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c3375b2b1e35a0e5c9bbb77af923cc1ed2dd08cc", + "difficulty": "NORMAL", + "songID": 1661, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26083, + "notecount": 524, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "13-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea9b32cd93752dfdef2184d81e87eb56acfc4b84", + "difficulty": "ANOTHER", + "songID": 1662, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26084, + "notecount": 1113, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "067812750d6381afe205bea336a67dd626b0e0da", + "difficulty": "HYPER", + "songID": 1662, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26084, + "notecount": 814, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "112a609c8da2e2c8debb36fab4ad4babe796cd43", + "difficulty": "NORMAL", + "songID": 1662, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26084, + "notecount": 516, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "70d48c867242cc44bd8e3a5d1f65265ea5084100", + "difficulty": "ANOTHER", + "songID": 1662, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26084, + "notecount": 1200, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2614761e878a9846f89a8e0d61b90870f7b6a037", + "difficulty": "HYPER", + "songID": 1662, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26084, + "notecount": 866, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b4c5f5c6ee12f9c72155c65bb0eeb66aa4ab05b", + "difficulty": "NORMAL", + "songID": 1662, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26084, + "notecount": 512, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ae6eedd0590522a264814ba8088fe203c72f000", + "difficulty": "ANOTHER", + "songID": 1663, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26085, + "notecount": 1684, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e7c4ad01727a4810dc776896c355e45cd49281e", + "difficulty": "HYPER", + "songID": 1663, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26085, + "notecount": 1053, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2cb82841a718db7720fad87f8e305ccf2eefa6cc", + "difficulty": "NORMAL", + "songID": 1663, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26085, + "notecount": 597, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fca19921ff3aa7fdaa16655add0ef6721a1224d3", + "difficulty": "ANOTHER", + "songID": 1663, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26085, + "notecount": 1646, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "41cee5cf90cd29704587a62f9f2d75c3017708e5", + "difficulty": "HYPER", + "songID": 1663, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26085, + "notecount": 961, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0bbd268745ed2abeed8b102a48850f8b292a6964", + "difficulty": "NORMAL", + "songID": 1663, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26085, + "notecount": 598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "09ff26e4ed6705d4641d52612ad57ea50e14e962", + "difficulty": "ANOTHER", + "songID": 1664, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26086, + "notecount": 1769, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85ad116519242fa5873560cb1750966c1bd6745d", + "difficulty": "HYPER", + "songID": 1664, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26086, + "notecount": 1129, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "47a90583189eea1a8f261b73ed8bf6cce98eb465", + "difficulty": "NORMAL", + "songID": 1664, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26086, + "notecount": 558, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45ec6e91cf0e5ee1f00dfb002b558c9950a23415", + "difficulty": "ANOTHER", + "songID": 1664, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26086, + "notecount": 2000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.40", + "value": 13.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "8fbf6868265d2f5b4d6f12d6c801f83d27520a28", + "difficulty": "HYPER", + "songID": 1664, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26086, + "notecount": 1160, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51eb3657429736c291417699d046243182d383d4", + "difficulty": "NORMAL", + "songID": 1664, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26086, + "notecount": 548, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9581c9cf089392b9f5ac5424f176a6713f12dfc", + "difficulty": "ANOTHER", + "songID": 1665, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26087, + "notecount": 2135, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "56e350b7ac752cfc53bdf719b9ec9c37daa6efec", + "difficulty": "HYPER", + "songID": 1665, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26087, + "notecount": 1225, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29a6fff51b9ac2a1c6ed184bfb9b518c4774cae1", + "difficulty": "NORMAL", + "songID": 1665, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26087, + "notecount": 705, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e826dec4285f65c5fcdb2c1af11bc721cc8664eb", + "difficulty": "ANOTHER", + "songID": 1665, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26087, + "notecount": 2109, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "df6eee0bbc7f0e3d117307f5b8b77b02b500dab6", + "difficulty": "HYPER", + "songID": 1665, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26087, + "notecount": 1191, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d592aea09d75fb15002e0e4686a248480f52e22a", + "difficulty": "NORMAL", + "songID": 1665, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26087, + "notecount": 718, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "448898499e8b24c998f8af854d94ce53b7c42e5b", + "difficulty": "ANOTHER", + "songID": 1666, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26088, + "notecount": 1468, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b0bbaab43cdcb9e63a9fb0e3613bf0bb26162e4", + "difficulty": "HYPER", + "songID": 1666, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26088, + "notecount": 867, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98d9e809abf769ba478de423e4e0b3a262e3499d", + "difficulty": "NORMAL", + "songID": 1666, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26088, + "notecount": 433, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "90b417103cc9d20609643295cbe8e449f594ee07", + "difficulty": "ANOTHER", + "songID": 1666, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26088, + "notecount": 1378, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "803fcbdb39bf735146d682aae186cad28f302f45", + "difficulty": "HYPER", + "songID": 1666, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26088, + "notecount": 846, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2122986b07df6a7d0f6cc98d9e7a6fba3bd33a4b", + "difficulty": "NORMAL", + "songID": 1666, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26088, + "notecount": 417, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6e9326838a85e5cfd6477668d6abb3cee3e1204", + "difficulty": "ANOTHER", + "songID": 1667, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26089, + "notecount": 1317, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd9b163d3848d65cdfc223c32a937109cfcb617b", + "difficulty": "HYPER", + "songID": 1667, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26089, + "notecount": 829, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e19f0d9d8df1cd30698b68c61cccc02ec168f610", + "difficulty": "NORMAL", + "songID": 1667, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26089, + "notecount": 623, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3d8620f44b939860593e7623d6ebf3cb6488800", + "difficulty": "ANOTHER", + "songID": 1667, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26089, + "notecount": 1311, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce9ecc8c1f96d98e7818b6568577455ef4dda900", + "difficulty": "HYPER", + "songID": 1667, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26089, + "notecount": 834, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e8358854206889015cc5a90e6951ac07957ccca1", + "difficulty": "NORMAL", + "songID": 1667, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26089, + "notecount": 621, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a7380de4df15af5389acbf3ca50258b19f03d3d", + "difficulty": "ANOTHER", + "songID": 1668, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26090, + "notecount": 1148, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "351e8222883a3f23ddc17c5fcab8e3640052e780", + "difficulty": "HYPER", + "songID": 1668, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26090, + "notecount": 785, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "291fb3081d5ec99e057f4260bb59bf24d3c0c585", + "difficulty": "NORMAL", + "songID": 1668, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26090, + "notecount": 481, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "633e484bb33dca2e3f9229d729a183ab4ab42573", + "difficulty": "ANOTHER", + "songID": 1668, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26090, + "notecount": 1157, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d4c4027d8d613b65036ce4d3d078897d1b3e637", + "difficulty": "HYPER", + "songID": 1668, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26090, + "notecount": 786, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ccfc9e84c78e8128b8659142371511da58d294fb", + "difficulty": "NORMAL", + "songID": 1668, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26090, + "notecount": 496, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "612411582323fe7235df67272d0b2b44bd612e1c", + "difficulty": "ANOTHER", + "songID": 1669, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26091, + "notecount": 1290, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f721a918a2db43eee112dfd0ffc5bade9f0605e", + "difficulty": "HYPER", + "songID": 1669, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26091, + "notecount": 889, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "64089d246453ae9aa0f13a74391e373a29463292", + "difficulty": "NORMAL", + "songID": 1669, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26091, + "notecount": 628, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4532f619abcfec9395a92213bfb2e45dc2eefe7e", + "difficulty": "ANOTHER", + "songID": 1669, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26091, + "notecount": 1348, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4ec8bc9415612abf659216bc7281f68d02f63271", + "difficulty": "HYPER", + "songID": 1669, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26091, + "notecount": 851, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f35278261f2e85d8fbb75693a815c6103007fd10", + "difficulty": "NORMAL", + "songID": 1669, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26091, + "notecount": 545, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "62a78b5d718eb8d39f28d5d4e4d6b9915e681b1b", + "difficulty": "ANOTHER", + "songID": 1670, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26092, + "notecount": 1486, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "afe8ddbb9dd88aa94e1432c9f92ac099ea3fa532", + "difficulty": "HYPER", + "songID": 1670, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26092, + "notecount": 917, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "618b0186cc667fa37aec341009168b966b35e553", + "difficulty": "NORMAL", + "songID": 1670, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26092, + "notecount": 590, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "156c87e0d0ee9678762f444cab69acf223d8d88e", + "difficulty": "ANOTHER", + "songID": 1670, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26092, + "notecount": 1540, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "effc597a2a113ee543adcd92d506d9815175b745", + "difficulty": "HYPER", + "songID": 1670, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26092, + "notecount": 931, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54ccecdbbaf913ff47791d02f779c57a6be0665f", + "difficulty": "NORMAL", + "songID": 1670, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26092, + "notecount": 609, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33bb453e0dcea595d97c8bb90bddf324cdfda1c8", + "difficulty": "ANOTHER", + "songID": 1671, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26093, + "notecount": 1604, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74149c4077803ca76458b4a749c48dcc3c04563c", + "difficulty": "HYPER", + "songID": 1671, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26093, + "notecount": 1012, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2e33d251e393656cc96882b5625a5b6bc364b97e", + "difficulty": "NORMAL", + "songID": 1671, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26093, + "notecount": 537, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d13ae7f6ce300b238ca2554202a3f3c59ed11b4", + "difficulty": "ANOTHER", + "songID": 1671, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26093, + "notecount": 1646, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "65533047e395f66ed0a95c2e6af0bc57729e8214", + "difficulty": "HYPER", + "songID": 1671, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26093, + "notecount": 1016, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4800d9386f51b8e13960b6fa14dd20f8ef795ad9", + "difficulty": "NORMAL", + "songID": 1671, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26093, + "notecount": 533, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b6a7227cd1178aafd3c20dc2dc9b8217b545761", + "difficulty": "ANOTHER", + "songID": 1672, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26094, + "notecount": 1209, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03d90f0edd08f359cb96e87d650c22ea106e9711", + "difficulty": "HYPER", + "songID": 1672, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26094, + "notecount": 708, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc485fbf7f941f8490eab5c3b7aea34d08fb53be", + "difficulty": "NORMAL", + "songID": 1672, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26094, + "notecount": 454, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7df5eda25a9c8881cf06b9eb6b560383145a8f54", + "difficulty": "ANOTHER", + "songID": 1672, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26094, + "notecount": 1202, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "90963eec774682ab79a9cd5a98d1782e5ac8c1c0", + "difficulty": "HYPER", + "songID": 1672, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26094, + "notecount": 722, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b94ff55110106156195cfb43cd397cd6cb5f40f", + "difficulty": "NORMAL", + "songID": 1672, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26094, + "notecount": 474, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6bbb9376ee22acf90e0564b0f0eaeb0d19fa8fdc", + "difficulty": "ANOTHER", + "songID": 1673, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26095, + "notecount": 1568, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6fa71035c6e15fbc33aab8e2cfe9d52c966cdbc2", + "difficulty": "HYPER", + "songID": 1673, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26095, + "notecount": 957, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93a3fc85313ce2f44a4a9acf28feb37976115604", + "difficulty": "NORMAL", + "songID": 1673, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26095, + "notecount": 595, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "489f5a0c41447e71770b424323b8018148cd3d2e", + "difficulty": "ANOTHER", + "songID": 1673, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26095, + "notecount": 1613, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "294aac8b48d411233ec567e67ec341f37deb0724", + "difficulty": "HYPER", + "songID": 1673, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26095, + "notecount": 933, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0ee8c72e60dfc4eaeb8cbda12dcb5e0b677ab2f", + "difficulty": "NORMAL", + "songID": 1673, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26095, + "notecount": 575, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "740375881293710ea342de95ebe863b9e9654745", + "difficulty": "ANOTHER", + "songID": 1674, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26096, + "notecount": 1557, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef8726260fa66e446b17f91aa046bf29efdc7773", + "difficulty": "HYPER", + "songID": 1674, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26096, + "notecount": 1069, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c59679464e77063df2ae241c3822553fdb228d5", + "difficulty": "NORMAL", + "songID": 1674, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26096, + "notecount": 665, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d5b9a7dcb0a637623e795c308dbc2dcb3c74bf3c", + "difficulty": "ANOTHER", + "songID": 1674, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26096, + "notecount": 1560, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "98bd0eea1ef5b88dce5aa738791079f344de0a8e", + "difficulty": "HYPER", + "songID": 1674, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26096, + "notecount": 1071, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4fbb832760bd2440a871bf7320208babd065ad60", + "difficulty": "NORMAL", + "songID": 1674, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26096, + "notecount": 667, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7d102cbbcbd7c4d4b5df92a703179223f05e45f4", + "difficulty": "ANOTHER", + "songID": 1675, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26097, + "notecount": 1395, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "05a52ab0ff2364a29c77f766bd89e26046860aa7", + "difficulty": "HYPER", + "songID": 1675, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26097, + "notecount": 1038, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "889d9c10fc4082c8b586684df6f553cca49b79d7", + "difficulty": "NORMAL", + "songID": 1675, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26097, + "notecount": 575, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b0c4aca16ba284dfe8981abd2e6f69d225288069", + "difficulty": "ANOTHER", + "songID": 1675, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26097, + "notecount": 1153, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10e6855f87ccc0ea864f516483b8a7a3b63118fb", + "difficulty": "HYPER", + "songID": 1675, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26097, + "notecount": 789, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0772efd9a5120dbe124ef418ab99364989d7800f", + "difficulty": "NORMAL", + "songID": 1675, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26097, + "notecount": 379, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "328457a31e1cca7c18de022fc55b4737891949c8", + "difficulty": "ANOTHER", + "songID": 1676, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26098, + "notecount": 1526, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d36f8d865d0c2f82090492b19208d7e372d2125", + "difficulty": "HYPER", + "songID": 1676, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26098, + "notecount": 1216, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ab07ef756fb7a805dba94b2ea69c152be3f8f50", + "difficulty": "NORMAL", + "songID": 1676, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26098, + "notecount": 984, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "351c4f410c89875226aaa0eabae0228c0f501e61", + "difficulty": "ANOTHER", + "songID": 1676, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26098, + "notecount": 1238, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26f5041502d1ea786d62519673f7abcca0b2d763", + "difficulty": "HYPER", + "songID": 1676, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26098, + "notecount": 1026, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "114d6b0d779e0ffe3081deb75ed4699a74ec44f8", + "difficulty": "NORMAL", + "songID": 1676, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26098, + "notecount": 627, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ffcc4b0ccb41c2d01218cb261c6eeed3f706f832", + "difficulty": "ANOTHER", + "songID": 1677, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26099, + "notecount": 1505, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "23f8240bc95cc068919a17dd778f0654d633d8cb", + "difficulty": "HYPER", + "songID": 1677, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26099, + "notecount": 962, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "936363df7aa56e1272904264bb4b3b6bcc1fd107", + "difficulty": "NORMAL", + "songID": 1677, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26099, + "notecount": 558, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d11a69b5cedf99cf9d9b1b0e66a2d3f31e050d77", + "difficulty": "ANOTHER", + "songID": 1677, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26099, + "notecount": 1441, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "cad6a750caea8a5fdfc445b94269c56727c0c5a6", + "difficulty": "HYPER", + "songID": 1677, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26099, + "notecount": 1027, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab6723aacf0e7ad144d0b9ddfeac0b7fcb825051", + "difficulty": "NORMAL", + "songID": 1677, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26099, + "notecount": 601, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7bc293ea03018a5bc2089b36e89a5fd47b2b1bcb", + "difficulty": "ANOTHER", + "songID": 1678, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26101, + "notecount": 1122, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c45c34cfe2ab7d085148acb928ce9b9bfc5bc9a", + "difficulty": "HYPER", + "songID": 1678, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26101, + "notecount": 745, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11ecac27a9252a42d60c7108690956928072bb67", + "difficulty": "NORMAL", + "songID": 1678, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26101, + "notecount": 555, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd4a9b5c1c328f913022f9bffe675d716afea4f0", + "difficulty": "ANOTHER", + "songID": 1678, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26101, + "notecount": 1128, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f478b16c98a853b6fd11b552d94b6b94c00ec92", + "difficulty": "HYPER", + "songID": 1678, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26101, + "notecount": 808, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b64a2b5361ad04c9d494f7cbd7f85ae7211ffad6", + "difficulty": "NORMAL", + "songID": 1678, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26101, + "notecount": 545, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5cd850b8711db1d17142b17f7d4aa946dc6c4384", + "difficulty": "ANOTHER", + "songID": 1679, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26102, + "notecount": 1462, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf7dae00a82767f63ca7e6f4acfc55a41d9720c7", + "difficulty": "HYPER", + "songID": 1679, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26102, + "notecount": 932, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "39690711afb5391ecf9f87ba833816fc3ded664e", + "difficulty": "NORMAL", + "songID": 1679, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26102, + "notecount": 583, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db39aa407819890392f658488efc09681807f9a7", + "difficulty": "ANOTHER", + "songID": 1679, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26102, + "notecount": 1522, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5ea5125ce354270ebd42ad4e21f85bea6ec5f965", + "difficulty": "HYPER", + "songID": 1679, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26102, + "notecount": 916, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ad3a965d78753bfa67cedf74015d20df91eca1c", + "difficulty": "NORMAL", + "songID": 1679, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26102, + "notecount": 572, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e6ad9e2e4233ae856d5ac0c80bd7efbe501ca225", + "difficulty": "ANOTHER", + "songID": 1680, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26104, + "notecount": 1903, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "546d499dc5f68f96001c127e2f8986201b66b420", + "difficulty": "HYPER", + "songID": 1680, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26104, + "notecount": 1095, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af7db81954cbe2def4c73c20c2fa10b0150623ae", + "difficulty": "NORMAL", + "songID": 1680, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26104, + "notecount": 706, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "37a2d3932ec01d887757a8f89506c2385578aaac", + "difficulty": "ANOTHER", + "songID": 1680, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26104, + "notecount": 1914, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "11ee88bcc2b3bd41ad42dc386b4f7b8322b7f74f", + "difficulty": "HYPER", + "songID": 1680, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26104, + "notecount": 1044, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d4090321970bfc72f0d4839dee88e1d10a7b94b4", + "difficulty": "NORMAL", + "songID": 1680, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26104, + "notecount": 701, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60face13b6ad2aedff7524462220db1523594c66", + "difficulty": "ANOTHER", + "songID": 1681, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26106, + "notecount": 1782, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9cc62b72606dfda6a86224ba6df239cf722d6235", + "difficulty": "HYPER", + "songID": 1681, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26106, + "notecount": 1159, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "71c1e505c11ca2fc9d637e67c9f35060c87150f5", + "difficulty": "NORMAL", + "songID": 1681, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26106, + "notecount": 637, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3eef552b73bc3b67ad579b4f73da04d8546984a", + "difficulty": "ANOTHER", + "songID": 1681, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26106, + "notecount": 1869, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c0937096541398329ef0a89ff23baf38d0a404b6", + "difficulty": "HYPER", + "songID": 1681, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26106, + "notecount": 1152, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8caea4478349b043d5e787587e11e80443d15811", + "difficulty": "NORMAL", + "songID": 1681, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26106, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9239967cd5f611c339da74288d3eb97fc180fad", + "difficulty": "ANOTHER", + "songID": 1682, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26107, + "notecount": 1610, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9bdec97aab02a09e03d3e735b0484057d2e049a2", + "difficulty": "HYPER", + "songID": 1682, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26107, + "notecount": 1059, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d64695923e951fd769650423a9800c8921d9cc2", + "difficulty": "NORMAL", + "songID": 1682, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26107, + "notecount": 577, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "203473053cb70c9d27402699771b99d68f5a42f8", + "difficulty": "ANOTHER", + "songID": 1682, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26107, + "notecount": 1670, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3d031999ffce4cb214c40d624fcbaab7f4cf015e", + "difficulty": "HYPER", + "songID": 1682, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26107, + "notecount": 1098, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "080922d0fec45746b94ac5c5251f850ad86ee283", + "difficulty": "NORMAL", + "songID": 1682, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26107, + "notecount": 586, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "723e7c3995b01fb384e24011cac850b4cdc4193c", + "difficulty": "ANOTHER", + "songID": 1683, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26108, + "notecount": 1824, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "533f925994d2680f90fa77e0f5bc2b121af4eaf3", + "difficulty": "HYPER", + "songID": 1683, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26108, + "notecount": 1146, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "960720b1f1f1b00fe257d4c44aac9396eac88cd2", + "difficulty": "NORMAL", + "songID": 1683, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26108, + "notecount": 613, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9d5ef3432079f7cdd5d3f1dfc8b7d7178a084ea", + "difficulty": "ANOTHER", + "songID": 1683, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26108, + "notecount": 1888, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b41239bec862c8b03492fb08cebd8d622f7f062d", + "difficulty": "HYPER", + "songID": 1683, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26108, + "notecount": 1135, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "032b740ab73f7f5963b21fb2adf2be7422415f81", + "difficulty": "NORMAL", + "songID": 1683, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26108, + "notecount": 613, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8d9fb3c27a4c7504aae31d159d1ef037a77c64b3", + "difficulty": "ANOTHER", + "songID": 1684, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26109, + "notecount": 1149, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4825b5367b10b8cb632fdbf0260aba6be297e616", + "difficulty": "HYPER", + "songID": 1684, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26109, + "notecount": 743, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cc13f8b6b361c988fd5cb9eee6be7479917f5ac8", + "difficulty": "NORMAL", + "songID": 1684, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26109, + "notecount": 401, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e2b2dc7e7ce505124cac07d9c2e2703b510b5f12", + "difficulty": "ANOTHER", + "songID": 1684, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26109, + "notecount": 1122, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c5d16c079c464480bdcc1850d3765c6277a78cc1", + "difficulty": "HYPER", + "songID": 1684, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26109, + "notecount": 725, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33947d882fa068b8fb6c6094d802d61d399cd393", + "difficulty": "NORMAL", + "songID": 1684, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26109, + "notecount": 390, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bfdbfbc5fb5b42fa048ebb6fcd6fbe9797ce41da", + "difficulty": "ANOTHER", + "songID": 1685, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26110, + "notecount": 1414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5dd6d3b5ae5952a86fe48b1771f93709167ed43d", + "difficulty": "HYPER", + "songID": 1685, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26110, + "notecount": 908, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "219301a4c9c13491f8f456909f2d06246c303885", + "difficulty": "NORMAL", + "songID": 1685, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26110, + "notecount": 464, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2503d3f2e745aab6a8f253ebc18418ab4225893d", + "difficulty": "ANOTHER", + "songID": 1685, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26110, + "notecount": 1314, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a5b9bf8864adac563be4fc466fcc8b196522714a", + "difficulty": "HYPER", + "songID": 1685, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26110, + "notecount": 921, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b5011d8011c18dea03113bfeb4d44435a6706176", + "difficulty": "NORMAL", + "songID": 1685, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26110, + "notecount": 469, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "64bde31758306f26acee4af0d6ed7d85f838ed98", + "difficulty": "ANOTHER", + "songID": 1686, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26111, + "notecount": 1220, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0065fd61ab029e30afa5922542dfdbe58aba9f8a", + "difficulty": "HYPER", + "songID": 1686, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26111, + "notecount": 845, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e836bcb83f585d860680cbe83f4dd71c6d36baaf", + "difficulty": "NORMAL", + "songID": 1686, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26111, + "notecount": 464, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "261fd2ab84d8ac4dd9f0ba3480a850c665710354", + "difficulty": "ANOTHER", + "songID": 1686, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26111, + "notecount": 1308, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "07332163674c67f004143ec6e8cf8ca9a653fd04", + "difficulty": "HYPER", + "songID": 1686, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26111, + "notecount": 855, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c64d2ebbd839124805359475b31a689c9ebdf74", + "difficulty": "NORMAL", + "songID": 1686, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26111, + "notecount": 455, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0449ae5388e5dbc55bc467536d085f3a9d167a96", + "difficulty": "ANOTHER", + "songID": 1687, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26112, + "notecount": 1480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "acd4dc986dcdcfd156daec9c86b3f9fc30c1082c", + "difficulty": "HYPER", + "songID": 1687, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26112, + "notecount": 991, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "498c18d399cc1df187d249d60ba19431dd1eba53", + "difficulty": "NORMAL", + "songID": 1687, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26112, + "notecount": 599, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f762bae8c7d3d4153197f212d9a4e248c081b3c4", + "difficulty": "ANOTHER", + "songID": 1687, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26112, + "notecount": 1480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4378d78d869601cb262754b9818525bf96cf23c2", + "difficulty": "HYPER", + "songID": 1687, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26112, + "notecount": 1009, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c3d50f94a5119f05b0c401fd33155e9057082328", + "difficulty": "NORMAL", + "songID": 1687, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26112, + "notecount": 560, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "69f8ef0b89403ca018828ce7f64f0395c6145e94", + "difficulty": "ANOTHER", + "songID": 1688, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26113, + "notecount": 1554, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "06ff5f823c4bab2b283e4e5ba0e97288a670b7df", + "difficulty": "HYPER", + "songID": 1688, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26113, + "notecount": 913, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a6c207b021b732cb7bf6da28b9cf933c38344705", + "difficulty": "NORMAL", + "songID": 1688, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26113, + "notecount": 525, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa50e75f52775162d30dc6a773f19105f18fcfb0", + "difficulty": "ANOTHER", + "songID": 1688, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26113, + "notecount": 1480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "54545776c762b12aa04ff5945d8dfd7f5afc3195", + "difficulty": "HYPER", + "songID": 1688, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26113, + "notecount": 879, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f7cea827356a9190a9f778ff68cd24ac66ad753", + "difficulty": "NORMAL", + "songID": 1688, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26113, + "notecount": 519, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6f417ef1f873392be56a8bf4f46c299f5cd143d5", + "difficulty": "ANOTHER", + "songID": 1689, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26114, + "notecount": 1138, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27d23d036da30b8b1d9bfb2c9f4a460a31ac265c", + "difficulty": "HYPER", + "songID": 1689, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26114, + "notecount": 813, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fee677ac46e30bacde400739e9d8926cc78c84f1", + "difficulty": "NORMAL", + "songID": 1689, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26114, + "notecount": 428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "312adeaf93774ce880b1f81b9d17c71fbe955579", + "difficulty": "ANOTHER", + "songID": 1689, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26114, + "notecount": 1183, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa2efde5ec6370646dbb25c208e8f4f63b6647f2", + "difficulty": "HYPER", + "songID": 1689, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26114, + "notecount": 812, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "77c7fcff0fab14e3e326b4f48a25373ef85e078b", + "difficulty": "NORMAL", + "songID": 1689, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26114, + "notecount": 428, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ddb282e69a12988cd4d89d6f3431a835751e828f", + "difficulty": "ANOTHER", + "songID": 1690, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26115, + "notecount": 1311, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c59b7ae8667dd6e4c295a7bb01506e7fd797d19a", + "difficulty": "HYPER", + "songID": 1690, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26115, + "notecount": 832, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b9d09202b04bfaa39e9094b0c27963112a29d1d", + "difficulty": "NORMAL", + "songID": 1690, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26115, + "notecount": 417, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29e9aacf66c9f930a3633ab1a64cc04b17e0a2ef", + "difficulty": "ANOTHER", + "songID": 1690, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26115, + "notecount": 1261, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11E", + "value": 11, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "9a637e26d7d31abf58715973086b951ce1076499", + "difficulty": "HYPER", + "songID": 1690, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26115, + "notecount": 800, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13ff83e4d8c417a36a9e4fec20f5bc91899ad5e9", + "difficulty": "NORMAL", + "songID": 1690, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26115, + "notecount": 414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "816d62337b3519cd0d924ab728c2d07460cde7ec", + "difficulty": "ANOTHER", + "songID": 1691, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20014, + "notecount": 1165, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68ab10b3385408e7d989c4293c27ce9dfc03a4c7", + "difficulty": "HYPER", + "songID": 1691, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20014, + "notecount": 729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b176f957da6ec937c873328741a896604dc7a42c", + "difficulty": "NORMAL", + "songID": 1691, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20014, + "notecount": 452, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03e938f0138aaaab6046c61a5fda00a2b0edc6f8", + "difficulty": "ANOTHER", + "songID": 1691, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20014, + "notecount": 1136, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb9c246f9243ae6ab6c386571a0e349e5d6561ac", + "difficulty": "HYPER", + "songID": 1691, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20014, + "notecount": 701, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d060ce1e2e195e3e07bddd2b1bfb3eab7ef2a184", + "difficulty": "NORMAL", + "songID": 1691, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20014, + "notecount": 439, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "20ede30574964f9ff87d1b7dcc71e7ea9376dda4", + "difficulty": "ANOTHER", + "songID": 1692, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20010, + "notecount": 1064, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f289a7225d6fb7492428bb04b5136ac4dd3f0f2b", + "difficulty": "HYPER", + "songID": 1692, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20010, + "notecount": 686, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "efe5620775f6980fa116dded6bb55a282fb53b74", + "difficulty": "NORMAL", + "songID": 1692, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 20010, + "notecount": 347, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "666bc39f3b3822a3d59f88ad9b51f65222012fb5", + "difficulty": "ANOTHER", + "songID": 1692, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20010, + "notecount": 1090, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f457ea5ac9895112897519f06406990fc6586714", + "difficulty": "HYPER", + "songID": 1692, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20010, + "notecount": 736, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f96de0e2c4b58e6b2d4a724dc15cad69c000d30e", + "difficulty": "NORMAL", + "songID": 1692, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20010, + "notecount": 438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87d255433ad887ccaba2e42f08371649aba0eeb3", + "difficulty": "ANOTHER", + "songID": 1693, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26012, + "notecount": 1677, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "57d29fffae0d6a731cd7f56c292b6b692c6dc3a1", + "difficulty": "HYPER", + "songID": 1693, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26012, + "notecount": 1112, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0443d9e59cb2395c334791d9b1d474ea266adac5", + "difficulty": "NORMAL", + "songID": 1693, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26012, + "notecount": 683, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "658d7c11585aa0fb7a47e1ef34db241e04a7825b", + "difficulty": "ANOTHER", + "songID": 1693, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26012, + "notecount": 1702, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "39d9da0bdad691ca56408ba364b9aa6b96e1c9bd", + "difficulty": "HYPER", + "songID": 1693, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26012, + "notecount": 1178, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b65565b15028a93bb648fcfd7354110ec7617085", + "difficulty": "NORMAL", + "songID": 1693, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26012, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "92c96abdaf2bb3d798a73d16d84899b593c2b53b", + "difficulty": "ANOTHER", + "songID": 1694, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26013, + "notecount": 1848, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da4f809bc0621fb1ac96eac647fa4976ab472fd4", + "difficulty": "HYPER", + "songID": 1694, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26013, + "notecount": 911, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "236302a1e45d77fcfdbcfdf6d206f3ce8b4ea786", + "difficulty": "NORMAL", + "songID": 1694, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26013, + "notecount": 434, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d8f1570130b93ef6180089a8f0fe754f31df2b63", + "difficulty": "ANOTHER", + "songID": 1694, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26013, + "notecount": 1395, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b8137ea72e1a666d261eeca3a6a1f9b92ea3be6f", + "difficulty": "HYPER", + "songID": 1694, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26013, + "notecount": 804, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d097fb8616db38d68ce673e26c15e11f0de7aa3c", + "difficulty": "NORMAL", + "songID": 1694, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26013, + "notecount": 430, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a38aab58a79721417c907ef47a63d238df44e6dc", + "difficulty": "ANOTHER", + "songID": 1695, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26014, + "notecount": 1142, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "602b3237a4963a2210225b4cefa286696c423627", + "difficulty": "HYPER", + "songID": 1695, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26014, + "notecount": 804, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b050b3cc9cb5c0e146d8010ac6bc5b8348fcdcbb", + "difficulty": "NORMAL", + "songID": 1695, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26014, + "notecount": 500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "451bef97015a9542419c53b203a7c59cb90bc0ce", + "difficulty": "ANOTHER", + "songID": 1695, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26014, + "notecount": 1133, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "75b92425e048dd8feef163cf47aeb2a34d3902d0", + "difficulty": "HYPER", + "songID": 1695, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26014, + "notecount": 807, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9c8320c29accc0551bf5cc3815bb3564a7c2e7d3", + "difficulty": "NORMAL", + "songID": 1695, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26014, + "notecount": 504, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "95610e750250475d650fe4cc0d22760d695d095d", + "difficulty": "ANOTHER", + "songID": 1696, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26082, + "notecount": 1505, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26462d41d5042ef5d5a6385e362ad29b49ba975f", + "difficulty": "HYPER", + "songID": 1696, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26082, + "notecount": 973, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b252e7f155e2955cccc4f33f3945b6a4781fb299", + "difficulty": "NORMAL", + "songID": 1696, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26082, + "notecount": 820, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "467ae909c5f20b05cf32d59e3a422d5f5ee9eed9", + "difficulty": "ANOTHER", + "songID": 1696, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26082, + "notecount": 1141, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "76a2ea83092d5651d3ffe1f783c51895aceb8196", + "difficulty": "HYPER", + "songID": 1696, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26082, + "notecount": 840, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8cd103e12e31787de75c08141960ada82d14e1c4", + "difficulty": "NORMAL", + "songID": 1696, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 26082, + "notecount": 478, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "15-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "144538e679fbcd29a4674bb72831e0aab1882235", + "difficulty": "ANOTHER", + "songID": 1697, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24090, + "notecount": 1216, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b4428dd347461360b92e5c34ad51840ad5a1e31", + "difficulty": "HYPER", + "songID": 1697, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24090, + "notecount": 831, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "677094cfb136a2ddcd7da4d8d9bcde0be32a2059", + "difficulty": "NORMAL", + "songID": 1697, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24090, + "notecount": 481, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c1f9a39076ed6894fd0e64f15340e99722c93f42", + "difficulty": "ANOTHER", + "songID": 1697, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24090, + "notecount": 1207, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "46a88cf6a22409f4f45ea503a7e7f34901227caa", + "difficulty": "HYPER", + "songID": 1697, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24090, + "notecount": 863, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b4bd5b5c58a7748a96e50daabd06a83bc1a2125", + "difficulty": "NORMAL", + "songID": 1697, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24090, + "notecount": 504, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca4cf102e4d6fbdb1ac73996b395269ca77f66b1", + "difficulty": "ANOTHER", + "songID": 1698, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24091, + "notecount": 1028, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8356cea57bdb6b53b88bc33936b975c394da622e", + "difficulty": "HYPER", + "songID": 1698, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24091, + "notecount": 775, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ac9e691b31f00e7ffbb2095e74e140d54c8f94a", + "difficulty": "NORMAL", + "songID": 1698, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24091, + "notecount": 513, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c080ea1456378c92c9707d2ed8085987ff44397", + "difficulty": "ANOTHER", + "songID": 1698, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24091, + "notecount": 1247, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "481978045f99045c2f9ddcacd35e79fb06389542", + "difficulty": "HYPER", + "songID": 1698, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24091, + "notecount": 805, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ffb17adf37d27a2b4c12c80f7aa49d5da50b54b0", + "difficulty": "NORMAL", + "songID": 1698, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24091, + "notecount": 518, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9526d21ac97bd3424f0d99fc5ba2b48affc07d86", + "difficulty": "ANOTHER", + "songID": 1699, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24092, + "notecount": 1055, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "61a1f59e2514df162a12a65a76aa380857724b08", + "difficulty": "HYPER", + "songID": 1699, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24092, + "notecount": 678, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9a12e210a607179911803e9986ed21f228899c4", + "difficulty": "NORMAL", + "songID": 1699, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24092, + "notecount": 459, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2914b5b108b935c4a5a5ff856cebab9085c4be7", + "difficulty": "ANOTHER", + "songID": 1699, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24092, + "notecount": 1043, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cefef847ecc4fbf3f6cb7deec5edbfbcab17d017", + "difficulty": "HYPER", + "songID": 1699, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24092, + "notecount": 704, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "544b6c26cc1aabceaaee7bad8cdc5b29e29bc430", + "difficulty": "NORMAL", + "songID": 1699, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24092, + "notecount": 460, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e313f630245b9f84e858b036e2dbf94f0f46680d", + "difficulty": "ANOTHER", + "songID": 1700, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24093, + "notecount": 1297, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cdae728eb458a9755f02b12bebe124fdd4275121", + "difficulty": "HYPER", + "songID": 1700, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24093, + "notecount": 709, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe50ee319491fa79f13c8ec105dd7603e59e1b64", + "difficulty": "NORMAL", + "songID": 1700, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24093, + "notecount": 418, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d8ed2a1a63fea5703bd256bae49c64333ff954d5", + "difficulty": "ANOTHER", + "songID": 1700, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24093, + "notecount": 1261, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2951258e04a1bd2434ce3a6a3428938a29d322f1", + "difficulty": "HYPER", + "songID": 1700, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24093, + "notecount": 752, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cdc5f8d2f40e9f47863b58324eb3066e1a13922a", + "difficulty": "NORMAL", + "songID": 1700, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24093, + "notecount": 475, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f3c803d8a51968ab91c6e36b3fb6e0c3eabeae4", + "difficulty": "ANOTHER", + "songID": 1701, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24088, + "notecount": 1198, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0926447fd1dd98de22ffbbe4baccb1b9a1d271b4", + "difficulty": "HYPER", + "songID": 1701, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24088, + "notecount": 880, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed92d37f61bc25dc0d3bff16e2e4d94a3d050e31", + "difficulty": "NORMAL", + "songID": 1701, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24088, + "notecount": 412, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dae1061573a56e41892ed5b72ec686c19bf1d7e6", + "difficulty": "ANOTHER", + "songID": 1701, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24088, + "notecount": 1154, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab361650e046247cda97cdb3e561f20a24c0d1bf", + "difficulty": "HYPER", + "songID": 1701, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 24088, + "notecount": 760, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b50021e855c97defc7f9ec290fc65b302973952", + "difficulty": "NORMAL", + "songID": 1701, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 24088, + "notecount": 399, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "087be7e9c0b8d04804b436828d9589de5c361000", + "difficulty": "ANOTHER", + "songID": 1702, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24094, + "notecount": 1478, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "afbb4ca48dc0509931afc4aacf331ab3808a4b20", + "difficulty": "HYPER", + "songID": 1702, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24094, + "notecount": 912, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02aa43350a686a7b2725c431338731858325432c", + "difficulty": "NORMAL", + "songID": 1702, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24094, + "notecount": 483, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55396ee7f5aa61259c7c6f3601a28457d802c5ed", + "difficulty": "ANOTHER", + "songID": 1702, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24094, + "notecount": 1592, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "ad96c27b82d03c24344bb603fdacce75776fdbfc", + "difficulty": "HYPER", + "songID": 1702, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24094, + "notecount": 905, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41007d0d969a945afdb11f640e1416e91270df0c", + "difficulty": "NORMAL", + "songID": 1702, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24094, + "notecount": 484, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b315ac7b86df8f2b7585283f0e199a58072d2ac6", + "difficulty": "ANOTHER", + "songID": 1703, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24095, + "notecount": 1953, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4127da9d23192baa97e3bd788af4007659d246b2", + "difficulty": "HYPER", + "songID": 1703, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24095, + "notecount": 1081, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "376e988ef6e9be0e2a469a0f9c268bf0b9e7fd8e", + "difficulty": "NORMAL", + "songID": 1703, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24095, + "notecount": 580, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93c37986008a5e08f0f93f723e672f51a8462902", + "difficulty": "ANOTHER", + "songID": 1703, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24095, + "notecount": 1814, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.60", + "value": 12.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "52ea9a214cc8c709f964079bbe0ff3dca94c4d2d", + "difficulty": "HYPER", + "songID": 1703, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 24095, + "notecount": 1096, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ecbf567329d5c5934600fc28d3cc5589a85ff607", + "difficulty": "NORMAL", + "songID": 1703, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 24095, + "notecount": 580, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c6c367533748323c73d1fb90d268e8587c02474f", + "difficulty": "ANOTHER", + "songID": 1704, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 24089, + "notecount": 1451, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e961d3eb765e6f730b631ceda83bc2c548841ff", + "difficulty": "HYPER", + "songID": 1704, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24089, + "notecount": 1106, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "efe5efdd6e2f5d4d6c4a1472ba1da72eb6ccb08c", + "difficulty": "NORMAL", + "songID": 1704, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 24089, + "notecount": 641, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7397b54511895b6b465b3846135cfe53f7e58701", + "difficulty": "ANOTHER", + "songID": 1704, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 24089, + "notecount": 1624, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "89a51cda2b671c141b21616eb1f70fb02597baab", + "difficulty": "HYPER", + "songID": 1704, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 24089, + "notecount": 1110, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd91bf1cafeebe6566c8d11b53967e3b02a2b188", + "difficulty": "NORMAL", + "songID": 1704, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 24089, + "notecount": 656, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "817e765537646f4b45bcb358e9806dabb353ef6c", + "difficulty": "ANOTHER", + "songID": 1707, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25000, + "notecount": 2052, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "039560377045be1a518097327452f6dac27d43ce", + "difficulty": "HYPER", + "songID": 1707, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25000, + "notecount": 1356, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "505a2669a4551ddafcb1ca1bce4f71e34581519d", + "difficulty": "NORMAL", + "songID": 1707, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25000, + "notecount": 725, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22738fb403f7c4d51d0ba6b3941da74d35b4b2e6", + "difficulty": "ANOTHER", + "songID": 1707, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25000, + "notecount": 2047, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "381753fa33a216f09280f8c206e0a1994eda6efa", + "difficulty": "HYPER", + "songID": 1707, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25000, + "notecount": 1285, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d7eec5ada53c93356adcc3ce4d6b58544571a30", + "difficulty": "NORMAL", + "songID": 1707, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25000, + "notecount": 702, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5975f2b1e6d30bb9040ac84fad2829f1e3c85bac", + "difficulty": "ANOTHER", + "songID": 1708, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25001, + "notecount": 1807, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d44a195d5ef394ee23a24e56e31d4a524b9df3c2", + "difficulty": "HYPER", + "songID": 1708, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25001, + "notecount": 1299, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "afa1db43983434eadef3fd440ff88dcf64203377", + "difficulty": "NORMAL", + "songID": 1708, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25001, + "notecount": 753, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0e0975857527c34562a70f4e0780cd82e5b1c7c", + "difficulty": "ANOTHER", + "songID": 1708, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25001, + "notecount": 1748, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f9e30a6b8ca6c0e401c88bda7700892ec068f3c4", + "difficulty": "BEGINNER", + "songID": 1708, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 25001, + "notecount": 244, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad106e8e1b3c7ed7c863f6c65197513740e80692", + "difficulty": "HYPER", + "songID": 1708, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25001, + "notecount": 1236, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fdb3f11263a72b29530097e30284410f2bbd690a", + "difficulty": "NORMAL", + "songID": 1708, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25001, + "notecount": 770, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "683fc9c8efc481608ef07a749d52e004964be330", + "difficulty": "ANOTHER", + "songID": 1709, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25002, + "notecount": 1139, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "949c9db54fb1d1353247338d72c9e7a68e331f33", + "difficulty": "HYPER", + "songID": 1709, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25002, + "notecount": 774, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b5c68de8af4cb2891a41a4dbf6524d8e112b66c", + "difficulty": "NORMAL", + "songID": 1709, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25002, + "notecount": 511, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22429bc014dfc1c4c5be6e0b3442b9eb96afe5f3", + "difficulty": "ANOTHER", + "songID": 1709, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25002, + "notecount": 1047, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04489bf9c1cb2364321eca5d2c2ec6f25f2d83e7", + "difficulty": "HYPER", + "songID": 1709, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25002, + "notecount": 774, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74070a65ad5e6bd6e223a9d59c04b38517606a1f", + "difficulty": "NORMAL", + "songID": 1709, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25002, + "notecount": 521, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "14ad5936d8d244d921674e92fc1af1c6513a6a5a", + "difficulty": "ANOTHER", + "songID": 1710, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25003, + "notecount": 1999, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bc05514e5c6c424631aa45264ec358ec9180b11a", + "difficulty": "HYPER", + "songID": 1710, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25003, + "notecount": 1262, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ccb557ca637bd799ec3cb50fc1f0031f8e0d29c", + "difficulty": "NORMAL", + "songID": 1710, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25003, + "notecount": 732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a87bf8c735ac0b80ca9513d75dbd5ecb9ff2a9b", + "difficulty": "ANOTHER", + "songID": 1710, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25003, + "notecount": 2075, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b419f4faba9d7622e0eace4d05536d40bd2497e5", + "difficulty": "HYPER", + "songID": 1710, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25003, + "notecount": 1272, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c9ca8f7d14cfeb38e08027384bc71e4e9083c938", + "difficulty": "NORMAL", + "songID": 1710, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25003, + "notecount": 710, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff25380bdff221bfc8bca42debcf1ca6d41033ad", + "difficulty": "ANOTHER", + "songID": 1711, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25004, + "notecount": 2018, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03297b59a6ac0a4d530d6a9184452cbb46059b9c", + "difficulty": "HYPER", + "songID": 1711, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25004, + "notecount": 1338, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84e47355caa8c20602a51fd2775af865dc89510f", + "difficulty": "NORMAL", + "songID": 1711, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25004, + "notecount": 817, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fec79942d6aed43d525ee9c4027394f8762ac441", + "difficulty": "ANOTHER", + "songID": 1711, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25004, + "notecount": 2018, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.40", + "value": 13.4, + "individualDifference": false + } + } + }, + { + "chartID": "abb2b4d61bddcae851fc0b207ee2253d9640e1f2", + "difficulty": "BEGINNER", + "level": "3", + "levelNum": 3, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 1711, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 25004, + "arcChartID": null, + "notecount": 330, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "913ba00239ff217d6147a29dc31e5754dc2c8d53", + "difficulty": "HYPER", + "songID": 1711, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25004, + "notecount": 1277, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ade6aa5a3bc097beeac3054953962be76bb795f8", + "difficulty": "NORMAL", + "songID": 1711, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25004, + "notecount": 762, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7be06444afd2c17e1b0f3240df019781de088544", + "difficulty": "ANOTHER", + "songID": 1712, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25005, + "notecount": 1410, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "558419f4f1f39f6c946ef1a2039ed2ec3226c8ff", + "difficulty": "HYPER", + "songID": 1712, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25005, + "notecount": 953, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1810df3dba2ed242a1197a1b094e61da9020ef3", + "difficulty": "NORMAL", + "songID": 1712, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25005, + "notecount": 571, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35031d378b3de71de5062247e20c5ad55c8d33c8", + "difficulty": "ANOTHER", + "songID": 1712, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25005, + "notecount": 1453, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "025832b96728ca00dec8f248ee9560f2508d9290", + "difficulty": "HYPER", + "songID": 1712, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25005, + "notecount": 988, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a7e5e488e798a005db277e11f21d26199a412435", + "difficulty": "NORMAL", + "songID": 1712, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25005, + "notecount": 560, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "488a39dd1a189915c44d64b09ee3f8b3b7145e79", + "difficulty": "ANOTHER", + "songID": 1713, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25006, + "notecount": 1124, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "99279a21d18e00f3ccb35ca96f39f4d286f757b1", + "difficulty": "HYPER", + "songID": 1713, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25006, + "notecount": 817, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8ca8975c2a08028442a8e78291e8f2fb9266eade", + "difficulty": "NORMAL", + "songID": 1713, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25006, + "notecount": 450, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6e3a94e8690fb5b644f8375a8f7faead03eb2ac0", + "difficulty": "ANOTHER", + "songID": 1713, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25006, + "notecount": 1172, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f547dc535fa50270b0dde4ae612a6eafa13d612d", + "difficulty": "BEGINNER", + "songID": 1713, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 25006, + "notecount": 127, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c3a90c38f4aafced3dd061fe0bd11392f59d91ee", + "difficulty": "HYPER", + "songID": 1713, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25006, + "notecount": 824, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd82982f35708dff2e0b94524051c1e651de9edd", + "difficulty": "NORMAL", + "songID": 1713, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25006, + "notecount": 422, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "23fcd0fd17e7e8dbcaa3e6e0d585d5b21d216b13", + "difficulty": "ANOTHER", + "songID": 1714, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25007, + "notecount": 1763, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a4cfa74611b0b4546a867ae6be35fbd75806d15", + "difficulty": "HYPER", + "songID": 1714, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25007, + "notecount": 1293, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a88c20e06473a6dfdc5c038c17f360695929ed8", + "difficulty": "NORMAL", + "songID": 1714, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25007, + "notecount": 691, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4d2e41d8ed98a041734755e1b2017b5b84b4b5e", + "difficulty": "ANOTHER", + "songID": 1714, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25007, + "notecount": 1833, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.40", + "value": 13.4, + "individualDifference": false + } + } + }, + { + "chartID": "682c0454c7b3dea6dcee516c6262410e8938c849", + "difficulty": "BEGINNER", + "level": "3", + "levelNum": 3, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 1714, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 25007, + "arcChartID": null, + "notecount": 265, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "6322ba72a72614fa9e5617cb6dc9078b8591a401", + "difficulty": "HYPER", + "songID": 1714, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25007, + "notecount": 1258, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": true + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0df0b01d7f0931782f78a70d17c1b4f7933a397b", + "difficulty": "NORMAL", + "songID": 1714, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25007, + "notecount": 704, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df2cdaeeb7831dda33ffd51f866c2b83f56cffdf", + "difficulty": "ANOTHER", + "songID": 1715, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25008, + "notecount": 1830, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c3458028fd535dd8dbd21813de8173f959d55404", + "difficulty": "HYPER", + "songID": 1715, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25008, + "notecount": 1265, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ac8cfd5486071fd389d77c5e4a31c1d0532db372", + "difficulty": "NORMAL", + "songID": 1715, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25008, + "notecount": 678, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a1911e7504e22339c5969379886277bbd31064f", + "difficulty": "ANOTHER", + "songID": 1715, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25008, + "notecount": 1835, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6b3b3d4f98d50b3a97472a13041cfb88a9cb2b6e", + "difficulty": "HYPER", + "songID": 1715, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25008, + "notecount": 1288, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee21bc7c2dfb03f1166e1144e369f3d42300046a", + "difficulty": "NORMAL", + "songID": 1715, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25008, + "notecount": 680, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45c4c6c8fc966c1456206f713110b463f9bedde2", + "difficulty": "ANOTHER", + "songID": 1716, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25009, + "notecount": 1752, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "15c2dc36d57a469ce6e0655ef968528149f08854", + "difficulty": "HYPER", + "songID": 1716, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25009, + "notecount": 1192, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "557a1536509108ab9a0e146110a3227fc0c5b0aa", + "difficulty": "NORMAL", + "songID": 1716, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25009, + "notecount": 712, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "294f86a9f4dc7116d82f3d495c5aae59f093030a", + "difficulty": "ANOTHER", + "songID": 1716, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25009, + "notecount": 1820, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "fb057b61b91df7fb01027182d3be01aadebcec94", + "difficulty": "HYPER", + "songID": 1716, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25009, + "notecount": 1253, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29b8fb636805f70b8918ff4654838b474619154f", + "difficulty": "NORMAL", + "songID": 1716, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25009, + "notecount": 646, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b7d707929ec5f177e8ee09f4beeb76ce083f8882", + "difficulty": "ANOTHER", + "songID": 1717, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25010, + "notecount": 1379, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a7c6564b88d973f9a596e44fe877ffefba00be10", + "difficulty": "HYPER", + "songID": 1717, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25010, + "notecount": 971, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "943ec355c040747c0bc74842037fd77418ce38d1", + "difficulty": "NORMAL", + "songID": 1717, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25010, + "notecount": 536, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a28df1fc5479359948abf8b8f1019659a35ce6fe", + "difficulty": "ANOTHER", + "songID": 1717, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25010, + "notecount": 1381, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2ec565d71971ce81827efb4060fbb406e961e0b6", + "difficulty": "HYPER", + "songID": 1717, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25010, + "notecount": 970, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad5558d469dab756ff94d61bd97f116a84458dba", + "difficulty": "NORMAL", + "songID": 1717, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25010, + "notecount": 540, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "61044350cc99bee42ead4bca326d88ed35a2dc82", + "difficulty": "ANOTHER", + "songID": 1718, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25011, + "notecount": 1204, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2b591b64268590fa60e1955b0bd3235a132d8f5", + "difficulty": "HYPER", + "songID": 1718, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25011, + "notecount": 752, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8cee34287680b75ffaf5c9199152345be433fec5", + "difficulty": "NORMAL", + "songID": 1718, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25011, + "notecount": 494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "44bf901258782a4c168d70ac5ee426837d04d073", + "difficulty": "ANOTHER", + "songID": 1718, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25011, + "notecount": 1228, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e11a11983f3506741c38f1c8af5ae2aeff2f6945", + "difficulty": "HYPER", + "songID": 1718, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25011, + "notecount": 744, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10b2e23de0d35645b6a795a7bbc947cfbd3f1c4d", + "difficulty": "NORMAL", + "songID": 1718, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25011, + "notecount": 492, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b0958e2bce9c12b76de2011b04d5e53c00394c38", + "difficulty": "ANOTHER", + "songID": 1719, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25012, + "notecount": 1026, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9da347e0d6004997325b9a106ed086148df54b94", + "difficulty": "HYPER", + "songID": 1719, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25012, + "notecount": 694, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19c246cf12cdca590d62407203739653a675f980", + "difficulty": "NORMAL", + "songID": 1719, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25012, + "notecount": 438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c2d2c72456f0f90b6d271b5409d84cab6c26df4b", + "difficulty": "ANOTHER", + "songID": 1719, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25012, + "notecount": 1049, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9e5a7bc57aa404a0b120a9c0a15a10fe97763ab9", + "difficulty": "HYPER", + "songID": 1719, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25012, + "notecount": 722, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ffa5053f9f3e7220f8d3c6f0c497dd259fc1a6d", + "difficulty": "NORMAL", + "songID": 1719, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25012, + "notecount": 389, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e70ef2a9d086b6b59f7d9cac284fcc2fb893b4d", + "difficulty": "ANOTHER", + "songID": 1720, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25013, + "notecount": 1328, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "076670d602e353586eaf72c9c6c5240996b91005", + "difficulty": "HYPER", + "songID": 1720, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25013, + "notecount": 869, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b11eaa5ba281685556b5772552928357915674ff", + "difficulty": "NORMAL", + "songID": 1720, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25013, + "notecount": 561, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c78e393d30ba8b0fdad8634274e9852e9a006e88", + "difficulty": "ANOTHER", + "songID": 1720, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25013, + "notecount": 1261, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e623ca5bf53786e6e95260597cf1978a2552f67", + "difficulty": "HYPER", + "songID": 1720, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25013, + "notecount": 895, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "40ac67f20d36bd4c5a9183d59aed02d339bcff58", + "difficulty": "NORMAL", + "songID": 1720, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25013, + "notecount": 597, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "44fb80477f201f4c090c48d89ed6b1987aebda2d", + "difficulty": "ANOTHER", + "songID": 1721, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25014, + "notecount": 1377, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a01203e68adca7d68634ce25bbbeebdf44129a05", + "difficulty": "HYPER", + "songID": 1721, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25014, + "notecount": 759, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1ea7b382cb31673a18180421f2afecca3c5c107", + "difficulty": "NORMAL", + "songID": 1721, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25014, + "notecount": 341, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b3ad61b5c74cab2a9b30d53f72a651e7fe6450de", + "difficulty": "ANOTHER", + "songID": 1721, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25014, + "notecount": 1324, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b353b217f5fc64164bcbd63ec8853946762ac6d", + "difficulty": "HYPER", + "songID": 1721, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25014, + "notecount": 788, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4929d3d40f2d89409a8b28dcad84e4bc93dc9cba", + "difficulty": "NORMAL", + "songID": 1721, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25014, + "notecount": 341, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c7b3ec5aed408a826708bd9797c2c12eb2ebcd8", + "difficulty": "ANOTHER", + "songID": 1722, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25015, + "notecount": 1667, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "58227f10c54529e52e696e90da6cb7dee5747061", + "difficulty": "HYPER", + "songID": 1722, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25015, + "notecount": 1169, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bea774ac420f1329ea3ea042c46d4250a37ff217", + "difficulty": "NORMAL", + "songID": 1722, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25015, + "notecount": 698, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f5e515eb6bed8bcdc4b9c3fe1ceca248374e1476", + "difficulty": "ANOTHER", + "songID": 1722, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25015, + "notecount": 1775, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e73f68c58b91da803cd7172b093248f9af276148", + "difficulty": "HYPER", + "songID": 1722, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25015, + "notecount": 999, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef2d59421cda34c3079560881cf6d521a056cb6a", + "difficulty": "NORMAL", + "songID": 1722, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25015, + "notecount": 642, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6bf2a7a93e49f729c73fec6b2d0ac52b422f3c10", + "difficulty": "ANOTHER", + "songID": 1723, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25016, + "notecount": 1205, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e114e19ddee4d97c14c27273b44a330433d4a513", + "difficulty": "HYPER", + "songID": 1723, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25016, + "notecount": 778, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "486b64d1b24717a977ced5fc4c0292f4f72f837d", + "difficulty": "NORMAL", + "songID": 1723, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25016, + "notecount": 442, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3cb6a3ace820e87493ff6aba5ab070bded6d92b2", + "difficulty": "ANOTHER", + "songID": 1723, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25016, + "notecount": 1156, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": true + } + } + }, + { + "rgcID": null, + "chartID": "d1e9df67016f2739cff88c967bbe12b1413915d7", + "difficulty": "HYPER", + "songID": 1723, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25016, + "notecount": 717, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cce1e8157edd3cfbf45640daa88d974642e0813d", + "difficulty": "NORMAL", + "songID": 1723, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25016, + "notecount": 438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "206d5f496649f5a6a7d1ffdf283ceb622b7c9a61", + "difficulty": "ANOTHER", + "songID": 1724, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25017, + "notecount": 1815, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "64fb964815ae7a540c4b797daa8f27ef0889e5c3", + "difficulty": "HYPER", + "songID": 1724, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25017, + "notecount": 1293, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29fa9038fdb3a49d34d20d612c376b3f099fa68d", + "difficulty": "NORMAL", + "songID": 1724, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25017, + "notecount": 766, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0ea5730c466a2b526d709ff54964b6f93876ae6", + "difficulty": "ANOTHER", + "songID": 1724, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25017, + "notecount": 1822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "487c834f6e1d9d6a3945daa5826203c374eb74eb", + "difficulty": "HYPER", + "songID": 1724, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25017, + "notecount": 1211, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60ccadf781e4ecd8ac57118a025d726b50daab58", + "difficulty": "NORMAL", + "songID": 1724, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25017, + "notecount": 717, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b74dc62cedeccce7ab13ef239593684dab6dd3f", + "difficulty": "ANOTHER", + "songID": 1725, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25018, + "notecount": 1254, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "08264266aaf1e7e6faa57c3d5a3087ad87697649", + "difficulty": "HYPER", + "songID": 1725, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25018, + "notecount": 921, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b9c778af1cdff79821d9d27c492cbcaed448a95", + "difficulty": "NORMAL", + "songID": 1725, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25018, + "notecount": 414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5cd4ea0d88f96be39e5b407c8131ab1c60c5556a", + "difficulty": "ANOTHER", + "songID": 1725, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25018, + "notecount": 1241, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11, + "individualDifference": true + } + } + }, + { + "rgcID": null, + "chartID": "dc6aa58aea24430705ec004425a29dbfe3cf9efc", + "difficulty": "HYPER", + "songID": 1725, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25018, + "notecount": 844, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ed1d3df19c9b0a77af16e97df03ac9ee2eb260a", + "difficulty": "NORMAL", + "songID": 1725, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25018, + "notecount": 403, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca969809ec50f712992cbedd0f34c511e0b36c6b", + "difficulty": "ANOTHER", + "songID": 1726, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25019, + "notecount": 1452, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dab853ef1c998d40fd18352349df733f9be90245", + "difficulty": "HYPER", + "songID": 1726, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25019, + "notecount": 1069, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fdb77c7ef1f8454195d78bde0526f3e044081b59", + "difficulty": "NORMAL", + "songID": 1726, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25019, + "notecount": 619, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43ca4dca857a9567d907f2529ba576b1b7a3fb3d", + "difficulty": "ANOTHER", + "songID": 1726, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25019, + "notecount": 1498, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": true + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "ff302ad02557749bd5e5d109f65981cbb7a091fb", + "difficulty": "HYPER", + "songID": 1726, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25019, + "notecount": 1080, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87d469144cc0380963b26b3054ebf93d243f0bd9", + "difficulty": "NORMAL", + "songID": 1726, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25019, + "notecount": 614, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f669b6cb2b3b4bed37fb300f7db9b96b3590f738", + "difficulty": "ANOTHER", + "songID": 1727, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25020, + "notecount": 1686, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4912b2ee294cd184ae7cf235da694d541df9350", + "difficulty": "HYPER", + "songID": 1727, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25020, + "notecount": 926, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3b7e16cadbdcc6e829047b5bbf5db1e5bc424275", + "difficulty": "NORMAL", + "songID": 1727, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25020, + "notecount": 558, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8e195ea9d283e5c207a7430eba273811385bf7b", + "difficulty": "ANOTHER", + "songID": 1727, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25020, + "notecount": 1596, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "617200e216c94fb9a39d5c7e37bdd0da3f4bd883", + "difficulty": "HYPER", + "songID": 1727, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25020, + "notecount": 968, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0fa0aafdbaf7a08290b88a304594b8c364b20aeb", + "difficulty": "NORMAL", + "songID": 1727, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25020, + "notecount": 483, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e70162ae386913a286e41a05133d106ee2c5995", + "difficulty": "ANOTHER", + "songID": 1728, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25021, + "notecount": 1533, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ae5fc88f2b72e2d1f0718c2d25147d98e8db1ef", + "difficulty": "HYPER", + "songID": 1728, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25021, + "notecount": 906, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "58a3a912548778a9ad469d6d11076b497d5bddd5", + "difficulty": "NORMAL", + "songID": 1728, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25021, + "notecount": 500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eab2b6ccd43263cc4c618b451df97edb2e0f0ea2", + "difficulty": "ANOTHER", + "songID": 1728, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25021, + "notecount": 1505, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "chartID": "05f092dbcc41c1babe03956cd7da15ca6f997d12", + "difficulty": "BEGINNER", + "level": "2", + "levelNum": 2, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 1728, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 25021, + "arcChartID": null, + "notecount": 235, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "5d2c68508763bcb9ae276da7a81e80a2c4fb25f3", + "difficulty": "HYPER", + "songID": 1728, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25021, + "notecount": 914, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c4e1f118860bdd4cc04f10f96b8e975402372ade", + "difficulty": "NORMAL", + "songID": 1728, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25021, + "notecount": 528, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b62911c526fa6fb646d4d2320436cfd0f9e42934", + "difficulty": "ANOTHER", + "songID": 1729, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25022, + "notecount": 1445, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "96638847737f248cfb8a8265195fb4800e860d38", + "difficulty": "HYPER", + "songID": 1729, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25022, + "notecount": 838, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ceceefc795db5c89790d1c06e8e5e81f1d751f5", + "difficulty": "NORMAL", + "songID": 1729, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25022, + "notecount": 533, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "741898bb3a07398e8f4af65be920f9679ff4ca5a", + "difficulty": "ANOTHER", + "songID": 1729, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25022, + "notecount": 1395, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "8090fb064b200be1fbe391815b95bedf573a68ad", + "difficulty": "HYPER", + "songID": 1729, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25022, + "notecount": 803, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b95b72560028f39372eb2f6eddaf1955db42ff02", + "difficulty": "NORMAL", + "songID": 1729, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25022, + "notecount": 538, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ac286323c82a4c1b0106667258eb8dbe71320764", + "difficulty": "ANOTHER", + "songID": 1730, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25023, + "notecount": 1238, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f980ed610399a29852b39bb11f7a0b6401f26a95", + "difficulty": "HYPER", + "songID": 1730, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25023, + "notecount": 833, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d30c5205441b1b2911e90f4964bf32c9cc5cdf04", + "difficulty": "NORMAL", + "songID": 1730, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25023, + "notecount": 402, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2bff4a239ca8f75a6cf7c3d7c2d22544691df43e", + "difficulty": "ANOTHER", + "songID": 1730, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25023, + "notecount": 1265, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "375c7f3bff96f881a34c849b6446856b4a23d929", + "difficulty": "HYPER", + "songID": 1730, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25023, + "notecount": 833, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d781bff88b25799477fd4e16abfae72d1e3d788", + "difficulty": "NORMAL", + "songID": 1730, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25023, + "notecount": 435, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "900fa60d21d7e8d3f91758ffe63f60645e3e3ba6", + "difficulty": "ANOTHER", + "songID": 1731, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25024, + "notecount": 1127, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "57918d3407707a555de3552a230955978db90ac3", + "difficulty": "HYPER", + "songID": 1731, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25024, + "notecount": 722, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49ce3a2547adf4ed1e235e198feb12531751e928", + "difficulty": "NORMAL", + "songID": 1731, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25024, + "notecount": 433, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "15e869e31cc374d8f4eda09f9b05e9f5c03945b4", + "difficulty": "ANOTHER", + "songID": 1731, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25024, + "notecount": 1172, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2fb726fced2986e119f01da6948bc64b0376796c", + "difficulty": "HYPER", + "songID": 1731, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25024, + "notecount": 629, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d35432621f2762485f47e04e3998a0f54dcf9e1", + "difficulty": "NORMAL", + "songID": 1731, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 25024, + "notecount": 352, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94d4a481f8f6d77115ba7f6740e96b6dd4d5d0ca", + "difficulty": "ANOTHER", + "songID": 1732, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25025, + "notecount": 1743, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "878b3fb756338a9693391d42d41b454d4bea1251", + "difficulty": "HYPER", + "songID": 1732, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25025, + "notecount": 1155, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "225f37fdc0b8398f94cb48814a3e4319f541c23b", + "difficulty": "NORMAL", + "songID": 1732, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25025, + "notecount": 626, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "16ce86a0a541ed018a1f0a3a8d3c3f8d3a83f465", + "difficulty": "ANOTHER", + "songID": 1732, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25025, + "notecount": 1736, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f96c0ff8afdc792cb38f1381885874eda6bb45b", + "difficulty": "HYPER", + "songID": 1732, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25025, + "notecount": 1172, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b05b05b04e2a1056c61999c2b35958c7f464ea27", + "difficulty": "NORMAL", + "songID": 1732, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25025, + "notecount": 702, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5508e57f3600d1784ee5b2f026c982f2735b9ec3", + "difficulty": "ANOTHER", + "songID": 1733, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25026, + "notecount": 1246, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1235a0dd7c7e3d524bb3da7ae245ca76e40649ef", + "difficulty": "HYPER", + "songID": 1733, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25026, + "notecount": 1013, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab3478b19300b7c8ec10a2f73889211220766e0f", + "difficulty": "NORMAL", + "songID": 1733, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25026, + "notecount": 659, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1092e04c6b0b73eec9b0815dd2cc7c16ced5840", + "difficulty": "ANOTHER", + "songID": 1733, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25026, + "notecount": 1071, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2cf3f7907a1bb6e1c98ac4c7f506fc646465a7f7", + "difficulty": "HYPER", + "songID": 1733, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25026, + "notecount": 854, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51c68d1ad6ed0fc59263d9c0c63af21c4d191308", + "difficulty": "NORMAL", + "songID": 1733, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25026, + "notecount": 581, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60867369a227edf3d9487fa194994977a6d242c4", + "difficulty": "ANOTHER", + "songID": 1734, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25027, + "notecount": 1590, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "09e5ba50ffcb8b380eb10dda075ebddfb2307acc", + "difficulty": "HYPER", + "songID": 1734, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25027, + "notecount": 953, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2756670456d340fddb415c4f821bf81a71297fa", + "difficulty": "NORMAL", + "songID": 1734, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25027, + "notecount": 564, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "286750222a6c93654c188b8c79936432d89e4dc3", + "difficulty": "ANOTHER", + "songID": 1734, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25027, + "notecount": 1676, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "bec6a87b5aa16d115dea0372bf170ee9493b69a2", + "difficulty": "HYPER", + "songID": 1734, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25027, + "notecount": 823, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0425f46e14408806334f8191b7e323dd6b1abdf", + "difficulty": "NORMAL", + "songID": 1734, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25027, + "notecount": 469, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c763adea614155336175e311195d302121adbbd", + "difficulty": "ANOTHER", + "songID": 1735, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25029, + "notecount": 1798, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a10f350d5343c68883c02c247e1a6b00824f048", + "difficulty": "HYPER", + "songID": 1735, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25029, + "notecount": 1088, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "224058c790dd45823c86312b4c33c8d5dcfadd02", + "difficulty": "NORMAL", + "songID": 1735, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25029, + "notecount": 576, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c8ca57715e6f5f884f7474aefb974bbadb350088", + "difficulty": "ANOTHER", + "songID": 1735, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25029, + "notecount": 1826, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": true + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "02b9495745cd816a5874aabc67e856eabbc4adaa", + "difficulty": "HYPER", + "songID": 1735, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25029, + "notecount": 1042, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d3ae954830eb2137f52f10135c28e3c1fe7124f4", + "difficulty": "NORMAL", + "songID": 1735, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25029, + "notecount": 538, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a547cff75373f3559775f9135499fb1fc7bf2c9a", + "difficulty": "ANOTHER", + "songID": 1736, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25030, + "notecount": 1327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "557abadea7f597a6cd35a476641185cc9dfbadd7", + "difficulty": "HYPER", + "songID": 1736, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25030, + "notecount": 952, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b625c55cd00bc1d6faea810204c010b81ddc46ea", + "difficulty": "NORMAL", + "songID": 1736, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25030, + "notecount": 520, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d68709c37c0d62bf268548b05dc8a2a530d7bc87", + "difficulty": "ANOTHER", + "songID": 1736, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25030, + "notecount": 1339, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b23d07abf2e1de0ca61fe3b113099d60e24ef6a7", + "difficulty": "HYPER", + "songID": 1736, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25030, + "notecount": 925, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5736156f14db71eba56cc0b3d9dfbf046a4d795b", + "difficulty": "NORMAL", + "songID": 1736, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25030, + "notecount": 522, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "95c470db5523af50015bda1a9b15669261ae9622", + "difficulty": "ANOTHER", + "songID": 1737, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25031, + "notecount": 1303, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a27b4768e95b410c08686a1876e3bfdd2254864b", + "difficulty": "HYPER", + "songID": 1737, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25031, + "notecount": 772, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5790eb9a7c1a06740eebb99637e4897a5789016c", + "difficulty": "NORMAL", + "songID": 1737, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25031, + "notecount": 531, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dbeffc1e8a14728eb8429a36ea5f523923c0bf41", + "difficulty": "ANOTHER", + "songID": 1737, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25031, + "notecount": 1233, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "16858acb6136e4a24d788594ad990d41a057a291", + "difficulty": "HYPER", + "songID": 1737, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25031, + "notecount": 784, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c919fef03c6e30cf5064b1e22abd7412b521caf", + "difficulty": "NORMAL", + "songID": 1737, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25031, + "notecount": 438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "66f68edd69fc96874bed34912340ae399eb2fbe4", + "difficulty": "ANOTHER", + "songID": 1738, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25032, + "notecount": 1023, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5dd69b13cb53db8bb57df600b6660584f44053bd", + "difficulty": "HYPER", + "songID": 1738, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25032, + "notecount": 574, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "681a037fcb472fe1dd4d3c057a9c4f4499350519", + "difficulty": "NORMAL", + "songID": 1738, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 25032, + "notecount": 281, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "48ea3db5c8d36422a22f1c98161c81fefd0c2dca", + "difficulty": "ANOTHER", + "songID": 1738, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25032, + "notecount": 1049, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d2b98acdc50c8a3a5a69f1dbf7025d198deff8f1", + "difficulty": "HYPER", + "songID": 1738, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25032, + "notecount": 519, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc3d4c1125434fd44104a5e401737e42b238f264", + "difficulty": "NORMAL", + "songID": 1738, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 25032, + "notecount": 218, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8db0028a8bdb1f0e0690f7ebb9e5649e8312991a", + "difficulty": "ANOTHER", + "songID": 1739, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25033, + "notecount": 1206, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de1b28ae9c91f465654b4f3cb07e029c7c81f5c6", + "difficulty": "HYPER", + "songID": 1739, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25033, + "notecount": 729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34fe50fc2a761380286eca81e3c4ede0caed64d4", + "difficulty": "NORMAL", + "songID": 1739, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25033, + "notecount": 452, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3fba13e8f21b0b26166a59e11e0eb8a15c3c86f5", + "difficulty": "ANOTHER", + "songID": 1739, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25033, + "notecount": 1193, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a0878285fb74c1a3b6f1f517fe67548e916f2d06", + "difficulty": "HYPER", + "songID": 1739, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25033, + "notecount": 728, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c6966f18c41a2dfc8e9193256ba3a1bfa74c8022", + "difficulty": "NORMAL", + "songID": 1739, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25033, + "notecount": 404, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3fb43573c165d8903844cc2c49c510792a966f84", + "difficulty": "ANOTHER", + "songID": 1740, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25034, + "notecount": 1103, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f2046dd0856cfb1341f27ead617b1c608fc0e78", + "difficulty": "HYPER", + "songID": 1740, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25034, + "notecount": 670, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1dd494cc7aeb926195980b19939f6666e647bc9", + "difficulty": "NORMAL", + "songID": 1740, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25034, + "notecount": 480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a0851c27260781c74681250f30db19ec77122ee5", + "difficulty": "ANOTHER", + "songID": 1740, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25034, + "notecount": 1075, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1cb968b5d2dc0858103a853bc4eb2c3061b5c852", + "difficulty": "HYPER", + "songID": 1740, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25034, + "notecount": 683, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a10304a1781dfa0abc065e96033d908f27405aae", + "difficulty": "NORMAL", + "songID": 1740, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25034, + "notecount": 419, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19e09330562d5881c95cd5e857fce18750d4ba9c", + "difficulty": "ANOTHER", + "songID": 1741, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25028, + "notecount": 1304, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d3bf079e8a3deb7868e33a290fecb0683cd5195", + "difficulty": "HYPER", + "songID": 1741, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25028, + "notecount": 900, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6844e02033d15f5a21b752b9e973d5ee60ec9a58", + "difficulty": "NORMAL", + "songID": 1741, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25028, + "notecount": 587, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dfc476355e89ced61eb60ff28d4bfe113c7dae1f", + "difficulty": "ANOTHER", + "songID": 1741, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25028, + "notecount": 1361, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e666e856728fa7ce3c3a370ec4686171c60d1018", + "difficulty": "HYPER", + "songID": 1741, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25028, + "notecount": 968, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "96a87b72b0f78dab9ab0353fb95dbcf7bb382a0c", + "difficulty": "NORMAL", + "songID": 1741, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25028, + "notecount": 595, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a6c11434672ed39fbf0f05d14fff8af20f343650", + "difficulty": "ANOTHER", + "songID": 1742, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25035, + "notecount": 1215, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c58a55f9f4e729c8c17d38048f089a32f8fa7743", + "difficulty": "HYPER", + "songID": 1742, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25035, + "notecount": 777, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c8cfca0d1bf7bad79226cc6fb0ba0a35e89dd9eb", + "difficulty": "NORMAL", + "songID": 1742, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25035, + "notecount": 465, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ab75da8e597969ef749273d8887776d17cde69e", + "difficulty": "ANOTHER", + "songID": 1742, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25035, + "notecount": 1118, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54cf46183581e7e7b4640b3c8a0047af658cfe56", + "difficulty": "HYPER", + "songID": 1742, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25035, + "notecount": 732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "254bdab6de26d43266712fc57334879e74390ccf", + "difficulty": "NORMAL", + "songID": 1742, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25035, + "notecount": 438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "102da11d9a3838b05c40d0e8cf0a6f3dbda8b0a4", + "difficulty": "ANOTHER", + "songID": 1743, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25036, + "notecount": 1282, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "09755c247871fe9521eab67a8b54b98de369a4c2", + "difficulty": "HYPER", + "songID": 1743, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25036, + "notecount": 990, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "822753f841e8abbc1ec1c9641b5a5b96635531f8", + "difficulty": "NORMAL", + "songID": 1743, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25036, + "notecount": 670, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19c097a26c8a089028ad292b26d74d599a2af2a4", + "difficulty": "ANOTHER", + "songID": 1743, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25036, + "notecount": 1274, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22e490ed74cacac5ab14b67fd1482d639f578220", + "difficulty": "HYPER", + "songID": 1743, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25036, + "notecount": 980, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1eee8cc6fc49b08a3f7fa00c0552b1ede2a970d9", + "difficulty": "NORMAL", + "songID": 1743, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25036, + "notecount": 673, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b8451c0a04de529f0b0ec866961958aa8e0675ea", + "difficulty": "ANOTHER", + "songID": 1744, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25037, + "notecount": 1174, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "895d2ac21b846dfae7a0fa9c647d7915b49bbd5e", + "difficulty": "HYPER", + "songID": 1744, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25037, + "notecount": 779, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0683e04f8d43df6d978e993db25848b3f3e1cf7c", + "difficulty": "NORMAL", + "songID": 1744, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25037, + "notecount": 414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bc2ab0a51ddb21b8ab2ab6e052fd4bc2ee27856e", + "difficulty": "ANOTHER", + "songID": 1744, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25037, + "notecount": 1110, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "70eeb842614dc3840121d1fd1dfa062fb752f8f6", + "difficulty": "HYPER", + "songID": 1744, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25037, + "notecount": 795, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5e4d1366cbb0207cff5348e096fafb62c2a63e63", + "difficulty": "NORMAL", + "songID": 1744, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25037, + "notecount": 411, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82ed326a571c982f6cfc5ae605094da22bef21ec", + "difficulty": "ANOTHER", + "songID": 1745, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25038, + "notecount": 1393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b23b8f19ad1a9c3820698b93684372632752f035", + "difficulty": "HYPER", + "songID": 1745, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25038, + "notecount": 963, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ba9a180bb52bd24caba15f3a3041e99a1115ef7", + "difficulty": "NORMAL", + "songID": 1745, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25038, + "notecount": 503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73b7068d0467ec2e108e1200b35197dd76fd4cbe", + "difficulty": "ANOTHER", + "songID": 1745, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25038, + "notecount": 1426, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "83392303f40762e6d7b5882d08fd524647a7e197", + "difficulty": "HYPER", + "songID": 1745, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25038, + "notecount": 994, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89ed0ee6e711747777e49c1735b1b934d1de308c", + "difficulty": "NORMAL", + "songID": 1745, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25038, + "notecount": 523, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26e193d011e9dd2f9b629099cc3146e80deec56e", + "difficulty": "ANOTHER", + "songID": 1746, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25039, + "notecount": 1482, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db284a16875e7768ba4044a077e614bdfcf16e1f", + "difficulty": "HYPER", + "songID": 1746, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25039, + "notecount": 852, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a9e55c24f48d5a0f749aa15512f1d7cec8322a7", + "difficulty": "NORMAL", + "songID": 1746, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25039, + "notecount": 507, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a23907b7552a201a91cbf8d689e5ddf0c38189b9", + "difficulty": "ANOTHER", + "songID": 1746, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25039, + "notecount": 1481, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5733ef5f4deb65a4bc7e44e0cc3d87a995f381fd", + "difficulty": "HYPER", + "songID": 1746, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25039, + "notecount": 880, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c00617e578585ac422452d76d90fa46d1cf17d0d", + "difficulty": "NORMAL", + "songID": 1746, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25039, + "notecount": 511, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "70ed34aac295bbc89f118d2571d0baf91f68a438", + "difficulty": "ANOTHER", + "songID": 1747, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25040, + "notecount": 1717, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb0551ba9f0e53446de679882d050c74af1ac57a", + "difficulty": "HYPER", + "songID": 1747, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25040, + "notecount": 1001, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a91d466e9f367afd255a6850852ac7df913fde09", + "difficulty": "NORMAL", + "songID": 1747, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25040, + "notecount": 566, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8cf9eeb453c963d094a23fab67fca2c03af5fd27", + "difficulty": "ANOTHER", + "songID": 1747, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25040, + "notecount": 1822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5f6bbaaa65761b7e33d2f9cc4908772ac570d130", + "difficulty": "HYPER", + "songID": 1747, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25040, + "notecount": 1054, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "491eae4b445876de79e0325f25c7aaecf82926e3", + "difficulty": "NORMAL", + "songID": 1747, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25040, + "notecount": 546, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "209abc2bc1cdb24696cbb9f59a6376e15a1efbed", + "difficulty": "ANOTHER", + "songID": 1748, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25041, + "notecount": 1121, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f13f9151cba5f1a7c6b9387dfe5c1488fbb8711", + "difficulty": "HYPER", + "songID": 1748, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25041, + "notecount": 761, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb23d8f7b694891218d28ae767457d8319e32f4e", + "difficulty": "NORMAL", + "songID": 1748, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25041, + "notecount": 409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c8f897b98c380c4c25747d9deace2bb543e7afed", + "difficulty": "ANOTHER", + "songID": 1748, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25041, + "notecount": 1127, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d315da985b6599b2f1bc90d8aa71ef418316182", + "difficulty": "HYPER", + "songID": 1748, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25041, + "notecount": 810, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f6495cba118eb5e13efd3fe94408739b2360a25a", + "difficulty": "NORMAL", + "songID": 1748, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25041, + "notecount": 413, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6e3cec263b6673dacdbc8225ca05b72692b0fa67", + "difficulty": "ANOTHER", + "songID": 1749, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25042, + "notecount": 1385, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c66bb3f64d482b1518b5924c254359c414a449e", + "difficulty": "HYPER", + "songID": 1749, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25042, + "notecount": 942, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe5db61fac6e29f29d5f42ac2dca485afeb7326b", + "difficulty": "NORMAL", + "songID": 1749, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25042, + "notecount": 570, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5b0d668a3bb94bd7ef7250d43bda8911ad41e1a6", + "difficulty": "ANOTHER", + "songID": 1749, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25042, + "notecount": 1329, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "dd46add5866f3cab83a194bca1c474951234359c", + "difficulty": "HYPER", + "songID": 1749, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25042, + "notecount": 892, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b772f99ff7654f739cd0493fa24b04b9e25596c8", + "difficulty": "NORMAL", + "songID": 1749, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25042, + "notecount": 561, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "efccc15a9ce89034cff8e85edf67b08b086283f9", + "difficulty": "ANOTHER", + "songID": 1750, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25043, + "notecount": 1095, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dbc721e506ccd723a46a4c70fe13042da65ce4e8", + "difficulty": "HYPER", + "songID": 1750, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25043, + "notecount": 740, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1578a461463b5b4ac9d832a12ed1d6648993e330", + "difficulty": "NORMAL", + "songID": 1750, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25043, + "notecount": 443, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f82fba5d444f60c78114a8f007d2549e67c03d88", + "difficulty": "ANOTHER", + "songID": 1750, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25043, + "notecount": 1151, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": true + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "32dffb55ee317ca11e292b76bbfa40565448d34a", + "difficulty": "HYPER", + "songID": 1750, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25043, + "notecount": 767, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "592ae3e8535e5654e8df84ffff20e45b77340d92", + "difficulty": "NORMAL", + "songID": 1750, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25043, + "notecount": 467, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d7b50600841643f6535c3eea397f87b2bc30675", + "difficulty": "ANOTHER", + "songID": 1751, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25044, + "notecount": 1109, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e2e4e942d213899025513faa4899fc0dc37f4618", + "difficulty": "HYPER", + "songID": 1751, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25044, + "notecount": 702, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce3730708b7ff4c6ad79bdc525db5ed3a4ea9710", + "difficulty": "NORMAL", + "songID": 1751, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25044, + "notecount": 416, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ccb6f59d9d7d99ad264355201511c55e109a5057", + "difficulty": "ANOTHER", + "songID": 1751, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25044, + "notecount": 1161, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a7592cd75c6167ffa227fd2e03ea55b16c5d3f32", + "difficulty": "HYPER", + "songID": 1751, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25044, + "notecount": 703, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3198d10ad2b91e674c2b216f33171a34b1f74814", + "difficulty": "NORMAL", + "songID": 1751, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25044, + "notecount": 416, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bbf97dd23025cdc399edcc1292a0a1a9a965da94", + "difficulty": "ANOTHER", + "songID": 1752, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25045, + "notecount": 1333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cc3a923400410be079bc823a4e48fab6682301d0", + "difficulty": "HYPER", + "songID": 1752, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25045, + "notecount": 851, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee3d12a46fa1d2726941fadb450b3a295833af96", + "difficulty": "NORMAL", + "songID": 1752, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25045, + "notecount": 538, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d2848069f8e232eb901b87021e458bb5da38d298", + "difficulty": "ANOTHER", + "songID": 1752, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25045, + "notecount": 1327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eb31d129e32141ebf883ca299e3ca8c7c1807cb6", + "difficulty": "HYPER", + "songID": 1752, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25045, + "notecount": 866, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1177f1dd249a45d140d10df9dc2b508afa084fa4", + "difficulty": "NORMAL", + "songID": 1752, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25045, + "notecount": 524, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d2ab084cfea7290f4251b95376bc06dd1df1fb3", + "difficulty": "ANOTHER", + "songID": 1753, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25046, + "notecount": 1141, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c4b4b6c31f2e510a004c8c1cf3b328cb3256655", + "difficulty": "HYPER", + "songID": 1753, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25046, + "notecount": 697, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4d728d097cc822f78df4ff23b057b9f37e292429", + "difficulty": "NORMAL", + "songID": 1753, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 25046, + "notecount": 267, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b96810bc12c68746955aa829db710b2af9346b4", + "difficulty": "ANOTHER", + "songID": 1753, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25046, + "notecount": 1149, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74df6c0cced085744c16972c4336f04a6a38a656", + "difficulty": "HYPER", + "songID": 1753, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25046, + "notecount": 704, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c25b96d1bf2ae9386fc0d40414cf5cbc279b6df", + "difficulty": "NORMAL", + "songID": 1753, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 25046, + "notecount": 258, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "91cf93523cdefd390820ed5018ec421ac97e40f7", + "difficulty": "ANOTHER", + "songID": 1754, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25047, + "notecount": 1257, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c6e84492408cab192b939436ccbb71427f4ecff", + "difficulty": "HYPER", + "songID": 1754, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25047, + "notecount": 809, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d31755d2f7c366b15928ffca5fe1132b15357ed8", + "difficulty": "NORMAL", + "songID": 1754, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25047, + "notecount": 479, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8dceaab2357a890bd43402bddff683ff6e7c3ad6", + "difficulty": "ANOTHER", + "songID": 1754, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25047, + "notecount": 1276, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e567ba767ed0ddac747b62939fa4b66ca7072809", + "difficulty": "HYPER", + "songID": 1754, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25047, + "notecount": 836, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c6533ab23941a3a82ce759e873c9aa536b036ace", + "difficulty": "NORMAL", + "songID": 1754, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25047, + "notecount": 487, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f25244b78fcc485e999e8fa7a57ce6e63417f3f", + "difficulty": "ANOTHER", + "songID": 1755, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25048, + "notecount": 1397, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f06c947d9c7aa330f1cd36dec8cd5cb024db360f", + "difficulty": "HYPER", + "songID": 1755, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25048, + "notecount": 910, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5fe445023e115a11ad569039769237a8e5f10f0d", + "difficulty": "NORMAL", + "songID": 1755, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25048, + "notecount": 601, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea6a59fe89d3df28e844657502bc5f20030af776", + "difficulty": "ANOTHER", + "songID": 1755, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25048, + "notecount": 1438, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f32411f848ab53624f0a597d5f6602a4b9c077f0", + "difficulty": "HYPER", + "songID": 1755, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25048, + "notecount": 811, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "709599ffe3db716f26d26379273972d22dd5f82d", + "difficulty": "NORMAL", + "songID": 1755, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25048, + "notecount": 556, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "edd55958d0a403e3a0ed25d18aa0fbb500ae27a7", + "difficulty": "ANOTHER", + "songID": 1756, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25049, + "notecount": 1740, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b33cca8845a31cc659aac396dfbdf404b719d39", + "difficulty": "HYPER", + "songID": 1756, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25049, + "notecount": 1225, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb54ca7f9a1e93b598aa5ecef1f6c8353eb370f2", + "difficulty": "NORMAL", + "songID": 1756, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25049, + "notecount": 687, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b6c56a6e3b8ffea9c64cb07b1ed32240a0cbc23", + "difficulty": "ANOTHER", + "songID": 1756, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25049, + "notecount": 1803, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "693ce8096706f19e3eb15535c012092419a922af", + "difficulty": "HYPER", + "songID": 1756, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25049, + "notecount": 1164, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "252c8aeb81e0f29fca85fac3b37df309614dd843", + "difficulty": "NORMAL", + "songID": 1756, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25049, + "notecount": 667, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ed78c73125e30e551eef8602e8a8567205e3b16", + "difficulty": "ANOTHER", + "songID": 1757, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25052, + "notecount": 1573, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03a4cc983abc50fca859bb982ce684a57119e727", + "difficulty": "HYPER", + "songID": 1757, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25052, + "notecount": 1142, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "812d8d2fb481314358a4ac2616129aeaf38abdea", + "difficulty": "NORMAL", + "songID": 1757, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25052, + "notecount": 669, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9db120283211045041970412320e2841c1f4a513", + "difficulty": "ANOTHER", + "songID": 1757, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25052, + "notecount": 1539, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "23e0b26b0c9f79e0174ef967f32801cb6aeac06e", + "difficulty": "HYPER", + "songID": 1757, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25052, + "notecount": 1007, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5804cd207ddeaaee40a4bc95d9150e32fa3dbbf7", + "difficulty": "NORMAL", + "songID": 1757, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25052, + "notecount": 690, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dca774bf295ad16972af3350e03675a9f73ac92d", + "difficulty": "ANOTHER", + "songID": 1758, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25053, + "notecount": 1145, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "37ce134fbbfcd1df4ec3cd5f5bc6103f01f01076", + "difficulty": "HYPER", + "songID": 1758, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25053, + "notecount": 770, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e5f2011041d1c6b2419ad7b87b50c01ab7acb566", + "difficulty": "NORMAL", + "songID": 1758, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25053, + "notecount": 479, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0b93be0f7d804a821bf0b40b8916532b2328b43", + "difficulty": "ANOTHER", + "songID": 1758, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25053, + "notecount": 1182, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0a194c54ed8eb334b317967842c3a982f320059d", + "difficulty": "HYPER", + "songID": 1758, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25053, + "notecount": 793, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e65f2e8752604900a8bda3d158c670b4448ab29f", + "difficulty": "NORMAL", + "songID": 1758, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25053, + "notecount": 495, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ed7c89c1baad65ced55482ad0e9790bcf3c7ad4", + "difficulty": "ANOTHER", + "songID": 1759, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25054, + "notecount": 959, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb3a887ebcaa5d1127fc057c3b48c6c1810a209b", + "difficulty": "HYPER", + "songID": 1759, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25054, + "notecount": 554, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7293cae1c55024283179d7c46c92cd78ea0c3a14", + "difficulty": "NORMAL", + "songID": 1759, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25054, + "notecount": 328, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae52f050801fce5168d94141cd57f3836c0606f0", + "difficulty": "ANOTHER", + "songID": 1759, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25054, + "notecount": 959, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bff845adea6766b124b82189c7a5c61661c0c2b5", + "difficulty": "HYPER", + "songID": 1759, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25054, + "notecount": 538, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b4e4cac573dd8e8d9e43c8c3759956b3a59ba15", + "difficulty": "NORMAL", + "songID": 1759, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25054, + "notecount": 325, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d5b64d333b08e5b349df16eaafd74ce93b49f1da", + "difficulty": "ANOTHER", + "songID": 1760, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25055, + "notecount": 1196, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "158ee1620fb7be5c80deb9200ed97e3950b1680b", + "difficulty": "HYPER", + "songID": 1760, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25055, + "notecount": 882, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e00b69e2e9c455d669c026f92f19d267b5c32bf7", + "difficulty": "NORMAL", + "songID": 1760, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25055, + "notecount": 521, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9bffbdf8562825dee847d2c2c13b81d531be56eb", + "difficulty": "ANOTHER", + "songID": 1760, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25055, + "notecount": 1218, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d00b232dfcaef911f42535d20b3cffa064ed3a0", + "difficulty": "HYPER", + "songID": 1760, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25055, + "notecount": 912, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a21f764c851c54bb48660e26074c7d03233097a", + "difficulty": "NORMAL", + "songID": 1760, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25055, + "notecount": 540, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cdfb9b536a8f536342bc7a3177e95e93ec0e28b0", + "difficulty": "ANOTHER", + "songID": 1761, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25056, + "notecount": 1000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2cf275ac9af2d5f1df7326198ec6d1a0a805f9df", + "difficulty": "HYPER", + "songID": 1761, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25056, + "notecount": 686, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c8cdaf2b4260c54aab988ef0ab1eaccda3a8da0", + "difficulty": "NORMAL", + "songID": 1761, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25056, + "notecount": 341, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7363bc9daec62d37da8d64081a24e4e7c4676da5", + "difficulty": "ANOTHER", + "songID": 1761, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25056, + "notecount": 966, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c93446d6c788762cbed28b7756cfc66a46ce92f", + "difficulty": "HYPER", + "songID": 1761, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25056, + "notecount": 645, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ee1d6fafae829b6c71693edbee62bae51725cc3", + "difficulty": "NORMAL", + "songID": 1761, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 25056, + "notecount": 296, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc023565c317d56779c9ed4f9379ada227d3daf6", + "difficulty": "ANOTHER", + "songID": 1762, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25057, + "notecount": 1035, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ba9f6e5bd4fef0dc55f21b0a70742019877997b", + "difficulty": "HYPER", + "songID": 1762, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25057, + "notecount": 572, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79a27cee0dd7a2ea9d82663bf9f01cf36ec6ccf7", + "difficulty": "NORMAL", + "songID": 1762, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25057, + "notecount": 325, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f814652247193ac052cceb7f23265e3e3cd11a0a", + "difficulty": "ANOTHER", + "songID": 1762, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25057, + "notecount": 979, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "264a8279e7961b643c1efab4cc41d97b1f502eea", + "difficulty": "HYPER", + "songID": 1762, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25057, + "notecount": 596, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32389ccd240aa6bda5a3385a0bb482b8051fb6aa", + "difficulty": "NORMAL", + "songID": 1762, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25057, + "notecount": 323, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "949b0a149caab3e731ec4f856990a7cf1efaf386", + "difficulty": "ANOTHER", + "songID": 1763, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25058, + "notecount": 1142, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9be5bc5d37480939642e229e68f3a8953ce0a0de", + "difficulty": "HYPER", + "songID": 1763, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25058, + "notecount": 737, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd23ba6a60f900fb08bea6e49edd245421e2a9d6", + "difficulty": "NORMAL", + "songID": 1763, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25058, + "notecount": 372, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "76ebe193f95bded684cb3e9b874ffad9ef157101", + "difficulty": "ANOTHER", + "songID": 1763, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25058, + "notecount": 1148, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": true + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.40", + "value": 13.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "de3f7a851be483db3c274071d68dc9b8a5fe89c4", + "difficulty": "HYPER", + "songID": 1763, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25058, + "notecount": 710, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "01269cac30f38fbfb97fb57d2ed01b6aabf49fa7", + "difficulty": "NORMAL", + "songID": 1763, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25058, + "notecount": 359, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "033214642c69d629d2a2f4a1ef2b58fa0714a851", + "difficulty": "ANOTHER", + "songID": 1764, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25059, + "notecount": 1614, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fb599369bd906215dec5d6447b315604c784e3f9", + "difficulty": "HYPER", + "songID": 1764, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25059, + "notecount": 1127, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "76304fa3d59402b60e24c0bae6088404e9558b8d", + "difficulty": "NORMAL", + "songID": 1764, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25059, + "notecount": 673, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7d49b4a3180fc92c192bbf0c47aacffb28d50df2", + "difficulty": "ANOTHER", + "songID": 1764, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25059, + "notecount": 1587, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1efed0d0ad95ff26142c576e63b8c602d39e0bfc", + "difficulty": "BEGINNER", + "songID": 1764, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 25059, + "notecount": 220, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9b3378b3f7ed2bebdcf72158a10c876a2a503df", + "difficulty": "HYPER", + "songID": 1764, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25059, + "notecount": 1083, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73be5288f9b7ecc892e0de1246ffd70ad935ab16", + "difficulty": "NORMAL", + "songID": 1764, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25059, + "notecount": 626, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4fdc3b2fcad7fd65a8065f5e7cc86ad6be3eb9fb", + "difficulty": "ANOTHER", + "songID": 1765, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25060, + "notecount": 1210, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a063427e6029d72f0d823d459cbe6904d7dbcea7", + "difficulty": "HYPER", + "songID": 1765, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25060, + "notecount": 845, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "405cd1628ebbee18dc597b8543abbbdd693ded5d", + "difficulty": "NORMAL", + "songID": 1765, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25060, + "notecount": 489, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "44dc68175f485bce5dcfdb8d5527eb46606755c0", + "difficulty": "ANOTHER", + "songID": 1765, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25060, + "notecount": 1180, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0ed319cb5f6fa1c4b47fa38a1c3c0c9f304cedfb", + "difficulty": "HYPER", + "songID": 1765, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25060, + "notecount": 826, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82d36a65802891bf3d5bb0dee3c9da55375a1413", + "difficulty": "NORMAL", + "songID": 1765, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25060, + "notecount": 477, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3cfde1021353883d5065d2716539f4c6a735951f", + "difficulty": "ANOTHER", + "songID": 1766, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25061, + "notecount": 1061, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a39f7badb7e13428541a6cd739bd54345bee9ea", + "difficulty": "HYPER", + "songID": 1766, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25061, + "notecount": 724, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0fc89c843b7ad03dc8160f58f152cbef534bde53", + "difficulty": "NORMAL", + "songID": 1766, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25061, + "notecount": 389, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "273e58a87990d8f2adbce1e77c4952ad6c75edcb", + "difficulty": "ANOTHER", + "songID": 1766, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25061, + "notecount": 1081, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "99f5e1aaa1fea4b2f470ab846bc8099429fb805e", + "difficulty": "HYPER", + "songID": 1766, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25061, + "notecount": 739, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "569c0b804da6b80edb6925ad4c25cce2c5e83b3f", + "difficulty": "NORMAL", + "songID": 1766, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25061, + "notecount": 419, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4c3c68b4f284add725b058721fe0ffbe06d1cd1", + "difficulty": "ANOTHER", + "songID": 1767, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25050, + "notecount": 1423, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b3ef79e8cf1853b019607fdad7123da38fe2f8e", + "difficulty": "HYPER", + "songID": 1767, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25050, + "notecount": 909, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ffd16e799104e94371a686cd20eaf1791dfe26ad", + "difficulty": "NORMAL", + "songID": 1767, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25050, + "notecount": 531, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "16cad3043ef96d0c1e92d8aa876382f2981ae19c", + "difficulty": "ANOTHER", + "songID": 1767, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25050, + "notecount": 1408, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "075cd824b6802443311264ba37f14e4b8625af87", + "difficulty": "HYPER", + "songID": 1767, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25050, + "notecount": 892, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b7451164d41a3ad2cfb5579c5b65e7cf4257529", + "difficulty": "NORMAL", + "songID": 1767, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25050, + "notecount": 469, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4ae1e5993dbafea4ef95deea6b98bf485c920af8", + "difficulty": "ANOTHER", + "songID": 1768, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25062, + "notecount": 1156, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5490fa83a315066788ff18cffc4a9ef461ee0d47", + "difficulty": "HYPER", + "songID": 1768, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25062, + "notecount": 796, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1802e768ffe8e17c7748cb5d718d3a7dc92c24f0", + "difficulty": "NORMAL", + "songID": 1768, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25062, + "notecount": 478, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aad4a808b4c7d3fd4abce2157f8c8508702feaf4", + "difficulty": "ANOTHER", + "songID": 1768, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25062, + "notecount": 1214, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "88c834a544b909e178b2dddc5addd6b9e7484e8d", + "difficulty": "HYPER", + "songID": 1768, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25062, + "notecount": 808, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "25d9943796e12404b59bdaca31a30290bfc70188", + "difficulty": "NORMAL", + "songID": 1768, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25062, + "notecount": 452, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51e0286faf1b5250780870d767ecd1308e075896", + "difficulty": "ANOTHER", + "songID": 1769, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25063, + "notecount": 1698, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "07896dad44d5a9562ab1e9bc677969b23ae4f331", + "difficulty": "HYPER", + "songID": 1769, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25063, + "notecount": 1141, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8bd62cb90f81f12e56e996b721b3aa91f0216c3", + "difficulty": "NORMAL", + "songID": 1769, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25063, + "notecount": 690, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8dadd47f7ea58bf8ae12f292db6205e3af2538cf", + "difficulty": "ANOTHER", + "songID": 1769, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25063, + "notecount": 1637, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d06a6fa2fc3ed12b2662a609a8fb6ce054c22353", + "difficulty": "BEGINNER", + "songID": 1769, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 25063, + "notecount": 276, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bc86458f060faeef4f72b4b2d5eeb5a20ddd684f", + "difficulty": "HYPER", + "songID": 1769, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25063, + "notecount": 1238, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8eb97bfa95bafcb81b35e9f76926fa059a39c707", + "difficulty": "NORMAL", + "songID": 1769, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25063, + "notecount": 701, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ccda7660a666679cf436b2df9c29bfc1e55b70db", + "difficulty": "ANOTHER", + "songID": 1770, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25051, + "notecount": 1332, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d684a0809173e5ba62d03400a6a9102ce23b845a", + "difficulty": "HYPER", + "songID": 1770, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25051, + "notecount": 909, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a6ba6964812db6de46793326221c98dbd21b0c0", + "difficulty": "NORMAL", + "songID": 1770, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25051, + "notecount": 549, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c7721e627ec2f46f14bb0a51f519d7446150244", + "difficulty": "ANOTHER", + "songID": 1770, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25051, + "notecount": 1345, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11, + "individualDifference": true + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0618be7cb4147757439c57813982e281772e8064", + "difficulty": "HYPER", + "songID": 1770, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25051, + "notecount": 781, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "01fcda0a2132da84c98fca392a3cb511374afc42", + "difficulty": "NORMAL", + "songID": 1770, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25051, + "notecount": 517, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c8398d69c271dfef792eb8fb5cd9258424a17fb", + "difficulty": "ANOTHER", + "songID": 1771, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25064, + "notecount": 1368, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c8bd4d1443be304844525325be9a624f9a67a17", + "difficulty": "HYPER", + "songID": 1771, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25064, + "notecount": 843, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "437e588d6daf9526951ed4a496459a354fedaf59", + "difficulty": "NORMAL", + "songID": 1771, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25064, + "notecount": 526, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02316a814ab7c07f7fb4e4545b7a585713e0aba0", + "difficulty": "ANOTHER", + "songID": 1771, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25064, + "notecount": 1302, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c33c9051bf1fc0b3f3dd59639e520a8df6ced34", + "difficulty": "HYPER", + "songID": 1771, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25064, + "notecount": 840, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "574d0b17aabfa548edd0c1b23e63eaf9b45f50cc", + "difficulty": "NORMAL", + "songID": 1771, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25064, + "notecount": 511, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "44c9a05d3c895cd40835cf11de27452f91b8efee", + "difficulty": "ANOTHER", + "songID": 1772, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25065, + "notecount": 1042, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24e9db2a2a05cd21acdd51f4629a328f800c48c0", + "difficulty": "HYPER", + "songID": 1772, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25065, + "notecount": 645, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "660eac5ba78e4e73f498a0846d395d4f158eb8d9", + "difficulty": "NORMAL", + "songID": 1772, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25065, + "notecount": 379, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8fead0e73a78980b8b77105302160f62c7116789", + "difficulty": "ANOTHER", + "songID": 1772, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25065, + "notecount": 1057, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d2ff27ab4657bae7d34c2ce3a743e06c9cc30f0d", + "difficulty": "HYPER", + "songID": 1772, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25065, + "notecount": 670, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "14c341ecefd41d6c4dcaed7450897591964c1113", + "difficulty": "NORMAL", + "songID": 1772, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 25065, + "notecount": 323, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a1078b4c8ba9b4716abb7430ef70c2a96c88ef1", + "difficulty": "ANOTHER", + "songID": 1773, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25066, + "notecount": 1231, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab8570ce3bf69f293c212bdb764e9fe8ab80de6c", + "difficulty": "HYPER", + "songID": 1773, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25066, + "notecount": 730, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "643714953db4768c7d16ce75376a2529e9fa9bd8", + "difficulty": "NORMAL", + "songID": 1773, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25066, + "notecount": 390, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b49a37b3c41099fda990a05814467b69a25c0404", + "difficulty": "ANOTHER", + "songID": 1773, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25066, + "notecount": 1202, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d46f77255e7e6c710e5b95b93e0d12f1b9aae6d1", + "difficulty": "HYPER", + "songID": 1773, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25066, + "notecount": 729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52ecb6028febf422509258b187ebd7684cd79087", + "difficulty": "NORMAL", + "songID": 1773, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25066, + "notecount": 388, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "179401951efa1df7f216861cd8641049e7192adc", + "difficulty": "ANOTHER", + "songID": 1774, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25067, + "notecount": 1340, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0705641b2fa2b6407058f302df653ad1f336405d", + "difficulty": "HYPER", + "songID": 1774, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25067, + "notecount": 889, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "100290e098087bb39dbf4ab516b049d677d14e59", + "difficulty": "NORMAL", + "songID": 1774, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25067, + "notecount": 585, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd0e5db7ae6852814b9bbec344eca3301846c999", + "difficulty": "ANOTHER", + "songID": 1774, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25067, + "notecount": 1349, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "18f0d66aa6bab4cd53bbdacecbda64444d92bcfe", + "difficulty": "HYPER", + "songID": 1774, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25067, + "notecount": 915, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03049332da6f3c857bf9c05b0b6d975c7e05b1be", + "difficulty": "NORMAL", + "songID": 1774, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25067, + "notecount": 624, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f9644942b2885d70b5099dded554bd312de44d8", + "difficulty": "ANOTHER", + "songID": 1775, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25068, + "notecount": 1105, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0ec892dfef3bbb56629eedeb74cdcb2d99a1169", + "difficulty": "HYPER", + "songID": 1775, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25068, + "notecount": 863, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cdaa8bc9e5e463ba3fec3c79de56dd9e6ea137fe", + "difficulty": "NORMAL", + "songID": 1775, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25068, + "notecount": 434, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19ff98508378cd3ce2fb11e74408b76a141df978", + "difficulty": "ANOTHER", + "songID": 1775, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25068, + "notecount": 1108, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5b296b532db56c994ef3761e09f163e379479e8e", + "difficulty": "HYPER", + "songID": 1775, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25068, + "notecount": 822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "88d8de88d4dea1df63e83806aa442883ec553bd5", + "difficulty": "NORMAL", + "songID": 1775, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25068, + "notecount": 430, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93c5adcc257352b3f88ee7a491e21e316c390a83", + "difficulty": "ANOTHER", + "songID": 1776, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25069, + "notecount": 1346, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1b2216c89991330ff46365db37de8662fea896d", + "difficulty": "HYPER", + "songID": 1776, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25069, + "notecount": 765, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b45f17bd05c27886d8efa9fbc7933b4adca427b8", + "difficulty": "NORMAL", + "songID": 1776, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25069, + "notecount": 503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c3d8b7f75334acb8107c24e1d90a4e6161aaa8e5", + "difficulty": "ANOTHER", + "songID": 1776, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25069, + "notecount": 1321, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a83cb005d1f607c5321663000175c4ca3fb0fe44", + "difficulty": "HYPER", + "songID": 1776, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25069, + "notecount": 728, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74057da31f1c50f63ed48cdfeb002fa9f189647e", + "difficulty": "NORMAL", + "songID": 1776, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25069, + "notecount": 493, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "effbdff50631749e960d01906fdb960b28e482e7", + "difficulty": "ANOTHER", + "songID": 1777, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25070, + "notecount": 1128, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4842d7aa7a203841f0d50572d4da5fa6a0d8b09b", + "difficulty": "HYPER", + "songID": 1777, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25070, + "notecount": 807, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd2daa57a0b8cc9d328f341c343a180dd1f46080", + "difficulty": "NORMAL", + "songID": 1777, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25070, + "notecount": 503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34db1892e97840fdf8eadfd7428eb8e8ea288de2", + "difficulty": "ANOTHER", + "songID": 1777, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25070, + "notecount": 1138, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd7c7c00ea604c43ba762bf3543bdc6b4601e6a7", + "difficulty": "HYPER", + "songID": 1777, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25070, + "notecount": 797, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94dd5c9681a707eb5725446b6b0e6d7a37810961", + "difficulty": "NORMAL", + "songID": 1777, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25070, + "notecount": 459, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "304d3a20fc9617f4f503f4d63828b319400307f2", + "difficulty": "ANOTHER", + "songID": 1778, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25071, + "notecount": 1293, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "48f03c337bab73114a232c3180e9a97078765705", + "difficulty": "HYPER", + "songID": 1778, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25071, + "notecount": 983, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b5dd7280c9eb75855ec8ae45357aa60ddfa3893", + "difficulty": "NORMAL", + "songID": 1778, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25071, + "notecount": 404, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d7e771603c1bab689430d3f7762466f45a495de", + "difficulty": "ANOTHER", + "songID": 1778, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25071, + "notecount": 1293, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d4b7c2381da1865e0f795e3a4d77f09da9137f9", + "difficulty": "HYPER", + "songID": 1778, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25071, + "notecount": 983, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "48d78a9bfe3dcc30f4c4d415e48ce6de44c151b4", + "difficulty": "NORMAL", + "songID": 1778, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25071, + "notecount": 404, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e934135a65a3247aed385165edaf1cd2b6c91471", + "difficulty": "ANOTHER", + "songID": 1779, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25072, + "notecount": 1252, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12b5c756e825f209d5bc173f6e2d01dda4772e2c", + "difficulty": "HYPER", + "songID": 1779, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25072, + "notecount": 798, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8db4c9557c59d8765f8303d198861ae7fba1ecfc", + "difficulty": "NORMAL", + "songID": 1779, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25072, + "notecount": 417, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "59508cf043b0188f75c7b98c426146f1879f6324", + "difficulty": "ANOTHER", + "songID": 1779, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25072, + "notecount": 1359, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9df0314e4cdfff67fd6e5eae96d21f20b901098d", + "difficulty": "HYPER", + "songID": 1779, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25072, + "notecount": 853, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63a512e9e6350fdd743fa3d177a440b805f53c97", + "difficulty": "NORMAL", + "songID": 1779, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25072, + "notecount": 455, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c1136a668b2e7776ba67a3d6419c783f55d00b24", + "difficulty": "ANOTHER", + "songID": 1780, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25073, + "notecount": 1397, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d54228f43990e53134e24eba9c2760e15dcd7e6", + "difficulty": "HYPER", + "songID": 1780, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25073, + "notecount": 912, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74a2ac2b4f826b1f51c4191202863045b6b082cc", + "difficulty": "NORMAL", + "songID": 1780, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25073, + "notecount": 427, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "613de742bf577a0e2388030fc00b46bca022c7be", + "difficulty": "ANOTHER", + "songID": 1780, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25073, + "notecount": 1361, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a05420dd4019fa14bb1129f52d911229b169b2d8", + "difficulty": "HYPER", + "songID": 1780, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25073, + "notecount": 915, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4fa2281338678d7d1175629cb8155dcea5180fcc", + "difficulty": "NORMAL", + "songID": 1780, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25073, + "notecount": 432, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "36a75fcf83b6347d2e4bd6599e7ddecd86e0a1ea", + "difficulty": "ANOTHER", + "songID": 1781, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25074, + "notecount": 1757, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4e79eecf331cb5fd84cfaf36df3ab27eb07bb6f", + "difficulty": "HYPER", + "songID": 1781, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25074, + "notecount": 1074, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2c935e128dcc0466468a1015a5622ec220c881f", + "difficulty": "NORMAL", + "songID": 1781, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25074, + "notecount": 611, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85f0eeba6c62ff3adb13e1f79cc119a247919cd4", + "difficulty": "ANOTHER", + "songID": 1781, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25074, + "notecount": 1721, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7c2dc3f32c56b1eb3b1fe01d1e523facdc7a9b3c", + "difficulty": "HYPER", + "songID": 1781, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25074, + "notecount": 1066, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c87d493f4669778ad38a273e1772438f27f3255e", + "difficulty": "NORMAL", + "songID": 1781, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25074, + "notecount": 606, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f7340aa01811c7ec4ac25fa208ae78648b9e1498", + "difficulty": "ANOTHER", + "songID": 1782, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25075, + "notecount": 1606, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11254c53e991f9ecf94f2c8ce6b78e08997b586e", + "difficulty": "HYPER", + "songID": 1782, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25075, + "notecount": 975, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "61c642148b65293ce5208ab4f93a4035a65419b1", + "difficulty": "NORMAL", + "songID": 1782, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25075, + "notecount": 485, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a92b15956c7acfea527089309138372b091298f", + "difficulty": "ANOTHER", + "songID": 1782, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25075, + "notecount": 1602, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "67762d75be8846a055c44688fc3cde71534a98d9", + "difficulty": "HYPER", + "songID": 1782, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25075, + "notecount": 961, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "565c3be9ac9d4012385569fabf38e1ff55889c7f", + "difficulty": "NORMAL", + "songID": 1782, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25075, + "notecount": 468, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e78992ce4c18175f5e309752953987bb204c6544", + "difficulty": "ANOTHER", + "songID": 1783, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25076, + "notecount": 1266, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c72a1e48d2982d91dbe46dbe8124eb2968461a9b", + "difficulty": "HYPER", + "songID": 1783, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25076, + "notecount": 731, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "639c87f7b4ea3c741d18fa64162bd3603ff2304c", + "difficulty": "NORMAL", + "songID": 1783, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25076, + "notecount": 422, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6170b867796a1d9032a8b4f4d951e31a12560dfd", + "difficulty": "ANOTHER", + "songID": 1783, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25076, + "notecount": 1198, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3077087248f08029f1b5032c7967d82b50745419", + "difficulty": "HYPER", + "songID": 1783, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25076, + "notecount": 736, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea6a432df9aca4ff4f10d4ed9cd3e7e27365f56b", + "difficulty": "NORMAL", + "songID": 1783, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25076, + "notecount": 379, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca81f8b72b96a9f226a8a9683bb9f76dea2935cd", + "difficulty": "ANOTHER", + "songID": 1784, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25077, + "notecount": 973, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0809e60e5aa43ce34dde7c67c7b6d0b8f1faaea9", + "difficulty": "HYPER", + "songID": 1784, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25077, + "notecount": 729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51ba71fd90e4a2e4c35646a98f8ccc1988eece2b", + "difficulty": "NORMAL", + "songID": 1784, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25077, + "notecount": 403, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4ec1911f355993010a311babb30be6753342774c", + "difficulty": "ANOTHER", + "songID": 1784, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25077, + "notecount": 941, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f3bf289c361d53606096af5edbd43c2f4bd65bb", + "difficulty": "HYPER", + "songID": 1784, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25077, + "notecount": 774, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "515f13b0dd55be0867706cc6bc68af98246f65cb", + "difficulty": "NORMAL", + "songID": 1784, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25077, + "notecount": 406, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d49d9c9cda363eef033822af4f95dc23c5fdc02", + "difficulty": "ANOTHER", + "songID": 1785, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25078, + "notecount": 1275, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ef48e29964c8724217ac60f9fe9eedbbfe46b5f", + "difficulty": "HYPER", + "songID": 1785, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25078, + "notecount": 846, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d29a6bbd74fa5143d523230547e6b9ad75659fe", + "difficulty": "NORMAL", + "songID": 1785, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25078, + "notecount": 372, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "96b5c300d42a49d568985302c60044fc9308eac4", + "difficulty": "ANOTHER", + "songID": 1785, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25078, + "notecount": 1358, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "875c99d7f25ddc72ad880ecac0cb0a54d7ce3a53", + "difficulty": "HYPER", + "songID": 1785, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25078, + "notecount": 864, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51b22c9b6a6f758376bd6f02727483b7788584f7", + "difficulty": "NORMAL", + "songID": 1785, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25078, + "notecount": 372, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9ae7cdd2d851ca42a629c8ac1acb67c720ced53", + "difficulty": "ANOTHER", + "songID": 1786, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25079, + "notecount": 1627, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "71e06524c6d87ea7c10c0025a66d8142ac56f5d6", + "difficulty": "HYPER", + "songID": 1786, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25079, + "notecount": 921, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d34257e8d1db4a8fbbd29ac04e36dbc3732e4f9", + "difficulty": "NORMAL", + "songID": 1786, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25079, + "notecount": 494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6473048f93d82726d3283ec1f3e2ee3bcb75c566", + "difficulty": "ANOTHER", + "songID": 1786, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25079, + "notecount": 1592, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1973e5a3450e6617d2ed3d4050d72968ef17b3c3", + "difficulty": "HYPER", + "songID": 1786, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25079, + "notecount": 1006, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bace615df50e9f138926614e709b5f7016e976d5", + "difficulty": "NORMAL", + "songID": 1786, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25079, + "notecount": 394, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6194552578ea500c9a007c0726ecb47e4c5e2beb", + "difficulty": "ANOTHER", + "songID": 1787, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25080, + "notecount": 1694, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "01aaf140fe42dc6df8a2f9dedba78bc485485223", + "difficulty": "HYPER", + "songID": 1787, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25080, + "notecount": 1067, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af897869afc9660e4a7ccefe293d3b6f77c449e9", + "difficulty": "NORMAL", + "songID": 1787, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25080, + "notecount": 673, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1dbe7bfd30d936206e35fa35cbe9fdf6ad135442", + "difficulty": "ANOTHER", + "songID": 1787, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25080, + "notecount": 1606, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.50", + "value": 12.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2682f4a3b779341d83d89a2fd9165021100bbb9b", + "difficulty": "HYPER", + "songID": 1787, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25080, + "notecount": 1155, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce7e847fd655e126da09a01e29b9375cfdc5e361", + "difficulty": "NORMAL", + "songID": 1787, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25080, + "notecount": 719, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b728f87d50b162faed61522a49d40e8718b58da", + "difficulty": "ANOTHER", + "songID": 1788, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25081, + "notecount": 1211, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "57e7aecaa8136137e39924e7196fff715dfbcec3", + "difficulty": "HYPER", + "songID": 1788, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25081, + "notecount": 791, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6bd328951e555976717d7e0c443fc6791c35874d", + "difficulty": "NORMAL", + "songID": 1788, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25081, + "notecount": 415, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8827a0caddb2f9241fb8c2e6e581582a31f7adbf", + "difficulty": "ANOTHER", + "songID": 1788, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25081, + "notecount": 1150, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c61ec578299a22a9bd508a3ccd18566542af2a89", + "difficulty": "HYPER", + "songID": 1788, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25081, + "notecount": 816, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d35b00470a3348da927cb289a0181c75b754820", + "difficulty": "NORMAL", + "songID": 1788, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25081, + "notecount": 454, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db65d840f59f14e7d19a7742fc08a2a3141c020a", + "difficulty": "ANOTHER", + "songID": 1789, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25082, + "notecount": 1474, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "943c69ffedac8cc46651f679d2f57ebc6844b94b", + "difficulty": "HYPER", + "songID": 1789, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25082, + "notecount": 1147, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29d06ea45dbe3f26cb61949eea4673dc3c93d0f1", + "difficulty": "NORMAL", + "songID": 1789, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25082, + "notecount": 725, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf91bf6db909764f3edcfa4675da8d66363a5e7e", + "difficulty": "ANOTHER", + "songID": 1789, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25082, + "notecount": 1364, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "9-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b7fbc4dfb7773d11b63f6c9115b746826ae42ee2", + "difficulty": "HYPER", + "songID": 1789, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25082, + "notecount": 764, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa0adf8090e4047916965b3bea51a946e6a7bad0", + "difficulty": "NORMAL", + "songID": 1789, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25082, + "notecount": 558, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "9-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d0e602d5dd11d709053b7a99defdd0a9ec5104c1", + "difficulty": "ANOTHER", + "songID": 1790, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25083, + "notecount": 1467, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bc0afd9123fdf73f1b674df518ec1890f09df8a2", + "difficulty": "HYPER", + "songID": 1790, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25083, + "notecount": 1001, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eba6aeba4da9bfeb6739a4ec3b9ecb4dd36cd898", + "difficulty": "NORMAL", + "songID": 1790, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25083, + "notecount": 558, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "038f8019cd8f0ba3f2215935ccc903b542053927", + "difficulty": "ANOTHER", + "songID": 1790, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25083, + "notecount": 1591, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3ae4d51529e5882e996232ad247d30ecd92e61f2", + "difficulty": "HYPER", + "songID": 1790, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25083, + "notecount": 1043, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6703d560fa4202a33deba080b9067114db98895b", + "difficulty": "NORMAL", + "songID": 1790, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25083, + "notecount": 535, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a6343f0d46527b22fff04c17fd3b4e95def70278", + "difficulty": "ANOTHER", + "songID": 1791, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25084, + "notecount": 1297, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "781c15384108da759ff9a71ba13f132cb1dfbc31", + "difficulty": "HYPER", + "songID": 1791, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25084, + "notecount": 939, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fff9faeea6c156ab6aad88084f64e4ab1b859fcc", + "difficulty": "NORMAL", + "songID": 1791, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25084, + "notecount": 431, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "00463f699f32bf9976306f93cce4fa66a30c2f03", + "difficulty": "ANOTHER", + "songID": 1791, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25084, + "notecount": 1294, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e751cf69a6aaa226ab6e38c2db565439cbf3a0df", + "difficulty": "HYPER", + "songID": 1791, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25084, + "notecount": 923, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e45ef8d426e33d7fbe37f696a02dd32293c14803", + "difficulty": "NORMAL", + "songID": 1791, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25084, + "notecount": 422, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff702fafb738d688f39b3e6edcbe78848f6ce72b", + "difficulty": "ANOTHER", + "songID": 1792, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25085, + "notecount": 1852, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a74cded52482506c764ff86803f15688441bf6c", + "difficulty": "HYPER", + "songID": 1792, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25085, + "notecount": 1054, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cc7fba77a069d8d9197b86c69a94f755a4a38372", + "difficulty": "NORMAL", + "songID": 1792, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25085, + "notecount": 696, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "999c96fa861d79f6f57d30b9564af3b50660230d", + "difficulty": "ANOTHER", + "songID": 1792, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25085, + "notecount": 1875, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2482193a291a0eff65cded49366dd444b0f4b157", + "difficulty": "HYPER", + "songID": 1792, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25085, + "notecount": 1055, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a03eb2f25ba9ba2f4d7accb9ce02edfce352eddb", + "difficulty": "NORMAL", + "songID": 1792, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25085, + "notecount": 713, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f87249667ecf8efd8ebcc46900b7d2a098702c9", + "difficulty": "ANOTHER", + "songID": 1793, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25086, + "notecount": 1515, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9bdd82753f0b6476b1f9b3116c8c9642fc355265", + "difficulty": "HYPER", + "songID": 1793, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25086, + "notecount": 1013, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f233d7172c579bb65b6d98486f39d9fbe136c05a", + "difficulty": "NORMAL", + "songID": 1793, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25086, + "notecount": 522, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e1d64315567e22668989f2d4a220ebeba65d3ae", + "difficulty": "ANOTHER", + "songID": 1793, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25086, + "notecount": 1416, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2d083a902021fa917fd0923a3aef6b8783bc0b0f", + "difficulty": "HYPER", + "songID": 1793, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25086, + "notecount": 997, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ed989befa39a268dfb71aa4c4585ef278fd15b6", + "difficulty": "NORMAL", + "songID": 1793, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25086, + "notecount": 529, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f91282eb1a58c70e7a98957a84ec60488fe3d63", + "difficulty": "ANOTHER", + "songID": 1794, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25087, + "notecount": 1109, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5363607b3ae499e11bb23315d8b459d028f52798", + "difficulty": "HYPER", + "songID": 1794, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25087, + "notecount": 685, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4befa9d6f6dd38184e0db70175b99e9206de6607", + "difficulty": "NORMAL", + "songID": 1794, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25087, + "notecount": 588, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca2783189fc980f00dc6d9a2aa9736277aea37bf", + "difficulty": "ANOTHER", + "songID": 1794, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25087, + "notecount": 881, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8081dd2f822690b361c7f75302c13a41eb15b07b", + "difficulty": "HYPER", + "songID": 1794, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25087, + "notecount": 596, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9e73ceb256077b3378bd9e61df77565e3d156123", + "difficulty": "NORMAL", + "songID": 1794, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25087, + "notecount": 439, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "14-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d65ab1d9c3a45c05af591ed6ff99f7a9cee85f8", + "difficulty": "ANOTHER", + "songID": 1795, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25088, + "notecount": 1709, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ce40f49b216cc32f11890502eb327a0dbfc78b1", + "difficulty": "HYPER", + "songID": 1795, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25088, + "notecount": 886, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "09a002ed594c821d154894eac397bc62363442d8", + "difficulty": "NORMAL", + "songID": 1795, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25088, + "notecount": 505, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12cadd55f6359f141a16610a9cd24e4607edc88c", + "difficulty": "ANOTHER", + "songID": 1795, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25088, + "notecount": 1679, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.60", + "value": 12.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "faceec4d60af85477b1b88b4e06e41d082c63342", + "difficulty": "HYPER", + "songID": 1795, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25088, + "notecount": 907, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "80ce01aa47273b7b993ea6366cef379fb1102865", + "difficulty": "NORMAL", + "songID": 1795, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25088, + "notecount": 494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f85f9922384f89d3159aa5a02a20eaa7a73c0da1", + "difficulty": "ANOTHER", + "songID": 1796, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25089, + "notecount": 1871, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "10-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "45baeb4d3058cb00b04294540fe899f5433632a4", + "difficulty": "HYPER", + "songID": 1796, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25089, + "notecount": 1046, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e8b02f8509543b68c92c7f1e6cfeeeecf6802995", + "difficulty": "NORMAL", + "songID": 1796, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25089, + "notecount": 564, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f49a75767ef2203fac96c1a519b4766b89d48db9", + "difficulty": "ANOTHER", + "songID": 1796, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25089, + "notecount": 1539, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "10-cs", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "cd13f23993a6a7bac929372542d6d3efe60eaf72", + "difficulty": "HYPER", + "songID": 1796, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25089, + "notecount": 1044, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a0506a04473826f1e1a0b01a6b04813df112625c", + "difficulty": "NORMAL", + "songID": 1796, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25089, + "notecount": 565, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "962c299787cbb9e7592dfb44f8317e9186d82ec5", + "difficulty": "ANOTHER", + "songID": 1797, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25090, + "notecount": 1377, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "041fac7659a1c414d256f8d004706f853cbec43a", + "difficulty": "HYPER", + "songID": 1797, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25090, + "notecount": 979, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca341335e5458f924a376d19f8f74ac6770d8a57", + "difficulty": "NORMAL", + "songID": 1797, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25090, + "notecount": 666, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de3a432f6222124dff2fb5499fdc207d2bf5fc3f", + "difficulty": "ANOTHER", + "songID": 1797, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25090, + "notecount": 1344, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "cbb42a98dd5e6dea4e38c77e9de1b518be53b482", + "difficulty": "HYPER", + "songID": 1797, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25090, + "notecount": 977, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e970a04286bbf162cd2ffe67b59e202e20a0a231", + "difficulty": "NORMAL", + "songID": 1797, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25090, + "notecount": 668, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f1c1352ff36f634620037ab870b311171cd34dba", + "difficulty": "ANOTHER", + "songID": 1798, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25091, + "notecount": 1983, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9e89359d072d8c27abfa51951a7816f2d1fc23f", + "difficulty": "HYPER", + "songID": 1798, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25091, + "notecount": 1253, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9b70b0622ce6f6e541789ad72ec8f8127b72c13", + "difficulty": "NORMAL", + "songID": 1798, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25091, + "notecount": 648, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84594fd591c8a42fb77b106611dd9afa7924770f", + "difficulty": "ANOTHER", + "songID": 1798, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25091, + "notecount": 1831, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7cd5c73dd63c5ec1915c299ad73c331d4d53f924", + "difficulty": "HYPER", + "songID": 1798, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25091, + "notecount": 1257, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e33683e4a5b7c8b4a4bdcf7f3d1de78beda2803", + "difficulty": "NORMAL", + "songID": 1798, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25091, + "notecount": 653, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93b6a96e16d62faa3685a5e7ce485f4c2a5a4cb4", + "difficulty": "ANOTHER", + "songID": 1799, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25092, + "notecount": 1374, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe3b8217384bf439c0624c604ba604369ac0a7cc", + "difficulty": "HYPER", + "songID": 1799, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25092, + "notecount": 833, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19e3fcacb675857de3fe759fdf6e0cc42dc156e0", + "difficulty": "NORMAL", + "songID": 1799, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25092, + "notecount": 456, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7d3138871326e1616170c0d1c2878ccf35156097", + "difficulty": "ANOTHER", + "songID": 1799, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25092, + "notecount": 1405, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "cc13c045e0c20820ee025d7af93e45167510bab2", + "difficulty": "HYPER", + "songID": 1799, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25092, + "notecount": 844, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d7882c845c5f4a7fada21ff6df63b0630348c68f", + "difficulty": "NORMAL", + "songID": 1799, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25092, + "notecount": 471, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50b0d34d95b536ef025c21a0847d1c78345f95b8", + "difficulty": "ANOTHER", + "songID": 1800, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25093, + "notecount": 1771, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d9710b1716a85002e4c2068e3d1e447adb9b3d9", + "difficulty": "HYPER", + "songID": 1800, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25093, + "notecount": 1040, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b098ee6043bbfd4d4b22b215697feb7a552a0388", + "difficulty": "NORMAL", + "songID": 1800, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25093, + "notecount": 677, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c157d7a89592a69d92b01918195e8324d7e3f903", + "difficulty": "ANOTHER", + "songID": 1800, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 25093, + "notecount": 1648, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e9215ac3b83e3db24a8fb04855f49607a821ee5b", + "difficulty": "HYPER", + "songID": 1800, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25093, + "notecount": 1101, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a5a7caa7afc6d5cabd9093260a4efa9b70c19c2", + "difficulty": "NORMAL", + "songID": 1800, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25093, + "notecount": 696, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0da71c7866f47fcb068b05753ef75835cbb4f564", + "difficulty": "ANOTHER", + "songID": 1801, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25094, + "notecount": 789, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d98d498a51c7324211f4e07acd3e217cce20ab3c", + "difficulty": "HYPER", + "songID": 1801, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25094, + "notecount": 455, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c619f06c2d49eafba076a0533dfd7f4c6c3423e", + "difficulty": "NORMAL", + "songID": 1801, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25094, + "notecount": 260, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "77da55f73956c4ddb3029260648062d57edea6f1", + "difficulty": "ANOTHER", + "songID": 1801, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25094, + "notecount": 788, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1295d859cc851f447122d68ee1c4dbc2c3a063db", + "difficulty": "HYPER", + "songID": 1801, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 25094, + "notecount": 456, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ae2eadc145d35be2a1fdb75ef5d0ffc6d72a10d", + "difficulty": "NORMAL", + "songID": 1801, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25094, + "notecount": 255, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1751b6db54a9a9cbf8892f8b96498578bc3d07cb", + "difficulty": "ANOTHER", + "songID": 1802, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25095, + "notecount": 1175, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d94762bcfc57d44cb12e1ec3d4a9b351467fe214", + "difficulty": "HYPER", + "songID": 1802, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25095, + "notecount": 771, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1c99305c9d5c30267aa24ab3c7382ab8b53947f8", + "difficulty": "NORMAL", + "songID": 1802, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25095, + "notecount": 418, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ea5690605274e2194f8ea7015d11c4178343b25", + "difficulty": "ANOTHER", + "songID": 1802, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 25095, + "notecount": 1256, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-NC": { + "text": "11S", + "value": 12, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7ef146877532128bea9b7bebbdd2eeb563674213", + "difficulty": "HYPER", + "songID": 1802, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 25095, + "notecount": 752, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5e35188a3ec8bfa1950980b1147311ec8e8e9166", + "difficulty": "NORMAL", + "songID": 1802, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 25095, + "notecount": 413, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "57d9644c3a7c704677103c35d4718a5c9065078a", + "difficulty": "ANOTHER", + "songID": 1803, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25096, + "notecount": 1143, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd2f3cde42a12221e72205959e0dd254e1da1859", + "difficulty": "HYPER", + "songID": 1803, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 25096, + "notecount": 684, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84fb010d9b5f239b0d6aec45284b48c62f428a4e", + "difficulty": "NORMAL", + "songID": 1803, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25096, + "notecount": 396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a248d693987b2d790fe8d4853af89c6f2d390122", + "difficulty": "ANOTHER", + "songID": 1803, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 25096, + "notecount": 1146, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad836508b27c06cb6987179cff9c187c49ecc4d9", + "difficulty": "HYPER", + "songID": 1803, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 25096, + "notecount": 658, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eea622e7ac946f6d37cb7b948e23497dfae8dbe7", + "difficulty": "NORMAL", + "songID": 1803, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 25096, + "notecount": 373, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9756fa02f884783994ed50bcfd744aad3e644e9", + "difficulty": "ANOTHER", + "songID": 1804, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26000, + "notecount": 1883, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f83b75e347b4376340557f9f5477095bf34e00ab", + "difficulty": "HYPER", + "songID": 1804, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26000, + "notecount": 1223, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1038076171fe103c69d42792680b03f419ced272", + "difficulty": "NORMAL", + "songID": 1804, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26000, + "notecount": 771, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d023e90968bedb1c96419a4522261d5e1a08ca94", + "difficulty": "ANOTHER", + "songID": 1804, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26000, + "notecount": 1757, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "7583149794b6a8fd331641be0b9abf268815e2ff", + "difficulty": "HYPER", + "songID": 1804, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26000, + "notecount": 1234, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c5436dbc1685034c7f37a8f63e2c127f62eeff0", + "difficulty": "NORMAL", + "songID": 1804, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26000, + "notecount": 794, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68257ab4e4fecde3696564b2a2d3eac302963bb7", + "difficulty": "ANOTHER", + "songID": 1805, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26001, + "notecount": 1889, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32af1d98b47a16ece7c966495062ac871a506837", + "difficulty": "HYPER", + "songID": 1805, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26001, + "notecount": 1248, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "15c3c27e4182b833eb12a286f3ab601db79fdce9", + "difficulty": "NORMAL", + "songID": 1805, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26001, + "notecount": 713, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9909fd103d3f5039f70b1ec865fd99da4ded419a", + "difficulty": "ANOTHER", + "songID": 1805, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26001, + "notecount": 1945, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c1d4811bf819f505a9bcce0106ed1091e3782ea1", + "difficulty": "HYPER", + "songID": 1805, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26001, + "notecount": 1270, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03b455998afb0da70bed7befe287843d0634c497", + "difficulty": "NORMAL", + "songID": 1805, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26001, + "notecount": 711, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e7f620b0306bf17ab12841407bb108bb285dae6c", + "difficulty": "ANOTHER", + "songID": 1806, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26002, + "notecount": 1246, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4ec6b6840440a48da4a242c83536cc4e5ebceec7", + "difficulty": "HYPER", + "songID": 1806, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26002, + "notecount": 709, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0fc0876d5c0f294392c43f6bc28b2fe739663dd", + "difficulty": "NORMAL", + "songID": 1806, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26002, + "notecount": 468, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b76206b2358833da52ada0e5a56523377332df01", + "difficulty": "ANOTHER", + "songID": 1806, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26002, + "notecount": 1263, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0669ea3d4a5faf5fafb5a70003ef2859c815bcb6", + "difficulty": "BEGINNER", + "songID": 1806, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 26002, + "notecount": 136, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf3ce35368dcb14b674e41dde075b5dae3c34b3b", + "difficulty": "HYPER", + "songID": 1806, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26002, + "notecount": 709, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1abefcae546f22ce149b5f765560fda134d30d17", + "difficulty": "NORMAL", + "songID": 1806, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26002, + "notecount": 471, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "da0c4ba98cc7e564aad0834863e0180d09e80439", + "difficulty": "ANOTHER", + "songID": 1807, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26003, + "notecount": 2129, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db288570b27addb481f7071fa93234a96ca8aaa0", + "difficulty": "HYPER", + "songID": 1807, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26003, + "notecount": 1212, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "43dbe0666bacb5173d997b2fb066164844ffcec0", + "difficulty": "NORMAL", + "songID": 1807, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26003, + "notecount": 675, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "08ccf248eae9439d5f28213a6ca62faca091e5e5", + "difficulty": "ANOTHER", + "songID": 1807, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26003, + "notecount": 2110, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6502fa5acf2f488db9616787f108e7fbcc812fe5", + "difficulty": "HYPER", + "songID": 1807, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26003, + "notecount": 1189, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7117d2c40f70eea64eff1b6c362b25fde7c896ca", + "difficulty": "NORMAL", + "songID": 1807, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26003, + "notecount": 664, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a7d880e575be390220f9dc82be056e7282825388", + "difficulty": "ANOTHER", + "songID": 1808, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26004, + "notecount": 1644, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a5f6d70d8e0bd9deb7961ee4a633a2bae4e757b", + "difficulty": "HYPER", + "songID": 1808, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26004, + "notecount": 1138, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9bb9d592460212a90a9cc531e5a9fb4355a47745", + "difficulty": "NORMAL", + "songID": 1808, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26004, + "notecount": 578, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72546002eddb857bb60e8d6cd5d6750af3642a27", + "difficulty": "ANOTHER", + "songID": 1808, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26004, + "notecount": 1648, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "16-cs", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c740d380e23a3547182813fdb4d7e6f16638afe3", + "difficulty": "HYPER", + "songID": 1808, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26004, + "notecount": 1081, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "674d3b989f1e76fba7f7d654f46ab98731c8babf", + "difficulty": "NORMAL", + "songID": 1808, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26004, + "notecount": 580, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "16-cs", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6a3714d853902c44b6ca44dd528b6bf337a6db9a", + "difficulty": "ANOTHER", + "songID": 1809, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26005, + "notecount": 1459, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c54ca52e8d63999ee9269dee0f0d40b53812640b", + "difficulty": "HYPER", + "songID": 1809, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26005, + "notecount": 1058, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b22a56c52cd5ed0dc8a6ddcac4ac623379f5a7d", + "difficulty": "NORMAL", + "songID": 1809, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26005, + "notecount": 569, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0840e70cdf3807a21d92ed45eee6a817e41581a4", + "difficulty": "ANOTHER", + "songID": 1809, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26005, + "notecount": 1503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "chartID": "773e810fd95414af969b79682bbd66f82a0f478c", + "difficulty": "BEGINNER", + "level": "3", + "levelNum": 3, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 1809, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 26005, + "arcChartID": null, + "notecount": 273, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "cb586f43ec3187747a51e7986bab86a2a9158e0a", + "difficulty": "HYPER", + "songID": 1809, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26005, + "notecount": 850, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ed0b2d7e9bc062bff1967745945d2b5420c646b", + "difficulty": "NORMAL", + "songID": 1809, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26005, + "notecount": 565, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97f0fd5968bdae656eb7139dc40fd7e2f7449df7", + "difficulty": "ANOTHER", + "songID": 1810, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26006, + "notecount": 1346, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0d2294f227f69dc643c04b269c8e9edbf13b550", + "difficulty": "HYPER", + "songID": 1810, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26006, + "notecount": 854, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "583de870d5a3ae53ee2267b96fbbcd5c471a6301", + "difficulty": "NORMAL", + "songID": 1810, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26006, + "notecount": 458, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "57b65f254f4bfe5b68bf9cf1578b07a50fca8de9", + "difficulty": "ANOTHER", + "songID": 1810, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26006, + "notecount": 1281, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2480042e8eca6c91c5eda1f44b69134d09acfbaa", + "difficulty": "BEGINNER", + "songID": 1810, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 26006, + "notecount": 203, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "181b0b9f96f52dd55370446795122ea48b0f1f0e", + "difficulty": "HYPER", + "songID": 1810, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26006, + "notecount": 871, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7220e6b4221fdc5a511da5ce4940f2ad7965e97f", + "difficulty": "NORMAL", + "songID": 1810, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 26006, + "notecount": 537, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d22efbf4bac9fc51832f5ff9532bef2587b27b78", + "difficulty": "ANOTHER", + "songID": 1811, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26007, + "notecount": 2220, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0969ac18dde5bd0a3f14feb60332f20c481c7ff1", + "difficulty": "HYPER", + "songID": 1811, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26007, + "notecount": 1495, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "81cb38cadbb328ae92782de5c0b1d47f83deb9bb", + "difficulty": "NORMAL", + "songID": 1811, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26007, + "notecount": 896, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a6c7c48659f0e929a3087b63e43bcee98a84305", + "difficulty": "ANOTHER", + "songID": 1811, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26007, + "notecount": 2220, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": false + }, + "kt-HC": { + "text": "12S+", + "value": 13.2, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.60", + "value": 13.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1423993cb8a2f1567cf68ca0097f0bf8a6794d3b", + "difficulty": "HYPER", + "songID": 1811, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26007, + "notecount": 1418, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": true + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "be03f3e8c878fe1dcc26eb89b95a6b1d760903a1", + "difficulty": "NORMAL", + "songID": 1811, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 26007, + "notecount": 861, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "86945f575eeb5dedbef8309f49ca5eed3b98b742", + "difficulty": "ANOTHER", + "songID": 1812, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26009, + "notecount": 1323, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d81f1cc234b4fa78787b4d312044b65de895ee9c", + "difficulty": "HYPER", + "songID": 1812, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26009, + "notecount": 1033, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0d037cd0c9e5a6c6c002fb441946144dc37d9a0", + "difficulty": "NORMAL", + "songID": 1812, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26009, + "notecount": 581, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b55c93eadd5589f16e4b6fd7be164fea70a5da11", + "difficulty": "ANOTHER", + "songID": 1812, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 26009, + "notecount": 1291, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "chartID": "e058be2882fc01a2185212edcee770bc59346f05", + "difficulty": "BEGINNER", + "level": "2", + "levelNum": 2, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 1812, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 26009, + "arcChartID": null, + "notecount": 190, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "2ada2d77b926a613e99bdc38e3d716e14827cef2", + "difficulty": "HYPER", + "songID": 1812, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26009, + "notecount": 992, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b8912a7b84bce3c8c230603c0fe1db89b290ef33", + "difficulty": "NORMAL", + "songID": 1812, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 26009, + "notecount": 590, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30bcf1b2d2cd3c529cb3b096cf18649826b185ef", + "difficulty": "ANOTHER", + "songID": 1813, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26010, + "notecount": 1736, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8112c8daaee8bc6a01f87ea08c8267f5947a204f", + "difficulty": "HYPER", + "songID": 1813, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26010, + "notecount": 1253, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce1e03d510ab24e159c02f4713b9a147bc4f16cd", + "difficulty": "NORMAL", + "songID": 1813, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26010, + "notecount": 782, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce0127589c1bd1e9ee222fab0f4311b04248e8c7", + "difficulty": "ANOTHER", + "songID": 1813, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26010, + "notecount": 1765, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.60", + "value": 12.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c21995f3b94bfd534e7dae40ec7f3c0b34f9f0f0", + "difficulty": "HYPER", + "songID": 1813, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26010, + "notecount": 1231, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d4e6a22e4f5d90d43c0ace8dfdc1fc205ab1fc3c", + "difficulty": "NORMAL", + "songID": 1813, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26010, + "notecount": 800, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "37d5b68de798e92f7ee1804d279e1a6368857dc7", + "difficulty": "ANOTHER", + "songID": 1814, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26011, + "notecount": 1986, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9036e6ac49d6cdd5da6098f1e0e35cd426c912e0", + "difficulty": "HYPER", + "songID": 1814, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 26011, + "notecount": 990, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c4f3f60259d6e4c3dd14b0e8a21d8ebc3fdd8068", + "difficulty": "NORMAL", + "songID": 1814, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26011, + "notecount": 659, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c9540b20e6a999a7b91935d9911727bfd119462", + "difficulty": "ANOTHER", + "songID": 1814, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 26011, + "notecount": 2183, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "98a5d8a254373dc554e374cdda1e32c82b244e6e", + "difficulty": "HYPER", + "songID": 1814, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 26011, + "notecount": 1009, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "62b5b5c00f169becf2ccaad5588c2d2e40d19f06", + "difficulty": "NORMAL", + "songID": 1814, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 26011, + "notecount": 664, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1ad32b4bd31876998ead22c6bf836166a8bb911", + "difficulty": "ANOTHER", + "songID": 1815, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20045, + "notecount": 1551, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55d391020515f50bc51a28ba2a915437cd37a316", + "difficulty": "HYPER", + "songID": 1815, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20045, + "notecount": 851, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "345762e839227c66bc66eda96cd23d399b2e36cc", + "difficulty": "NORMAL", + "songID": 1815, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20045, + "notecount": 563, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e70c2ca592076848e601bb5ff01db17ba6f4e58d", + "difficulty": "ANOTHER", + "songID": 1815, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20045, + "notecount": 1544, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4aaac4d6e846ada11ccb8bb9313d75c2b85d2e1", + "difficulty": "HYPER", + "songID": 1815, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20045, + "notecount": 851, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "31b3ae93f01426d99b8140a6c944b3af24f8c260", + "difficulty": "NORMAL", + "songID": 1815, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20045, + "notecount": 549, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b22f5d07bd0f7c35d77f8b26a23a16975b8e805", + "difficulty": "ANOTHER", + "songID": 1816, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20056, + "notecount": 1431, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21b5e850f2606b6799c0ed98f65489cb459b8a35", + "difficulty": "HYPER", + "songID": 1816, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20056, + "notecount": 895, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aac208fe67c7a757d9d1ae191ca4669c0647682a", + "difficulty": "NORMAL", + "songID": 1816, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20056, + "notecount": 454, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d6a228c80d9bbf1a0a9c058aae62879af21ea704", + "difficulty": "ANOTHER", + "songID": 1816, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20056, + "notecount": 1242, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b459392a7c2e475170a3d4e679e89a36bd6f0656", + "difficulty": "HYPER", + "songID": 1816, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20056, + "notecount": 786, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7e6e666b459a6fd65889f0d4e9fb94803449cc19", + "difficulty": "NORMAL", + "songID": 1816, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20056, + "notecount": 460, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "419d0af5ca76f38559b3d37b49f2cefa507da65d", + "difficulty": "ANOTHER", + "songID": 1817, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20034, + "notecount": 1076, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17ffaf998b18aea9efa2cd5e891821f04aa2c587", + "difficulty": "HYPER", + "songID": 1817, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20034, + "notecount": 674, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2dc39e8ea2e37b91acda63de030bf987f612787", + "difficulty": "NORMAL", + "songID": 1817, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20034, + "notecount": 332, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "96e9438f9c73b2c84410ce09f4850a2c0674956e", + "difficulty": "ANOTHER", + "songID": 1817, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 20034, + "notecount": 1020, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97c569c0cb415a05798a63458469f47bc39fccc4", + "difficulty": "HYPER", + "songID": 1817, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 20034, + "notecount": 597, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "349836eb781e4821f66cb317f67a6fa651f66909", + "difficulty": "NORMAL", + "songID": 1817, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 20034, + "notecount": 307, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d86593bb8ac1e62b6d1bde7ef9addfa8fc1dd7f", + "difficulty": "ANOTHER", + "songID": 1818, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20076, + "notecount": 1283, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "31ed8ad0f13c29f6c933d95399b39dacf778d586", + "difficulty": "HYPER", + "songID": 1818, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20076, + "notecount": 806, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "367e1f38afc7c146724353090f2a83f8c390aa19", + "difficulty": "NORMAL", + "songID": 1818, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20076, + "notecount": 539, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "027f772627fb3fe825bb24beecee2ed30cfb2e8f", + "difficulty": "ANOTHER", + "songID": 1818, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20076, + "notecount": 1100, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b7eee74be4866ebc23fc9355ce7d622435352a6", + "difficulty": "BEGINNER", + "songID": 1818, + "playtype": "SP", + "levelNum": 0, + "level": "0", + "data": { + "inGameID": 20076, + "notecount": 168, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e381b879837443fa6a189142b088a1346bb1b1f2", + "difficulty": "HYPER", + "songID": 1818, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20076, + "notecount": 740, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c5dcece17bd1d8721349f48c3c9221ec7fdc5f63", + "difficulty": "NORMAL", + "songID": 1818, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20076, + "notecount": 404, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "23", + "22", + "21", + "20", + "inf", + "12-cs" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dd797343514ebd36b279e4088eca0a1b5ade9a8c", + "difficulty": "ANOTHER", + "songID": 1819, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 20027, + "notecount": 1216, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1cd779961587556785fee5f5cd64d954a430c411", + "difficulty": "HYPER", + "songID": 1819, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20027, + "notecount": 758, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "064954e7cf01726dc0427c59eb859ae36d979dc3", + "difficulty": "NORMAL", + "songID": 1819, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20027, + "notecount": 381, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74bc238e4b95018a2ea634c493928b03a8c2e142", + "difficulty": "ANOTHER", + "songID": 1819, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20027, + "notecount": 1164, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d004ec386dafea83974a52e986a18fd17afaf6a3", + "difficulty": "HYPER", + "songID": 1819, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20027, + "notecount": 732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ab9f6dcf5098d5698eb70135124f252ac98a950", + "difficulty": "NORMAL", + "songID": 1819, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20027, + "notecount": 355, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "27", + "26", + "25", + "24", + "23", + "22", + "21", + "20", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ffe422e48cf5cadb24877bd68bd828b0a59630e9", + "difficulty": "ANOTHER", + "songID": 1820, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20042, + "notecount": 1312, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d87e7aba6edf70bd4b0087165afaa82fad801db3", + "difficulty": "HYPER", + "songID": 1820, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 20042, + "notecount": 857, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85a4e8cebef9a12dddb407ff581f499a078f6010", + "difficulty": "NORMAL", + "songID": 1820, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 20042, + "notecount": 447, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ff64ed56fed9bf66a255839d78c2be2445b8564", + "difficulty": "ANOTHER", + "songID": 1820, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 20042, + "notecount": 1161, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c194288dc2b6af741ebe28c4787eda49c17b58a", + "difficulty": "HYPER", + "songID": 1820, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 20042, + "notecount": 799, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "92c03852e06c33e7c0d59c6f73557d6028c991d3", + "difficulty": "NORMAL", + "songID": 1820, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 20042, + "notecount": 446, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "26-omni", + "24", + "23", + "22", + "21", + "20", + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9122bb849b9161c1124815b50615b8f38b2f763c", + "difficulty": "ANOTHER", + "songID": 1821, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 80003, + "notecount": 967, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41e04f829f0a584a8bc090eb47afea5143910955", + "difficulty": "HYPER", + "songID": 1821, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 80003, + "notecount": 720, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7d8697f53ade3599004ad94d10307517150c5735", + "difficulty": "NORMAL", + "songID": 1821, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 80003, + "notecount": 427, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "67530d062d8c124aefe8bcf111c04bb650dbeddb", + "difficulty": "ANOTHER", + "songID": 1821, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 80003, + "notecount": 987, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9bd41bb495ea6cf69d8f485925036119136d3fe", + "difficulty": "HYPER", + "songID": 1821, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 80003, + "notecount": 737, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "39a3e7af7da7696955f0e1e00692165d0461fe06", + "difficulty": "NORMAL", + "songID": 1821, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 80003, + "notecount": 436, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "544500e220adce24d806ca8b19287dedab8d98a4", + "difficulty": "ANOTHER", + "songID": 1822, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 80002, + "notecount": 1390, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de07d7246d400bccd958e7fab0ba0fcc946aac05", + "difficulty": "HYPER", + "songID": 1822, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 80002, + "notecount": 830, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "be6d93d8c4431be1642565cc820ef5b57af6ca38", + "difficulty": "NORMAL", + "songID": 1822, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 80002, + "notecount": 522, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad94947d3992d8ea8682261232d5d672a4be154e", + "difficulty": "ANOTHER", + "songID": 1822, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 80002, + "notecount": 1352, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab19c92bc84fc0df554ca6a7620cc890fc30d41b", + "difficulty": "HYPER", + "songID": 1822, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 80002, + "notecount": 844, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e307b609209ab2ccd09ac49835a659dceda8cc7", + "difficulty": "NORMAL", + "songID": 1822, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 80002, + "notecount": 514, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13a2c5109ea488e0707bbd9a0d2123f68f625f67", + "difficulty": "ANOTHER", + "songID": 1823, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27000, + "notecount": 2086, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "df482ecfd40d789b8ae9c113f1cf8f72de1bb3c0", + "difficulty": "HYPER", + "songID": 1823, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27000, + "notecount": 1238, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24b1eeb7a8079b307a4dacdeb8c83e6607562d8a", + "difficulty": "NORMAL", + "songID": 1823, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27000, + "notecount": 778, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae1fb369549554f7b564830bdf3f8ae6d63cc7d6", + "difficulty": "ANOTHER", + "songID": 1823, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27000, + "notecount": 2075, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.00", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4e91af049f481678e3f533eb8918eaefd00941b2", + "difficulty": "HYPER", + "songID": 1823, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27000, + "notecount": 1283, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a520457fb15da05ee022db36383210a37d456d13", + "difficulty": "NORMAL", + "songID": 1823, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27000, + "notecount": 721, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "946879acc2fd3b7ff0b1864a25238844a0c14832", + "difficulty": "ANOTHER", + "songID": 1824, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27001, + "notecount": 1633, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9adebb1e2da1b7c5bb776c8c88a29eee3e461988", + "difficulty": "HYPER", + "songID": 1824, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27001, + "notecount": 1259, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d909e74ae372d2c31452097dd76b8c84b9f76ea7", + "difficulty": "NORMAL", + "songID": 1824, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27001, + "notecount": 696, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c50a6e66c49160f09a56331973fd15c5c56a99c", + "difficulty": "ANOTHER", + "songID": 1824, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27001, + "notecount": 1676, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b01b77f06b498bd6abbdec4ece05837f425d5c4a", + "difficulty": "HYPER", + "songID": 1824, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27001, + "notecount": 1319, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9df2476d64612eb820f0e638164aba3c8ba2d925", + "difficulty": "NORMAL", + "songID": 1824, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27001, + "notecount": 753, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2dd5475209eaec49edd84874a8aef0bb431f0ebb", + "difficulty": "ANOTHER", + "songID": 1825, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27002, + "notecount": 1429, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84427a16b040af5e7f6c43769aebfef378a30ae4", + "difficulty": "HYPER", + "songID": 1825, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27002, + "notecount": 913, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ecbea24bde4d973b79be236eccd4b0ab11fbb8a5", + "difficulty": "NORMAL", + "songID": 1825, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27002, + "notecount": 646, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "963593c3648e321043999af62c89912378c20aa1", + "difficulty": "ANOTHER", + "songID": 1825, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27002, + "notecount": 1447, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "fd1a56ca2d93adba9090389544b227981319c722", + "difficulty": "HYPER", + "songID": 1825, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27002, + "notecount": 886, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "64b14bb751bf06b3d4a19c90927599b2a8732ce5", + "difficulty": "NORMAL", + "songID": 1825, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27002, + "notecount": 638, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ae72a01740b24afc0f43d687373709cc5e004eb", + "difficulty": "ANOTHER", + "songID": 1826, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27003, + "notecount": 2161, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b7a44aaa1dcd17fbc05553ba1c70f6937a291aff", + "difficulty": "HYPER", + "songID": 1826, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27003, + "notecount": 1390, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ac89d1b4b20c50d9aa8f54112fd4966c882e6df8", + "difficulty": "NORMAL", + "songID": 1826, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27003, + "notecount": 774, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22a3e7ec9c1f606794ee8bc4beefab5070f03843", + "difficulty": "ANOTHER", + "songID": 1826, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27003, + "notecount": 2192, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "chartID": "95f0e6f558090371b657342e3fd9a3faedea4a7f", + "difficulty": "BEGINNER", + "level": "0", + "levelNum": 0, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 1826, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 27003, + "arcChartID": null, + "notecount": 235, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "fddcd91eaeeb715e74f342638dbc67f06d72f0db", + "difficulty": "HYPER", + "songID": 1826, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27003, + "notecount": 1399, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ebd2ba661ba47cf19822dd7a706613dac9ccc904", + "difficulty": "NORMAL", + "songID": 1826, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27003, + "notecount": 789, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51fdf29d6bd27051242dca7cc05456cf32adbe94", + "difficulty": "ANOTHER", + "songID": 1827, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27004, + "notecount": 1850, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8c77585f5bbfe0f51f5327c110348d3fbceb657a", + "difficulty": "HYPER", + "songID": 1827, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27004, + "notecount": 1128, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d7c49b9a546aabb436da9c16e9c5f0d67aa8b399", + "difficulty": "NORMAL", + "songID": 1827, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27004, + "notecount": 714, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "547129dd5e7a7066d06e46bae1e0b4d20237b8dd", + "difficulty": "ANOTHER", + "songID": 1827, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27004, + "notecount": 1830, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "90b2fa0565329e6cbfb7f30bd9e60eff459279b5", + "difficulty": "HYPER", + "songID": 1827, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27004, + "notecount": 1153, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79efdefc2006286f0a648e932decbd3792ebdc76", + "difficulty": "NORMAL", + "songID": 1827, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27004, + "notecount": 718, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d1845cda2043f73bd02c71b6be75a0a7c4b4a92", + "difficulty": "ANOTHER", + "songID": 1828, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27005, + "notecount": 1466, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "065049808134bc7ec51266c78d4f1f9108fb6143", + "difficulty": "HYPER", + "songID": 1828, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27005, + "notecount": 919, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d5b4b508b739bfa5901833245de9cd48410e7a33", + "difficulty": "NORMAL", + "songID": 1828, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27005, + "notecount": 531, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12b0523554b200d517bc68eeb8546e618881dac5", + "difficulty": "ANOTHER", + "songID": 1828, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27005, + "notecount": 1386, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "dce6e24b4b72502995246ee0044953fcb8e7ea31", + "difficulty": "BEGINNER", + "songID": 1828, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 27005, + "notecount": 235, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9ef87907371c04e790f101e8f92327482cefb4f", + "difficulty": "HYPER", + "songID": 1828, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27005, + "notecount": 881, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "24c04950c52a79c0259ca2eaf027bb87c45e8de3", + "difficulty": "NORMAL", + "songID": 1828, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27005, + "notecount": 524, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ace3f13ce7974a935dc7c4c60f579d10b39473e6", + "difficulty": "ANOTHER", + "songID": 1829, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27006, + "notecount": 1082, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4184658c5c0ab3b6d00643ba96b6c11cf963a90f", + "difficulty": "HYPER", + "songID": 1829, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27006, + "notecount": 716, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "323af752b01ba169b38a6e76653118a5aebcb01d", + "difficulty": "NORMAL", + "songID": 1829, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27006, + "notecount": 415, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bea9f240a0b924a26c3c9b1e7d7df9af116d88c0", + "difficulty": "ANOTHER", + "songID": 1829, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27006, + "notecount": 1124, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "daa8492c68c6a41bb8a44f184bff4166f5cd421d", + "difficulty": "BEGINNER", + "songID": 1829, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 27006, + "notecount": 166, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cdef4ee266caf2e1d93626f5b1e8b426ddeb0413", + "difficulty": "HYPER", + "songID": 1829, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27006, + "notecount": 687, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3cb379e700216350f369542f54336e5b59c350a2", + "difficulty": "NORMAL", + "songID": 1829, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27006, + "notecount": 415, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f561d78efae33c3e3ccb94077730d379b19966c", + "difficulty": "ANOTHER", + "songID": 1830, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27007, + "notecount": 1763, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bfa21226fafdbbb628b0771bf0c2e5a938e7071c", + "difficulty": "HYPER", + "songID": 1830, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27007, + "notecount": 950, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "781667a9f8d74c70208efdb15ccc85d3ea012532", + "difficulty": "NORMAL", + "songID": 1830, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27007, + "notecount": 473, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "018c7e303fe582d5cfebad605c7461d73d46a2b0", + "difficulty": "ANOTHER", + "songID": 1830, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27007, + "notecount": 1639, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12E", + "value": 12, + "individualDifference": false + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.60", + "value": 12.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "1fa9baf551c29d3ac6b00a3e9d02958c7665849c", + "difficulty": "HYPER", + "songID": 1830, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27007, + "notecount": 854, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "167eac915195ac8e2f3055e06e20f1679907ed0e", + "difficulty": "NORMAL", + "songID": 1830, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27007, + "notecount": 471, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8debc3984c295cb95f8a150f7b2e065fc6be746a", + "difficulty": "ANOTHER", + "songID": 1831, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27008, + "notecount": 2363, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2382fd532ba6e9585c009df95029f05e9abcd54f", + "difficulty": "HYPER", + "songID": 1831, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27008, + "notecount": 1213, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0677edc7724879ba6a4bf2e8edb7adff969a765c", + "difficulty": "NORMAL", + "songID": 1831, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27008, + "notecount": 702, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b8db429d635e52dedb21b20496448ac4941e7f36", + "difficulty": "ANOTHER", + "songID": 1831, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27008, + "notecount": 2040, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": true + }, + "kt-HC": { + "text": "12S+", + "value": 13.2, + "individualDifference": true + } + } + }, + { + "rgcID": null, + "chartID": "19ed2efecab901cae59fe2b680dc00a3cbb88a1a", + "difficulty": "HYPER", + "songID": 1831, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27008, + "notecount": 1193, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b5e8e323ee30711939e52c44a5bab58f742a129", + "difficulty": "NORMAL", + "songID": 1831, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27008, + "notecount": 703, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9df9a62cabba2673786f8b8c9758649ebd27c6fb", + "difficulty": "ANOTHER", + "songID": 1832, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27009, + "notecount": 1506, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "58b56c9d9a41538887b4193d3d0983c492a1b178", + "difficulty": "HYPER", + "songID": 1832, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27009, + "notecount": 822, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "25c720af709b096c33f5e0397af572cb4b203e90", + "difficulty": "NORMAL", + "songID": 1832, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27009, + "notecount": 517, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ca2239e04fa44b6b16620a2a2be1ba6070d6574", + "difficulty": "ANOTHER", + "songID": 1832, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27009, + "notecount": 1453, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": true + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "82b72bd91378103ca75618f57e8f7c73792859fe", + "difficulty": "HYPER", + "songID": 1832, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27009, + "notecount": 833, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b5f75c47c73f2145d8dd9aacd19ed20fa7d24be4", + "difficulty": "NORMAL", + "songID": 1832, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27009, + "notecount": 516, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "31147d055a0516824e1fdd65739fa646f58f0810", + "difficulty": "ANOTHER", + "songID": 1833, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27010, + "notecount": 1257, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1d91511c16cef80c2410e2385f308507e5247c9", + "difficulty": "HYPER", + "songID": 1833, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27010, + "notecount": 907, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "06dacb1dfea1c954e65b8becab69b2054b0d297b", + "difficulty": "NORMAL", + "songID": 1833, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27010, + "notecount": 623, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ddc48c20e89c2c1719ad674f7c1ed03c6b77cd56", + "difficulty": "ANOTHER", + "songID": 1833, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27010, + "notecount": 1299, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-NC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "27d1eef95fded49306de4a7162e6c404292aa3df", + "difficulty": "HYPER", + "songID": 1833, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27010, + "notecount": 908, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f803ae2197350a78405ff4e6281695a4f14a980", + "difficulty": "NORMAL", + "songID": 1833, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27010, + "notecount": 593, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b2b9d676dba9e6d86b253f8caa1d0ae0cc4eb1c0", + "difficulty": "ANOTHER", + "songID": 1834, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27011, + "notecount": 1293, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a3782d9570e48f94170d8fc3fbfb67fba44d2226", + "difficulty": "HYPER", + "songID": 1834, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27011, + "notecount": 866, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60350b6db1917c23efa45cff8c252d894216847b", + "difficulty": "NORMAL", + "songID": 1834, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27011, + "notecount": 523, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e708abeb8dd9b3fb256c211c229de8756d0cdf4", + "difficulty": "ANOTHER", + "songID": 1834, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27011, + "notecount": 1295, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S+", + "value": 12.2, + "individualDifference": true + }, + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "668a6eb7a0b39c0dc9b14133419a78ff9dc0fb6d", + "difficulty": "HYPER", + "songID": 1834, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27011, + "notecount": 853, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd3b40df9d655f3a1bb6544f874202a0681b9e1f", + "difficulty": "NORMAL", + "songID": 1834, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27011, + "notecount": 515, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff3908074067bb5604bb3d46683ba7f247436602", + "difficulty": "ANOTHER", + "songID": 1835, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27012, + "notecount": 1700, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b544b07050ebcfb6396d3409f1ef90ce2f589503", + "difficulty": "HYPER", + "songID": 1835, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27012, + "notecount": 848, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca83f82918259876300feeb6a5f3a964fa83ba33", + "difficulty": "NORMAL", + "songID": 1835, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27012, + "notecount": 380, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0510a3866c5869cdf63a54bbf5d9ea11e7ea78a", + "difficulty": "ANOTHER", + "songID": 1835, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27012, + "notecount": 1824, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d0d4266532b80a06efb4f9db70096b43f1318ecf", + "difficulty": "HYPER", + "songID": 1835, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27012, + "notecount": 908, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa1ffd97b7ef5d878db53e9318267fda2492971c", + "difficulty": "NORMAL", + "songID": 1835, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27012, + "notecount": 399, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "67283b32778eae586c6a676d54f5c4609ea5d40d", + "difficulty": "ANOTHER", + "songID": 1836, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27013, + "notecount": 1516, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b2f153694db60c3eb1b63236b8c1895b9b3d3206", + "difficulty": "HYPER", + "songID": 1836, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27013, + "notecount": 902, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1aa9ce0e77f1978943aca327e6619c95c4a0fe4d", + "difficulty": "NORMAL", + "songID": 1836, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27013, + "notecount": 531, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fba8be1c7a1f91ff821e35d41c4dca4bb8f5b44d", + "difficulty": "ANOTHER", + "songID": 1836, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27013, + "notecount": 1613, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "71537cd4c93de679d656057277a58767263a61be", + "difficulty": "HYPER", + "songID": 1836, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27013, + "notecount": 913, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1cf72502c3261adb81e9ad2794fb6d0987a9286a", + "difficulty": "NORMAL", + "songID": 1836, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27013, + "notecount": 531, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "789e959ba2e428967a241b4da9439020bb0fa713", + "difficulty": "ANOTHER", + "songID": 1837, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27014, + "notecount": 1071, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b0f5e64d870c2b530ec5f6f1f5835a917ca89c84", + "difficulty": "HYPER", + "songID": 1837, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27014, + "notecount": 871, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1bab944801b28d16de15aa3805f3607a7a33957f", + "difficulty": "NORMAL", + "songID": 1837, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27014, + "notecount": 505, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "668d53daaeb254911c24aff49a496f6f67f86aaf", + "difficulty": "ANOTHER", + "songID": 1837, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27014, + "notecount": 1197, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b91f0f8a64e24d7a5b95035c72d1b17f82a392e0", + "difficulty": "HYPER", + "songID": 1837, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27014, + "notecount": 885, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "112f11a682e51b515bfb28363dc54edeefa4f823", + "difficulty": "NORMAL", + "songID": 1837, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27014, + "notecount": 541, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee17a26816f1f78831f4fb8f74c554a225ed3179", + "difficulty": "ANOTHER", + "songID": 1838, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27015, + "notecount": 1264, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02c151e95601cb92717f80fcb1b3c3d8a580aa63", + "difficulty": "HYPER", + "songID": 1838, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27015, + "notecount": 809, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "14284ac146f0a982c6321e667e70c8fea7e9cca2", + "difficulty": "NORMAL", + "songID": 1838, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27015, + "notecount": 424, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "40820f88d9b47e15f9a81010aa2db9f933881439", + "difficulty": "ANOTHER", + "songID": 1838, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27015, + "notecount": 1247, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e9d79a8457ed05c603851da9167bf296e4f7343", + "difficulty": "HYPER", + "songID": 1838, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27015, + "notecount": 855, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f64bd29f4e03db7067c652174fffebaa9138ad1", + "difficulty": "NORMAL", + "songID": 1838, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27015, + "notecount": 472, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0f70d7058ca8141021b73cc18fd57648b69f452", + "difficulty": "ANOTHER", + "songID": 1839, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27016, + "notecount": 1405, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "319f1b796feea5643c83b4af1c527faedb45e92b", + "difficulty": "HYPER", + "songID": 1839, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27016, + "notecount": 919, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c091907c4911adb2d3aceea3f1a5e6290c06e417", + "difficulty": "NORMAL", + "songID": 1839, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27016, + "notecount": 560, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e98cb854dabb5d452806f155bb9416d915e1a202", + "difficulty": "ANOTHER", + "songID": 1839, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27016, + "notecount": 1442, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "chartID": "73eedaacedcbe3d6fa6dbd61175e571c45dde5db", + "difficulty": "BEGINNER", + "level": "0", + "levelNum": 0, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 1839, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 27016, + "arcChartID": null, + "notecount": 235, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "fae9336a5a6f7cf2146264ac2a06b1b99e86d70f", + "difficulty": "HYPER", + "songID": 1839, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27016, + "notecount": 917, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b945a6531802eaa7f27f587a0aa20e7f27d29ed1", + "difficulty": "NORMAL", + "songID": 1839, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27016, + "notecount": 565, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "beb7fac532dc931ad619fb7e9fd119b22edf116d", + "difficulty": "ANOTHER", + "songID": 1840, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27017, + "notecount": 1244, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28bff2e6e4d7304a5785b9b0f94fa8701e11a6cd", + "difficulty": "HYPER", + "songID": 1840, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27017, + "notecount": 826, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "024c652af7a38d23a6fce7821cb46d4d7f570190", + "difficulty": "NORMAL", + "songID": 1840, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27017, + "notecount": 453, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bae2bfd051eeb0ea03e87c5ccd1bef848b5efa4c", + "difficulty": "ANOTHER", + "songID": 1840, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27017, + "notecount": 1200, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "65e718fbfa6dab8e8d5476cf134b607206e6d965", + "difficulty": "BEGINNER", + "level": "0", + "levelNum": 0, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 1840, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 27017, + "arcChartID": null, + "notecount": 235, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "c6dc8b4ce92e5937c910b93d0b188be9880996c5", + "difficulty": "HYPER", + "songID": 1840, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27017, + "notecount": 778, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "95e10e081df54b0689f9b69e6060331604e7dceb", + "difficulty": "NORMAL", + "songID": 1840, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27017, + "notecount": 444, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d97cde0edaed14fdfc1130de0426da62745f253", + "difficulty": "ANOTHER", + "songID": 1841, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27018, + "notecount": 1835, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4299da79764be04902d6c7097184b4994712fca0", + "difficulty": "HYPER", + "songID": 1841, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27018, + "notecount": 1114, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0159418c3fd5877caca54d0a935fc3012aed6dc2", + "difficulty": "NORMAL", + "songID": 1841, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27018, + "notecount": 712, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28951b3bf96abde552a67b3d46a268d60f577aa1", + "difficulty": "ANOTHER", + "songID": 1841, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27018, + "notecount": 1849, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.20", + "value": 13.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6d797353c3c5b778227940cf8cd8645351c95212", + "difficulty": "HYPER", + "songID": 1841, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27018, + "notecount": 1105, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b7b1fb419c1557a78ddb292b6ae6a6bdb7179f4f", + "difficulty": "NORMAL", + "songID": 1841, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27018, + "notecount": 710, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1899fee52ab071b172c982968f29eb1e08d45c08", + "difficulty": "ANOTHER", + "songID": 1842, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27019, + "notecount": 1767, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f4cb572f771ed31c51afb2a64019346eb3a1b4c", + "difficulty": "HYPER", + "songID": 1842, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27019, + "notecount": 1177, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ec7917f8d75b491b56e4f3b0a52488eecc4a6fa", + "difficulty": "NORMAL", + "songID": 1842, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27019, + "notecount": 652, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d4e5eb80a4b4cf2437d430bb42727c1eb404dfa0", + "difficulty": "ANOTHER", + "songID": 1842, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27019, + "notecount": 1823, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "803a540070039e23a5e39afba6f95fd6d72acf3c", + "difficulty": "HYPER", + "songID": 1842, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27019, + "notecount": 1243, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e4c38a8e9c7d0450a3dadb6871f09e040b11512f", + "difficulty": "NORMAL", + "songID": 1842, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27019, + "notecount": 633, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0fc45421a215fa11d213766d58b410830d6ddd75", + "difficulty": "ANOTHER", + "songID": 1843, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27020, + "notecount": 1781, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "20447a56e705a98857f4aad2980a4354420ebf71", + "difficulty": "HYPER", + "songID": 1843, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27020, + "notecount": 1149, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "400e9a39a94caf5628eb0188927053f1882877a1", + "difficulty": "NORMAL", + "songID": 1843, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27020, + "notecount": 619, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e5a3588ce063aec24bdbfdbf7407102a9810f568", + "difficulty": "ANOTHER", + "songID": 1843, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27020, + "notecount": 1970, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": false + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3e2b09a3e47fc5a26e7865b12c494326b38f9726", + "difficulty": "HYPER", + "songID": 1843, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27020, + "notecount": 1197, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "970d3f45fca0ab1c3a4bfc14a45e133b093ec91f", + "difficulty": "NORMAL", + "songID": 1843, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27020, + "notecount": 638, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "958df4205cb70a5fbd76eae7528dae125e1b12ac", + "difficulty": "ANOTHER", + "songID": 1844, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27021, + "notecount": 1327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0eb993cdb733a5c950e78cefa0fd585ac00f9308", + "difficulty": "HYPER", + "songID": 1844, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27021, + "notecount": 892, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "28ce2fd868e07a2b9d81a7cbe4ed390d444b1bfa", + "difficulty": "NORMAL", + "songID": 1844, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27021, + "notecount": 506, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e7516e6237ebe1e100ad2ef54660dd27caabd8b", + "difficulty": "ANOTHER", + "songID": 1844, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27021, + "notecount": 1330, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2d22c187b074e257088ee4d7ec2cfbf332ad0716", + "difficulty": "HYPER", + "songID": 1844, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27021, + "notecount": 952, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0bdc582a5021add14e0fdba57920263e5373547b", + "difficulty": "NORMAL", + "songID": 1844, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27021, + "notecount": 493, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0316fdb8f43b64753377a29de6e8889ccbc3efe3", + "difficulty": "ANOTHER", + "songID": 1845, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27022, + "notecount": 1085, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe9a00b9189b95766c766aceceb69d962abd68e7", + "difficulty": "HYPER", + "songID": 1845, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27022, + "notecount": 688, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3368c164c44099d26cf96375c17fee39d94fa348", + "difficulty": "NORMAL", + "songID": 1845, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27022, + "notecount": 351, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8d7166475a98e8bf7d165b0407f2ecb7cfc8ccc4", + "difficulty": "ANOTHER", + "songID": 1845, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27022, + "notecount": 1027, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ca6bbced5b6e2487a93900297eb1e13c7533931", + "difficulty": "HYPER", + "songID": 1845, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27022, + "notecount": 644, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "23b85713d12ea6c6c59e10b5b8dccb469d2e9356", + "difficulty": "NORMAL", + "songID": 1845, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27022, + "notecount": 352, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d2178c4c99405ce36d27bfba908f43cf52c0dc4", + "difficulty": "ANOTHER", + "songID": 1846, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27023, + "notecount": 1280, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1359e8850aa03da315116118225297f670f85184", + "difficulty": "HYPER", + "songID": 1846, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27023, + "notecount": 820, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "afd850ffcfedfd44c2a4b69c5328521c13fdb02c", + "difficulty": "NORMAL", + "songID": 1846, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27023, + "notecount": 349, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed49bd6233703c7f0a1aec7f5bd884b783a33747", + "difficulty": "ANOTHER", + "songID": 1846, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27023, + "notecount": 1236, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "059ea30feb9fd21d709796d30de44170755788e7", + "difficulty": "HYPER", + "songID": 1846, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27023, + "notecount": 857, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0f5c0c1ce7f88831f485879cf372d14666eb70fa", + "difficulty": "NORMAL", + "songID": 1846, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27023, + "notecount": 358, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d6f842868c037706c0055eefb921917eb357b34", + "difficulty": "ANOTHER", + "songID": 1847, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27024, + "notecount": 1344, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7fcb3a7f0b863e1b54a0f49b844ec35f213fbfec", + "difficulty": "HYPER", + "songID": 1847, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27024, + "notecount": 861, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a72573463d92cf965be8cd71ed1b63838ac84a51", + "difficulty": "NORMAL", + "songID": 1847, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27024, + "notecount": 558, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2201490b8161075712f6f663c3fd1f1d7f3a5e8d", + "difficulty": "ANOTHER", + "songID": 1847, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27024, + "notecount": 1392, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c9e32db15921edf83d5f2e6f72e5d80b5f267058", + "difficulty": "HYPER", + "songID": 1847, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27024, + "notecount": 894, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85f69732030a8084634340ed36e88796171477f0", + "difficulty": "NORMAL", + "songID": 1847, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27024, + "notecount": 561, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87e9705c638a3c91f0410f7b522b9050ee0431b8", + "difficulty": "ANOTHER", + "songID": 1848, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27025, + "notecount": 1104, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7e5339fef064f411b4b2dc23c447e4518bff1d68", + "difficulty": "HYPER", + "songID": 1848, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27025, + "notecount": 732, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1224607c67da8de911579502aa551d30d45802d", + "difficulty": "NORMAL", + "songID": 1848, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27025, + "notecount": 343, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea845d208d6605d047165538486b57d507812acd", + "difficulty": "ANOTHER", + "songID": 1848, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27025, + "notecount": 1100, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29b6beaee558a1ead06f13f6cfaeeb4fac419aac", + "difficulty": "HYPER", + "songID": 1848, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27025, + "notecount": 716, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f99b8ca8516b8e770fbd827abc224b151393b98", + "difficulty": "NORMAL", + "songID": 1848, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27025, + "notecount": 340, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30facba994031245d66a6ad09bad8f0fbc686b6a", + "difficulty": "ANOTHER", + "songID": 1849, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27026, + "notecount": 1728, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c48a9651bd185efa9202b279d697cf57919224d1", + "difficulty": "HYPER", + "songID": 1849, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27026, + "notecount": 861, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f66e1ba2ccea3eab0532ee99c4503d6c5cbaba9", + "difficulty": "NORMAL", + "songID": 1849, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27026, + "notecount": 472, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "233eca7928d16c58a08d6766d1fe80c89e6273e6", + "difficulty": "ANOTHER", + "songID": 1849, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27026, + "notecount": 1586, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "700bc9ff62edbfd0afc03b69f9ba755d8948c97f", + "difficulty": "HYPER", + "songID": 1849, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27026, + "notecount": 906, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "38a13ddd51dc610b5be8b57ee628e0bcc2f1025c", + "difficulty": "NORMAL", + "songID": 1849, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27026, + "notecount": 469, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "20f5087719cdec24b5f9581a98d5e0a939c2fec2", + "difficulty": "ANOTHER", + "songID": 1850, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27029, + "notecount": 1290, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63cab9279ab8fbaabc46d833d465747f1a716239", + "difficulty": "HYPER", + "songID": 1850, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27029, + "notecount": 841, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13bb9b923285ccab493fddcfcb521ee948372f8d", + "difficulty": "NORMAL", + "songID": 1850, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27029, + "notecount": 499, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "666bf1db4b4e347944ff83d06f5698dcfd993830", + "difficulty": "ANOTHER", + "songID": 1850, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27029, + "notecount": 1338, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d526c2cde1e2d2ec60597e7895696416a5438233", + "difficulty": "HYPER", + "songID": 1850, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27029, + "notecount": 854, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5d054d6d55221bd4809d2fa71615036a288cff64", + "difficulty": "NORMAL", + "songID": 1850, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27029, + "notecount": 496, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ecf0189560296a1afddaa7d6a244f0a0d9542f5", + "difficulty": "ANOTHER", + "songID": 1851, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27030, + "notecount": 1667, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9971a26c18d50248bc689bdc041a149f6573460e", + "difficulty": "HYPER", + "songID": 1851, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27030, + "notecount": 1289, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98e99e2430928ab0bdcaaf84541f86f8b90af61f", + "difficulty": "NORMAL", + "songID": 1851, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27030, + "notecount": 747, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9af5785b078d080150ba8799619da7d70e2a2002", + "difficulty": "ANOTHER", + "songID": 1851, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27030, + "notecount": 1705, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f819a614da8b24037d0317b31fd5d31dd77fa305", + "difficulty": "HYPER", + "songID": 1851, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27030, + "notecount": 1189, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "145be84aa59175cbee2fa41f9eaafb1a0443332e", + "difficulty": "NORMAL", + "songID": 1851, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27030, + "notecount": 696, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e34935e419b84e1f2d5e96cc67ef6234e70f773", + "difficulty": "ANOTHER", + "songID": 1852, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27031, + "notecount": 1129, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e523e8ca710fd7388fedf2fa5483203145391012", + "difficulty": "HYPER", + "songID": 1852, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27031, + "notecount": 687, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f7bd2a3d25cb7d4b7bb1dd817dd69be52448291b", + "difficulty": "NORMAL", + "songID": 1852, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27031, + "notecount": 396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89b0b9c3962e1da9f74983886249682388b04c3c", + "difficulty": "ANOTHER", + "songID": 1852, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27031, + "notecount": 1069, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "70e6688f0d62bc85bacc3cea62dc6838bfda4cc8", + "difficulty": "HYPER", + "songID": 1852, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27031, + "notecount": 701, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bfd18970d157091122f33bf7ca0a6e1d525335b9", + "difficulty": "NORMAL", + "songID": 1852, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27031, + "notecount": 391, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a4e33825483fa05d66ba31bc31282dd26129e63", + "difficulty": "ANOTHER", + "songID": 1853, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27032, + "notecount": 1223, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d8155b04640b2a4bab5c21a0efb91b24d9031e6", + "difficulty": "HYPER", + "songID": 1853, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27032, + "notecount": 753, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c4453e141cc4a328cb222925a7f8b4fc871ef28", + "difficulty": "NORMAL", + "songID": 1853, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27032, + "notecount": 427, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "102fdc235280d44b1bbeca01f8c7d326648a3aa8", + "difficulty": "ANOTHER", + "songID": 1853, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27032, + "notecount": 1205, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "f121729bc1bfc399056f2c75cb733686814720a0", + "difficulty": "BEGINNER", + "level": "2", + "levelNum": 2, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 1853, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 27032, + "arcChartID": null, + "notecount": 191, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "c424844b2c2dbe1656a0a39fd8ac670e310d4a81", + "difficulty": "HYPER", + "songID": 1853, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27032, + "notecount": 739, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d31db8563f3a1fb97b9e3e6f25ae7f451909ca3", + "difficulty": "NORMAL", + "songID": 1853, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27032, + "notecount": 404, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5cac1ca8231cc96d88483bf1598cc84c7361b07c", + "difficulty": "ANOTHER", + "songID": 1854, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27033, + "notecount": 1583, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ad788b3677351095063355abdbd6a23f712e0ef", + "difficulty": "HYPER", + "songID": 1854, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27033, + "notecount": 974, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e115758a2d7b26159e7819a38e7e6413b3abab0", + "difficulty": "NORMAL", + "songID": 1854, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27033, + "notecount": 417, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ffceb0adbfc219f7435704a3274db3b0c9beb0d9", + "difficulty": "ANOTHER", + "songID": 1854, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27033, + "notecount": 1566, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c3c47d634fed248f8bcf9d1aa7f755f86c56ec66", + "difficulty": "HYPER", + "songID": 1854, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27033, + "notecount": 986, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ce5115b73c08ada64615ca87d491fa51e328267", + "difficulty": "NORMAL", + "songID": 1854, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27033, + "notecount": 408, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c621302af9f59846dfa4c69e6db00aeb6b31b254", + "difficulty": "ANOTHER", + "songID": 1855, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27034, + "notecount": 1607, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c37e55b1e3e9d4cba0948b2943c583154e3a3d9e", + "difficulty": "HYPER", + "songID": 1855, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27034, + "notecount": 923, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d99b15f4166ed2c05141fe22b75da1c1d9b5588", + "difficulty": "NORMAL", + "songID": 1855, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27034, + "notecount": 712, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c166727fdde721bf16afa8deb5ef5bc59304d26", + "difficulty": "ANOTHER", + "songID": 1855, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27034, + "notecount": 1636, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.80", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d57ebd3359df30240634465a5f32dee4833d8563", + "difficulty": "HYPER", + "songID": 1855, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27034, + "notecount": 943, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "18492388f0cb58491a296c26675780bc7b8f0cf5", + "difficulty": "NORMAL", + "songID": 1855, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27034, + "notecount": 712, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82f7d85ae19ba556da62eeedfe97aab81d14db33", + "difficulty": "ANOTHER", + "songID": 1856, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27035, + "notecount": 1923, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e8324d75fcca45f612f7af771860430b6d1ac3c2", + "difficulty": "HYPER", + "songID": 1856, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27035, + "notecount": 1252, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fef12bc98ee33b628afa5d58b0dce6c42750f089", + "difficulty": "NORMAL", + "songID": 1856, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27035, + "notecount": 665, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c76c0d095b5fe3b4e393373d9a92c8bd0bc1ebf", + "difficulty": "ANOTHER", + "songID": 1856, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27035, + "notecount": 1870, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "19659889b96475afb8be2f36f8ae3d1c52ee72fd", + "difficulty": "HYPER", + "songID": 1856, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27035, + "notecount": 1243, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "14e5a31299a86dfee6b34ade8895416d849e5b3d", + "difficulty": "NORMAL", + "songID": 1856, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27035, + "notecount": 660, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2699ea6c65734c6e19ddb13f4e111860777ce71f", + "difficulty": "ANOTHER", + "songID": 1857, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27036, + "notecount": 1354, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94fec048858b36a74851e9c617dc77ce9b5630a4", + "difficulty": "HYPER", + "songID": 1857, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27036, + "notecount": 749, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33276c8010663eca1ac7a80b995cc061fe43fa23", + "difficulty": "NORMAL", + "songID": 1857, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27036, + "notecount": 418, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bacba031e156db74a0b1f8d9b7285a74a788cb50", + "difficulty": "ANOTHER", + "songID": 1857, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27036, + "notecount": 1403, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c90102933e99af5a7bcf6a67cc8aa20815caf42e", + "difficulty": "HYPER", + "songID": 1857, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27036, + "notecount": 767, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "be95fd9ae47e6f43a867fabcab23440a7aede8dd", + "difficulty": "NORMAL", + "songID": 1857, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27036, + "notecount": 425, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a41ac62a1d42ac6299135f0415ab94413817dbbb", + "difficulty": "ANOTHER", + "songID": 1858, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27037, + "notecount": 1296, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "568766c57772613086111ef900ce861f631d7f2d", + "difficulty": "HYPER", + "songID": 1858, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27037, + "notecount": 776, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97d40faa6ce1cc393297cd02ecfb699251d747db", + "difficulty": "NORMAL", + "songID": 1858, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27037, + "notecount": 451, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e7f77a8810022fd5c2332676b955ed729f50984", + "difficulty": "ANOTHER", + "songID": 1858, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27037, + "notecount": 1215, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "471d97aa103e6dd476541df7c33076ef3863bc82", + "difficulty": "HYPER", + "songID": 1858, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27037, + "notecount": 767, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "354b35fca3c9b485287e04fc3bc9d843b7bf3de0", + "difficulty": "NORMAL", + "songID": 1858, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27037, + "notecount": 444, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9e4c96ddcab6960f9cb3074099835fe5ca10012d", + "difficulty": "ANOTHER", + "songID": 1859, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27038, + "notecount": 1218, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7cfbdf9d552c7ed98a27f9a78e76c74d4d7237e0", + "difficulty": "HYPER", + "songID": 1859, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27038, + "notecount": 707, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c67f164dfe59ae8ef97d478d5d2533e4a04b3fec", + "difficulty": "NORMAL", + "songID": 1859, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27038, + "notecount": 303, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ca905477c77a59bb17078d3338df06c311c34e65", + "difficulty": "ANOTHER", + "songID": 1859, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27038, + "notecount": 1117, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "97459484cb0e0f41a1185c6e99fb994d00994aeb", + "difficulty": "BEGINNER", + "songID": 1859, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 27038, + "notecount": 178, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a85354f96539884d2dc587110ba8c18d578b03c5", + "difficulty": "HYPER", + "songID": 1859, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27038, + "notecount": 699, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b3fcc2416af0f5a7277169cf8ead53c1f47ed90f", + "difficulty": "NORMAL", + "songID": 1859, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27038, + "notecount": 287, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0b6acbc43c65bb66193130dffe8d329407a67ca0", + "difficulty": "ANOTHER", + "songID": 1860, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27039, + "notecount": 1477, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27a5d4d0c0838951fc389c8f9693dc158b9e387f", + "difficulty": "HYPER", + "songID": 1860, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27039, + "notecount": 838, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7745ff5caedc7d14135c96b149b1e2e94f412129", + "difficulty": "NORMAL", + "songID": 1860, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27039, + "notecount": 567, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11c2e365f1c8b4b260a8b2042b656287ddff9ce3", + "difficulty": "ANOTHER", + "songID": 1860, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27039, + "notecount": 1586, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12S", + "value": 13, + "individualDifference": true + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.40", + "value": 13.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "78305fa5808080b8d9292555a966cc84d3174403", + "difficulty": "HYPER", + "songID": 1860, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27039, + "notecount": 950, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8a7264a1751bb5e6009fadb9fb02628284446f9e", + "difficulty": "NORMAL", + "songID": 1860, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27039, + "notecount": 541, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c1cd60c7c7e8147b98475f28487e60d6b97696ea", + "difficulty": "ANOTHER", + "songID": 1861, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27041, + "notecount": 1140, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "659d4e818899ca97fd7046bf08ba7ee1185ab809", + "difficulty": "HYPER", + "songID": 1861, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27041, + "notecount": 775, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "91c6b85202f3f7eabb397322675c53e32a58cba5", + "difficulty": "NORMAL", + "songID": 1861, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27041, + "notecount": 485, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d09d641ea810ed2942b9954ff41e687e6e9021fd", + "difficulty": "ANOTHER", + "songID": 1861, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27041, + "notecount": 1146, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02e845cc7cbd090460bd9d813a2fdc294798a9cd", + "difficulty": "HYPER", + "songID": 1861, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27041, + "notecount": 784, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9651f2c1eab9fd84b87f26e88138e1bebe6bbeeb", + "difficulty": "NORMAL", + "songID": 1861, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27041, + "notecount": 501, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "be1155ec34447a2986ce15b1d8ccba2d4af39513", + "difficulty": "ANOTHER", + "songID": 1862, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27042, + "notecount": 1435, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "198f6fa55f0e704a50d0fadf88c66680a847da6b", + "difficulty": "HYPER", + "songID": 1862, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27042, + "notecount": 1035, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e61b0e1d81fa8232dd2da1fcb51b99e38de574dd", + "difficulty": "NORMAL", + "songID": 1862, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27042, + "notecount": 731, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "36d9518c9951057805d1eed88af846bbde09e7a3", + "difficulty": "ANOTHER", + "songID": 1862, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27042, + "notecount": 1419, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S", + "value": 12, + "individualDifference": false + }, + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + } + } + }, + { + "chartID": "bb76acff886184885cd262993aa4881773345ccd", + "difficulty": "BEGINNER", + "level": "0", + "levelNum": 0, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 1862, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 27042, + "arcChartID": null, + "notecount": 684, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "e98fe914cb5ede8a5ac37d5bef766ab582480952", + "difficulty": "HYPER", + "songID": 1862, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27042, + "notecount": 1032, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eca9c21fa9b5e99da5c4a07b248f0ea7b372117d", + "difficulty": "NORMAL", + "songID": 1862, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27042, + "notecount": 713, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "745438f85e2c729299faf8c169f80dc8dae999bc", + "difficulty": "ANOTHER", + "songID": 1863, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27043, + "notecount": 1534, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04d2060c2a9267c776e2ed672d0421a7a2af70f4", + "difficulty": "HYPER", + "songID": 1863, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27043, + "notecount": 1019, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9929c7d7c41b630cba7594576e20cc85608bd28a", + "difficulty": "NORMAL", + "songID": 1863, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27043, + "notecount": 589, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1cb0d67466cb2153369e55729d4813a7d7dea24c", + "difficulty": "ANOTHER", + "songID": 1863, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27043, + "notecount": 1564, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12F", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12F", + "value": 11.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.50", + "value": 12.5, + "individualDifference": false + } + } + }, + { + "chartID": "961a83bbd5bd5f21490fe0c4415c5c43564981fb", + "difficulty": "BEGINNER", + "level": "3", + "levelNum": 3, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 1863, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 27043, + "arcChartID": null, + "notecount": 298, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "77363744c01383e4ba3d841c8c3e95c00cda8b6e", + "difficulty": "HYPER", + "songID": 1863, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27043, + "notecount": 1004, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2bb5921049b7954b49456669d620c744b8546c76", + "difficulty": "NORMAL", + "songID": 1863, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27043, + "notecount": 587, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13e3ceaf3098b03078d20bb795dad0593d32ad63", + "difficulty": "ANOTHER", + "songID": 1864, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27044, + "notecount": 1874, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ab8119df69c06f7f42b21d09e5956e6044aa6a98", + "difficulty": "HYPER", + "songID": 1864, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27044, + "notecount": 1057, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "69749a02a22147b6f279042ec6379b93fd03c407", + "difficulty": "NORMAL", + "songID": 1864, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27044, + "notecount": 600, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6c165c8ad6a6411f37f1a7e70ae7bc4a1f9c5c4", + "difficulty": "ANOTHER", + "songID": 1864, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27044, + "notecount": 1683, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e3b6769d0a6b445c5f9b58f65cc4bfaa69eaa1cc", + "difficulty": "HYPER", + "songID": 1864, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27044, + "notecount": 1009, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f88d5ba5e2d343587f9a4ce247136e78841a4e40", + "difficulty": "NORMAL", + "songID": 1864, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27044, + "notecount": 654, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "90fd828c2076581ff0a5287ece239d3c95149da2", + "difficulty": "ANOTHER", + "songID": 1865, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27045, + "notecount": 1009, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b16ece104dbb558be0c80b4c03dcdb6b12a28749", + "difficulty": "HYPER", + "songID": 1865, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27045, + "notecount": 703, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f2e87d64d4040a70fc7bd8128ad73445efc26ad", + "difficulty": "NORMAL", + "songID": 1865, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27045, + "notecount": 443, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ebd851fc154b5be1fdbe0b97ad4b4b536305a62", + "difficulty": "ANOTHER", + "songID": 1865, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27045, + "notecount": 1119, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "31197480759a3d6c455219e4728c97eeed32392f", + "difficulty": "HYPER", + "songID": 1865, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27045, + "notecount": 785, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "928651764b1609196e5bbc1158aba7a1332e1e9c", + "difficulty": "NORMAL", + "songID": 1865, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27045, + "notecount": 397, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "59e16a31ae178c4b1f5699d8db33ab4effe89fa8", + "difficulty": "ANOTHER", + "songID": 1866, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27046, + "notecount": 1445, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4055b52912c7a22883b7dc760ca7d6daffee45ac", + "difficulty": "HYPER", + "songID": 1866, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27046, + "notecount": 815, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8cbc605e9110e68d79ee954532ecd5a856c39b2b", + "difficulty": "NORMAL", + "songID": 1866, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27046, + "notecount": 492, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6836e17081a6f232ca83826fc5a40f30710e4139", + "difficulty": "ANOTHER", + "songID": 1866, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27046, + "notecount": 1471, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "4a13ea1e35b0ab95273a5e1a18d5d67a4993cdab", + "difficulty": "HYPER", + "songID": 1866, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27046, + "notecount": 821, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ecfb1b4e0dbc02c6d70e927f074c240e07ba6843", + "difficulty": "NORMAL", + "songID": 1866, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27046, + "notecount": 480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5664888196afa3caa270b6d086d15f6fee5a5a7a", + "difficulty": "ANOTHER", + "songID": 1867, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27047, + "notecount": 1361, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21b16f939031b27ba406160b27038fcfff9ed898", + "difficulty": "HYPER", + "songID": 1867, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27047, + "notecount": 809, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1546df60bfeae9a4eeac9f5ec71102d8685b5560", + "difficulty": "NORMAL", + "songID": 1867, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27047, + "notecount": 472, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d4b27e43d9de20821b77043c495edda35f060ed", + "difficulty": "ANOTHER", + "songID": 1867, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27047, + "notecount": 1262, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3851b74464d511fd50a9adf900589b127f4f927c", + "difficulty": "HYPER", + "songID": 1867, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27047, + "notecount": 786, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98a33bf6fce807ba2e1cdc5c7073d0774e5c8bfb", + "difficulty": "NORMAL", + "songID": 1867, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27047, + "notecount": 459, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e439fc17bba566d7e9f4c49a7853d2ceac57352a", + "difficulty": "ANOTHER", + "songID": 1868, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27048, + "notecount": 1303, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83be91b6576d85ccd4364fb9bee5e4cd031f673f", + "difficulty": "HYPER", + "songID": 1868, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27048, + "notecount": 729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c42781ed06c493f0f8bc44af38f2bb12d5ec02d9", + "difficulty": "NORMAL", + "songID": 1868, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27048, + "notecount": 422, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3136d2bc44a7b696ea642dc045db26e69c69b6e3", + "difficulty": "ANOTHER", + "songID": 1868, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27048, + "notecount": 1164, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "44a2c0d6b4d763a5e281ca30f9915415346dd79b", + "difficulty": "HYPER", + "songID": 1868, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27048, + "notecount": 709, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e5e6896e0fd4925701b465f2685c439d363d4b9d", + "difficulty": "NORMAL", + "songID": 1868, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27048, + "notecount": 436, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f7c831119006f262c35eb821836e262fe8ef2cfa", + "difficulty": "ANOTHER", + "songID": 1869, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27049, + "notecount": 941, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cbe162ec43532d378c904f7d8fa6a5b80c0dbc73", + "difficulty": "HYPER", + "songID": 1869, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27049, + "notecount": 594, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "31bb0f6fb07ff6a737ed34ee056b48f194e49dea", + "difficulty": "NORMAL", + "songID": 1869, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27049, + "notecount": 335, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b3766ca27dc341fcf1fafa4a458670359ebe50b3", + "difficulty": "ANOTHER", + "songID": 1869, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27049, + "notecount": 933, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2183335f214ca724a8697b1a504aadea7071a6a", + "difficulty": "HYPER", + "songID": 1869, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27049, + "notecount": 583, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0066e4fa3223d66bc3768515c72407043ff2a5a8", + "difficulty": "NORMAL", + "songID": 1869, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27049, + "notecount": 336, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "29adf480cc55638b174538ccb6b0052c06571d0a", + "difficulty": "ANOTHER", + "songID": 1870, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27050, + "notecount": 1412, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9623f36af6dee202df74b0331a07658f8396307e", + "difficulty": "HYPER", + "songID": 1870, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27050, + "notecount": 861, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "663f430bb7cf115bf2bbd58cd1b925e53f85ccd1", + "difficulty": "NORMAL", + "songID": 1870, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27050, + "notecount": 620, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc9dfda130b41278fe4e9631a3328cd5e24b3ddc", + "difficulty": "ANOTHER", + "songID": 1870, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27050, + "notecount": 1495, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a859773b4d10ddd72ed948e5fae40336b2cdce16", + "difficulty": "HYPER", + "songID": 1870, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27050, + "notecount": 914, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53737800c3f0bf422bf62ff9b934729f5e3aa731", + "difficulty": "NORMAL", + "songID": 1870, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27050, + "notecount": 548, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dbf465f3fb91039f02276fe7b8177fe0c057d7d6", + "difficulty": "ANOTHER", + "songID": 1871, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27051, + "notecount": 1139, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f31d55356858b0d9ab477dc22a83b1ae69b9dded", + "difficulty": "HYPER", + "songID": 1871, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27051, + "notecount": 692, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "519eaf9840bd8994270184a84e8d672923588019", + "difficulty": "NORMAL", + "songID": 1871, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27051, + "notecount": 502, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f84bc49a7178c0bf0568aecc528d35b78b25060", + "difficulty": "ANOTHER", + "songID": 1871, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27051, + "notecount": 1176, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "642692ad57c1ef5a0221eb18eed42f7a7057ae7e", + "difficulty": "HYPER", + "songID": 1871, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27051, + "notecount": 739, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5bf33069fc4a2e4e0fcbbe78d12811bba37fc254", + "difficulty": "NORMAL", + "songID": 1871, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27051, + "notecount": 497, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c3408d70d692ba37d8db676e6874d77a650830c", + "difficulty": "ANOTHER", + "songID": 1872, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27052, + "notecount": 1542, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cebe28998d6847829e70a20d7cff614d11a99c58", + "difficulty": "HYPER", + "songID": 1872, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27052, + "notecount": 1104, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e1dde735bef060278628ea5c2467d537276d004a", + "difficulty": "NORMAL", + "songID": 1872, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27052, + "notecount": 568, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30d35e5394cdcdb46b8c20abdda2d98ae9aa8448", + "difficulty": "ANOTHER", + "songID": 1872, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27052, + "notecount": 1567, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": true + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "75de2494c2fcdd0f6bf2c8c3eb7321bfa33ee4e2", + "difficulty": "HYPER", + "songID": 1872, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27052, + "notecount": 1111, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "88057d48eb930386a9ff9f2f2029a9978b5e7498", + "difficulty": "NORMAL", + "songID": 1872, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27052, + "notecount": 567, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73a3cb9f4c2e945708fba59372259c2882917448", + "difficulty": "ANOTHER", + "songID": 1873, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27053, + "notecount": 1244, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "356936c494d3054fb35e8ec96610a091fa502431", + "difficulty": "HYPER", + "songID": 1873, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27053, + "notecount": 760, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2557dc1901904532b086aed1ebb8e26d4a0e9413", + "difficulty": "NORMAL", + "songID": 1873, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27053, + "notecount": 500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3e557b0b5317408289d6338a7556a924caf0857e", + "difficulty": "ANOTHER", + "songID": 1873, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27053, + "notecount": 1245, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "906c1db245bb132a91fa7f9e1dba33b3d1590447", + "difficulty": "HYPER", + "songID": 1873, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27053, + "notecount": 777, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a3382bdfab9ae91387b022837ff014ced50e9b05", + "difficulty": "NORMAL", + "songID": 1873, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27053, + "notecount": 502, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "40599d472e9e5419f433180274debdc61ac8c5d5", + "difficulty": "ANOTHER", + "songID": 1874, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27054, + "notecount": 1456, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a990b327721abcb4f8cd7f2032a0c3e21c88b1ed", + "difficulty": "HYPER", + "songID": 1874, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27054, + "notecount": 846, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "31ff23e7104bd5b57f59be30537a1853be146241", + "difficulty": "NORMAL", + "songID": 1874, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27054, + "notecount": 442, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c5ec5428a44ffac5ca3b67dca0c94dffb79fcedb", + "difficulty": "ANOTHER", + "songID": 1874, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27054, + "notecount": 1537, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.90", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f11bb9740b3f309c0360557b3166eaf0696931f8", + "difficulty": "HYPER", + "songID": 1874, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27054, + "notecount": 843, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b364dab4a87e43470cbbe1ac98cbb93365fb3b3", + "difficulty": "NORMAL", + "songID": 1874, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27054, + "notecount": 431, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7e6cc9824c4831c532653b10cab2f6f6bc06c269", + "difficulty": "ANOTHER", + "songID": 1875, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27055, + "notecount": 1340, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "243b2e371332605ac8dabb597016a6d83188b2b0", + "difficulty": "HYPER", + "songID": 1875, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27055, + "notecount": 777, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2cb803386c1f0109161d240a6b06923bfb37f5fe", + "difficulty": "NORMAL", + "songID": 1875, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27055, + "notecount": 507, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "58fe6da6a9650d9608d62aaf0a56ef94eb3251ee", + "difficulty": "ANOTHER", + "songID": 1875, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27055, + "notecount": 1333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82f23967c1d65d4bfa58066e1995f628a9f4656a", + "difficulty": "HYPER", + "songID": 1875, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27055, + "notecount": 760, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "59cdfbe16cbd0d3c26f579b653685b3bdc07f798", + "difficulty": "NORMAL", + "songID": 1875, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27055, + "notecount": 517, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c565debc8ca99e1228993c2e152e839cd6b0b80d", + "difficulty": "ANOTHER", + "songID": 1876, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27056, + "notecount": 1705, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a59c7e5c9e0d79f23bd629026da9eddeba4b0b33", + "difficulty": "HYPER", + "songID": 1876, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27056, + "notecount": 1053, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d72170787a3dc59dbc66d1460a95950be7b4522c", + "difficulty": "NORMAL", + "songID": 1876, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27056, + "notecount": 545, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b26400a74620f44f25a53cb0af3303ae4ecdde5b", + "difficulty": "ANOTHER", + "songID": 1876, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27056, + "notecount": 1707, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12D", + "value": 12.3, + "individualDifference": false + }, + "kt-EXHC": { + "text": "12.70", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b372707d38334ff9395c777c48bde19f8a07b65e", + "difficulty": "HYPER", + "songID": 1876, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27056, + "notecount": 1096, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f0629ac98ff4d3e7c008c6a71d540f475abd556", + "difficulty": "NORMAL", + "songID": 1876, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27056, + "notecount": 598, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cc481badc3ac42dcbabbabe38560bc64cde81a16", + "difficulty": "ANOTHER", + "songID": 1877, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27058, + "notecount": 1480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5269d798e451e4c44b5207c8557a81d75ea0f9d4", + "difficulty": "HYPER", + "songID": 1877, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27058, + "notecount": 933, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6173f1d37cd078c11bec7e4665ae680fd8981890", + "difficulty": "NORMAL", + "songID": 1877, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27058, + "notecount": 542, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bc21a62c5bf7ff1c2bd4097904d79a00bdc0718c", + "difficulty": "ANOTHER", + "songID": 1877, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27058, + "notecount": 1501, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "2e21f1b4f5bd96f725308dd07af30caa0e6951a7", + "difficulty": "HYPER", + "songID": 1877, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27058, + "notecount": 979, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c07ecfc0f974ba6692b1140c047da149d3380c90", + "difficulty": "NORMAL", + "songID": 1877, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27058, + "notecount": 525, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "92da9e20e0b45d85016451d430b87d136b9587a9", + "difficulty": "ANOTHER", + "songID": 1878, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27059, + "notecount": 1691, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "312fc36e9c02fa90370b3f414b144571ea034800", + "difficulty": "HYPER", + "songID": 1878, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27059, + "notecount": 959, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f400a519205f7aeedfe668d51c2578fa34c125a4", + "difficulty": "NORMAL", + "songID": 1878, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27059, + "notecount": 477, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cbd3810f476221ae348c3e9a98a187ec6652772e", + "difficulty": "ANOTHER", + "songID": 1878, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27059, + "notecount": 1724, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "8cabb3f9f8730119dc70aba5ede2c9a193e9ce3f", + "difficulty": "HYPER", + "songID": 1878, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27059, + "notecount": 1019, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "33341ddd5d22f4b0144ca6a4228641e6347e44fc", + "difficulty": "NORMAL", + "songID": 1878, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27059, + "notecount": 475, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "54cf131aedf3b64e6bdd2b9b6e36d34d64920d5b", + "difficulty": "ANOTHER", + "songID": 1879, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27060, + "notecount": 1752, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0b2a5075d23f5700c9768aa1a645ff6ca8cb199", + "difficulty": "HYPER", + "songID": 1879, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27060, + "notecount": 1075, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "06cb28bb3b316bcd29739b85c85c46988151d8c3", + "difficulty": "NORMAL", + "songID": 1879, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27060, + "notecount": 628, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "351d2f0613776d01cfc288c50f1f4503f6205dac", + "difficulty": "ANOTHER", + "songID": 1879, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27060, + "notecount": 1844, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "a499782772f1c4442d938da7fb18d9cbb689a3b2", + "difficulty": "HYPER", + "songID": 1879, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27060, + "notecount": 1083, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9cfd60891aa7a745605aef2728a3831e7e31d9d", + "difficulty": "NORMAL", + "songID": 1879, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27060, + "notecount": 629, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c23cbb2c95eeedee7fd683b0f73485d0bd497e2", + "difficulty": "ANOTHER", + "songID": 1880, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27061, + "notecount": 1260, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1a4d00420d6e1a7e183d37f1542c79fce364d99b", + "difficulty": "HYPER", + "songID": 1880, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27061, + "notecount": 833, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "830a1fddbac90349099b480e89639644665b3135", + "difficulty": "NORMAL", + "songID": 1880, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27061, + "notecount": 462, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "707a9438b0d5e272310ea7e2bc31b50f1399238a", + "difficulty": "ANOTHER", + "songID": 1880, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27061, + "notecount": 1288, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + }, + "kt-HC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "eae4a1420bba2b3d11d2baffaddadf5975e6168e", + "difficulty": "HYPER", + "songID": 1880, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27061, + "notecount": 890, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8844a826140ddbaa2d7574580c5fc9fd0e46c61", + "difficulty": "NORMAL", + "songID": 1880, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27061, + "notecount": 493, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4025870d9b23480dd2721a1136c06a90c27cb23d", + "difficulty": "ANOTHER", + "songID": 1881, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27062, + "notecount": 980, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad1be9db6d65cff2095c61104ae677a1b73b87f2", + "difficulty": "HYPER", + "songID": 1881, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27062, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10494e41f82ae00986c2c4314511d9987001dbd7", + "difficulty": "NORMAL", + "songID": 1881, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27062, + "notecount": 352, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5206775f83554e76f881066211023837f3a712a4", + "difficulty": "ANOTHER", + "songID": 1881, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27062, + "notecount": 1012, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "42128456cc765b18966adb091f7286a1ffe25137", + "difficulty": "HYPER", + "songID": 1881, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27062, + "notecount": 662, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f519a78c59cadef5f31d5dcbfc0180a0b599bf9b", + "difficulty": "NORMAL", + "songID": 1881, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27062, + "notecount": 303, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d59252d8f340a4706b4347549afee2756a6a380", + "difficulty": "ANOTHER", + "songID": 1882, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27063, + "notecount": 1232, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35b3f84257dea7087fd083176a513614d4889a73", + "difficulty": "HYPER", + "songID": 1882, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27063, + "notecount": 730, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ae45a082adbf09eaf295fbe6e71eceb5da28495", + "difficulty": "NORMAL", + "songID": 1882, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27063, + "notecount": 522, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f880e9cfdd1c3c90b133a30e1fab778cab571a2", + "difficulty": "ANOTHER", + "songID": 1882, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27063, + "notecount": 1341, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "11c701416b4e3ea57ce9163f701e9734a33033cb", + "difficulty": "HYPER", + "songID": 1882, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27063, + "notecount": 792, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "250df0432f6d5a5d587ae1b9b79b077d380f65b2", + "difficulty": "NORMAL", + "songID": 1882, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27063, + "notecount": 524, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ab1e943567b8dbdde788cd5f29907cea761b5e2", + "difficulty": "ANOTHER", + "songID": 1883, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27064, + "notecount": 1546, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "596ef6677feccece0a238554433f460c534ffa41", + "difficulty": "HYPER", + "songID": 1883, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27064, + "notecount": 1008, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "336092fd0b246ef83e4d034c3c9eb6297e14e1fa", + "difficulty": "NORMAL", + "songID": 1883, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27064, + "notecount": 553, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c3b3a82346d3a29b9e9cdfa89885cd3c29c2370c", + "difficulty": "ANOTHER", + "songID": 1883, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27064, + "notecount": 1634, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "6efd4245ef33b829a62b21d51fbdf0db790dfe3b", + "difficulty": "HYPER", + "songID": 1883, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27064, + "notecount": 911, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee1be39838923fd248b028d839f74753831645c9", + "difficulty": "NORMAL", + "songID": 1883, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27064, + "notecount": 560, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f9edf29f85f490eaf7f489ec225c90500a63156", + "difficulty": "ANOTHER", + "songID": 1884, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27065, + "notecount": 1445, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d3035e6a884d597668c0b69a85e832c2bcfa733", + "difficulty": "HYPER", + "songID": 1884, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27065, + "notecount": 827, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "934ecd8159e2624a0420358e1994d3d91ebf1abe", + "difficulty": "NORMAL", + "songID": 1884, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27065, + "notecount": 547, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "edd4b6f269223c9ebb1efe81c533b9105fa525aa", + "difficulty": "ANOTHER", + "songID": 1884, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27065, + "notecount": 1392, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "ba3e1cd0423bd4b176aa04bcef11484e5da46ee1", + "difficulty": "HYPER", + "songID": 1884, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27065, + "notecount": 833, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a2676b9a6b3abd4cb2afeb0c876f792fb3e35d5", + "difficulty": "NORMAL", + "songID": 1884, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27065, + "notecount": 565, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0092bd99dfd9b27d70ee12306dc0469a0cbbe387", + "difficulty": "ANOTHER", + "songID": 1885, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27066, + "notecount": 1164, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "036f36f93b01d2f84c7f8ebf42e89904f16ac24c", + "difficulty": "HYPER", + "songID": 1885, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27066, + "notecount": 737, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68ee17e0a3233f4b4f7d43b6a247acbe050ba54b", + "difficulty": "NORMAL", + "songID": 1885, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27066, + "notecount": 401, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "86ed3a620829348a4409acb01e8dd316310140ef", + "difficulty": "ANOTHER", + "songID": 1885, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27066, + "notecount": 1228, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "105a97e7980d4396768a8c368588225779b0f5b4", + "difficulty": "HYPER", + "songID": 1885, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27066, + "notecount": 731, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "65b97d7c9bb6245b57fd02b5105d82a6c87aa071", + "difficulty": "NORMAL", + "songID": 1885, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27066, + "notecount": 393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a45c067f79e3577b632c00bdcabf7866ccf744fe", + "difficulty": "ANOTHER", + "songID": 1886, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27067, + "notecount": 943, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "867f9a7d19c1eff1a23f6f6e6db91123bba297ab", + "difficulty": "HYPER", + "songID": 1886, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27067, + "notecount": 496, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "217b8f95b6c119c90c304b3eb7b7194d11f768b2", + "difficulty": "NORMAL", + "songID": 1886, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 27067, + "notecount": 265, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "14ae3474c630cfe510af1b3140c89a670ed0e48d", + "difficulty": "ANOTHER", + "songID": 1886, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27067, + "notecount": 978, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eaaee45a0301b408a5de2e6df23c615c5df3b23c", + "difficulty": "HYPER", + "songID": 1886, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27067, + "notecount": 514, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0393ad4c9a4def789124702a0790e753bf38555a", + "difficulty": "NORMAL", + "songID": 1886, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 27067, + "notecount": 272, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad43e8e356c0895ff189140821494f0d455cd0aa", + "difficulty": "ANOTHER", + "songID": 1887, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27068, + "notecount": 1360, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ff7a30740747c949b9fcb62347944d13c31edb34", + "difficulty": "HYPER", + "songID": 1887, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27068, + "notecount": 881, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "133987491df7972efaeccb9d043ea4ee0d3e6907", + "difficulty": "NORMAL", + "songID": 1887, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27068, + "notecount": 568, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "76ba1528c516067ba183334e6d8e27399a5e4567", + "difficulty": "ANOTHER", + "songID": 1887, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27068, + "notecount": 1344, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "b41beda1bc5f5ecbeef0c783d7e94d080210db10", + "difficulty": "HYPER", + "songID": 1887, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27068, + "notecount": 898, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e324bdf72186b983bf76724b6d01df5649291c06", + "difficulty": "NORMAL", + "songID": 1887, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27068, + "notecount": 554, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79c5f2beb643676426029fd4dcb6cbb520df37fc", + "difficulty": "ANOTHER", + "songID": 1888, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27069, + "notecount": 1313, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d38936fb97eaafa03fc2a960eb43b57b9d290968", + "difficulty": "HYPER", + "songID": 1888, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27069, + "notecount": 922, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1bf2d2281b192eff5424b4bbb868f97f41f76c7d", + "difficulty": "NORMAL", + "songID": 1888, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27069, + "notecount": 556, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8cce27e3f3028519c44d326fd0a4177e6539f802", + "difficulty": "ANOTHER", + "songID": 1888, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27069, + "notecount": 1279, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d01750a607194e62ccb0a546e0ee701c6544d911", + "difficulty": "HYPER", + "songID": 1888, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27069, + "notecount": 830, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "064c9c6374272dfc027f2a181a73612954c0d70d", + "difficulty": "NORMAL", + "songID": 1888, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27069, + "notecount": 506, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a72ed6dda0606ecb0eae9017ed69c02f466d8e11", + "difficulty": "ANOTHER", + "songID": 1889, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27070, + "notecount": 1269, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "236c98490dbf137a71b06e8ff7e8b0c1c4b11864", + "difficulty": "HYPER", + "songID": 1889, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27070, + "notecount": 870, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8bdda59524d65e8f67519ef1fa00bba8fb2cd94c", + "difficulty": "NORMAL", + "songID": 1889, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27070, + "notecount": 483, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6bd9d3ed7322757fa4f8a8cc4940fd9fd124e37a", + "difficulty": "ANOTHER", + "songID": 1889, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27070, + "notecount": 1246, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "907ca5d8dba6cb34fea0a8ff21b3d416e033fd6c", + "difficulty": "HYPER", + "songID": 1889, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27070, + "notecount": 870, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8054ea4c1f6a29f16a1e2d14bf7c97833cb1d0c", + "difficulty": "NORMAL", + "songID": 1889, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27070, + "notecount": 452, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d0a12ac7c74cc82d1fce10037ffc22d3548797b", + "difficulty": "ANOTHER", + "songID": 1890, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27071, + "notecount": 1006, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4fccaa45e8af2e41406191ed91d7ba86106fdb84", + "difficulty": "HYPER", + "songID": 1890, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27071, + "notecount": 643, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e386a00b1f231fc47889d040a5eac991b21044a0", + "difficulty": "NORMAL", + "songID": 1890, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27071, + "notecount": 310, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f5549b2d2340ec65ae29060ecb65b1c6f544fad", + "difficulty": "ANOTHER", + "songID": 1890, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27071, + "notecount": 1011, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b0df9236b4470ccb92db426fa17f3355514499b0", + "difficulty": "BEGINNER", + "songID": 1890, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 27071, + "notecount": 129, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d155a0c6b4a76901244c9fa97236bf78317eefdc", + "difficulty": "HYPER", + "songID": 1890, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27071, + "notecount": 674, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e10d9c9f3c1efbbac047c009d66362204881501", + "difficulty": "NORMAL", + "songID": 1890, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27071, + "notecount": 324, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5f77b925f5d201e11c36cd8ffe84337b35202fe5", + "difficulty": "ANOTHER", + "songID": 1891, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27072, + "notecount": 1220, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50c2519443dc956105e6e8937de17f0c9e215a51", + "difficulty": "HYPER", + "songID": 1891, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27072, + "notecount": 682, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3bb8e04873a501809b1d3bb4c799265212e66016", + "difficulty": "NORMAL", + "songID": 1891, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 27072, + "notecount": 327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af0504cda4e208ebdcfdb7a21831e8e2de176cc2", + "difficulty": "ANOTHER", + "songID": 1891, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27072, + "notecount": 1075, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "006950c9d7150c418c2a9affcb0fac1df9d5837e", + "difficulty": "BEGINNER", + "songID": 1891, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 27072, + "notecount": 165, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "42060b906bddbbfc7c7a1156e6a5b4792771fd6c", + "difficulty": "HYPER", + "songID": 1891, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27072, + "notecount": 653, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa5114056804b5474eea0397f177e56087a0935b", + "difficulty": "NORMAL", + "songID": 1891, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 27072, + "notecount": 269, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ebd4e1ad4dfb27b3d307a0a33e0a8a833642b6d8", + "difficulty": "ANOTHER", + "songID": 1892, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27073, + "notecount": 1333, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b208bd3b3160c44ab19cda66ee20b7eecc2997e1", + "difficulty": "HYPER", + "songID": 1892, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27073, + "notecount": 843, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79ab54a289baed7bdc5c4c305f494ae5e3e1d455", + "difficulty": "NORMAL", + "songID": 1892, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27073, + "notecount": 390, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4752b414f5283ad180cab9719ec9ddab636d1c65", + "difficulty": "ANOTHER", + "songID": 1892, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27073, + "notecount": 1362, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11E", + "value": 11, + "individualDifference": false + }, + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3d98209e094cb09f932183109c68aff8f6789120", + "difficulty": "BEGINNER", + "songID": 1892, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 27073, + "notecount": 207, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0d75cef44a710e95d4ec3006f08c514fdc7e86bd", + "difficulty": "HYPER", + "songID": 1892, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27073, + "notecount": 856, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74b28ad25c9f00760033b7df31215d22adf34664", + "difficulty": "NORMAL", + "songID": 1892, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27073, + "notecount": 396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "69ca31d62656587315b5604fb7a7fd7e37a889a3", + "difficulty": "ANOTHER", + "songID": 1893, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27074, + "notecount": 861, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e56fc548e0f0425efecf626228eae3ef05f3d299", + "difficulty": "HYPER", + "songID": 1893, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27074, + "notecount": 567, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ac37ebf923ae957431e9b13901f83432588bd55d", + "difficulty": "NORMAL", + "songID": 1893, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 27074, + "notecount": 230, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30e4e7901383d88b702032203f04ef39200b7059", + "difficulty": "ANOTHER", + "songID": 1893, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27074, + "notecount": 828, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f2a78834af44b48ace266e11eaeedea211d7a98d", + "difficulty": "HYPER", + "songID": 1893, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27074, + "notecount": 559, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0178b21445ef99e63f656be951953d2dbc0d7d0d", + "difficulty": "NORMAL", + "songID": 1893, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 27074, + "notecount": 230, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a77a99f6561cd2c3dfa520b3e2846bd2c58dc1f3", + "difficulty": "ANOTHER", + "songID": 1894, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27075, + "notecount": 1026, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "caed797811fcfcf13b25d1d2bc5bd0b2892f9168", + "difficulty": "HYPER", + "songID": 1894, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27075, + "notecount": 713, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d7622d659f2cf5ad1c0498dd3160e487b04b28a5", + "difficulty": "NORMAL", + "songID": 1894, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27075, + "notecount": 405, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "47f71a6f15492eb5dea6a3427e7756e30ededc5f", + "difficulty": "ANOTHER", + "songID": 1894, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27075, + "notecount": 1088, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "98bf98310f537b35d165387d77d20f2afe6810ec", + "difficulty": "HYPER", + "songID": 1894, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27075, + "notecount": 767, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf8d02bd635a2f1bf6439a55d315e4ef63b55a7d", + "difficulty": "NORMAL", + "songID": 1894, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27075, + "notecount": 396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4bec969f1052630f44a1b9458e9471bb87b6660b", + "difficulty": "ANOTHER", + "songID": 1895, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27076, + "notecount": 1000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9fc553a96d715f96ef08e9f5f69fb8e550c9ae7b", + "difficulty": "HYPER", + "songID": 1895, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27076, + "notecount": 761, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f5d0039858f8360f21e7a18c07022bea99826d59", + "difficulty": "NORMAL", + "songID": 1895, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 27076, + "notecount": 339, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "916b72e20fd7993f73fe262a1a2c4f629b36d29a", + "difficulty": "ANOTHER", + "songID": 1895, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27076, + "notecount": 1000, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9249b8dbc873ccb81f5975f2c5ba74b98ca4f0f", + "difficulty": "HYPER", + "songID": 1895, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27076, + "notecount": 775, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f94fb522aa49cc0432128c036667d9a688d532d", + "difficulty": "NORMAL", + "songID": 1895, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 27076, + "notecount": 335, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b45c390e077f577873a23b5700ba5b87ccc9804b", + "difficulty": "ANOTHER", + "songID": 1896, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27077, + "notecount": 1309, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ebdba3b9d8c2bb12207a71dd804c28b93913b748", + "difficulty": "HYPER", + "songID": 1896, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27077, + "notecount": 731, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f0c23a07167736a1a463da141207935b52adb4b", + "difficulty": "NORMAL", + "songID": 1896, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27077, + "notecount": 418, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "25c4794ccac2525dff9ac1dfa1f9055f1ac6d0ad", + "difficulty": "ANOTHER", + "songID": 1896, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27077, + "notecount": 1342, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11S+", + "value": 12.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11A", + "value": 11.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0e17b46a13e251c5a743cbc3a01c35f7e48676a4", + "difficulty": "HYPER", + "songID": 1896, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27077, + "notecount": 745, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb8029b06478755fb663054bc5497deda5c91539", + "difficulty": "NORMAL", + "songID": 1896, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27077, + "notecount": 412, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3daf6137380b6d43479d9c51f18c009f4d88fb0a", + "difficulty": "ANOTHER", + "songID": 1897, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27078, + "notecount": 1556, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "64d67eaf0cff00bad5b3298497a463cebd5d15ae", + "difficulty": "HYPER", + "songID": 1897, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27078, + "notecount": 933, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "682c55561036944d9fee6cdda544888cb4d0acdd", + "difficulty": "NORMAL", + "songID": 1897, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27078, + "notecount": 500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e858d0a597fd11557a3dff439523b501ed3b564b", + "difficulty": "ANOTHER", + "songID": 1897, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27078, + "notecount": 1488, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": true + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": true + } + } + }, + { + "rgcID": null, + "chartID": "19e32c25db1f4075c830629e5764b85a7f9aa110", + "difficulty": "HYPER", + "songID": 1897, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27078, + "notecount": 886, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ba75afe028f5bc615873a8070d94dc3e13aad5ba", + "difficulty": "NORMAL", + "songID": 1897, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27078, + "notecount": 484, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ec5d684d6ef995a01e5dca73885de9263fdb8351", + "difficulty": "ANOTHER", + "songID": 1898, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27079, + "notecount": 985, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bacf5f1eaf8d368ebd4f54a1557ce290c6d048e5", + "difficulty": "HYPER", + "songID": 1898, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27079, + "notecount": 682, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "633619e885cf438fa5b210049a02e3381dd270e0", + "difficulty": "NORMAL", + "songID": 1898, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27079, + "notecount": 384, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85c4dffe1ea9ff9c2c3242b75f3dd823d68baa88", + "difficulty": "ANOTHER", + "songID": 1898, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27079, + "notecount": 1008, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0ac08193db46445d09691e272cef5f256a2f9f36", + "difficulty": "HYPER", + "songID": 1898, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27079, + "notecount": 672, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee72eae6a6f6edd6ec70723f1a6b138344bc3c1b", + "difficulty": "NORMAL", + "songID": 1898, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27079, + "notecount": 373, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "90389dc7aa45126f23804ec6e5afe59ff811b421", + "difficulty": "ANOTHER", + "songID": 1899, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27080, + "notecount": 1419, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "220907c37bf276b75803b535dc7f878747a19279", + "difficulty": "HYPER", + "songID": 1899, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27080, + "notecount": 903, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4d1d1cb6dfdc3a69412aed07a8f7473b19dbf16b", + "difficulty": "NORMAL", + "songID": 1899, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27080, + "notecount": 604, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b8d93a1d5ea35d26f3747b89eff0e31c5c6903bb", + "difficulty": "ANOTHER", + "songID": 1899, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27080, + "notecount": 1479, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3f69bb0d92ec763016394f8691c087c6f7737333", + "difficulty": "HYPER", + "songID": 1899, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27080, + "notecount": 955, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3db7e5e12e72a6f1cb3d43f0ce66be8bff17857c", + "difficulty": "NORMAL", + "songID": 1899, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27080, + "notecount": 583, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "61242ea75a723c4ffc580e8f65f61436c040bd66", + "difficulty": "ANOTHER", + "songID": 1900, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27081, + "notecount": 1032, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a370087511d28f3f1d96689c9e02c31759b8abe", + "difficulty": "HYPER", + "songID": 1900, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27081, + "notecount": 670, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9cc82ddaae11b1d173fcb1b1393b28918b4db468", + "difficulty": "NORMAL", + "songID": 1900, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27081, + "notecount": 475, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d1a810fa9e14b70deca4249c41f7f672dcba3f8", + "difficulty": "ANOTHER", + "songID": 1900, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27081, + "notecount": 941, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "697eefaa1d8bd2c7744fd7ca5a41f09981cdab6c", + "difficulty": "HYPER", + "songID": 1900, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27081, + "notecount": 666, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "86d1b2403af93cf11010e94c91f0f6cd6377a136", + "difficulty": "NORMAL", + "songID": 1900, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27081, + "notecount": 472, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "65ebdb3abf87e512c66325b3160d5849216e574c", + "difficulty": "ANOTHER", + "songID": 1901, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27082, + "notecount": 1212, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4b3db50314065f4f17f011b951349e7482aa99f7", + "difficulty": "HYPER", + "songID": 1901, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27082, + "notecount": 849, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e5e288720f18d9a3201653e006dc3266d006f54", + "difficulty": "NORMAL", + "songID": 1901, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27082, + "notecount": 474, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "094f6cc1aec62db50670636f8b625ebab802383c", + "difficulty": "ANOTHER", + "songID": 1901, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27082, + "notecount": 1233, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11A+", + "value": 11.9, + "individualDifference": false + }, + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e5ed81fd0a7a79a6f698d8883217414a80839b6f", + "difficulty": "HYPER", + "songID": 1901, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27082, + "notecount": 801, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1af450512d689dde3aecdf9b1b4d3d07eb6aafb1", + "difficulty": "NORMAL", + "songID": 1901, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27082, + "notecount": 487, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "39e8c15aa8c1c01b97212104f9873c63cd6db03c", + "difficulty": "ANOTHER", + "songID": 1902, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27083, + "notecount": 1051, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "711a7a086f41f6e7e8cae2929f433d35e1bc3104", + "difficulty": "HYPER", + "songID": 1902, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27083, + "notecount": 712, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee186015b079f1950bdac73396a11485c8042387", + "difficulty": "NORMAL", + "songID": 1902, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27083, + "notecount": 401, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f321aab3c1099f8f1e27e97ee6a245c8c14292d8", + "difficulty": "ANOTHER", + "songID": 1902, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27083, + "notecount": 1061, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "6539c449fb725fc647a01128392f71acd01c892e", + "difficulty": "BEGINNER", + "level": "1", + "levelNum": 1, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 1902, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 27083, + "arcChartID": null, + "notecount": 131, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "a9423332d0dfa5b7af49e05532882b2365e58091", + "difficulty": "HYPER", + "songID": 1902, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27083, + "notecount": 716, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "add58d0a99667affb58454085f8fed3dbad0209c", + "difficulty": "NORMAL", + "songID": 1902, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27083, + "notecount": 406, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d935ceb46359f815245c3185d9e281abe4d46917", + "difficulty": "ANOTHER", + "songID": 1903, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27084, + "notecount": 1723, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "149796e3197d3e6a6762a04c02e469a41cfc4214", + "difficulty": "HYPER", + "songID": 1903, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27084, + "notecount": 967, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d7d913e2e625d8ea28cb7709827673be1c346af", + "difficulty": "NORMAL", + "songID": 1903, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27084, + "notecount": 531, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc4568448d39f93fa6d54da088e4f03cedfbd6c6", + "difficulty": "ANOTHER", + "songID": 1903, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27084, + "notecount": 1701, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": true + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": true + }, + "kt-EXHC": { + "text": "13.30", + "value": 13.3, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "aaa8465c6b0cfe17fb766bede6a9fc982f084334", + "difficulty": "HYPER", + "songID": 1903, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27084, + "notecount": 980, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34119b751291521f41c06cdcd819fd76a7f816cf", + "difficulty": "NORMAL", + "songID": 1903, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27084, + "notecount": 523, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ed657dde968ab4b04d0f5adfc299bc789075d3b", + "difficulty": "ANOTHER", + "songID": 1904, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27087, + "notecount": 1473, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "454a7682f8f35661d5cc360f934fd8a1ff356b5e", + "difficulty": "HYPER", + "songID": 1904, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27087, + "notecount": 1040, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f18bebb9b2903fa8d78c58de0f13462c806e4800", + "difficulty": "NORMAL", + "songID": 1904, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27087, + "notecount": 556, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f483a30f215f0bcd7e6a4688101f65cc90d8951b", + "difficulty": "ANOTHER", + "songID": 1904, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27087, + "notecount": 1463, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11B+", + "value": 11.7, + "individualDifference": false + }, + "kt-NC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "cabea3c11424f15b75d8bd511b0509b7832ae4f2", + "difficulty": "HYPER", + "songID": 1904, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27087, + "notecount": 861, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f56e1febffe84f4a0c831fd9e0c805b639fff214", + "difficulty": "NORMAL", + "songID": 1904, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27087, + "notecount": 576, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03563c22b1280071b4a600ca21916f43b3d0b366", + "difficulty": "ANOTHER", + "songID": 1905, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27088, + "notecount": 1937, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "32f2c86263f38def878f99104f90f2033fe098d4", + "difficulty": "HYPER", + "songID": 1905, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27088, + "notecount": 1130, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3947383af5fb6adeaf7df0db4caf1fbf48aef1c1", + "difficulty": "NORMAL", + "songID": 1905, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27088, + "notecount": 610, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93a3dee36ffa65fa4d107379009fd8454f405568", + "difficulty": "ANOTHER", + "songID": 1905, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27088, + "notecount": 1926, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0449833aa7309d0ebb17ce4fdd1657435e77c50c", + "difficulty": "HYPER", + "songID": 1905, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27088, + "notecount": 1072, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2b3291f4807be1de4146df15a8917dbb259f2890", + "difficulty": "NORMAL", + "songID": 1905, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27088, + "notecount": 521, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30e0e76b7e4500f6d15f7cc02755c2a210a3048e", + "difficulty": "ANOTHER", + "songID": 1906, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27089, + "notecount": 1366, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e0ebd7bbd00270cab56ae89e7e0ca6219e91ca0", + "difficulty": "HYPER", + "songID": 1906, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27089, + "notecount": 762, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7e0e3595b7cae75af82006e01d05fbdfae097c84", + "difficulty": "NORMAL", + "songID": 1906, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27089, + "notecount": 472, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3161503b7a0994509c5a347de3c56a22a093b719", + "difficulty": "ANOTHER", + "songID": 1906, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27089, + "notecount": 1322, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b34a5c53558f8daace6ef76bde3e678bc6021db", + "difficulty": "HYPER", + "songID": 1906, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27089, + "notecount": 765, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03d3eac193f7b60c5f71bb0accdccf6c65ab00e4", + "difficulty": "NORMAL", + "songID": 1906, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27089, + "notecount": 476, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4051b36418927143d0809aa2abe6efc770406218", + "difficulty": "ANOTHER", + "songID": 1907, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27090, + "notecount": 1040, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "507b27cec0b2141904ab082c50f5663cb13a6f34", + "difficulty": "HYPER", + "songID": 1907, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27090, + "notecount": 726, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5734bf21d60ad6493b41b8d5d37f4ff99a0c7007", + "difficulty": "NORMAL", + "songID": 1907, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27090, + "notecount": 347, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41f47c5696f5144d24f2a6094c0abd2820e3dc0a", + "difficulty": "ANOTHER", + "songID": 1907, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27090, + "notecount": 1085, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-HC": { + "text": "11D", + "value": 11.2, + "individualDifference": false + }, + "kt-NC": { + "text": "11F", + "value": 10.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d71025a00b1b1178f5a2199bd0e134ab27556837", + "difficulty": "HYPER", + "songID": 1907, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27090, + "notecount": 753, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7584ab2017025383e2547c25f26e2a03fb1ec406", + "difficulty": "NORMAL", + "songID": 1907, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27090, + "notecount": 370, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "884553875e4692b29edea5785809f582ccc4f6e8", + "difficulty": "ANOTHER", + "songID": 1908, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27092, + "notecount": 1222, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ce8f67b49f7b7756a9c7edf6e4da42c9172f80cd", + "difficulty": "HYPER", + "songID": 1908, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27092, + "notecount": 838, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "189fbeb9ea1db1185e6ccb1b9e58b56469e78eee", + "difficulty": "NORMAL", + "songID": 1908, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27092, + "notecount": 543, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "05e7e3288a8954746e4c3a84602c1a8fdc0ce9e1", + "difficulty": "ANOTHER", + "songID": 1908, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27092, + "notecount": 1155, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eaad427952e0dc2399096afea4916d1f74c16e12", + "difficulty": "HYPER", + "songID": 1908, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27092, + "notecount": 844, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "168d6c2a66bf3d747ee7b7f9015b9bf0eac6f66d", + "difficulty": "NORMAL", + "songID": 1908, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27092, + "notecount": 540, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7a12f1f2e60da3f82552e6d6cfe7ae7835381b09", + "difficulty": "ANOTHER", + "songID": 1909, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27094, + "notecount": 1838, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d8592cd340d0246bf8231972e28c929ebb7b38a5", + "difficulty": "HYPER", + "songID": 1909, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27094, + "notecount": 1143, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc5f4967c1856e1c73b698dade6795c9e518b79e", + "difficulty": "NORMAL", + "songID": 1909, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27094, + "notecount": 701, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4fadfccdd5d1b1263c814e6145486807f3b19fe0", + "difficulty": "ANOTHER", + "songID": 1909, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27094, + "notecount": 1851, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + }, + "kt-EXHC": { + "text": "13.10", + "value": 13.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "f601ae82f466e560206faececb2c5b210b85debb", + "difficulty": "HYPER", + "songID": 1909, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27094, + "notecount": 1183, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "044075d3943a61cae0df3d782d1cbc8e3f694086", + "difficulty": "NORMAL", + "songID": 1909, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27094, + "notecount": 691, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c95380eac7146df6b9f8088547d8a6840f1d7c0", + "difficulty": "ANOTHER", + "songID": 1910, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27095, + "notecount": 1969, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "431a46f1a95835b419b39f10f74f679658221e91", + "difficulty": "HYPER", + "songID": 1910, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27095, + "notecount": 1270, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6adad2d9bbb0afc95ecc68d31e928c5eff6beedd", + "difficulty": "NORMAL", + "songID": 1910, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27095, + "notecount": 555, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d883a9a864742d8e4c63a412ef72c4b17ebf8928", + "difficulty": "ANOTHER", + "songID": 1910, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27095, + "notecount": 1957, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "24c2bc368d4738d9ec8b898785af0cc2afd0f4a4", + "difficulty": "HYPER", + "songID": 1910, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27095, + "notecount": 1141, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "811c76b02e7ff0c37a941ebe88c632a8b47df5cd", + "difficulty": "NORMAL", + "songID": 1910, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27095, + "notecount": 492, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "959b6fbe8e761e2837bcd7881482d9c95c8ff83c", + "difficulty": "ANOTHER", + "songID": 1911, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27096, + "notecount": 1430, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fafda01f03e4c4f73e22e1018c09236f385db0f3", + "difficulty": "HYPER", + "songID": 1911, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27096, + "notecount": 854, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3c872762b298cd6a21690a195afa53d1f6d367aa", + "difficulty": "NORMAL", + "songID": 1911, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27096, + "notecount": 503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b5a4b6db934ca231233e19a8d1a77b2e2cabe7ea", + "difficulty": "ANOTHER", + "songID": 1911, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27096, + "notecount": 1454, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de1f9f5b37543a89ed6cb050b4afebb40259f269", + "difficulty": "HYPER", + "songID": 1911, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27096, + "notecount": 843, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e61c4829f6f658add9c7ca78b1fed12f8b5d08be", + "difficulty": "NORMAL", + "songID": 1911, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27096, + "notecount": 508, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f61b2309b66dd4ac2c01cc63f6cff2031b4c07b2", + "difficulty": "ANOTHER", + "songID": 1912, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27097, + "notecount": 1037, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "05f2a44444763d4bdcf7faee7e443200a779c164", + "difficulty": "HYPER", + "songID": 1912, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27097, + "notecount": 529, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0949d83677aa200962016953bdf4b3de587ca95d", + "difficulty": "NORMAL", + "songID": 1912, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 27097, + "notecount": 276, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b6baa01d540ad89c2b5b93924db5f30c6d351035", + "difficulty": "ANOTHER", + "songID": 1912, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27097, + "notecount": 1058, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e213e58f66d5ae18b2ee5520bea14e5ca19b0c1f", + "difficulty": "HYPER", + "songID": 1912, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27097, + "notecount": 533, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "46c485f74101e5b3ec6688b462779e175c447e8e", + "difficulty": "NORMAL", + "songID": 1912, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 27097, + "notecount": 274, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78a6354c5db0d62cb6cfdbfc800695473ea89b4d", + "difficulty": "ANOTHER", + "songID": 1913, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27098, + "notecount": 961, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2bb9687412844e67c0f95b3c66d017698f11cee6", + "difficulty": "HYPER", + "songID": 1913, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27098, + "notecount": 641, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a1e72a33ffed551df60a4fdb5735842a31ef423f", + "difficulty": "NORMAL", + "songID": 1913, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27098, + "notecount": 344, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "00367316c09e1ccf39ba590a2b56a25261e45547", + "difficulty": "ANOTHER", + "songID": 1913, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27098, + "notecount": 945, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "04ac7d93538d85e255e525be5d7cf1b14a685849", + "difficulty": "HYPER", + "songID": 1913, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27098, + "notecount": 602, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "532665263f0baccc10e174a18cdb3dda4be294dc", + "difficulty": "NORMAL", + "songID": 1913, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27098, + "notecount": 339, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b3ed3153d2fce873da2f1748c214cf71a5ab249a", + "difficulty": "ANOTHER", + "songID": 1914, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27100, + "notecount": 969, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a20786d95b80699bf02ea87a31c7afef3619965c", + "difficulty": "HYPER", + "songID": 1914, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27100, + "notecount": 690, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "68e85d1f6add7d697e8cbbe5b5ceccc168a317a2", + "difficulty": "NORMAL", + "songID": 1914, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27100, + "notecount": 394, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "30114153c96b5c537b2e3dcd33bb4f7d5374abc5", + "difficulty": "ANOTHER", + "songID": 1914, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27100, + "notecount": 959, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60215b8c2b4b77d411e43f1ddbc49b9d4f57e140", + "difficulty": "HYPER", + "songID": 1914, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27100, + "notecount": 689, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fdcf94ee12e333594f79b3fad03638641aff7073", + "difficulty": "NORMAL", + "songID": 1914, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27100, + "notecount": 398, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6bac4f38e8585b7e3dcce998ff7335e56e359945", + "difficulty": "ANOTHER", + "songID": 1915, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27101, + "notecount": 959, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b36095db3c2698b2282d92fb8ac786c4ebd4ff23", + "difficulty": "HYPER", + "songID": 1915, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27101, + "notecount": 648, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "60150824cda289b12aac65116fc13e3d7baa7f55", + "difficulty": "NORMAL", + "songID": 1915, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27101, + "notecount": 419, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c46be15f965558105086ed0deafb112ee4d0e342", + "difficulty": "ANOTHER", + "songID": 1915, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27101, + "notecount": 1015, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f708aea166c08a7bbe5907648b547faaac63fe66", + "difficulty": "HYPER", + "songID": 1915, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27101, + "notecount": 647, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "392136c65ba2f2ac2e77585b538923d455bd669d", + "difficulty": "NORMAL", + "songID": 1915, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27101, + "notecount": 414, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "35a8ac70308b7e0d076e51866da3e31a76593afb", + "difficulty": "ANOTHER", + "songID": 1916, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27102, + "notecount": 1903, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "69e679afc6157d7682b310580daf13c143e345e1", + "difficulty": "HYPER", + "songID": 1916, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27102, + "notecount": 1190, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e6b58778cf09586fdbbdaa8f70808a2a21b5d1a9", + "difficulty": "NORMAL", + "songID": 1916, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27102, + "notecount": 472, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1391b3f7821c1043c2af336586013c87a6fdf34f", + "difficulty": "ANOTHER", + "songID": 1916, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27102, + "notecount": 1873, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "08ac8fc559ac06a53b50c457b494755ed09e381b", + "difficulty": "HYPER", + "songID": 1916, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27102, + "notecount": 1229, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4e2f96e661b1aba11cd6a69f2ce86b8ac6c49e13", + "difficulty": "NORMAL", + "songID": 1916, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27102, + "notecount": 473, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "inf", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de5badd375e6843aa25f17951254460173d750b6", + "difficulty": "ANOTHER", + "songID": 1917, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27103, + "notecount": 1405, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "16a5a192ce79aa4300d67f8458901b6949b8ce59", + "difficulty": "HYPER", + "songID": 1917, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27103, + "notecount": 937, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf6e5c32dbf260c1a40edef4f964e001f2c94b05", + "difficulty": "NORMAL", + "songID": 1917, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27103, + "notecount": 575, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f5d4d4226dcdf97c8697b87ca6ad619c87903901", + "difficulty": "ANOTHER", + "songID": 1917, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27103, + "notecount": 1393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11E", + "value": 11, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "db858f04dd9a065de237c9a4c9fc5b526fbcbdd0", + "difficulty": "HYPER", + "songID": 1917, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27103, + "notecount": 946, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e0256903d29da3b9f60adbc79fce75c60c33a0f1", + "difficulty": "NORMAL", + "songID": 1917, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27103, + "notecount": 594, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bdcf7fafb9f655b0c7fe0dde2e5f6f3827b64238", + "difficulty": "ANOTHER", + "songID": 1918, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27105, + "notecount": 1100, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f464181dd8734ef057d506df87efe80e199e7db", + "difficulty": "HYPER", + "songID": 1918, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27105, + "notecount": 758, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee1ddb4b7c2af9219b83c747d627d21382083ffe", + "difficulty": "NORMAL", + "songID": 1918, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27105, + "notecount": 517, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d774d1af0c87584f309a6afa6274bd7b291ff45", + "difficulty": "ANOTHER", + "songID": 1918, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27105, + "notecount": 1267, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "06fe10f5dc86074ef8eade8bbb5bbbd47d31e7e7", + "difficulty": "HYPER", + "songID": 1918, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27105, + "notecount": 838, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "170a9d3c132dc74ecfd5a8980e6dc8a4373c97f0", + "difficulty": "NORMAL", + "songID": 1918, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27105, + "notecount": 564, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7aa3400275cad22af0447b553bb67e894c4f1543", + "difficulty": "ANOTHER", + "songID": 1919, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27106, + "notecount": 1191, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "459173fa36f24c3998f17d5778c685aae72686f8", + "difficulty": "HYPER", + "songID": 1919, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27106, + "notecount": 746, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d11ca766b710a875388245d807eb7218fb606339", + "difficulty": "NORMAL", + "songID": 1919, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27106, + "notecount": 456, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5aa7eae7f1ffb677b71da0314fad42665479af12", + "difficulty": "ANOTHER", + "songID": 1919, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27106, + "notecount": 1243, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c56f0313d680890908197c6a7bd7823ad9db5a77", + "difficulty": "HYPER", + "songID": 1919, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27106, + "notecount": 756, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3f3f23b4b3f102580979c1ac61db48c90f4b530", + "difficulty": "NORMAL", + "songID": 1919, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27106, + "notecount": 462, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1a0b90db084c47d0af0e2bc478a61237abe7c82", + "difficulty": "ANOTHER", + "songID": 1920, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27107, + "notecount": 1336, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d05fa72ece2c94a8f4ffdf046ae9ab57ab6fee9", + "difficulty": "HYPER", + "songID": 1920, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27107, + "notecount": 896, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "256ced57f35a9a74da9f9e1915b5cecdb243b4df", + "difficulty": "NORMAL", + "songID": 1920, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27107, + "notecount": 493, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "682f77b0ed33675978f0930ee33809f9fb8bace5", + "difficulty": "ANOTHER", + "songID": 1920, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27107, + "notecount": 1370, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4366c9bab8784d70c06094b961808c12a42c82ec", + "difficulty": "HYPER", + "songID": 1920, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27107, + "notecount": 888, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0d82aad7206c2f8c201848944b0cf1372660f9f", + "difficulty": "NORMAL", + "songID": 1920, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27107, + "notecount": 489, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "66664c846da6d3cd627ab939ad42ce845192fe83", + "difficulty": "ANOTHER", + "songID": 1921, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27108, + "notecount": 1276, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53fdbf74bb7c1bf305dc2884464eb7067edf5730", + "difficulty": "HYPER", + "songID": 1921, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27108, + "notecount": 806, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "432eb6ee8129fff347c67597c0773d13deb423b7", + "difficulty": "NORMAL", + "songID": 1921, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27108, + "notecount": 539, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5c70cf400a924e862a33cc41d1079d2c2f071a8d", + "difficulty": "ANOTHER", + "songID": 1921, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27108, + "notecount": 1286, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "11C", + "value": 11.4, + "individualDifference": false + }, + "kt-HC": { + "text": "11B", + "value": 11.6, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "e4305ab0320e3f09790ea8bc529be4127a22255a", + "difficulty": "HYPER", + "songID": 1921, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27108, + "notecount": 821, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "90dad4d87d85fd8ec385e73c910a23de0464b89b", + "difficulty": "NORMAL", + "songID": 1921, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27108, + "notecount": 508, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94cae450af3f4ea97b40a705829584380ed661c9", + "difficulty": "ANOTHER", + "songID": 1922, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27109, + "notecount": 1789, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ad8063bea65ee5229d885918e34143464df1ec8", + "difficulty": "HYPER", + "songID": 1922, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27109, + "notecount": 1235, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9dad2e15e8c08a5122e604d2e57afc14291c0612", + "difficulty": "NORMAL", + "songID": 1922, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27109, + "notecount": 673, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e3f166c835a0972fb6a649f3a5719f1b80735f53", + "difficulty": "ANOTHER", + "songID": 1922, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27109, + "notecount": 1795, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "0e77b6eb51faaee5328cc0dac94daa96c3498274", + "difficulty": "HYPER", + "songID": 1922, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27109, + "notecount": 1241, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bfdb8fb09ee648cb9a7310f7cd965c02c2d5ed2f", + "difficulty": "NORMAL", + "songID": 1922, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27109, + "notecount": 681, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c03e4e7cd9d931e1d67c9230db7a842fe919be53", + "difficulty": "ANOTHER", + "songID": 1923, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27110, + "notecount": 1552, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8195a3eba9aef0b5d7efc398b967e5cbd7cbd8a", + "difficulty": "HYPER", + "songID": 1923, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27110, + "notecount": 940, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2173999a13d4eab51f7af7bf7aaaacf60331b195", + "difficulty": "NORMAL", + "songID": 1923, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27110, + "notecount": 491, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17523bb8e2189bc6690442557cb66ba1ad6f1a06", + "difficulty": "ANOTHER", + "songID": 1923, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27110, + "notecount": 1497, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0342ebee1c4bd95cc5cd26a1b91e61607b209a6b", + "difficulty": "HYPER", + "songID": 1923, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27110, + "notecount": 892, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f9e6dbb94833a34493d46d58e66a0726aae51e4c", + "difficulty": "NORMAL", + "songID": 1923, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27110, + "notecount": 535, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "784b8ea96f9cd669f9e417a143f53e57f7a6247e", + "difficulty": "ANOTHER", + "songID": 1924, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27112, + "notecount": 826, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b0243cc54e218481a275c82cf76d793c626fc51d", + "difficulty": "HYPER", + "songID": 1924, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27112, + "notecount": 620, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "14f7011990564781068e49819a43755418e83e33", + "difficulty": "NORMAL", + "songID": 1924, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27112, + "notecount": 358, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7dc138747c430aff963b3069cb40d62861a15008", + "difficulty": "ANOTHER", + "songID": 1924, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27112, + "notecount": 868, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3bff8f793b4e5848c79f828c49809a08da57ef4d", + "difficulty": "HYPER", + "songID": 1924, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27112, + "notecount": 634, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b8a37be61bd14324f21795f966431aefd56f3e33", + "difficulty": "NORMAL", + "songID": 1924, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 27112, + "notecount": 366, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d150231cec3f7c80b1934b98603d11ff5fc30fa", + "difficulty": "ANOTHER", + "songID": 1925, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27113, + "notecount": 1300, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9894e1d80bc8c9849521fc9d7e7342acfcbefdaf", + "difficulty": "HYPER", + "songID": 1925, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27113, + "notecount": 798, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ba5291a581722ecc329773a8f76b1dfc4438694", + "difficulty": "NORMAL", + "songID": 1925, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27113, + "notecount": 435, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f709f1540e25f16e30755f819d6a7aa7010a8c95", + "difficulty": "ANOTHER", + "songID": 1925, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27113, + "notecount": 1294, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ec571a6b6da4ccfbe440170b7c6ef79b3df19d3", + "difficulty": "HYPER", + "songID": 1925, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 27113, + "notecount": 790, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a4a735db179ff87d1220335f23f21fd66074c100", + "difficulty": "NORMAL", + "songID": 1925, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27113, + "notecount": 435, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "40d023c9b8a0d90ecd31422f8402dddc8f5bef80", + "difficulty": "ANOTHER", + "songID": 1926, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27114, + "notecount": 1503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa9d6d3201ebe5487aa49948800b53ab3da72da9", + "difficulty": "HYPER", + "songID": 1926, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27114, + "notecount": 1031, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4a3e971f3d03fbe8a8451b0a133659024732c6ac", + "difficulty": "NORMAL", + "songID": 1926, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27114, + "notecount": 764, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94584adaccd557b6b3e09228d519941506583bdc", + "difficulty": "ANOTHER", + "songID": 1926, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 27114, + "notecount": 1543, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "33bfb1592c953a47a1434c8ca435119a72200d1a", + "difficulty": "HYPER", + "songID": 1926, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27114, + "notecount": 1012, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5183b5b12cf7e566c275583c15d9177f555b2a51", + "difficulty": "NORMAL", + "songID": 1926, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27114, + "notecount": 764, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0efa3dee03ab8ae7179cd2847f4bbe13ca90eb19", + "difficulty": "ANOTHER", + "songID": 1928, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27116, + "notecount": 1402, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "daff114caf656b60d2a1f53e587bce1d7ec6b9f6", + "difficulty": "HYPER", + "songID": 1928, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27116, + "notecount": 896, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "2805f149af8109862c27aa8f72831e8b1c870dbf", + "difficulty": "LEGGENDARIA", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 1928, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 27116, + "arcChartID": null, + "notecount": 1796, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "a7ddce26b116179adea8fcd8191035b0beeead16", + "difficulty": "NORMAL", + "songID": 1928, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27116, + "notecount": 579, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f38da64fb5bd424c9ddfe6350f699d72a35b560a", + "difficulty": "ANOTHER", + "songID": 1928, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 27116, + "notecount": 1466, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2f39dffe57699d9a72ee2145dc94dce6f50447a", + "difficulty": "HYPER", + "songID": 1928, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 27116, + "notecount": 913, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "chartID": "8c0c6c4e5b7ae9f063c475c3730aeef10db2ef0b", + "difficulty": "LEGGENDARIA", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 1928, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 27116, + "arcChartID": null, + "notecount": 1801, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "rgcID": null, + "chartID": "0b7ad4b1d37081e9e77db4684653472232bcc02e", + "difficulty": "NORMAL", + "songID": 1928, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 27116, + "notecount": 567, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1060a4638e0e9df566c67c200ede96e3960a2b7d", + "difficulty": "ANOTHER", + "songID": 1929, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27117, + "notecount": 1106, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "094855dfe923ed59072e14aa4cbb4e404f7c1463", + "difficulty": "HYPER", + "songID": 1929, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27117, + "notecount": 711, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "72e77f81c58a72c85b49831d099a13095f235dc3", + "difficulty": "NORMAL", + "songID": 1929, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27117, + "notecount": 415, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2fd50ad27139b6cefcc19c3d819dd8d97059aa21", + "difficulty": "ANOTHER", + "songID": 1929, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 27117, + "notecount": 1156, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8ed1eb58f8f0d7426c41d577dbc007b22ced9df6", + "difficulty": "HYPER", + "songID": 1929, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 27117, + "notecount": 722, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2209f4644f4a55565eb26a6df75457e749f8533a", + "difficulty": "NORMAL", + "songID": 1929, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 27117, + "notecount": 413, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "27-omni", + "27", + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "971d0339e8afc6301f1099cd68da553fd59646f3", + "difficulty": "ANOTHER", + "songID": 1930, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28000, + "notecount": 1582, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c20783fdf975a666ee7686a53e5e3051835b3c93", + "difficulty": "HYPER", + "songID": 1930, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28000, + "notecount": 1010, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49a7a0660ebbbd8924f285dab6322b8e80d468a7", + "difficulty": "NORMAL", + "songID": 1930, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28000, + "notecount": 683, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c644dfcd66cd35b0e2dd55d89434513abc8d247f", + "difficulty": "ANOTHER", + "songID": 1930, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28000, + "notecount": 1422, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8e4bcb212371aeb813569a55a22985d160194c5", + "difficulty": "HYPER", + "songID": 1930, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28000, + "notecount": 1045, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2266587bd2df889638ac8607b82c86459318e6b5", + "difficulty": "NORMAL", + "songID": 1930, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28000, + "notecount": 700, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "41dd20a33214feacc904be191ef24de59838b92b", + "difficulty": "ANOTHER", + "songID": 1931, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28001, + "notecount": 1388, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6d60bf60d88d1eb8f7542495395425957665eceb", + "difficulty": "HYPER", + "songID": 1931, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28001, + "notecount": 879, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "36285274933a696919ea4601c7dc77dcdd06461a", + "difficulty": "NORMAL", + "songID": 1931, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28001, + "notecount": 484, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "10f43cc4d7bb155e0420723f903a5abae36f9872", + "difficulty": "ANOTHER", + "songID": 1931, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28001, + "notecount": 1367, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bb0f7986f49ba638c092ad7849964c43095571f0", + "difficulty": "BEGINNER", + "songID": 1931, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 28001, + "notecount": 196, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "48c2920ce63a3901908c3f491c147750350191d6", + "difficulty": "HYPER", + "songID": 1931, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28001, + "notecount": 848, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "40e85990a2b57b8dd7eb2f3846d14c5bc4ac91cc", + "difficulty": "NORMAL", + "songID": 1931, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28001, + "notecount": 479, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b9e34d1b25db3d6e75599a1973fdd707921551a3", + "difficulty": "ANOTHER", + "songID": 1932, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28002, + "notecount": 1801, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af4a1c5eb007233482a360251366a294acf21daf", + "difficulty": "HYPER", + "songID": 1932, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28002, + "notecount": 1032, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "53a76135232f8403dad4b2ef5fe81a77883e5df9", + "difficulty": "NORMAL", + "songID": 1932, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28002, + "notecount": 592, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e25eb1205d1f11614e99ff81460181582eaf7c50", + "difficulty": "ANOTHER", + "songID": 1932, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28002, + "notecount": 1818, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": true + }, + "kt-HC": { + "text": "12S", + "value": 13.1, + "individualDifference": true + } + } + }, + { + "rgcID": null, + "chartID": "f71500ca49ad548583292b94077b5e3ed848ce3a", + "difficulty": "HYPER", + "songID": 1932, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28002, + "notecount": 1066, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "73cc4a762fbef2bdfc1c30e31b09143427ef1a28", + "difficulty": "NORMAL", + "songID": 1932, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28002, + "notecount": 595, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ff430b2cfc9d5c3f22ed5391c71224c7e332366", + "difficulty": "ANOTHER", + "songID": 1933, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28005, + "notecount": 1879, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "988f7782b5ceb04fccd0fb9203c11ab471e27a3d", + "difficulty": "HYPER", + "songID": 1933, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28005, + "notecount": 1116, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3935847d1759db4d60fbdee86391a1a00cac1b7f", + "difficulty": "NORMAL", + "songID": 1933, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28005, + "notecount": 661, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85fc691fb3a1c6be7a90b1485a907b343ddfc366", + "difficulty": "ANOTHER", + "songID": 1933, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28005, + "notecount": 1802, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A+", + "value": 12.9, + "individualDifference": false + }, + "kt-HC": { + "text": "12A+", + "value": 13, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3b709254daa125c7f8440227c3fdcadf7583e616", + "difficulty": "BEGINNER", + "songID": 1933, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 28005, + "notecount": 303, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "595e1c8f1465c32f3e31c577e185102d1d78632f", + "difficulty": "HYPER", + "songID": 1933, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28005, + "notecount": 1136, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c7123c8ed551db88abeea9bc6da182aba8c4f5ce", + "difficulty": "NORMAL", + "songID": 1933, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28005, + "notecount": 667, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b7594ea206ff5fb1c816e1b96e66a8c6b5b195a", + "difficulty": "ANOTHER", + "songID": 1934, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28006, + "notecount": 779, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "84620c6ce2c8083e0a6d520c12c9c7ed9d19deec", + "difficulty": "HYPER", + "songID": 1934, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28006, + "notecount": 542, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4866cd6f8847b7ba34eb150a0ccdd3d809078868", + "difficulty": "NORMAL", + "songID": 1934, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 28006, + "notecount": 321, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a08ba927a3877d0448b02c315ca8b8e5148de9ab", + "difficulty": "ANOTHER", + "songID": 1934, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28006, + "notecount": 748, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1bc75b9f978cfcb5f86be6b78de0670a228194ec", + "difficulty": "BEGINNER", + "songID": 1934, + "playtype": "SP", + "levelNum": 1, + "level": "1", + "data": { + "inGameID": 28006, + "notecount": 79, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52e8c466ae89a8c5a66da4e398f7e1353da95b04", + "difficulty": "HYPER", + "songID": 1934, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28006, + "notecount": 494, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ffe4c517321b840c2752b3bbb91923195debbd15", + "difficulty": "NORMAL", + "songID": 1934, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 28006, + "notecount": 264, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d485f41f4abf08a518c8ad4c98d51a4d702d389d", + "difficulty": "ANOTHER", + "songID": 1935, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28009, + "notecount": 1541, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "446a557cf08d2d729c7a8c1c35f6d91bac863eaa", + "difficulty": "HYPER", + "songID": 1935, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28009, + "notecount": 998, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8ac14e91bebc15a4692f94fb272bde2c0be20cf4", + "difficulty": "NORMAL", + "songID": 1935, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28009, + "notecount": 522, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cc104731b4e79303224a7b86566b479fa686ca3a", + "difficulty": "ANOTHER", + "songID": 1935, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28009, + "notecount": 1503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bf7e2abcf2bd06453ed3a54f23267564b9cdc640", + "difficulty": "HYPER", + "songID": 1935, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28009, + "notecount": 976, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93a47e266b877a26f439121b53d18f79d7f7b8a9", + "difficulty": "NORMAL", + "songID": 1935, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28009, + "notecount": 523, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f370ac43e0481b0290bac140b7792a897fc20d49", + "difficulty": "ANOTHER", + "songID": 1936, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28010, + "notecount": 1424, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f978b7e06acf1903c677bd6a0665a5f576a8258e", + "difficulty": "HYPER", + "songID": 1936, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28010, + "notecount": 991, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ef0fd1bbe4b39c5234512f221aa338ee5cb978c", + "difficulty": "NORMAL", + "songID": 1936, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28010, + "notecount": 503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e175c8ae0e50822acc6da7af932a6687bb49b3e", + "difficulty": "ANOTHER", + "songID": 1936, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28010, + "notecount": 1417, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8113eb199f567d6c447392d9458de50ac4649868", + "difficulty": "HYPER", + "songID": 1936, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28010, + "notecount": 983, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd0e6b70740500529a18a96931d026cf07cabe4d", + "difficulty": "NORMAL", + "songID": 1936, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28010, + "notecount": 500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a7a78001767fec395c957d312d3c193b85ea6b2", + "difficulty": "ANOTHER", + "songID": 1937, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28012, + "notecount": 1630, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f02fe90caafc3d118c0b6406e301b1cf100387d3", + "difficulty": "HYPER", + "songID": 1937, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28012, + "notecount": 1050, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a3af6fb6dd22e529c9c767d00005f78ea6446541", + "difficulty": "NORMAL", + "songID": 1937, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28012, + "notecount": 741, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6532b183ae6034255edfcb002256cea2578b35ee", + "difficulty": "ANOTHER", + "songID": 1937, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28012, + "notecount": 1396, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9321a77041945880fcbbd180eb0f9582185729cc", + "difficulty": "HYPER", + "songID": 1937, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28012, + "notecount": 917, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "896656576dad43faf014e5707fe494b9de7d0c37", + "difficulty": "NORMAL", + "songID": 1937, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28012, + "notecount": 652, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0c0b7093a3d634132c4a637a2ee1a8a5bb719d41", + "difficulty": "ANOTHER", + "songID": 1938, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28013, + "notecount": 1280, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85d530408d0c170dcb39e6542ede8a58b268f765", + "difficulty": "HYPER", + "songID": 1938, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28013, + "notecount": 862, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b38a67e6568095cf220cff0c6ce45e0eebe124f", + "difficulty": "NORMAL", + "songID": 1938, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28013, + "notecount": 574, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "794854045a3eba6f87edf04bec6d0183cf2aed5a", + "difficulty": "ANOTHER", + "songID": 1938, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28013, + "notecount": 1208, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0e6bebf3e720996fd1b57d8b5579fcfb868a3226", + "difficulty": "HYPER", + "songID": 1938, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28013, + "notecount": 906, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e8fd7be7dc004cc8167c5e49f881603ee13945ec", + "difficulty": "NORMAL", + "songID": 1938, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28013, + "notecount": 576, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "91774b757a4adc20f9fe87d87a97c6c3753c9162", + "difficulty": "ANOTHER", + "songID": 1939, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28014, + "notecount": 1309, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fe7131143421875ac660f022e689f713efa7f77f", + "difficulty": "HYPER", + "songID": 1939, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28014, + "notecount": 790, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc12243cb4d8c0c2511abfbf749c935c2e4a3884", + "difficulty": "NORMAL", + "songID": 1939, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28014, + "notecount": 449, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e816be637cc7bf21ac823319f8623d20d26edf6", + "difficulty": "ANOTHER", + "songID": 1939, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28014, + "notecount": 1312, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee541cd226589ce758dcbb5898cdeccc963a6d09", + "difficulty": "HYPER", + "songID": 1939, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28014, + "notecount": 815, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "348ba4d2f81d881aa693719bf722132f56dd60fe", + "difficulty": "NORMAL", + "songID": 1939, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28014, + "notecount": 448, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17e213752a22aa02a26317201ab40554e1e5038c", + "difficulty": "ANOTHER", + "songID": 1940, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28016, + "notecount": 1668, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "348709833c1536a160ad09f3c63587035415aeeb", + "difficulty": "HYPER", + "songID": 1940, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28016, + "notecount": 913, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f561599886efc5559e637482148f00fab364e58", + "difficulty": "NORMAL", + "songID": 1940, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28016, + "notecount": 452, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34fcd5567cd66967286954d9ebfb5c2e4ff10ca2", + "difficulty": "ANOTHER", + "songID": 1940, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28016, + "notecount": 1661, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": true + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": true + } + } + }, + { + "rgcID": null, + "chartID": "77264b37eaf86ba25d5f81e0855251fdc3dd1a16", + "difficulty": "HYPER", + "songID": 1940, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28016, + "notecount": 889, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5ce1d9b67b70d2b7c0971463d2a10afcfb23ec66", + "difficulty": "NORMAL", + "songID": 1940, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28016, + "notecount": 452, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3f40e183b25d46093e785ae4e397f9b1bbc139f", + "difficulty": "ANOTHER", + "songID": 1941, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28018, + "notecount": 1093, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "63c69894212975c195aa6ed71d6df122445c90e1", + "difficulty": "HYPER", + "songID": 1941, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28018, + "notecount": 799, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eaf54a538d7d1e92727bd4229d7bac9a7212cc03", + "difficulty": "NORMAL", + "songID": 1941, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28018, + "notecount": 525, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ceccd2f2adb304c8ed55681f5ea1c8887bef5d9", + "difficulty": "ANOTHER", + "songID": 1941, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28018, + "notecount": 1092, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3fbf82c384c991e0c1fe83c328d8061166ab348", + "difficulty": "HYPER", + "songID": 1941, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28018, + "notecount": 800, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ebcb044f61dd558578714ca8e5d5f5c198cb7835", + "difficulty": "NORMAL", + "songID": 1941, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28018, + "notecount": 491, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3715f9bcb5d5bbb213edf43be7090e9ac9d589b4", + "difficulty": "ANOTHER", + "songID": 1942, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28020, + "notecount": 1392, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "06b84eb3468861032d916614f7ab5c4521726934", + "difficulty": "HYPER", + "songID": 1942, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28020, + "notecount": 919, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c26cfed74d2d944f8964b9785a5b3b9cf111d4bd", + "difficulty": "NORMAL", + "songID": 1942, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28020, + "notecount": 574, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2589387d42630379dc8671ed981bde5af41a8f1b", + "difficulty": "ANOTHER", + "songID": 1942, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28020, + "notecount": 1382, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "361cbc8eda40ef35c892608647ff96bbcfe9263f", + "difficulty": "HYPER", + "songID": 1942, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28020, + "notecount": 927, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "920c12ea667f90a4f3eb80b2c4c0bc339965c4b0", + "difficulty": "NORMAL", + "songID": 1942, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28020, + "notecount": 537, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9a32e5530847bb22e098054ed9eb31cf30f20643", + "difficulty": "ANOTHER", + "songID": 1943, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28021, + "notecount": 1703, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "559c8fb99a8f010aafca3dc6aa879658faa83be6", + "difficulty": "HYPER", + "songID": 1943, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28021, + "notecount": 910, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7f5b558a532e28dfbee35c7cb67bb1d919ee22b4", + "difficulty": "NORMAL", + "songID": 1943, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28021, + "notecount": 580, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2f4b9cc07213281fe73dfc2ce728664ba5be605b", + "difficulty": "ANOTHER", + "songID": 1943, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28021, + "notecount": 1848, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "8992c2754bae7ddaeffcdf5ec86ca85426e277ac", + "difficulty": "HYPER", + "songID": 1943, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28021, + "notecount": 905, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ad0c01b602a49b3a6e2557b1084d0fe87918d8e2", + "difficulty": "NORMAL", + "songID": 1943, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28021, + "notecount": 554, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "be2bddf2955552a18fdb15a196c226a280a2f1db", + "difficulty": "ANOTHER", + "songID": 1944, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28022, + "notecount": 1154, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2653e542221762450ed95b7226eede262f4dd062", + "difficulty": "HYPER", + "songID": 1944, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28022, + "notecount": 779, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "914e6b4a82fe83bffa6d2f5037cb0e0c574965c4", + "difficulty": "NORMAL", + "songID": 1944, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28022, + "notecount": 487, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6881c4fdea98611e65a890941c5d341e7407df29", + "difficulty": "ANOTHER", + "songID": 1944, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28022, + "notecount": 1026, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "196d396a36f439b994a75a5a57bd23f1fa65a2fb", + "difficulty": "HYPER", + "songID": 1944, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28022, + "notecount": 726, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52aae5575ebabcb1160a0e74ce13f71a06bc7482", + "difficulty": "NORMAL", + "songID": 1944, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28022, + "notecount": 482, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a892b8235a2707a10c13cd109d21f0173f72e0cf", + "difficulty": "ANOTHER", + "songID": 1945, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28025, + "notecount": 1619, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "674ad35a90e9c6f90b2126bfd664ff0141d8a8bd", + "difficulty": "HYPER", + "songID": 1945, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28025, + "notecount": 1088, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6722a51744c8b4f377bb56429cecb8b3197573ee", + "difficulty": "NORMAL", + "songID": 1945, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28025, + "notecount": 680, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "489256a879fea3a78e7f2b764ce98eb415e17140", + "difficulty": "ANOTHER", + "songID": 1945, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28025, + "notecount": 1700, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B+", + "value": 12.7, + "individualDifference": true + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "403c75f22ebe551ceb554a859ec1910f50b01ef1", + "difficulty": "HYPER", + "songID": 1945, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28025, + "notecount": 1110, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "59cca1cf02bf19bc821eb5b2f6a9079b6cdb1afa", + "difficulty": "NORMAL", + "songID": 1945, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28025, + "notecount": 700, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ac07f3a7dbb63622c6371fb5424ca159a6654543", + "difficulty": "ANOTHER", + "songID": 1946, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28026, + "notecount": 1113, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "07e3bead4299d4ae9602831fb0ee84be05440a69", + "difficulty": "HYPER", + "songID": 1946, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28026, + "notecount": 737, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1bb1abc3a1c34d18b958cc7f0b5c11e9cfd338b", + "difficulty": "NORMAL", + "songID": 1946, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28026, + "notecount": 461, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a895078a0796c8a483c0e91e71cc7cb78787b1ef", + "difficulty": "ANOTHER", + "songID": 1946, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28026, + "notecount": 1102, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "077ec5ae1063d7da065627dcbae4fbe6fc0fcabf", + "difficulty": "HYPER", + "songID": 1946, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28026, + "notecount": 772, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b967e25b0daa00796f476ea40a992ab516a4bf72", + "difficulty": "NORMAL", + "songID": 1946, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28026, + "notecount": 480, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b1784ea22e7fc3b897a366594933d2160ed7c90", + "difficulty": "ANOTHER", + "songID": 1947, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28028, + "notecount": 1471, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b8cc34b584bc534172d08c6e3eb462a09be29707", + "difficulty": "HYPER", + "songID": 1947, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28028, + "notecount": 1006, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9fefb9b4820a9909fc7a39cdf65e1e6ff6e5b90e", + "difficulty": "NORMAL", + "songID": 1947, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28028, + "notecount": 625, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d83faf5a022b20ff0fbc5db75d9c7c3b5576f8ae", + "difficulty": "ANOTHER", + "songID": 1947, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28028, + "notecount": 1313, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "701425bbc75c5990367a7943bb793397ab58563f", + "difficulty": "HYPER", + "songID": 1947, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28028, + "notecount": 908, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "67256b96d98671ab3c3b449545874d178691c495", + "difficulty": "NORMAL", + "songID": 1947, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28028, + "notecount": 633, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c1d6f02cab61ac5a3347fce9a0c3c48228109a8", + "difficulty": "ANOTHER", + "songID": 1948, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28029, + "notecount": 1244, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a0209903a64a246f0a2883402311af4414ac0092", + "difficulty": "HYPER", + "songID": 1948, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28029, + "notecount": 837, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c07ad7cd5b710c75227febc758a5d692586d8d67", + "difficulty": "NORMAL", + "songID": 1948, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28029, + "notecount": 491, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "396aeab3c0ce3dd12019d3a27fa841e7a92b926e", + "difficulty": "ANOTHER", + "songID": 1948, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28029, + "notecount": 1253, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e256003de9933728d31133017884be73224e83e9", + "difficulty": "HYPER", + "songID": 1948, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28029, + "notecount": 877, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6718c2c2afd6531f58960d6829105077a199ddc6", + "difficulty": "NORMAL", + "songID": 1948, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28029, + "notecount": 492, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7b128274194a8782f91488e0024e1e7feed5f1b5", + "difficulty": "ANOTHER", + "songID": 1949, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28030, + "notecount": 1683, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "21a8d90fab186b877b9d623557d09ae87004de56", + "difficulty": "HYPER", + "songID": 1949, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28030, + "notecount": 1061, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2675b5c90bc866725ca541d3062c9a786d68f37e", + "difficulty": "NORMAL", + "songID": 1949, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28030, + "notecount": 530, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c21e921c92ec63d2174d5b0b90738643b3773ba", + "difficulty": "ANOTHER", + "songID": 1949, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28030, + "notecount": 1613, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "fe10ac937c0e2c7f78c97f9c44157906ff1a9654", + "difficulty": "HYPER", + "songID": 1949, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28030, + "notecount": 1109, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4147a8a668bc62d8e6cdba6f0069bab710145964", + "difficulty": "NORMAL", + "songID": 1949, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28030, + "notecount": 533, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c2aabe2d75bd4bbfe6c17948f7e738a250817f63", + "difficulty": "ANOTHER", + "songID": 1950, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28031, + "notecount": 968, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f315fe41fa004ad481ba00bb1bd5189d6e254725", + "difficulty": "HYPER", + "songID": 1950, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28031, + "notecount": 653, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e140ed5acdf7d2a6a018fd6167e5a28ca8975f76", + "difficulty": "NORMAL", + "songID": 1950, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 28031, + "notecount": 319, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5e0caa68e4d6a182ea1ac9b91b1f27beb6a14c6c", + "difficulty": "ANOTHER", + "songID": 1950, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28031, + "notecount": 1016, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "67b1fb6dca64804e4f069ede798f570ece2fc265", + "difficulty": "HYPER", + "songID": 1950, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28031, + "notecount": 675, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "09a6319c6e05fecea354dc3eeaf0855cc3000229", + "difficulty": "NORMAL", + "songID": 1950, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 28031, + "notecount": 308, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "adcb754f2ea67c9ffd18cc31de0232c98e96115e", + "difficulty": "ANOTHER", + "songID": 1951, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28032, + "notecount": 1373, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ce3c028e96cf3983800cde7cb78efc39f15474b", + "difficulty": "HYPER", + "songID": 1951, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28032, + "notecount": 947, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e8c8ec74f1c5e1c8d9b61672ea8b3a0549a43ebb", + "difficulty": "NORMAL", + "songID": 1951, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28032, + "notecount": 539, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d69be06bab7539f5cbcac12ced09763caabae614", + "difficulty": "ANOTHER", + "songID": 1951, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28032, + "notecount": 1405, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e96ef58b332116ae4e5594c2cd96d8458fa4cde9", + "difficulty": "HYPER", + "songID": 1951, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28032, + "notecount": 946, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9185cfbd405442c5c774f68fd68ef86a6edf08f4", + "difficulty": "NORMAL", + "songID": 1951, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28032, + "notecount": 550, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6ce60255c086263534d9520acf37efb53882a46d", + "difficulty": "ANOTHER", + "songID": 1952, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28034, + "notecount": 1139, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f22d8ad0596c4607daf8a08232bfe3ed07228ca", + "difficulty": "HYPER", + "songID": 1952, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28034, + "notecount": 819, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b4b7ef554288ae9186ad16e2bf8e5fac4e372c3", + "difficulty": "NORMAL", + "songID": 1952, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28034, + "notecount": 501, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc829ad4f08e59db7288db63c7b8da4edf7ff4ae", + "difficulty": "ANOTHER", + "songID": 1952, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28034, + "notecount": 1170, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "82e09d9c09d666233e8e83a2c3d07c0fb5863720", + "difficulty": "HYPER", + "songID": 1952, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28034, + "notecount": 780, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d243930242896bb1a1ea390f8179e8ed54392cd9", + "difficulty": "NORMAL", + "songID": 1952, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28034, + "notecount": 502, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c3c35fe81d92db33bdfe5aebb6e070f4924f0ce", + "difficulty": "ANOTHER", + "songID": 1953, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28035, + "notecount": 1810, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "709122b6cfc46486163da6f9823f537ac627b60f", + "difficulty": "HYPER", + "songID": 1953, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28035, + "notecount": 1065, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af3f80fe85e521cc60619439a28ccef729c739ea", + "difficulty": "NORMAL", + "songID": 1953, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28035, + "notecount": 741, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d3d96a33af621e1ec178c7ded367552edd25a799", + "difficulty": "ANOTHER", + "songID": 1953, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28035, + "notecount": 1790, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "eae004df5595f8756bf2f6d69482d86aa798bf8d", + "difficulty": "HYPER", + "songID": 1953, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28035, + "notecount": 1112, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "07930475361f2974cfe0b82afb25bebbbac170dc", + "difficulty": "NORMAL", + "songID": 1953, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28035, + "notecount": 746, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d40958c5aafaa37f72de6eb7840d9b9278ddbee2", + "difficulty": "ANOTHER", + "songID": 1954, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28036, + "notecount": 1226, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d886ddb273ea2e66d73d3bc562a2d5a4a256d127", + "difficulty": "HYPER", + "songID": 1954, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28036, + "notecount": 839, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "14a653773a39f05535df71ad2b842ad00e9cf0cb", + "difficulty": "NORMAL", + "songID": 1954, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28036, + "notecount": 544, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9fdf798a5931b6e96b66eee2d6a88c412d4719b9", + "difficulty": "ANOTHER", + "songID": 1954, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28036, + "notecount": 1249, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3f9e7bf39c71bd1e781565e97311ec0bc9ca4dd8", + "difficulty": "BEGINNER", + "songID": 1954, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 28036, + "notecount": 202, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0fcc46232963a0616c80f3ce8f831803e9163007", + "difficulty": "HYPER", + "songID": 1954, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28036, + "notecount": 872, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a8887cd776af5454fd0fb87487511f8cca00ef40", + "difficulty": "NORMAL", + "songID": 1954, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28036, + "notecount": 549, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "25572aab813f9de080e6d25669423d8b20f4c16a", + "difficulty": "ANOTHER", + "songID": 1955, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28037, + "notecount": 1019, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "915bfaae520f05e7945c9d126231b6d767b9a039", + "difficulty": "HYPER", + "songID": 1955, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28037, + "notecount": 697, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cd5e08b7beb36d264504289d9863e894ba60cb78", + "difficulty": "NORMAL", + "songID": 1955, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28037, + "notecount": 384, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "50041ff5ffcf914f0577fead81c6f34e0b29546f", + "difficulty": "ANOTHER", + "songID": 1955, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28037, + "notecount": 938, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "445d2ea44936e10267f35dccaf408d1b267aa6c0", + "difficulty": "HYPER", + "songID": 1955, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28037, + "notecount": 607, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49a0a716a0fcdf02ba5c65a0a710d5bca653ab42", + "difficulty": "NORMAL", + "songID": 1955, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28037, + "notecount": 327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "102d85680e34403d71fdb110dd358d1ac970332b", + "difficulty": "ANOTHER", + "songID": 1956, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28038, + "notecount": 1248, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6714a271ed4bb59565b21d12e882f4d1ce8dfbf8", + "difficulty": "HYPER", + "songID": 1956, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28038, + "notecount": 841, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b82dee13243780d1cafa6376ea613a12f8edd234", + "difficulty": "NORMAL", + "songID": 1956, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28038, + "notecount": 507, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6889d04cbfcb71b4d58b5d04ae22c9aedee815cd", + "difficulty": "ANOTHER", + "songID": 1956, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28038, + "notecount": 1283, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf1a0021e78605ee2418528017c20be1a3531dca", + "difficulty": "HYPER", + "songID": 1956, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28038, + "notecount": 857, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "81204cc064b6def4c1b496262b15fab58a084310", + "difficulty": "NORMAL", + "songID": 1956, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28038, + "notecount": 506, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d8d7d6987a667babc812bd66cf42b7762f3a325", + "difficulty": "ANOTHER", + "songID": 1957, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28039, + "notecount": 1127, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1ec26320077dfb20891a247e6aef9e0079dbb2d5", + "difficulty": "HYPER", + "songID": 1957, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28039, + "notecount": 713, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f7cee84b6cafada88a5a151279278f1742c1e21", + "difficulty": "NORMAL", + "songID": 1957, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28039, + "notecount": 542, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "274c2bb420cbd4da31d521d6ec9f3512f92c9a7d", + "difficulty": "ANOTHER", + "songID": 1957, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28039, + "notecount": 1008, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "629a944ce11207271d6454dda2b281db09458453", + "difficulty": "HYPER", + "songID": 1957, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28039, + "notecount": 739, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7fc2d54e725245bd82098739588a5432752a3f83", + "difficulty": "NORMAL", + "songID": 1957, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28039, + "notecount": 485, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5079795dc057aaf257caa5b5fb6d9e01979c6b0b", + "difficulty": "ANOTHER", + "songID": 1958, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28041, + "notecount": 1311, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3a259ca01bf740c41feab316c5aab45583353c4c", + "difficulty": "HYPER", + "songID": 1958, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28041, + "notecount": 804, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d168fb751d53a0e0ec4aa5f0160a3a09310b032e", + "difficulty": "NORMAL", + "songID": 1958, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28041, + "notecount": 530, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a287ce651a356a57be2f2b1cf4ff0d514c2571c0", + "difficulty": "ANOTHER", + "songID": 1958, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28041, + "notecount": 1256, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e9df9873af076be2dbd455a744cf338454a67f72", + "difficulty": "HYPER", + "songID": 1958, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28041, + "notecount": 795, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dcc54133b0df2c25a35188783f161ce5dc6c9468", + "difficulty": "NORMAL", + "songID": 1958, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28041, + "notecount": 531, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22e66e8069578bc293940aeeb9def31ab3669fde", + "difficulty": "ANOTHER", + "songID": 1959, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28042, + "notecount": 1212, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6e787b0a5cd30f334e6414e8155bf25ba742f2f7", + "difficulty": "HYPER", + "songID": 1959, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28042, + "notecount": 785, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a208d86ac9bb3574014cd359c82dcb724399f709", + "difficulty": "NORMAL", + "songID": 1959, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28042, + "notecount": 532, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85f012e2a910dcae6605f189f881a1a97f639e08", + "difficulty": "ANOTHER", + "songID": 1959, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28042, + "notecount": 1212, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d6e4c03084cbdf780dd72e720eae8f1b276e73a3", + "difficulty": "HYPER", + "songID": 1959, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28042, + "notecount": 784, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a196f262b2ebc995e564e20d2e966981ce45fbe1", + "difficulty": "NORMAL", + "songID": 1959, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28042, + "notecount": 532, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aabfbe1c76febb7bd8de5e1ca1ffec738840c272", + "difficulty": "ANOTHER", + "songID": 1960, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28043, + "notecount": 1530, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4865f9620e8b2d4ae772ef13e079231dd05bc1be", + "difficulty": "HYPER", + "songID": 1960, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28043, + "notecount": 865, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa2965745c3cdeaafee51407c03d79ba366d9ab7", + "difficulty": "NORMAL", + "songID": 1960, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28043, + "notecount": 445, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "691a3ef6ff41c6e01bc8231aee5f9f27bf310d4f", + "difficulty": "ANOTHER", + "songID": 1960, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28043, + "notecount": 1454, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": true + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": true + } + } + }, + { + "rgcID": null, + "chartID": "b6c68078116b033942b3d62ebb20d8bce01b3f6c", + "difficulty": "HYPER", + "songID": 1960, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28043, + "notecount": 854, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6501c249e27a315fa2f932dad9aeb79f33514aad", + "difficulty": "NORMAL", + "songID": 1960, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28043, + "notecount": 449, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e072192f4a585cceae734785b743642c3f1f8c1f", + "difficulty": "ANOTHER", + "songID": 1961, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28044, + "notecount": 909, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "deb7e938e02cc551ddd53051fc662538fc762cde", + "difficulty": "HYPER", + "songID": 1961, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28044, + "notecount": 668, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0431ae19655afec3111c85f47ab4af5900d85651", + "difficulty": "NORMAL", + "songID": 1961, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 28044, + "notecount": 358, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34f82adefe0a5c222685567d3bfd24d2e41693a6", + "difficulty": "ANOTHER", + "songID": 1961, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28044, + "notecount": 944, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0748e21db071377df132917e37dc3ec0decba6f7", + "difficulty": "HYPER", + "songID": 1961, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28044, + "notecount": 674, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "31d3ec472d17e217295a7d2b3de103d486faaefc", + "difficulty": "NORMAL", + "songID": 1961, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 28044, + "notecount": 349, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9c53950647073bd45a52e91c148a9545917f712", + "difficulty": "ANOTHER", + "songID": 1962, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28046, + "notecount": 1327, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a581b1a5b536bc888fe817a445c5cac47bf7b806", + "difficulty": "HYPER", + "songID": 1962, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28046, + "notecount": 806, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3ab9a108be65c7bbddaf92f8c7e45a908caa7dce", + "difficulty": "NORMAL", + "songID": 1962, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28046, + "notecount": 455, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a9851ae9042cb37d237598dfb611c1dd399afb0", + "difficulty": "ANOTHER", + "songID": 1962, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28046, + "notecount": 1398, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17591e5ab0c9c58eea7b720eef89e8de3288f222", + "difficulty": "HYPER", + "songID": 1962, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28046, + "notecount": 815, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8761962c8cab45454b8d5c724c0a5fea3b6a9797", + "difficulty": "NORMAL", + "songID": 1962, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28046, + "notecount": 455, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1aba978c69ce25275ace91be430ee4d89db85212", + "difficulty": "ANOTHER", + "songID": 1963, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28047, + "notecount": 1279, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b7d8f4811502379c8c91f3a1d49c6c1df62c494d", + "difficulty": "HYPER", + "songID": 1963, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28047, + "notecount": 853, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f3f23a1aac067e2571742368083aef2cbc5fabef", + "difficulty": "NORMAL", + "songID": 1963, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28047, + "notecount": 506, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a0839a0f52bdb02de5b50cf5bf67c6ec9e7d2009", + "difficulty": "ANOTHER", + "songID": 1963, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28047, + "notecount": 1162, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1023c0b77c004687f361114062146aede3ea05a8", + "difficulty": "HYPER", + "songID": 1963, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28047, + "notecount": 786, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aea5eff7274fd1b1a06990855c223f2c11807162", + "difficulty": "NORMAL", + "songID": 1963, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28047, + "notecount": 466, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2025d136cd9fef6b629e7a63a0fe3172be304f00", + "difficulty": "ANOTHER", + "songID": 1964, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28050, + "notecount": 1473, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3240455c25b0be76ffd77677c707c3977766cba9", + "difficulty": "HYPER", + "songID": 1964, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28050, + "notecount": 899, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f71938169f619ba1d863fe261039dd3ff2feecb7", + "difficulty": "NORMAL", + "songID": 1964, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28050, + "notecount": 572, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a05cd43ec251bd5ec38c43538e46c962b3ae906", + "difficulty": "ANOTHER", + "songID": 1964, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28050, + "notecount": 1507, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6b0f29c5f437005a953b57c8b8c48b40f09fb5d6", + "difficulty": "HYPER", + "songID": 1964, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28050, + "notecount": 961, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed1535f19066397b7585fe3e22f64a2dfffdbb3f", + "difficulty": "NORMAL", + "songID": 1964, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28050, + "notecount": 503, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c7ebe06ffc15b1b074ab16f9c7b3aa849a6ae67", + "difficulty": "ANOTHER", + "songID": 1965, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28051, + "notecount": 1687, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "12c2f5d75f44164965a93620985680eda68f55ef", + "difficulty": "HYPER", + "songID": 1965, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28051, + "notecount": 949, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2300f1a8f69c74cc1255dd58b38f8a053c03d2e6", + "difficulty": "NORMAL", + "songID": 1965, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28051, + "notecount": 568, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d98fee6884ce78f5b928a6bdccd50f68d77b247", + "difficulty": "ANOTHER", + "songID": 1965, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28051, + "notecount": 1752, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "c316e831ef9ad0c76f95540fd8a3e4fd78dd8b8f", + "difficulty": "HYPER", + "songID": 1965, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28051, + "notecount": 964, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1b49aa79bbdf701e0ebc46d409cebdc90828c428", + "difficulty": "NORMAL", + "songID": 1965, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28051, + "notecount": 545, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "86b4f2680e56cf8d0ec585c7b9aedcf75bafea12", + "difficulty": "ANOTHER", + "songID": 1966, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28052, + "notecount": 1086, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9fc47db0cd32bb6554789a9fb4108f4a7f8629e0", + "difficulty": "HYPER", + "songID": 1966, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28052, + "notecount": 745, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "26952ee272f448baf6e2aa696a6316b34d5248fb", + "difficulty": "NORMAL", + "songID": 1966, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28052, + "notecount": 478, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b961a96a57321d14c5fa4dca4aae49b79473102c", + "difficulty": "ANOTHER", + "songID": 1966, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28052, + "notecount": 1069, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3d37af6c82f1709b17731b1c724f65f1160fbbf8", + "difficulty": "HYPER", + "songID": 1966, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28052, + "notecount": 740, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "79705a21f013c5e7990b848813bed7a9d6225c85", + "difficulty": "NORMAL", + "songID": 1966, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28052, + "notecount": 471, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "89a771ddf20e052f03c211feb52b0146b9108ab8", + "difficulty": "ANOTHER", + "songID": 1967, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28054, + "notecount": 1295, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b4587402f00945fc4367c6b257ac36405e06c9f", + "difficulty": "HYPER", + "songID": 1967, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28054, + "notecount": 813, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb94d6584a29fd97225cdb731fc1e289ff8b5c39", + "difficulty": "NORMAL", + "songID": 1967, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28054, + "notecount": 452, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17d1135ec6dbb7b216257c75533f986437463c51", + "difficulty": "ANOTHER", + "songID": 1967, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28054, + "notecount": 1297, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2265d6d22fa08672ad1d84e5d43ac13a0882832", + "difficulty": "HYPER", + "songID": 1967, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28054, + "notecount": 849, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8f4c87511ebc7aa553447c958d7a4039a87e4f85", + "difficulty": "NORMAL", + "songID": 1967, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28054, + "notecount": 448, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8bc1ac93b8a00363d6b5cafeac104c4ed2026b93", + "difficulty": "ANOTHER", + "songID": 1968, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28055, + "notecount": 1832, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2d57ad1346dc4cf9550402db1eb433ee714581fe", + "difficulty": "HYPER", + "songID": 1968, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28055, + "notecount": 1058, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bc198ff7a22e20a2004bd0c459069afd8b0e8f12", + "difficulty": "NORMAL", + "songID": 1968, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28055, + "notecount": 549, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83747983dfb3942e2f2829d84111763b1f0d06f5", + "difficulty": "ANOTHER", + "songID": 1968, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28055, + "notecount": 1700, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "104483e3597d8211f53d0d423d78e70adedb58c3", + "difficulty": "HYPER", + "songID": 1968, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28055, + "notecount": 1022, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0700fe21fb3214a619600d3ba2f262b3351b071a", + "difficulty": "NORMAL", + "songID": 1968, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28055, + "notecount": 556, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f41d078a350fd4760bbd4c2f617357beafb59f9a", + "difficulty": "ANOTHER", + "songID": 1969, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28057, + "notecount": 1545, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6608b6b48e4c10e5839cd75cf1c6e1f0001ea541", + "difficulty": "HYPER", + "songID": 1969, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28057, + "notecount": 878, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bea1bb19dbe9fb9b60fe027a2cdbb1a5e149feae", + "difficulty": "NORMAL", + "songID": 1969, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28057, + "notecount": 631, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ed3a381aa5c6ed9da25c6293363efb2e18339d9a", + "difficulty": "ANOTHER", + "songID": 1969, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28057, + "notecount": 1551, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ffbd84a682c3f164c2b1a0442ef2ed245aeb1c6f", + "difficulty": "HYPER", + "songID": 1969, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28057, + "notecount": 887, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9c5640bacfeff0bcab1651b099e26a862cf4e150", + "difficulty": "NORMAL", + "songID": 1969, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28057, + "notecount": 578, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "94d3735640ca7cace99c412588dfd0827d234429", + "difficulty": "ANOTHER", + "songID": 1970, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28058, + "notecount": 1714, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a0e50e99d070cdb2608852d4be014a65ac54451f", + "difficulty": "HYPER", + "songID": 1970, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28058, + "notecount": 1036, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8d55d8e4de80831245a951781cf5a3831567743a", + "difficulty": "NORMAL", + "songID": 1970, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28058, + "notecount": 720, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "52e4c5c0f896fa00ed1159a3bc7a8cb31b42f802", + "difficulty": "ANOTHER", + "songID": 1970, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28058, + "notecount": 1688, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12D", + "value": 12.2, + "individualDifference": false + }, + "kt-HC": { + "text": "12E", + "value": 12.1, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "3f58a28bb0146ccd715062e749840282dbe0cf71", + "difficulty": "HYPER", + "songID": 1970, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28058, + "notecount": 964, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "85b7d9a4ba7a8178030b527d6f17ff23a35507ee", + "difficulty": "NORMAL", + "songID": 1970, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28058, + "notecount": 639, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c335f632a0b9cd859c93d57acbd7cc48d9672314", + "difficulty": "ANOTHER", + "songID": 1971, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28059, + "notecount": 1429, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bca1668fa24b74c2b2d89fd96037235808cd4810", + "difficulty": "HYPER", + "songID": 1971, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28059, + "notecount": 925, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aaad0efb2ad43eeb43dc1ae2a19c88c1fec6cae1", + "difficulty": "NORMAL", + "songID": 1971, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28059, + "notecount": 586, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fec8007e297dd8cea4aec8f14855c732d875ce81", + "difficulty": "ANOTHER", + "songID": 1971, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28059, + "notecount": 1470, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fa90eeb26469d76c6a4584a6c47736d955e820f6", + "difficulty": "HYPER", + "songID": 1971, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28059, + "notecount": 935, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "335f131d0cc496ec11d168697a1b64c38e7a7582", + "difficulty": "NORMAL", + "songID": 1971, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28059, + "notecount": 609, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c55199b9ad813fd47f1df361be54f15e4fac7904", + "difficulty": "ANOTHER", + "songID": 1972, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28060, + "notecount": 1356, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dea96e34a660ac419a6859a5f62f8288bc46d790", + "difficulty": "HYPER", + "songID": 1972, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28060, + "notecount": 924, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b7154caa69f73549232f994598de4a4a8bfd6726", + "difficulty": "NORMAL", + "songID": 1972, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28060, + "notecount": 501, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2bcd6915bf3c00e54e5ab624e03dccf6ba8a441c", + "difficulty": "ANOTHER", + "songID": 1972, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28060, + "notecount": 1222, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "577fa35f38acd29f4bb10447f5d15d03dbb542bf", + "difficulty": "HYPER", + "songID": 1972, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28060, + "notecount": 951, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1995206302c0d5b9d7be4c889c95c59b3f8476a1", + "difficulty": "NORMAL", + "songID": 1972, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28060, + "notecount": 493, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "48142ef72ef60a567cc755d39942c5c1bac0f026", + "difficulty": "ANOTHER", + "songID": 1973, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28061, + "notecount": 1297, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "409d08405021bfe67d9c6692dae6a4507043f379", + "difficulty": "HYPER", + "songID": 1973, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28061, + "notecount": 965, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bcb737a116420a9aa790a091d34bd277b55ab496", + "difficulty": "NORMAL", + "songID": 1973, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28061, + "notecount": 612, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d431aa4a6d57c3df76d9148dce76edf8bab1d49", + "difficulty": "ANOTHER", + "songID": 1973, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28061, + "notecount": 1762, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12B", + "value": 12.7, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "d0962e7d82a40444e1bbee18758643ac0ed9f4c6", + "difficulty": "HYPER", + "songID": 1973, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28061, + "notecount": 946, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "db68299d95ed3ede0c5016ee5714ff7e51659167", + "difficulty": "NORMAL", + "songID": 1973, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28061, + "notecount": 615, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "177a52dc1dd1ebf506b733a3ecf977f58385f4f6", + "difficulty": "ANOTHER", + "songID": 1974, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28062, + "notecount": 1392, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d213e63ea685fe69d61c0f1de2226f77cea99d44", + "difficulty": "HYPER", + "songID": 1974, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28062, + "notecount": 844, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a9fb489b23cc68542465e12fb4f7ad4de5ca4f7d", + "difficulty": "NORMAL", + "songID": 1974, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28062, + "notecount": 500, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e7b21b0e78442aef87257bf0f07299755bf528c", + "difficulty": "ANOTHER", + "songID": 1974, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28062, + "notecount": 1461, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "48826b95dccc441c8604b48aa794f9e8397dfbf9", + "difficulty": "HYPER", + "songID": 1974, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28062, + "notecount": 785, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c2aeaa85a4a6c13b2b05ee351a607e244dffa20", + "difficulty": "NORMAL", + "songID": 1974, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28062, + "notecount": 487, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0be29bd263c647002a2d070e287112032b913607", + "difficulty": "ANOTHER", + "songID": 1975, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28064, + "notecount": 1098, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c451f33fb5472b57603b34a4cb61a6f94d44448e", + "difficulty": "HYPER", + "songID": 1975, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28064, + "notecount": 728, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "39cf70dc6c5fef057f611f46d3b3e51af092b524", + "difficulty": "NORMAL", + "songID": 1975, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28064, + "notecount": 363, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bd725841f75f91765d1da6c70048427453b617eb", + "difficulty": "ANOTHER", + "songID": 1975, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28064, + "notecount": 1108, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "de378f93de1c690f4c380a0c185aa7e163750cf6", + "difficulty": "HYPER", + "songID": 1975, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28064, + "notecount": 729, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee8cd821b6b7a0c4fb934827d0cab515ac1c80cd", + "difficulty": "NORMAL", + "songID": 1975, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28064, + "notecount": 367, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cb8942b606e5cbd81ce0a21332bb42667d8ac5a0", + "difficulty": "ANOTHER", + "songID": 1976, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28066, + "notecount": 1001, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bdc86b6210575e418be2b39a3f7b782aef45f87f", + "difficulty": "HYPER", + "songID": 1976, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28066, + "notecount": 713, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d2b26ab4b85b8acaa4f646c7440ed3ab877eeaab", + "difficulty": "NORMAL", + "songID": 1976, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28066, + "notecount": 471, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c90a0ec08d38c09fb2531c655beba1801fce9a53", + "difficulty": "ANOTHER", + "songID": 1976, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28066, + "notecount": 1082, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0a210d2214e4446629612342f36bfb63f3d341f5", + "difficulty": "HYPER", + "songID": 1976, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28066, + "notecount": 661, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e7fe0700bd135a2d6b9e5cb194c23213fdb3b1eb", + "difficulty": "NORMAL", + "songID": 1976, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28066, + "notecount": 382, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "17e77e6f797665547f96e75a744f2df05ce15bed", + "difficulty": "ANOTHER", + "songID": 1977, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28067, + "notecount": 1309, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e38d5db3d33f974f408d8fd6c88649bc9eef6577", + "difficulty": "HYPER", + "songID": 1977, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28067, + "notecount": 915, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "511a6c44ba771b3b8bcd4f40aff41ceeb1f47d49", + "difficulty": "NORMAL", + "songID": 1977, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28067, + "notecount": 593, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5e3474580a049bd9727aa5c973329ff220f34b55", + "difficulty": "ANOTHER", + "songID": 1977, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28067, + "notecount": 1300, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55c06c264a2a10e45b9ca4abe83141c1424097db", + "difficulty": "HYPER", + "songID": 1977, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28067, + "notecount": 904, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "08dc050f8236db00bb74cb8059e5a8c8dbc7f7c1", + "difficulty": "NORMAL", + "songID": 1977, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28067, + "notecount": 583, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "abfee3417edeb69cfea9c3faf85caa3a63462674", + "difficulty": "ANOTHER", + "songID": 1978, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28068, + "notecount": 1091, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1304faea10433e740fbd4d1c26b01e5b5aa17bbd", + "difficulty": "HYPER", + "songID": 1978, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28068, + "notecount": 691, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dc395f9e7890c2b987c2b66fbd2114de284235f0", + "difficulty": "NORMAL", + "songID": 1978, + "playtype": "DP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 28068, + "notecount": 308, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "847e348692560f75dd02812a0f87722972a7c4ff", + "difficulty": "ANOTHER", + "songID": 1978, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28068, + "notecount": 1129, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d9e441832d56f8fec05628ce413e101b2df229c2", + "difficulty": "HYPER", + "songID": 1978, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28068, + "notecount": 701, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "0430a83f47589c0f7f17bdff6a0cac6abaa4c976", + "difficulty": "NORMAL", + "songID": 1978, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 28068, + "notecount": 311, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2a43af758ae785ab110f9babacf7be11110f3eb6", + "difficulty": "ANOTHER", + "songID": 1979, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28070, + "notecount": 1241, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "abcb14b206d1c0e24f120b2580bea5bd537b24d3", + "difficulty": "HYPER", + "songID": 1979, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28070, + "notecount": 754, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "af6f19e269da132fb370c008dda172b0796d0bdc", + "difficulty": "NORMAL", + "songID": 1979, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28070, + "notecount": 434, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2c9337bfe522bf8895c9d1f1963eed0595cf613f", + "difficulty": "ANOTHER", + "songID": 1979, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28070, + "notecount": 1244, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5573a33418e5a99a41d191f2d2d2e297aacd24fe", + "difficulty": "HYPER", + "songID": 1979, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28070, + "notecount": 736, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9f086c10f56b87db70533bb351d6c08a1dea6533", + "difficulty": "NORMAL", + "songID": 1979, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28070, + "notecount": 432, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e2cc08bb1e857e1681a090f7b7db3406416b6de", + "difficulty": "ANOTHER", + "songID": 1980, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28072, + "notecount": 1032, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3254a3c0592a4b4e6102b5a8bb4247bf4749bc6c", + "difficulty": "HYPER", + "songID": 1980, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28072, + "notecount": 659, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "22a6171428d380c7e8561c6dbd46ca96a794e5c6", + "difficulty": "NORMAL", + "songID": 1980, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28072, + "notecount": 458, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "99f00c708d798dfa72fd401097bcf126d0e4acc8", + "difficulty": "ANOTHER", + "songID": 1980, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28072, + "notecount": 1033, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b59a7f717ba08c5bbde02b3caf599d128e4649af", + "difficulty": "HYPER", + "songID": 1980, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28072, + "notecount": 666, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b466edb32f0e084497f1bf23fd82d09552dae57", + "difficulty": "NORMAL", + "songID": 1980, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28072, + "notecount": 452, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "38d10d29cf544c8db0610e7b7896608ba6feb1dd", + "difficulty": "ANOTHER", + "songID": 1981, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28074, + "notecount": 1200, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4f1103525ea1c1b2310b404bae4812db99a69b3c", + "difficulty": "HYPER", + "songID": 1981, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28074, + "notecount": 707, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "44fc9191a82752ed52e288b4159bbf65ca8d55c6", + "difficulty": "NORMAL", + "songID": 1981, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28074, + "notecount": 404, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cf25c730af8416892ce0747f9f9ed4134a91f34d", + "difficulty": "ANOTHER", + "songID": 1981, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28074, + "notecount": 1186, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5a2ddf992d135a647e77ceefcdf8fd50b8f1b503", + "difficulty": "BEGINNER", + "songID": 1981, + "playtype": "SP", + "levelNum": 3, + "level": "3", + "data": { + "inGameID": 28074, + "notecount": 264, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "19bbffd1c7894a073671e166cb54a2d0809886f1", + "difficulty": "HYPER", + "songID": 1981, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28074, + "notecount": 700, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c33c04551908684758c5ee6cfedb6ba1deee7919", + "difficulty": "NORMAL", + "songID": 1981, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28074, + "notecount": 397, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a6e73a08b6dae490113d208cdfb3a2a271c0f56c", + "difficulty": "ANOTHER", + "songID": 1982, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28075, + "notecount": 1108, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9ee714dd97734e7aff9960862ab19010617e9f6f", + "difficulty": "HYPER", + "songID": 1982, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28075, + "notecount": 816, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2aa242545b7dbae6dd32c691ca0e8d0e8f557ee0", + "difficulty": "NORMAL", + "songID": 1982, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28075, + "notecount": 409, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e9ee72b3d618584423f4498187eae4d6a742bcf", + "difficulty": "ANOTHER", + "songID": 1982, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28075, + "notecount": 1141, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7d4518eb1728f4d33a6d4a8b06ed666c11dfdfb7", + "difficulty": "BEGINNER", + "songID": 1982, + "playtype": "SP", + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 28075, + "notecount": 225, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "daf4d7d90e8f3e4d008eebb52d5fa9884a7779fa", + "difficulty": "HYPER", + "songID": 1982, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28075, + "notecount": 784, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "87e70ab8e49a6e0c44505738abdaa317d0966238", + "difficulty": "NORMAL", + "songID": 1982, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28075, + "notecount": 397, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "51ac3c68b6e29ffce7842739b754bb7451e3de21", + "difficulty": "ANOTHER", + "songID": 1983, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28077, + "notecount": 1191, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e12bcb831f06ff781f3442fbafdeee56980bb5bd", + "difficulty": "HYPER", + "songID": 1983, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28077, + "notecount": 724, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d29f3092f3532437611112b75e1788f4c6059a51", + "difficulty": "NORMAL", + "songID": 1983, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28077, + "notecount": 420, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "93510c1def8cc8c625cb4ae190ee2464038486d8", + "difficulty": "ANOTHER", + "songID": 1983, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28077, + "notecount": 1148, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ddcb65feaae32583f77267deb746cabbcc8e36c8", + "difficulty": "HYPER", + "songID": 1983, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28077, + "notecount": 730, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f3c0b531488bb15076e26404ed39b9125fb1d60", + "difficulty": "NORMAL", + "songID": 1983, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28077, + "notecount": 421, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8e0369aa42d2b201cdd0c97597b885a3154acf7c", + "difficulty": "ANOTHER", + "songID": 1984, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28078, + "notecount": 1534, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "81167c80fe0f884faf44c602a0d162440be7a7a8", + "difficulty": "HYPER", + "songID": 1984, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28078, + "notecount": 806, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "20356673039fce7552f68eb24c40b44f1489f94d", + "difficulty": "NORMAL", + "songID": 1984, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28078, + "notecount": 506, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5800f4eb7608e621d44ab8b9660a754b49811fef", + "difficulty": "ANOTHER", + "songID": 1984, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28078, + "notecount": 1513, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12B", + "value": 12.6, + "individualDifference": false + }, + "kt-HC": { + "text": "12B+", + "value": 12.8, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "41ae81d0566b9f193357d49965eced7933eda54a", + "difficulty": "HYPER", + "songID": 1984, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28078, + "notecount": 808, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a2886b125207d9ee76aab3300ccfd0617150a338", + "difficulty": "NORMAL", + "songID": 1984, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28078, + "notecount": 506, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "13aae5b3a4fa4364770edb8304fdfb71074c2a63", + "difficulty": "ANOTHER", + "songID": 1985, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28079, + "notecount": 1304, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2260ba85bdd617d2ca44d3eeb5b994d537a1e575", + "difficulty": "HYPER", + "songID": 1985, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28079, + "notecount": 780, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d77269976799d06f896fb92f31344c9efe0cd5dd", + "difficulty": "NORMAL", + "songID": 1985, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28079, + "notecount": 446, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b5a141a324ed21d7af0c9aad1724d9c1db1c7290", + "difficulty": "ANOTHER", + "songID": 1985, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28079, + "notecount": 1317, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6839c05abff0b1340b0edd119a8ad9b45a2409cb", + "difficulty": "HYPER", + "songID": 1985, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28079, + "notecount": 761, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5805d2a1c4013ca7817e593113f691cb74bbccc6", + "difficulty": "NORMAL", + "songID": 1985, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28079, + "notecount": 435, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "27324ec6ddc0bc3da927272423073e7ab275d3c3", + "difficulty": "ANOTHER", + "songID": 1986, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28080, + "notecount": 1429, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5baa50c93823e6ad96d1f4d070461e0588d86569", + "difficulty": "HYPER", + "songID": 1986, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28080, + "notecount": 858, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "90f629ad1fa3779e0f4a14b582af14ceae7b4070", + "difficulty": "NORMAL", + "songID": 1986, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28080, + "notecount": 531, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9468541212215fad2b269ab0c390a07c55142d52", + "difficulty": "ANOTHER", + "songID": 1986, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28080, + "notecount": 1447, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b97ac14b6131cd1402e1c8856a8f554b5f6d68ba", + "difficulty": "HYPER", + "songID": 1986, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28080, + "notecount": 848, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2bc43d0b2a28b422e9be22f80e35f6a705dc2017", + "difficulty": "NORMAL", + "songID": 1986, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28080, + "notecount": 506, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a276cb295ae982ff42bb534b7252fa1c3802a642", + "difficulty": "ANOTHER", + "songID": 1987, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28083, + "notecount": 965, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "aa0b40613a608c64baffd7b835a84184006bf3da", + "difficulty": "HYPER", + "songID": 1987, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28083, + "notecount": 634, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c62483b26a2e964eec7249443662c7b07d2668c", + "difficulty": "NORMAL", + "songID": 1987, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28083, + "notecount": 365, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "383fb6a7f0fd64deaece0f729ab852b54e2ddf94", + "difficulty": "ANOTHER", + "songID": 1987, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28083, + "notecount": 973, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "05da6d691954a09f5fddbcf3cf0531c9b2e29eea", + "difficulty": "HYPER", + "songID": 1987, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28083, + "notecount": 629, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6fe00842de496390363875038f5856a06bc3a39d", + "difficulty": "NORMAL", + "songID": 1987, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28083, + "notecount": 364, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2ee6a3ffb828a50f87f3f393dcec0229ee88626f", + "difficulty": "ANOTHER", + "songID": 1988, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28087, + "notecount": 1688, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d444c77a532fca644b8086462bb63bcac68b8c25", + "difficulty": "HYPER", + "songID": 1988, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28087, + "notecount": 1167, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d113415d410e4fc0352615de7914a072ea4b541b", + "difficulty": "NORMAL", + "songID": 1988, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28087, + "notecount": 667, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f37eda330afa9e15229611ac9e69d43dc913d833", + "difficulty": "ANOTHER", + "songID": 1988, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28087, + "notecount": 1670, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12C", + "value": 12.4, + "individualDifference": false + }, + "kt-HC": { + "text": "12C", + "value": 12.5, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "5cea2cb7fe94c21f702ea5af7a30c782d69ec573", + "difficulty": "HYPER", + "songID": 1988, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28087, + "notecount": 1177, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "62af9ac161d5bf6fed15d9ad88d6851928cecc5d", + "difficulty": "NORMAL", + "songID": 1988, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28087, + "notecount": 670, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "91560a23106fac85adccb4474af4b244f80fb563", + "difficulty": "ANOTHER", + "songID": 1989, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28088, + "notecount": 1313, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "576b7c3bcf5e45865f6ebdc1e0f9ded123d9bd78", + "difficulty": "HYPER", + "songID": 1989, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28088, + "notecount": 819, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "83fe750b874ae1b7d947d8ec59bed4aa5dad46e0", + "difficulty": "NORMAL", + "songID": 1989, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28088, + "notecount": 475, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c0aa145c9e60c7eb2d5f22ac1e785d4ce0f1c33c", + "difficulty": "ANOTHER", + "songID": 1989, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28088, + "notecount": 1336, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c346557f7428f9b2b24c97a9538cfbcdbd52d068", + "difficulty": "HYPER", + "songID": 1989, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28088, + "notecount": 792, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "67d968971225bb01b136376b4bc94ce974350bf9", + "difficulty": "NORMAL", + "songID": 1989, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28088, + "notecount": 476, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee144e0cad33662f8a9f28341c33b02b1c58bb1e", + "difficulty": "ANOTHER", + "songID": 1990, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28089, + "notecount": 1180, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "553d45c961ae79bc7405754da3df9ea2d763841e", + "difficulty": "HYPER", + "songID": 1990, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28089, + "notecount": 793, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "61fe526a1a77cd8ef0693efc05a69ed2056b9b2a", + "difficulty": "NORMAL", + "songID": 1990, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28089, + "notecount": 436, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "5cab9d96552428a1e67dc9fa6d39f92d7c0edb46", + "difficulty": "ANOTHER", + "songID": 1990, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28089, + "notecount": 1193, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fd5de649666b86fa8849683a12f8b3add4f247f9", + "difficulty": "HYPER", + "songID": 1990, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28089, + "notecount": 807, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1d3a8d37f3a28c2907c2bb58c04c3aa9780af287", + "difficulty": "NORMAL", + "songID": 1990, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28089, + "notecount": 442, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d92e87de94981d34f1f04d601acc1eb2b19d57ab", + "difficulty": "ANOTHER", + "songID": 1991, + "playtype": "DP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28091, + "notecount": 1918, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "15e10397ee2539384cb798682dc8db38b862a0a5", + "difficulty": "HYPER", + "songID": 1991, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28091, + "notecount": 995, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "2581c37340fc493dbcc83698a7a66f238e881812", + "difficulty": "NORMAL", + "songID": 1991, + "playtype": "DP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28091, + "notecount": 610, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ae630254acfc4e8a938dc390eb1e0bf571ec9090", + "difficulty": "ANOTHER", + "songID": 1991, + "playtype": "SP", + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 28091, + "notecount": 1983, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": { + "kt-NC": { + "text": "12A", + "value": 12.8, + "individualDifference": false + }, + "kt-HC": { + "text": "12A", + "value": 12.9, + "individualDifference": false + } + } + }, + { + "rgcID": null, + "chartID": "da5a8d22f98c8d00ccb013ede1ea90aa46d5bdab", + "difficulty": "HYPER", + "songID": 1991, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28091, + "notecount": 973, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b1b650f3d1d800cf3963fe7a9bb827f43aa831a8", + "difficulty": "NORMAL", + "songID": 1991, + "playtype": "SP", + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 28091, + "notecount": 602, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fbdb6c464f922ece27f18b9a7b0986faeaadbf58", + "difficulty": "ANOTHER", + "songID": 1992, + "playtype": "DP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28092, + "notecount": 1292, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e06d12733bc5801341121e1d9776b5fe0ee1340f", + "difficulty": "HYPER", + "songID": 1992, + "playtype": "DP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28092, + "notecount": 941, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ac380ac6c454d2cb613c3729392eb94be2671ccc", + "difficulty": "NORMAL", + "songID": 1992, + "playtype": "DP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28092, + "notecount": 520, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4ac9d1fc86dcfb3676d1548561d1b289963e8582", + "difficulty": "ANOTHER", + "songID": 1992, + "playtype": "SP", + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 28092, + "notecount": 1264, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "a16689718def429cd10922494b4040b97cebb712", + "difficulty": "HYPER", + "songID": 1992, + "playtype": "SP", + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 28092, + "notecount": 896, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "67df970b87a7cf22c6744f4932fc12fa57e3aa3f", + "difficulty": "NORMAL", + "songID": 1992, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28092, + "notecount": 485, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b2d3c383259d7c2c4d6f6ed0c51563374b8d2e5c", + "difficulty": "ANOTHER", + "songID": 1993, + "playtype": "DP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28094, + "notecount": 1403, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "deeb1a142e9bde533c9953ef5d023ab287b3ce63", + "difficulty": "HYPER", + "songID": 1993, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28094, + "notecount": 952, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "637344874be5e32d8f0a9658eea6a380e1ead52d", + "difficulty": "NORMAL", + "songID": 1993, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28094, + "notecount": 514, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dfad642d960dab9ce82f96ea66d3144f897da62f", + "difficulty": "ANOTHER", + "songID": 1993, + "playtype": "SP", + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 28094, + "notecount": 1483, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e93122df7f499fe9377b7be01ef05bb675a62f1e", + "difficulty": "HYPER", + "songID": 1993, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28094, + "notecount": 932, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6a7a56b639f351190dc34722090d6b340cc48d18", + "difficulty": "NORMAL", + "songID": 1993, + "playtype": "SP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28094, + "notecount": 520, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "d1365440a5320a2662afba641bab79d7de4dc187", + "difficulty": "ANOTHER", + "songID": 1994, + "playtype": "DP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28098, + "notecount": 1024, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "406da2a0cc1cd2644e23c4435be2b2f4a5cc2a81", + "difficulty": "HYPER", + "songID": 1994, + "playtype": "DP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28098, + "notecount": 717, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7ff62cadb5319fda6b4592dfad39597cf90bff99", + "difficulty": "NORMAL", + "songID": 1994, + "playtype": "DP", + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 28098, + "notecount": 495, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "adc236f0126b85a4bb6458091e7aee6c2e4c8565", + "difficulty": "ANOTHER", + "songID": 1994, + "playtype": "SP", + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 28098, + "notecount": 996, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c180bfb8ddc33d1d781750cf7cf61f301bc4ac64", + "difficulty": "HYPER", + "songID": 1994, + "playtype": "SP", + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 28098, + "notecount": 712, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7c7f9f0cab5399083fb64a2bf4b41e3df01e8574", + "difficulty": "NORMAL", + "songID": 1994, + "playtype": "SP", + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 28098, + "notecount": 393, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "28" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1f115392ed6037c03b7523a5862bac276e8b46cf", + "difficulty": "ANOTHER", + "playtype": "DP", + "songID": 1995, + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 80004, + "notecount": 1186, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "876ac265aa02181737b053fa66da5fd4bd19728b", + "difficulty": "HYPER", + "playtype": "DP", + "songID": 1995, + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 80004, + "notecount": 897, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f0bda862790752e304ef1bf0415ef532ce7b59bd", + "difficulty": "NORMAL", + "playtype": "DP", + "songID": 1995, + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 80004, + "notecount": 421, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea727c787febe996e7ac45e088e61f049e521096", + "difficulty": "ANOTHER", + "playtype": "SP", + "songID": 1995, + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 80004, + "notecount": 1246, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f8483bb0a6f17de840fa8d91ba00dc472acde73d", + "difficulty": "HYPER", + "playtype": "SP", + "songID": 1995, + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 80004, + "notecount": 827, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "dccadc4153ccc8b45bba16a91c5a981d860b06bb", + "difficulty": "NORMAL", + "playtype": "SP", + "songID": 1995, + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 80004, + "notecount": 424, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8eec3df1fd96b6c0677ef54d3bb011854266b99d", + "difficulty": "ANOTHER", + "playtype": "DP", + "songID": 1996, + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 80005, + "notecount": 1314, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "b194e22af02aa436f1d522c9bada73ae4738df3b", + "difficulty": "HYPER", + "playtype": "DP", + "songID": 1996, + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 80005, + "notecount": 850, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e8dbe5295b7d10f7d11ecdce8619a826c8330647", + "difficulty": "NORMAL", + "playtype": "DP", + "songID": 1996, + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 80005, + "notecount": 512, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "90a83c493e96018564daa2c685093f66c5f333e9", + "difficulty": "ANOTHER", + "playtype": "SP", + "songID": 1996, + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 80005, + "notecount": 1266, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e57470e68590d352bffdbc33e24301daead03e4c", + "difficulty": "HYPER", + "playtype": "SP", + "songID": 1996, + "levelNum": 8, + "level": "8", + "data": { + "inGameID": 80005, + "notecount": 862, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "330ec79e2a988c07ef287b92dd16c7f0b23ff47c", + "difficulty": "NORMAL", + "playtype": "SP", + "songID": 1996, + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 80005, + "notecount": 518, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "78f3fcd2765233c1d588ea588d1416a45065b272", + "difficulty": "ANOTHER", + "playtype": "DP", + "songID": 1997, + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 80006, + "notecount": 1439, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9b6eac3a3f152a43e3ef297130677daa42d895fd", + "difficulty": "HYPER", + "playtype": "DP", + "songID": 1997, + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 80006, + "notecount": 956, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6264bb33e8ab53e226cd514696789dd330ab13fc", + "difficulty": "NORMAL", + "playtype": "DP", + "songID": 1997, + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 80006, + "notecount": 530, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "03efef860d7aa122dd601853d99b73622b560aa6", + "difficulty": "ANOTHER", + "playtype": "SP", + "songID": 1997, + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 80006, + "notecount": 1544, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "1e112b872267c0b66fb64671ef2c8aedff8bcf7e", + "difficulty": "HYPER", + "playtype": "SP", + "songID": 1997, + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 80006, + "notecount": 940, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "bbe64b3d1158db2f1255eb342bafe165ba2871e5", + "difficulty": "NORMAL", + "playtype": "SP", + "songID": 1997, + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 80006, + "notecount": 511, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "55c1847a7407b334088209b123c465d5478f7cf1", + "difficulty": "ANOTHER", + "playtype": "DP", + "songID": 1998, + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 80007, + "notecount": 1282, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "3897722cc1136827569b3c8f4b34fd0bc6cb2856", + "difficulty": "HYPER", + "playtype": "DP", + "songID": 1998, + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 80007, + "notecount": 904, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "74e55176b0f1fd8f9f4098340baeaaeb4d5575ee", + "difficulty": "NORMAL", + "playtype": "DP", + "songID": 1998, + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 80007, + "notecount": 550, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "f7ad1227c883adad69ffe746c9dd84f390f1d167", + "difficulty": "ANOTHER", + "playtype": "SP", + "songID": 1998, + "levelNum": 12, + "level": "12", + "data": { + "inGameID": 80007, + "notecount": 1319, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "fc047b43a99241e2e68fbf6354c819a0bafde3da", + "difficulty": "HYPER", + "playtype": "SP", + "songID": 1998, + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 80007, + "notecount": 936, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "983940fd877866b09176cea490033fdc8a4a3e73", + "difficulty": "NORMAL", + "playtype": "SP", + "songID": 1998, + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 80007, + "notecount": 531, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "7de31a507da9e45c92b0b3ae17d328a00b53edae", + "difficulty": "ANOTHER", + "playtype": "DP", + "songID": 1999, + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 80008, + "notecount": 1328, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "4c7686e92a8f8c8aa82e457eb7fef7fd7983d0f3", + "difficulty": "HYPER", + "playtype": "DP", + "songID": 1999, + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 80008, + "notecount": 1019, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "c82e4d6658987b064acc83c0c063e568b2d48c84", + "difficulty": "NORMAL", + "playtype": "DP", + "songID": 1999, + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 80008, + "notecount": 495, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "34d9a9e5456768634ab350ae30822a0490045c60", + "difficulty": "ANOTHER", + "playtype": "SP", + "songID": 1999, + "levelNum": 11, + "level": "11", + "data": { + "inGameID": 80008, + "notecount": 1361, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "15a44de616a7f7cb2d0227b39373fe7943c43380", + "difficulty": "HYPER", + "playtype": "SP", + "songID": 1999, + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 80008, + "notecount": 1039, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "cce9a24425705da0c706dfb73df07b9b572acf68", + "difficulty": "NORMAL", + "playtype": "SP", + "songID": 1999, + "levelNum": 5, + "level": "5", + "data": { + "inGameID": 80008, + "notecount": 514, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9d96ec36c37f7f723d3851618e7daef6d58a5176", + "difficulty": "ANOTHER", + "playtype": "DP", + "songID": 2000, + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 80009, + "notecount": 1007, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "e42f30c04bcdd07ccf46470c8ce321814c69f62f", + "difficulty": "HYPER", + "playtype": "DP", + "songID": 2000, + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 80009, + "notecount": 641, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ee22f91a9be8826ef3b371ef9c3ab518d34753b0", + "difficulty": "NORMAL", + "playtype": "DP", + "songID": 2000, + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 80009, + "notecount": 379, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "92efb4e0d1b036e385cb5a73a0ace0e12baaa0cc", + "difficulty": "ANOTHER", + "playtype": "SP", + "songID": 2000, + "levelNum": 10, + "level": "10", + "data": { + "inGameID": 80009, + "notecount": 1013, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "02218c7580fffe984d5db15e3ac9703c7c5ff42c", + "difficulty": "HYPER", + "playtype": "SP", + "songID": 2000, + "levelNum": 7, + "level": "7", + "data": { + "inGameID": 80009, + "notecount": 629, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ef2359505d0be7492dacc4b416d7528f669b4228", + "difficulty": "NORMAL", + "playtype": "SP", + "songID": 2000, + "levelNum": 4, + "level": "4", + "data": { + "inGameID": 80009, + "notecount": 376, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "49b64bc7afa3d317fa793657cdd4a70f2d3f47f1", + "difficulty": "ANOTHER", + "playtype": "DP", + "songID": 2001, + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 80010, + "notecount": 853, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ea67018cbafcb7d4db91bada2696a3501974c582", + "difficulty": "HYPER", + "playtype": "DP", + "songID": 2001, + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 80010, + "notecount": 449, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "9fd43b99a8c62e0c8cf0faac33913cd2715dae32", + "difficulty": "NORMAL", + "playtype": "DP", + "songID": 2001, + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 80010, + "notecount": 167, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "ffee76eae815574df16e999a40f82e3a8d28d055", + "difficulty": "ANOTHER", + "playtype": "SP", + "songID": 2001, + "levelNum": 9, + "level": "9", + "data": { + "inGameID": 80010, + "notecount": 848, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "6c352f1f407e395190d97c5c66ada17ba6f77d31", + "difficulty": "HYPER", + "playtype": "SP", + "songID": 2001, + "levelNum": 6, + "level": "6", + "data": { + "inGameID": 80010, + "notecount": 454, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "rgcID": null, + "chartID": "8b72e5990caaa5299bb2a9436cdf14121fe538d7", + "difficulty": "NORMAL", + "playtype": "SP", + "songID": 2001, + "levelNum": 2, + "level": "2", + "data": { + "inGameID": 80010, + "notecount": 167, + "arcChartID": null, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + }, + "isPrimary": true, + "versions": [ + "inf" + ], + "tierlistInfo": {} + }, + { + "chartID": "d50e13163334f7f2deafd9a7fc4f1fa13060af66", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2002, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28004, + "arcChartID": null, + "notecount": 1658, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "45f44c5141c4f77372bd36076d6c2acc9b7e2fc6", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2002, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28004, + "arcChartID": null, + "notecount": 1136, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "ecf39e1fbbea33d062a2bc3829fe08246cef17c7", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2002, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28004, + "arcChartID": null, + "notecount": 574, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "8d26d8104def0f1c15f8482c3f6ad8e7a997897b", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2002, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28004, + "arcChartID": null, + "notecount": 1682, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "e928846c2793f9810e2ab06c5d1e766760857c99", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2002, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28004, + "arcChartID": null, + "notecount": 1136, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "99a9e4af5f798f57020b7318dcb624e1d560e3af", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2002, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28004, + "arcChartID": null, + "notecount": 571, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "bb3972c8347f12f202b8a5e999aaccc08eb0d3de", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2003, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28007, + "arcChartID": null, + "notecount": 1936, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "aeb167ebba0722fe584843fb4ddf7cdbe6efe61c", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2003, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28007, + "arcChartID": null, + "notecount": 1286, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "41d51eb85fb4940fc2666388643e8f65b5025faa", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2003, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28007, + "arcChartID": null, + "notecount": 563, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "d027d12def9df2bc2a820c6ff72f21ccbf117a34", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2003, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28007, + "arcChartID": null, + "notecount": 1920, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "9cd2c6fe9dc85107b739d6548e70757bb656878b", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2003, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28007, + "arcChartID": null, + "notecount": 1297, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "42ea9c23caeb589e7185fa9eb3afec3220fd351a", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2003, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28007, + "arcChartID": null, + "notecount": 561, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "0863cf915bca5b32d7c42a63bb19192504c31e27", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2004, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28008, + "arcChartID": null, + "notecount": 2089, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "8123d5d7a022951b7b55430f90550748041e09ab", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2004, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28008, + "arcChartID": null, + "notecount": 1258, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "ba8a7a621524f3094b91482139b266efd92183bc", + "difficulty": "NORMAL", + "level": "7", + "levelNum": 7, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2004, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28008, + "arcChartID": null, + "notecount": 724, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "960e7d9c594c713d78a122d358588ad86abbc280", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2004, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28008, + "arcChartID": null, + "notecount": 2073, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "8688fc5129e54917643b08d51d154a3e0f3d29c9", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2004, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28008, + "arcChartID": null, + "notecount": 1229, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "9513f4647fa60ef68e18648377e7572e7894dbee", + "difficulty": "NORMAL", + "level": "7", + "levelNum": 7, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2004, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28008, + "arcChartID": null, + "notecount": 701, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "5da2e026224e7169ccd9b271daab6bfd3065ac02", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2005, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28011, + "arcChartID": null, + "notecount": 1827, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "168709b7309a60026f6747e6c83313fb3c102950", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2005, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28011, + "arcChartID": null, + "notecount": 1102, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "e9a2842c08db42dc56774df7439fa5cd57132105", + "difficulty": "NORMAL", + "level": "7", + "levelNum": 7, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2005, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28011, + "arcChartID": null, + "notecount": 716, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "8f2d424a5e5b6a7fe2984c7b5a07bdce79789760", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2005, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28011, + "arcChartID": null, + "notecount": 1912, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "d85645f23ae2ff6b107d6592a8df53a29af0efbc", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2005, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28011, + "arcChartID": null, + "notecount": 1157, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "b4ed371f6b7c1c03f82c844df3cdba61c4224b45", + "difficulty": "NORMAL", + "level": "7", + "levelNum": 7, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2005, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28011, + "arcChartID": null, + "notecount": 714, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "8eaf021352bd673b35e74d15111242467ad3c311", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2006, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28015, + "arcChartID": null, + "notecount": 1531, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "68d2e0f6d4e3f268f6bbf17f0bb4fe269b2fc140", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2006, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28015, + "arcChartID": null, + "notecount": 972, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "6304235b239bbee45f54190663b8fbec4a7505fe", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2006, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28015, + "arcChartID": null, + "notecount": 557, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "eb9bcf53b26661c43f8e017a46b902eba9dcd668", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2006, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28015, + "arcChartID": null, + "notecount": 1515, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "8dd8badb631823cfa5fb62b0433996fd796affdb", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2006, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28015, + "arcChartID": null, + "notecount": 943, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "b46ec41a10da5fb375b5e0dd00fc65dfe3bc3be9", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2006, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28015, + "arcChartID": null, + "notecount": 538, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "e15cdc8de873e2ec8e3e46d385c88bcae8317a7e", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2007, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28017, + "arcChartID": null, + "notecount": 1430, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "964b92f6cb4c45e0f4ce00a8a23c2a25d32e176a", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2007, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28017, + "arcChartID": null, + "notecount": 948, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "380720feeb871ac6cff6c9364de02184d45b2c67", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2007, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28017, + "arcChartID": null, + "notecount": 529, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "2e99e04a10175cc64b8c9c674227dcbe6b3892e7", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2007, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28017, + "arcChartID": null, + "notecount": 1467, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "ebcbeb57d140fd449b4abf92d47c155ceddc77f7", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2007, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28017, + "arcChartID": null, + "notecount": 940, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "777fe4629cca77c48697e8b8cfcdc1cf9d44725f", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2007, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28017, + "arcChartID": null, + "notecount": 523, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "cedb34f493d416a7373ce79959b51a37fbe18611", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2008, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28019, + "arcChartID": null, + "notecount": 1471, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "889207869786fe9ab5a03c04d31aa4686f1b7090", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2008, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28019, + "arcChartID": null, + "notecount": 1122, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "d10d416bc0d2bb74b9eb354fe46fc2713b6bca4e", + "difficulty": "NORMAL", + "level": "7", + "levelNum": 7, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2008, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28019, + "arcChartID": null, + "notecount": 691, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "4e6c0bcba327c59d8744f1c30215221daedcf54c", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2008, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28019, + "arcChartID": null, + "notecount": 1509, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "1e6eb98c0e9d7d23b2264cdd7e05e69a214e95d1", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2008, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28019, + "arcChartID": null, + "notecount": 1130, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "cfd7147237f3ea8d3e1a31a2db6bd4a926bbd5ef", + "difficulty": "NORMAL", + "level": "7", + "levelNum": 7, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2008, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28019, + "arcChartID": null, + "notecount": 667, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "3b6ef5cbafbb37913e810cdfcfab23de20f7c157", + "difficulty": "ANOTHER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2009, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28023, + "arcChartID": null, + "notecount": 1089, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "98d2c124bcb3a386139840ccc10e8788e17912f2", + "difficulty": "HYPER", + "level": "7", + "levelNum": 7, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2009, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28023, + "arcChartID": null, + "notecount": 678, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "e002db923cb9dc14a372ae1a7892f359b759921e", + "difficulty": "NORMAL", + "level": "4", + "levelNum": 4, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2009, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28023, + "arcChartID": null, + "notecount": 386, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "295fd5dba6bdaa18c01139a40f2f4f12f623c79f", + "difficulty": "ANOTHER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2009, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28023, + "arcChartID": null, + "notecount": 1118, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "e24a499d0a46c2d5021260a0c858fcd62525f544", + "difficulty": "BEGINNER", + "level": "1", + "levelNum": 1, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2009, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28023, + "arcChartID": null, + "notecount": 138, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "e3e1eb1e2a8ee5dcd06a0692f224958059cb9bef", + "difficulty": "HYPER", + "level": "7", + "levelNum": 7, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2009, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28023, + "arcChartID": null, + "notecount": 696, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "6ce2a47dc8f0f4c1b5a9c03086bdb5564a99a826", + "difficulty": "NORMAL", + "level": "4", + "levelNum": 4, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2009, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28023, + "arcChartID": null, + "notecount": 385, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "a14bdfb2395680f96abbae66bc0a05b8bc614da3", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2010, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28024, + "arcChartID": null, + "notecount": 1814, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "7b23018923cbeb34626eb0526274bd01e71dfefd", + "difficulty": "HYPER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2010, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28024, + "arcChartID": null, + "notecount": 1229, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "eae33cbeb8b356a2a0ea6302ed10ce793c6d3758", + "difficulty": "NORMAL", + "level": "7", + "levelNum": 7, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2010, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28024, + "arcChartID": null, + "notecount": 651, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "378eb829d82b0ff9c4548252544bc3dc3db997f0", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2010, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28024, + "arcChartID": null, + "notecount": 1803, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "8d03f03b7ff5fc39842feef2bec84a6613970adf", + "difficulty": "HYPER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2010, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28024, + "arcChartID": null, + "notecount": 1101, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "3c3a67edc5014798e5a0e55217cb500da1e1eccd", + "difficulty": "NORMAL", + "level": "7", + "levelNum": 7, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2010, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28024, + "arcChartID": null, + "notecount": 651, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "7ee3476971fe51634517db8cde10a850933e68a8", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2011, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28027, + "arcChartID": null, + "notecount": 1740, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "8b5cab17ec7f25b08ab053fd1eaef57b2fd1f3ec", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2011, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28027, + "arcChartID": null, + "notecount": 1062, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "f55ab23edf3858045df95f7eb31f53ec50410ff9", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2011, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28027, + "arcChartID": null, + "notecount": 550, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "5588a6ea689ffb4f7fdd20aef41565ffdf802275", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2011, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28027, + "arcChartID": null, + "notecount": 1884, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "9660e74dfaabd0ea2997a7984eae72965904aefd", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2011, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28027, + "arcChartID": null, + "notecount": 1035, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "26c09061df6b4f47574a3f05814691a676cd6480", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2011, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28027, + "arcChartID": null, + "notecount": 545, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "4eb2dfaedde52578692baf503f2ca061a54ab2b6", + "difficulty": "ANOTHER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2012, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28033, + "arcChartID": null, + "notecount": 1230, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "ac7bc761134d793735de9ec9796fe9430f446c5f", + "difficulty": "HYPER", + "level": "8", + "levelNum": 8, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2012, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28033, + "arcChartID": null, + "notecount": 811, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "475f66ede911f26f6406ad6b8571c332172a9d5f", + "difficulty": "NORMAL", + "level": "4", + "levelNum": 4, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2012, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28033, + "arcChartID": null, + "notecount": 428, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "d3e0b2a21e9305b82de427311634b25862e0dd23", + "difficulty": "ANOTHER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2012, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28033, + "arcChartID": null, + "notecount": 1228, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "265d20e3e3eb9b8ea86a19b903d36f0c1555b720", + "difficulty": "HYPER", + "level": "8", + "levelNum": 8, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2012, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28033, + "arcChartID": null, + "notecount": 801, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "ee32b624e08d20efc4c9a59b9b182a30c0a7cc3a", + "difficulty": "NORMAL", + "level": "4", + "levelNum": 4, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2012, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28033, + "arcChartID": null, + "notecount": 407, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "67a48f0a22273f5146e0ecf64e72c3fd36887e85", + "difficulty": "ANOTHER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2013, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28040, + "arcChartID": null, + "notecount": 1063, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "ce91885d908214d0a153fb4fa616cac9ed1ee9d9", + "difficulty": "HYPER", + "level": "8", + "levelNum": 8, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2013, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28040, + "arcChartID": null, + "notecount": 750, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "2b93a00d6fabcf2e5af966d757a61c7eb5ede37b", + "difficulty": "NORMAL", + "level": "4", + "levelNum": 4, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2013, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28040, + "arcChartID": null, + "notecount": 437, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "c236785ec45664e281c76845140f1039cefdd144", + "difficulty": "ANOTHER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2013, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28040, + "arcChartID": null, + "notecount": 1246, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "a8ce97687b5cf54562c909c571409548b74c8911", + "difficulty": "HYPER", + "level": "8", + "levelNum": 8, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2013, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28040, + "arcChartID": null, + "notecount": 753, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "16bd5de534f8a21e4557e7848a3b8fd7d9ee076c", + "difficulty": "NORMAL", + "level": "4", + "levelNum": 4, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2013, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28040, + "arcChartID": null, + "notecount": 430, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "f74f50bf404c5c5be550cb34a89b0b4502bf10be", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2014, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28045, + "arcChartID": null, + "notecount": 1406, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "ca1e8e053036eac6fb495b80da8bfa508c8463a0", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2014, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28045, + "arcChartID": null, + "notecount": 838, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "5dc781d47fc5f20b332906ee31577df6efdf1dc3", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2014, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28045, + "arcChartID": null, + "notecount": 485, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "79923fe278e1daa4362b74d058582723980a899f", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2014, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28045, + "arcChartID": null, + "notecount": 1378, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "0208f37d40b2059944b94c0881c0b58586510b16", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2014, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28045, + "arcChartID": null, + "notecount": 839, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "a32901fe99fcefcdcbb0421c704c63240ceb8536", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2014, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28045, + "arcChartID": null, + "notecount": 486, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "8c2ca9a905d25942dbb1441796326177582bf48e", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2015, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28048, + "arcChartID": null, + "notecount": 1558, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "3104bb65232dbc499c04e12f0af7e9d1270443f5", + "difficulty": "HYPER", + "level": "8", + "levelNum": 8, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2015, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28048, + "arcChartID": null, + "notecount": 883, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "3dae7a5fcda04a3216af21d96f1bd7d4f4243acb", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2015, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28048, + "arcChartID": null, + "notecount": 520, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "a5ce0922d12e25371442c2b203d177d7b3c404a0", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2015, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28048, + "arcChartID": null, + "notecount": 1519, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "ff4ad232b4f992fdddd973abb467288d6106b3d9", + "difficulty": "HYPER", + "level": "8", + "levelNum": 8, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2015, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28048, + "arcChartID": null, + "notecount": 888, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "b613af336bd6871f97198da66bb7936938a1b372", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2015, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28048, + "arcChartID": null, + "notecount": 504, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "fc7535a908f9917cb83bfcfafc29d07c619bfa27", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2016, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28049, + "arcChartID": null, + "notecount": 1427, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "a3545a7f75ad6462a2c6f4e09d7e85db534f0484", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2016, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28049, + "arcChartID": null, + "notecount": 932, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "de2323e0bc7a78cda436a827044da050d3714195", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2016, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28049, + "arcChartID": null, + "notecount": 580, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "74ffd9c7776fd3357ed1f629daf25950d5cb05f8", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2016, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28049, + "arcChartID": null, + "notecount": 1422, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "e1d363d3930e3bb485d63df039395061ed1b9805", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2016, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28049, + "arcChartID": null, + "notecount": 945, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "5f25829cf5eb23c6bebb827a923d9cb5b24632ee", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2016, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28049, + "arcChartID": null, + "notecount": 599, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "7c74a1af1f9802cc9a09ca6163fb68068f77f5c4", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2017, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28053, + "arcChartID": null, + "notecount": 1964, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "2cb146d4d5c1d33bd27cf9d4bfa3ee6d8e4300a1", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2017, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28053, + "arcChartID": null, + "notecount": 1232, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "ac0fe6238353e73f06e6c0c92ec592d8e3e66155", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2017, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28053, + "arcChartID": null, + "notecount": 574, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "5862a5297b54adc28ea3b4498d8ec018881fd80c", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2017, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28053, + "arcChartID": null, + "notecount": 1990, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "ff72df7f7a28839c0c9dfabf4b67d170091f2ea2", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2017, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28053, + "arcChartID": null, + "notecount": 1197, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "a9630adb17d4e32809649bc9282ec634ab4a5d8b", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2017, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28053, + "arcChartID": null, + "notecount": 570, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "af03085c3cb321eaeaa265c38827987553bdbe50", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2018, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28056, + "arcChartID": null, + "notecount": 1547, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "c8a07c4bd872ce823740505c9a96850980374782", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2018, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28056, + "arcChartID": null, + "notecount": 930, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "2f2cdee5ad9db00751cb77aad1eed864e21687d0", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2018, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28056, + "arcChartID": null, + "notecount": 529, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "40b6b9edde83aa87c9da281999e92eb31df1d6b4", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2018, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28056, + "arcChartID": null, + "notecount": 1517, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "af913569f16e8658400b03de96335affca8d50ba", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2018, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28056, + "arcChartID": null, + "notecount": 935, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "109f141b7a7538dd2225df509618a5a3be8ed342", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2018, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28056, + "arcChartID": null, + "notecount": 513, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "3ddf77c8a59eb6c2689ffabc2d71a27336c1e242", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2019, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28063, + "arcChartID": null, + "notecount": 1469, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "9f778e12be509709a70c44dcb273c147036b3ee1", + "difficulty": "HYPER", + "level": "8", + "levelNum": 8, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2019, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28063, + "arcChartID": null, + "notecount": 903, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "e0711f63bcd35ab414a50f21d5799fe087b0b9b2", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2019, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28063, + "arcChartID": null, + "notecount": 616, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "6501067d5a15c5b7f1866bc8da48ef9ad1f73e95", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2019, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28063, + "arcChartID": null, + "notecount": 1454, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "174efb1d6d0f4a269e67e78e2bd29b8ed0395d96", + "difficulty": "HYPER", + "level": "8", + "levelNum": 8, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2019, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28063, + "arcChartID": null, + "notecount": 907, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "c7ad55aed4b9113986f61bb09650e224c1e1c181", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2019, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28063, + "arcChartID": null, + "notecount": 621, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "c7aa9f1af075e16e4f8c81cb8e68df01688a9459", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2020, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28065, + "arcChartID": null, + "notecount": 1511, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "d25bc3ddc8cbe79b054a325f46826f93a9ff4fc8", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2020, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28065, + "arcChartID": null, + "notecount": 1065, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "4ea68c5b32b84f726526162459f33dfc11f9c3b0", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2020, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28065, + "arcChartID": null, + "notecount": 616, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "82550a31da8c135ee05822674c752e3421562a27", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2020, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28065, + "arcChartID": null, + "notecount": 1498, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "86e71d924d0a907d17c2c35e87a7864f10f6d558", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2020, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28065, + "arcChartID": null, + "notecount": 1053, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "34ec7b4abc3dcfb724eb0fe7771856681a3e92c6", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2020, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28065, + "arcChartID": null, + "notecount": 615, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "a57fd5c9e200b3fa73c097ac26a9bd8ba26eda7a", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2021, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28069, + "arcChartID": null, + "notecount": 1514, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "086d3646fd2f0c9f5c7e0f9714ecb7e53f07c313", + "difficulty": "HYPER", + "level": "8", + "levelNum": 8, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2021, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28069, + "arcChartID": null, + "notecount": 860, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "73a44f130dc8ca726367c6c79d19af138ec5ea9b", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2021, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28069, + "arcChartID": null, + "notecount": 576, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "57f4bc436475aeedd0f7eb49b8afe692d06611da", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2021, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28069, + "arcChartID": null, + "notecount": 1436, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "091d801ebe7e2e74e5d4f8f010cad7739e63d593", + "difficulty": "HYPER", + "level": "8", + "levelNum": 8, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2021, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28069, + "arcChartID": null, + "notecount": 818, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "c9fc2f3b5c9d3c9bdaa7a713b43594fae7713c19", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2021, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28069, + "arcChartID": null, + "notecount": 571, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "96db09239f0e045622d54179df003cd41edf2f47", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2022, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28071, + "arcChartID": null, + "notecount": 1437, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "1becdb52092dc28f8ab0fddfa520b2ae306e9b11", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2022, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28071, + "arcChartID": null, + "notecount": 933, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "933ea9955ad060abb403229947c50f012fc03188", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2022, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28071, + "arcChartID": null, + "notecount": 477, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "082f1fe3ebff58c623480e41f2358b7deb480ba7", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2022, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28071, + "arcChartID": null, + "notecount": 1417, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "6b796c5c66c07ec6dd587e723d9e43b0750a85a9", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2022, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28071, + "arcChartID": null, + "notecount": 926, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "8d0a3760cc173bbd17535932a4bae70f8a5611cf", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2022, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28071, + "arcChartID": null, + "notecount": 456, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "45da8eccfa8367910dd5f3dfa5f07bedd9f9bec7", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2023, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28073, + "arcChartID": null, + "notecount": 1960, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "39fa6e08fcdf023cadc578fe3069968b92843acd", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2023, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28073, + "arcChartID": null, + "notecount": 1252, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "9c76107735918b26a7951196be74a01955ec5a4d", + "difficulty": "NORMAL", + "level": "7", + "levelNum": 7, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2023, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28073, + "arcChartID": null, + "notecount": 715, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "83af681f0db57c947c16fbebf28c7ed0376212c4", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2023, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28073, + "arcChartID": null, + "notecount": 2013, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "a90ec14cf237b2798cde3d1a8a134c55b191c720", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2023, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28073, + "arcChartID": null, + "notecount": 1287, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "33816d0926042b611d476bcddcf58bbdac8a67a6", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2023, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28073, + "arcChartID": null, + "notecount": 655, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "c48e9127f8d437903aed371ad6ff97fd415f1f69", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2024, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28076, + "arcChartID": null, + "notecount": 1227, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "55206fff27668d08f20e15a0b073b390cab55668", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2024, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28076, + "arcChartID": null, + "notecount": 767, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "d7bac9de3ea171ee169a35724245320ec07653ee", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2024, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28076, + "arcChartID": null, + "notecount": 424, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "ad05ce5c8f2e769d52d41600bb1ca4523486d016", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2024, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28076, + "arcChartID": null, + "notecount": 1128, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "6bf775d4849d9d5101fbcb96a5a7be2e87088ab8", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2024, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28076, + "arcChartID": null, + "notecount": 752, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "e5b8a6bd1ad272f20a3d5cd309e3c53cebe089dd", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2024, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28076, + "arcChartID": null, + "notecount": 428, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "817d67e0b2cf8c56fb463474b984d677900657ae", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2025, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28081, + "arcChartID": null, + "notecount": 1935, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "5b0aff979f5063fe02c377e5914425abff16ec98", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2025, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28081, + "arcChartID": null, + "notecount": 1231, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "13258c98cc7757a31f2dfd992ee3bdef0d0bb8a6", + "difficulty": "NORMAL", + "level": "7", + "levelNum": 7, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2025, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28081, + "arcChartID": null, + "notecount": 658, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "5a396f2edb20c64e8fecab07a9eddd6a16e9ca82", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2025, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28081, + "arcChartID": null, + "notecount": 1927, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "bf6fa46ea9931bfac032cd60224f30313fee0ec3", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2025, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28081, + "arcChartID": null, + "notecount": 1216, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "4e9b43c31b065cdbd1cb13021208fb8ed6491abf", + "difficulty": "NORMAL", + "level": "7", + "levelNum": 7, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2025, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28081, + "arcChartID": null, + "notecount": 637, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "3e75e2036c201b5d35688edad9e26919a41296dc", + "difficulty": "ANOTHER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2026, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28082, + "arcChartID": null, + "notecount": 1297, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "5d0fa710f64593e22ab201d96429c1058f22c67e", + "difficulty": "HYPER", + "level": "8", + "levelNum": 8, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2026, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28082, + "arcChartID": null, + "notecount": 946, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "8c1e03f82dd8562cf79f1bf923cc250f4d4c74b0", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2026, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28082, + "arcChartID": null, + "notecount": 452, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "7214296c807f29133cef342788a68f7605c0ab7e", + "difficulty": "ANOTHER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2026, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28082, + "arcChartID": null, + "notecount": 1265, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "142d877bc279a4c3e0d9740ed27e4dcc7e608f8e", + "difficulty": "HYPER", + "level": "8", + "levelNum": 8, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2026, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28082, + "arcChartID": null, + "notecount": 938, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "b2d807096e07db32757ac1dab790fe3c614225d5", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2026, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28082, + "arcChartID": null, + "notecount": 445, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "166855026696f7d20f5020a1c40f899065208706", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2027, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28084, + "arcChartID": null, + "notecount": 1968, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "fd5573ce002c8a0bb98dc1c843d915be50fb6828", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2027, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28084, + "arcChartID": null, + "notecount": 1219, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "b24c2a4046603fa41626c8f5bf5257dba9e58d0c", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2027, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28084, + "arcChartID": null, + "notecount": 571, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "0cc9db32c5dbcf4cbc4efca47e3a56da64e5ec3d", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2027, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28084, + "arcChartID": null, + "notecount": 1970, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "aa782e1d35e854856acc4735ede9ca252f672d7d", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2027, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28084, + "arcChartID": null, + "notecount": 1243, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "4a55378853d0f9cc9dbfe5eca3b50dfbd4775465", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2027, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28084, + "arcChartID": null, + "notecount": 558, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "13ce20aa529bbd22cba0d8887ec716de0f8b05b3", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2028, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28085, + "arcChartID": null, + "notecount": 1653, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "5c9acfd3943efc6f518add5a95230e1cbfd4b447", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2028, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28085, + "arcChartID": null, + "notecount": 979, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "c9fd777de6f7751f56292c55f3df9b2df9990ace", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2028, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28085, + "arcChartID": null, + "notecount": 530, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "ef40fb6303361053ae0e847f79ad37d861212670", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2028, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28085, + "arcChartID": null, + "notecount": 1485, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "dc03187850144b7952fac24d5f09f00d8c526f4c", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2028, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28085, + "arcChartID": null, + "notecount": 970, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "580143b133891851fb3da2fbc7bb0ebe6505910e", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2028, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28085, + "arcChartID": null, + "notecount": 542, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "3efcf88b184c705111c8b00f064946cd3083e421", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2029, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28086, + "arcChartID": null, + "notecount": 1428, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "f326d46494cb83559f893943087c9a4930e19516", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2029, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28086, + "arcChartID": null, + "notecount": 851, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "a24f2e2293df716ce7ca0e6407a28faeafbd9eb2", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2029, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28086, + "arcChartID": null, + "notecount": 472, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "aaea16d2509ae880e60d3b0e68fde76e4b4dfb1b", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2029, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28086, + "arcChartID": null, + "notecount": 1454, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "873512249f085911e4ddedc2d4c96fbff3a305d2", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2029, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28086, + "arcChartID": null, + "notecount": 851, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "109d47c0b2eea9745c8f032b101323232a415ea9", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2029, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28086, + "arcChartID": null, + "notecount": 481, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "e708d8e105492ad92e3d92c343ff0e46ee1708f2", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2030, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28090, + "arcChartID": null, + "notecount": 1543, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "ffb383d01c95aa4031af5a1c1d7746adeddc0bf3", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2030, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28090, + "arcChartID": null, + "notecount": 936, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "6ff14aed6a12d4f7a08984a22a705843db199e2b", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2030, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28090, + "arcChartID": null, + "notecount": 559, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "c8cff6860cdfa0cf802c79eddb449c05b199d903", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2030, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28090, + "arcChartID": null, + "notecount": 1862, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "4c0fb084c305138d5cd3d34be594d5dea0137f10", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2030, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28090, + "arcChartID": null, + "notecount": 943, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "2090e0483688c8017c24b975a1160ac322b41695", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2030, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28090, + "arcChartID": null, + "notecount": 563, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "9c94de22568b11c0292110826daa2d8998ca4221", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2031, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28093, + "arcChartID": null, + "notecount": 1829, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "6ff131ef7a6cf04dee0330ad4a282c09b4f69e41", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2031, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28093, + "arcChartID": null, + "notecount": 1075, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "252d552d2ed42ef5be92feb9986c10c23b9c5a3d", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2031, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28093, + "arcChartID": null, + "notecount": 610, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "669456fa96b61d29619dd0c31e22a72c60fd5449", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2031, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28093, + "arcChartID": null, + "notecount": 1877, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "5f4681acbdf69966687e06a15682a01b0eb3606e", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2031, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28093, + "arcChartID": null, + "notecount": 1085, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "4bafbdc4e6e408c473a2787e9c7153c381ae9bbd", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2031, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28093, + "arcChartID": null, + "notecount": 585, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "1ea264e663acaf6baa2fd994db25ce4774c6197a", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2032, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28095, + "arcChartID": null, + "notecount": 1498, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "ecbc0fb19efe66a0f787326e9fe05035e6fb0d2d", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2032, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28095, + "arcChartID": null, + "notecount": 970, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "ed5c67ff283395dd8e30bc937558c6a5b6cfcf1e", + "difficulty": "NORMAL", + "level": "4", + "levelNum": 4, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2032, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28095, + "arcChartID": null, + "notecount": 510, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "71a0c8fadea1f5a5215e13b0da1ec82035691c02", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2032, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28095, + "arcChartID": null, + "notecount": 1476, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "79bfc3150c3e95ecb96f6e14a1d13db81eb40fab", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2032, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28095, + "arcChartID": null, + "notecount": 1009, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "23255bef24ff606470cbaabc3e711175671d1844", + "difficulty": "NORMAL", + "level": "4", + "levelNum": 4, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2032, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28095, + "arcChartID": null, + "notecount": 492, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "1baf6e9c696434b99f2efa1e9a3ee4ceaa398dad", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2033, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28096, + "arcChartID": null, + "notecount": 1845, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "a47227c80cbb5a42cb5c77c2912237a72699f2e1", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2033, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28096, + "arcChartID": null, + "notecount": 1170, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "10155a0f477d62d6efae0b7671be1730e331af32", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2033, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28096, + "arcChartID": null, + "notecount": 607, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "f53d238bcf59522b46c427e16af10cdb5b1273b6", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2033, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28096, + "arcChartID": null, + "notecount": 1844, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "c397862ad74618c453e95eaf342333693c277c34", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2033, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28096, + "arcChartID": null, + "notecount": 1174, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "a3e607cf19e2acca58f169c5b0207101efd82b0c", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2033, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28096, + "arcChartID": null, + "notecount": 592, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "24b43c8386efe5d63e8905628afdd20fd6ad708f", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2034, + "tierlistInfo": {}, + "versions": [ + "27-omni", + "28" + ], + "data": { + "inGameID": 28100, + "arcChartID": null, + "notecount": 1488, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "6165e0c3d1b69b0ba9472a3c34c898fa8ba16d23", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2034, + "tierlistInfo": {}, + "versions": [ + "27-omni", + "28" + ], + "data": { + "inGameID": 28100, + "arcChartID": null, + "notecount": 961, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "f80a23119efd6e51226d57464cbfa3a9beca0f1e", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2034, + "tierlistInfo": {}, + "versions": [ + "27-omni", + "28" + ], + "data": { + "inGameID": 28100, + "arcChartID": null, + "notecount": 492, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "b1d977e61ef46496d4fd8e1e291e9d1ceb192f34", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2034, + "tierlistInfo": {}, + "versions": [ + "27-omni", + "28" + ], + "data": { + "inGameID": 28100, + "arcChartID": null, + "notecount": 1392, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "400b1ca8c29ba03301a2fd33154b84a00ab2a7af", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2034, + "tierlistInfo": {}, + "versions": [ + "27-omni", + "28" + ], + "data": { + "inGameID": 28100, + "arcChartID": null, + "notecount": 935, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "41561d87b607df6f319ba199dcc8f4c1269b27a1", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2034, + "tierlistInfo": {}, + "versions": [ + "27-omni", + "28" + ], + "data": { + "inGameID": 28100, + "arcChartID": null, + "notecount": 567, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "d6f83b5dded399075b4792c282d744ab9fe8871e", + "difficulty": "ANOTHER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2035, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28101, + "arcChartID": null, + "notecount": 1073, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "0e5dfb279c2c1556b67ca94b5482090e2b631cb9", + "difficulty": "HYPER", + "level": "7", + "levelNum": 7, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2035, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28101, + "arcChartID": null, + "notecount": 816, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "5ee6acac753eadd5a632b616e2a330f82238711c", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2035, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28101, + "arcChartID": null, + "notecount": 548, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "e1b0987f423e15d01648a75ba635493f710b4e2d", + "difficulty": "ANOTHER", + "level": "8", + "levelNum": 8, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2035, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28101, + "arcChartID": null, + "notecount": 693, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "ce03ff17672653e6a982bdaa479e94cfa4d4ae52", + "difficulty": "HYPER", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2035, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28101, + "arcChartID": null, + "notecount": 470, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "c672ad2160d45d2b548da9d6f50b56bfff8001c2", + "difficulty": "NORMAL", + "level": "4", + "levelNum": 4, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2035, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28101, + "arcChartID": null, + "notecount": 351, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "8e8164afdbc061af498ec8b9469b1beeeb5c3a19", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2036, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28109, + "arcChartID": null, + "notecount": 1224, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "6bfb7b71fccea0abec8da10ff7c1f3c9a04c3b63", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2036, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28109, + "arcChartID": null, + "notecount": 963, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "414325b8dbaaa5cce47ec5f1b843e7e43a5459d5", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2036, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28109, + "arcChartID": null, + "notecount": 538, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "bbff21ede8b35922c5d83a2c4af294f310e82d2b", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2036, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28109, + "arcChartID": null, + "notecount": 1302, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "e23770174197aa9df7f8455cbdd3c3b98d35c456", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2036, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28109, + "arcChartID": null, + "notecount": 948, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "291c3321aa1fe4f4ecf6b90c8f5212ceecc07f8c", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2036, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28109, + "arcChartID": null, + "notecount": 555, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "d9767d2967b2beeb117ae18f01be5eaaa47bdbeb", + "difficulty": "ANOTHER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2037, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28110, + "arcChartID": null, + "notecount": 1111, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "51371dab5a4ece48259d2f4bb5316f68a3462594", + "difficulty": "HYPER", + "level": "7", + "levelNum": 7, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2037, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28110, + "arcChartID": null, + "notecount": 666, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "4de81b4c903083c87a943be56688eba0be05f6c7", + "difficulty": "NORMAL", + "level": "4", + "levelNum": 4, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2037, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28110, + "arcChartID": null, + "notecount": 371, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "67912f34f506874ba53df0857af8e2bb6fcaac2a", + "difficulty": "ANOTHER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2037, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28110, + "arcChartID": null, + "notecount": 1111, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "beb75ccc9b4c9881b724a4388ce069348d520f51", + "difficulty": "HYPER", + "level": "7", + "levelNum": 7, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2037, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28110, + "arcChartID": null, + "notecount": 694, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "e9bee75ef141191a7ae2c7a9977881ebefac1d81", + "difficulty": "NORMAL", + "level": "4", + "levelNum": 4, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2037, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28110, + "arcChartID": null, + "notecount": 387, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "327cf9785c1bdaf2dbe3a54cee07056d0d5b127d", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2038, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28111, + "arcChartID": null, + "notecount": 1471, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "cdc3b18856e20eb4dea57ec26b78bfa785ac78fe", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2038, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28111, + "arcChartID": null, + "notecount": 985, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "3c135a3309285c0fa5113dc54a65c169631008d1", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2038, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28111, + "arcChartID": null, + "notecount": 527, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "9c7948173e544664289f9312d0305b2cf4a00400", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2038, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28111, + "arcChartID": null, + "notecount": 1415, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "b82d31cbbef28967261e976ffee590d84bd6e48d", + "difficulty": "HYPER", + "level": "9", + "levelNum": 9, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2038, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28111, + "arcChartID": null, + "notecount": 908, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "3e76da5fb592cf7ed693a040391bd315bec325ce", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2038, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28111, + "arcChartID": null, + "notecount": 536, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "f3510391d65d9aeb50e3d735f834d868e9ba8b65", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2039, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28112, + "arcChartID": null, + "notecount": 1702, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "c0fc4b986385c768ab4712fbb633687f5a21fd60", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2039, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28112, + "arcChartID": null, + "notecount": 1026, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "174f62b7ac065d1c145c1672bb44395f9e7d3679", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2039, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28112, + "arcChartID": null, + "notecount": 658, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "b1e214d8b9a86e5145e4b68cadfdf8cadfc2985a", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2039, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28112, + "arcChartID": null, + "notecount": 1755, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "f91259d29de9187cdf2799ece92bb164ff26dd2a", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2039, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28112, + "arcChartID": null, + "notecount": 1080, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "6487bb1f5e1ee04c4fd7910894ff0a495d2bd8d4", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2039, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28112, + "arcChartID": null, + "notecount": 645, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "93432b428638c7bf7f87dadcfa0086035a4ffdf2", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2040, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28113, + "arcChartID": null, + "notecount": 1351, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "b4bd3029c8200de99164ca3661d985eed52a4f3a", + "difficulty": "HYPER", + "level": "8", + "levelNum": 8, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2040, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28113, + "arcChartID": null, + "notecount": 860, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "92186d3698d1ca3e218fdfdb069f2086b2b52f3b", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2040, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28113, + "arcChartID": null, + "notecount": 547, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "ac7aa24baa560f382d06cd76cc52ccd8d7b9d616", + "difficulty": "ANOTHER", + "level": "11", + "levelNum": 11, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2040, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28113, + "arcChartID": null, + "notecount": 1369, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "186564ff966ae63637512eb43ac93cc32e8e5898", + "difficulty": "HYPER", + "level": "8", + "levelNum": 8, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2040, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28113, + "arcChartID": null, + "notecount": 849, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "1011aa87c280e6fffecdd3285c60a7880a414394", + "difficulty": "NORMAL", + "level": "5", + "levelNum": 5, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2040, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28113, + "arcChartID": null, + "notecount": 538, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "741200e683e62bafca57fe0bc7b2ffa8d7b791dd", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2041, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28114, + "arcChartID": null, + "notecount": 1951, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "bb6d9c310ff148723781ea1f957ab739da3bbdeb", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2041, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28114, + "arcChartID": null, + "notecount": 1270, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "be82b6c29836f7f920550479bdd27a87f5a5a7bd", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "DP", + "rgcID": null, + "songID": 2041, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28114, + "arcChartID": null, + "notecount": 631, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "86407c455ba01e69dd16f99671c2be4917dce2e6", + "difficulty": "ANOTHER", + "level": "12", + "levelNum": 12, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2041, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28114, + "arcChartID": null, + "notecount": 1960, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "79eb32afb98124f800e52bbbd06afee0f3a6ade4", + "difficulty": "HYPER", + "level": "10", + "levelNum": 10, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2041, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28114, + "arcChartID": null, + "notecount": 1277, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + }, + { + "chartID": "6803e9b5c55231203d9732750a8ed875ee4ced4f", + "difficulty": "NORMAL", + "level": "6", + "levelNum": 6, + "isPrimary": true, + "playtype": "SP", + "rgcID": null, + "songID": 2041, + "tierlistInfo": {}, + "versions": [ + "28" + ], + "data": { + "inGameID": 28114, + "arcChartID": null, + "notecount": 602, + "hashSHA256": null, + "2dxtraSet": null, + "kaidenAverage": null, + "worldRecord": null + } + } +] \ No newline at end of file diff --git a/server/src/test-utils/test-data/tachi/tachi-songs-iidx.json b/server/src/test-utils/test-data/tachi/tachi-songs-iidx.json new file mode 100644 index 000000000..093c44eb6 --- /dev/null +++ b/server/src/test-utils/test-data/tachi/tachi-songs-iidx.json @@ -0,0 +1 @@ +[{"title":"5.1.1.","artist":"dj nagureo","id":1,"data":{"genre":"PIANO AMBIENT","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"GRADIUSIC CYBER","artist":"TAKA","id":2,"data":{"genre":"DIGI-ROCK","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"Prince on a star","artist":"SPIRITUAL RIDE","id":3,"data":{"genre":"ALTERNATIVE ROCK","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"R3","artist":"tiger YAMATO","id":4,"data":{"genre":"RAVE","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"Macho Gang","artist":"ANAL SPYDER","id":5,"data":{"genre":"TRIBAL HOUSE","displayVersion":"sub"},"altTitles":[],"searchTerms":[]},{"title":"THE EARTH LIGHT","artist":"L.E.D. LIGHT","id":6,"data":{"genre":"TRANCE","displayVersion":"sub"},"altTitles":[],"searchTerms":[]},{"title":"GAMBOL","artist":"SLAKE","id":7,"data":{"genre":"BIG BEAT","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"gentle stress","artist":"DJ Swan","id":8,"data":{"genre":"DRUM'N BASS","displayVersion":"sub"},"altTitles":[],"searchTerms":[]},{"title":"GENOM SCREAMS","artist":"L.E.D. LIGHT","id":9,"data":{"genre":"TRANCE","displayVersion":"sub"},"altTitles":[],"searchTerms":[]},{"title":"22DUNK","artist":"SLAKE","id":10,"data":{"genre":"TECHNO","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"Dr.LOVE","artist":"baby weapon feat.Asuka.M","id":11,"data":{"genre":"DANCE POP","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"LUV TO ME(disco mix)","artist":"tiger YAMATO","id":12,"data":{"genre":"EURO BEAT","displayVersion":"1"},"altTitles":["Luv To Me (Disco Mix)"],"searchTerms":[]},{"title":"Melt in my arms","artist":"Honey P feat.Asuka.M","id":13,"data":{"genre":"DANCE POP","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"BRILLIANT 2U","artist":"NAOKI","id":14,"data":{"genre":"EURO GROOVE","displayVersion":"sub"},"altTitles":[],"searchTerms":[]},{"title":"deep in you","artist":"dj nagureo","id":15,"data":{"genre":"DANCE POP","displayVersion":"sub"},"altTitles":[],"searchTerms":[]},{"title":"Special energy","artist":"DJ FX","id":16,"data":{"genre":"TRANCE TECHNO","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"RUGGED ASH","artist":"SYMPHONIC DEFOGGERS","id":17,"data":{"genre":"FUTURE JAZZ","displayVersion":"sub"},"altTitles":[],"searchTerms":[]},{"title":"diving money","artist":"QUADRA","id":18,"data":{"genre":"DRUM'N BASS","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"KEEP ON MOVIN'","artist":"N.M.R.","id":19,"data":{"genre":"DANCE POP","displayVersion":"sub"},"altTitles":[],"searchTerms":[]},{"title":"PARANOIA MAX~DIRTY MIX~","artist":"190","id":20,"data":{"genre":"JUNGLE","displayVersion":"sub"},"altTitles":["Paranoia Max (Dirty Mix)"],"searchTerms":["PARANOIA MAX-DIRTY MIX-"]},{"title":"Be in my paradise","artist":"JJ COMPANY","id":21,"data":{"genre":"SOUL CLASSIC BALLAD","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"Beginning of life","artist":"QUADRA","id":22,"data":{"genre":"AMBIENT","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"celebrate","artist":"JJ COMPANY","id":23,"data":{"genre":"SOUL CLASSIC","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"Deep Clear Eyes","artist":"QUADRA","id":24,"data":{"genre":"DRUM'N BASS","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"Do you love me?","artist":"reo-nagumo","id":25,"data":{"genre":"BALLAD","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"e-motion","artist":"e.o.s","id":26,"data":{"genre":"RAVE","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"g.m.d.","artist":"DJ mazinger featuring Muhammad","id":27,"data":{"genre":"HIPHOP","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"into the world","artist":"QUADRA","id":28,"data":{"genre":"WORLD GROOVE","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"jam jam reggae","artist":"Jam Master'73","id":29,"data":{"genre":"REGGAE","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"OVERDOSER","artist":"MIRAK","id":30,"data":{"genre":"TECHNO","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"patsenner","artist":"dj nagureo","id":31,"data":{"genre":"AMBIENT TECHNO","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"perfect free","artist":"nite system","id":32,"data":{"genre":"HOUSE","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"Salamander Beat Crush mix","artist":"NITE SYSTEM","id":33,"data":{"genre":"KONAMIX","displayVersion":"1"},"altTitles":["Salamander Beat Crush Mix","Salamander Beat Clush mix"],"searchTerms":[]},{"title":"Ska a go go","artist":"THE BALD HEADS","id":34,"data":{"genre":"SKA","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"The Rhyme Brokers","artist":"m-flo","id":35,"data":{"genre":"JAPANESE HIPHOP","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"YOU MAKE ME","artist":"MONDAY MICHIRU","id":36,"data":{"genre":"JAZZ HOUSE","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"ちょっときいてな(ZANSHIN-NA MIX)","artist":"Laugh & Peace","id":37,"data":{"genre":"DRUM'N BASS","displayVersion":"sub"},"altTitles":["ちょっときいてな(ZANSIN-NA MIX)","ちょっときいてな-Zanshin-Na Mix-"],"searchTerms":["CHOTTO KIITE NA (ZANSHIN-NA MIX)"]},{"title":".59","artist":"dj TAKA","id":38,"data":{"genre":"CHILL OUT","displayVersion":"2"},"altTitles":[],"searchTerms":[]},{"title":"Bad boy","artist":"Vivi","id":39,"data":{"genre":"DANCE POP","displayVersion":"2"},"altTitles":[],"searchTerms":[]},{"title":"Dancin' Into The Night","artist":"good-cool","id":40,"data":{"genre":"DISCO","displayVersion":"2"},"altTitles":[],"searchTerms":[]},{"title":"Digital MinD(A/T Libra mix)","artist":"TaQ","id":41,"data":{"genre":"MINIMAL","displayVersion":"2"},"altTitles":["Digital MinD (A/T Libra Mix)"],"searchTerms":[]},{"title":"dong-tepo no.1","artist":"dj nagureo","id":42,"data":{"genre":"TECHNO","displayVersion":"2"},"altTitles":[],"searchTerms":[]},{"title":"Electro Tuned(the SubS mix)","artist":"TaQ","id":43,"data":{"genre":"BIG BEAT","displayVersion":"2"},"altTitles":["Electro Tuned (The SubS Mix)"],"searchTerms":[]},{"title":"I Was The One","artist":"good-cool","id":44,"data":{"genre":"ITALO HOUSE","displayVersion":"2"},"altTitles":[],"searchTerms":[]},{"title":"I'm In Love Again","artist":"dj TAKA","id":45,"data":{"genre":"SPEED GARAGE","displayVersion":"2"},"altTitles":["I'm In Love Again (Y&Co. Euro Mix)"],"searchTerms":[]},{"title":"Indigo Vision(full flavour hide around mix)","artist":"TaQ","id":46,"data":{"genre":"GOA TRANCE","displayVersion":"2"},"altTitles":[],"searchTerms":[]},{"title":"SOFT LANDING ON THE BODY","artist":"DJ SIMON","id":47,"data":{"genre":"SPIRITUAL","displayVersion":"2"},"altTitles":[],"searchTerms":[]},{"title":"Headache","artist":"good-cool","id":48,"data":{"genre":"HOUSE","displayVersion":"2"},"altTitles":[],"searchTerms":[]},{"title":"Hitch Hiker","artist":"good-cool","id":49,"data":{"genre":"WARP HOUSE","displayVersion":"2"},"altTitles":[],"searchTerms":[]},{"title":"SP-TRIP MACHINE(for beatmania II)","artist":"dj TAKA feat. DE-SIRE","id":50,"data":{"genre":"JUNGLE","displayVersion":"2"},"altTitles":["SP-Trip Machine"],"searchTerms":[]},{"title":"Second Style(Hip Hop Paradise)","artist":"dj TAKA & DAY BREAKERS","id":51,"data":{"genre":"HIPHOP","displayVersion":"2"},"altTitles":["Second Style (Hip Hop Paradise)"],"searchTerms":[]},{"title":"Shine On","artist":"Shorai","id":52,"data":{"genre":"SOUL","displayVersion":"2"},"altTitles":[],"searchTerms":[]},{"title":"PUT YOUR FAITH IN ME(for beatmania II)","artist":"dj TAKA feat. UZI-LAY","id":53,"data":{"genre":"JAZZ FUNK","displayVersion":"2"},"altTitles":["Put Your Faith In Me"],"searchTerms":[]},{"title":"Brazilian Rhyme","artist":"Satoru Shionoya + Satoshi Tomiie","id":54,"data":{"genre":"HOUSE","displayVersion":"2"},"altTitles":[],"searchTerms":[]},{"title":"Get on Beat","artist":"ON","id":55,"data":{"genre":"HARD BAG","displayVersion":"2"},"altTitles":[],"searchTerms":[]},{"title":"Junglist King","artist":"Hirofumi Asamoto (ram jam world)","id":56,"data":{"genre":"DRUM'N'BASS","displayVersion":"2"},"altTitles":[],"searchTerms":[]},{"title":"Junglist King (long)","artist":"Hirofumi Asamoto (ram jam world)","id":57,"data":{"genre":"DRUM'N'BASS","displayVersion":"2"},"altTitles":["Junglist King(Long)"],"searchTerms":[]},{"title":"LET THE BEAT HIT EM! BASS MIX","artist":"STONE BROS.","id":58,"data":{"genre":"MIAMI BASS","displayVersion":"2"},"altTitles":["LET THE BEAT HIT EM!"],"searchTerms":[]},{"title":"lovin' you","artist":"MONDAY MICHIRU","id":59,"data":{"genre":"JAZZ DRUM'N'BASS","displayVersion":"2"},"altTitles":[],"searchTerms":[]},{"title":"Mirrorball Satellite 2012","artist":"m-flo","id":60,"data":{"genre":"HIPHOP & SOUL","displayVersion":"2"},"altTitles":[],"searchTerms":[]},{"title":"morning prayer","artist":"SILVA","id":61,"data":{"genre":"DISCO/HOUSE","displayVersion":"2"},"altTitles":[],"searchTerms":[]},{"title":"Panorama","artist":"Hirofumi Asamoto (ram jam world)","id":62,"data":{"genre":"SOUL CLASSIC","displayVersion":"2"},"altTitles":[],"searchTerms":[]},{"title":"S.O.S.","artist":"DR.BOMBAY","id":63,"data":{"genre":"INDIE EURO/DANCE","displayVersion":"2"},"altTitles":[],"searchTerms":[]},{"title":"Shake","artist":"double","id":64,"data":{"genre":"JAPANESE R&B","displayVersion":"2"},"altTitles":[],"searchTerms":[]},{"title":"踊る!福神漬(CALCUTTA)","artist":"DR.BOMBAY","id":65,"data":{"genre":"INDIE EURO/DANCE","displayVersion":"2"},"altTitles":["踊る!福神漬 (CALCUTTA)"],"searchTerms":["CALCUTTA"]},{"title":"CAN'T STOP FALLIN'IN LOVE","artist":"NAOKI","id":66,"data":{"genre":"HYPER EUROBEAT","displayVersion":"3"},"altTitles":["Can't Stop Fallin' In Love"],"searchTerms":[]},{"title":"Don't Stop!","artist":"dj TAKA feat. JP Miles","id":67,"data":{"genre":"HAPPY HANDBAG","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"DYNAMITE RAVE","artist":"NAOKI","id":68,"data":{"genre":"SPEED RAVE","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"END OF THE CENTURY","artist":"NO.9","id":69,"data":{"genre":"DANCE SPEED","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"era (nostalmix)","artist":"TaQ","id":70,"data":{"genre":"DRUM'N'BASS","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"Holic","artist":"TaQ","id":71,"data":{"genre":"HARD TECHNO","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"LEADING CYBER","artist":"dj TAKA","id":72,"data":{"genre":"DIGI-ROCK","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"Presto","artist":"Osamu Kubota","id":73,"data":{"genre":"PIANO AMBIENT","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"R5","artist":"tigerYAMATO with ultrabeatbox","id":74,"data":{"genre":"RAVE","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"REINCARNATION","artist":"dj TAKA","id":75,"data":{"genre":"TRANCE","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"Schlagwerk","artist":"TaQ","id":76,"data":{"genre":"BIG BEAT","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"Skyscraper","artist":"good-cool","id":77,"data":{"genre":"EPIC HOUSE","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"Tangerine Stream","artist":"dj TAKA","id":78,"data":{"genre":"AMBIENT","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"THE SAFARI","artist":"Lion Musashi","id":79,"data":{"genre":"WORLD HOUSE","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"Cold Pulse","artist":"Quadra with DJ FX","id":80,"data":{"genre":"TECHNO","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"Get me in your sight","artist":"SYMPHONIC DEFOGGERS","id":81,"data":{"genre":"LATIN HOUSE","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"IS THIS LOVE?","artist":"Asuka.M","id":82,"data":{"genre":"DANCE POP","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"Sense","artist":"good-cool","id":83,"data":{"genre":"RAVE","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"never let you down","artist":"good-cool feat. JP Miles","id":84,"data":{"genre":"GARAGE HOUSE","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"Artificial Impatience","artist":"SYMPHONIC DEFOGGERS","id":85,"data":{"genre":"FUTURE JAZZ","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"Beat Machine","artist":"CRUNKY BOY Jr.","id":86,"data":{"genre":"BIG BEAT","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"DREAM","artist":"SHIN Murayama feat. mari saito","id":87,"data":{"genre":"HOUSE","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"five fathoms (beatmania II special version)","artist":"EverythingButTheGirl","id":88,"data":{"genre":"HOUSE","displayVersion":"3"},"altTitles":["five fathoms"],"searchTerms":[]},{"title":"Garden of Love","artist":"DJ Mazinger","id":89,"data":{"genre":"HIPHOP","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"L.O.T.(Love Or Truth)","artist":"m-flo","id":90,"data":{"genre":"HIPHOP&SOUL","displayVersion":"3"},"altTitles":["L.O.T. (Love Or Truth)"],"searchTerms":[]},{"title":"Let's talk it over","artist":"SHIN Murayama feat. Argie Phine","id":91,"data":{"genre":"SOUL","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"Make Your Move","artist":"good-cool feat. JP Miles","id":92,"data":{"genre":"FUNK","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"Right Now","artist":"atomic kitten","id":93,"data":{"genre":"DANCE DISCO","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"S.O.S.(THE TIGER TOOK MY FAMILY)","artist":"DR.JEKYLL","id":94,"data":{"genre":"DANCE EXPRESS Hi-speed","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"TAKE ON ME","artist":"ANGELA","id":95,"data":{"genre":"DANCE EXPRESS Hi-speed","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"250bpm","artist":"AKIRA YAMAOKA","id":96,"data":{"genre":"GABBA","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"ABSOLUTE","artist":"dj TAKA","id":97,"data":{"genre":"EPIC TRANCE","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"B4U","artist":"NAOKI","id":98,"data":{"genre":"SPEED RAVE","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"Broken My Heart","artist":"NAOKI feat.PAULA TERRY","id":99,"data":{"genre":"HYPER EUROBEAT","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"CHECKING YOU OUT","artist":"good-cool feat. JP Miles","id":100,"data":{"genre":"HIP HOP","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"Clione","artist":"kors k","id":101,"data":{"genre":"DUTCH TRANCE","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"DXY!","artist":"TaQ","id":102,"data":{"genre":"TECHNO","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"empathy","artist":"TaQ","id":103,"data":{"genre":"DRUM'N'BASS","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"era (step mix)","artist":"TaQ","id":104,"data":{"genre":"DRUM'N'BASS","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"FANTASY","artist":"ULTIMATE DUB","id":105,"data":{"genre":"DANCE EXPRESS Hi-speed","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"Final Count Down(MTO CRY BABY STYLE)","artist":"dj TAKA feat. Jasmine","id":106,"data":{"genre":"METALLIC EURO","displayVersion":"4"},"altTitles":["Final Count Down","Final Count Down (MTO CRY BABY STYLE)"],"searchTerms":[]},{"title":"GET ON BEAT(WILD STYLE)","artist":"Lion Musashi","id":107,"data":{"genre":"HARD HOUSE","displayVersion":"4"},"altTitles":["Get On Beat (Wild Style)"],"searchTerms":[]},{"title":"HIGHER","artist":"NM feat. Sunny","id":108,"data":{"genre":"DANCE POP","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"JIVE INTO THE NIGHT","artist":"CYDNEY","id":109,"data":{"genre":"DANCE EXPRESS Hi-speed","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"KAMIKAZE","artist":"dj nagureo","id":110,"data":{"genre":"TECHNO","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"LOVE WILL・・・","artist":"riewo","id":111,"data":{"genre":"TRANCE","displayVersion":"4"},"altTitles":[],"searchTerms":["LOVE WILL ..."]},{"title":"minimalian","artist":"DETROIAN","id":112,"data":{"genre":"MINIMAL","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"Mr.T.(take me higher)","artist":"Risky Men feat.Asuka-M","id":113,"data":{"genre":"DANCE POP","displayVersion":"4"},"altTitles":["Mr. T(Take Me Higher)"],"searchTerms":[]},{"title":"NORTH","artist":"WALL5","id":114,"data":{"genre":"CELTRANCE","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"Nothing Ain't Stoppin' Us","artist":"Shoichiro Hirata","id":115,"data":{"genre":"DISCO","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"starmine","artist":"Ryu☆","id":116,"data":{"genre":"HAPPY HARDCORE","displayVersion":"4"},"altTitles":[],"searchTerms":["STARMINE"]},{"title":"Voltage (feat. Hidemaru)","artist":"TaQ","id":117,"data":{"genre":"BIG BEAT","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"Vienna","artist":"Osamu Kubota","id":118,"data":{"genre":"PIANO AMBIENT","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"Hitch Hiker2","artist":"good-cool","id":119,"data":{"genre":"WARP HOUSE","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"I'M FOR REAL","artist":"SLAKE feat. JP Miles","id":120,"data":{"genre":"TWO STEP","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"SWEET LAB","artist":"DJ SIMON","id":121,"data":{"genre":"LOUNGE HOUSE","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"ULTRA HIGH-HEELS","artist":"dj TAKA feat.ANGEL","id":122,"data":{"genre":"PARAPARA","displayVersion":"4"},"altTitles":["Ultra High Heels"],"searchTerms":[]},{"title":"LUV TO ME(UCCHIE'S EDITION)","artist":"tiger YAMATO","id":123,"data":{"genre":"EURO BEAT","displayVersion":"4"},"altTitles":["Luv To Me (Ucchie's Edition)"],"searchTerms":[]},{"title":"Burnin' The Floor","artist":"NAOKI","id":124,"data":{"genre":"EURO GROOVE","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"Nasty!","artist":"Baby Weapon feat.Asuka M","id":125,"data":{"genre":"DANCE POP","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"Under Construction","artist":"good-cool","id":126,"data":{"genre":"BIG BEAT","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"FLOWERS for ALBION","artist":"dj TAKA","id":127,"data":{"genre":"AMBIENT","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"Jam&Marmalade","artist":"FinalOffset","id":128,"data":{"genre":"WARP HOUSE","displayVersion":"4"},"altTitles":["Jam & Marmalade"],"searchTerms":[]},{"title":"CONGA","artist":"good-cool feat. JP Miles","id":130,"data":{"genre":"LATIN HOUSE","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"GIRIGIRI DADDY","artist":"Shoichiro Hirata","id":131,"data":{"genre":"R&B","displayVersion":"4"},"altTitles":["Giri Giri Daddy"],"searchTerms":[]},{"title":"INFINITE PRAYER","artist":"L.E.D. feat. GORO","id":132,"data":{"genre":"OCEANIAN TRIBAL TRANCE","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"NEW YORK CITY BOY","artist":"GUY THOMAS","id":133,"data":{"genre":"DANCE EXPRESS Hi-speed","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"R壱萬","artist":"tiger YAMATO","id":134,"data":{"genre":"RAVE","displayVersion":"4"},"altTitles":["R10K"],"searchTerms":["R10K"]},{"title":"Rest my mind","artist":"dj nagureo feat.Doublecheese","id":135,"data":{"genre":"HIPHOP","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"sanctus","artist":"Osamu Kubota","id":136,"data":{"genre":"ROCK OPERA","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"Small Waves","artist":"dj TAKA","id":137,"data":{"genre":"CLUB MIX","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"Twin Bee(Generation X)","artist":"FinalOffset","id":138,"data":{"genre":"EURO BEAT","displayVersion":"4"},"altTitles":["Twin Bee (Generation X)","Twin Bee-Generation X-"],"searchTerms":[]},{"title":"サナ・モレッテ・ネ・エンテ","artist":"Togo Project feat.Sana","id":139,"data":{"genre":"CUBAN GROOVE","displayVersion":"4"},"altTitles":["SANA MOLLETE NE ENTE (サナ・モレッテ・ネ・エンテ)"],"searchTerms":["SANA MOLETTE NE ENTE"]},{"title":"ErAseRmoToR maXimUM","artist":"L.E.D.-G VS GUHROOVY","id":140,"data":{"genre":"HARDCORE","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"INFINITE PRAYER -floating flock style-","artist":"L.E.D. feat.GORO","id":141,"data":{"genre":"AMBIENT","displayVersion":"4"},"altTitles":["Infinite Prayer (Floating Flock)"],"searchTerms":[]},{"title":"Trancemission","artist":"napakick","id":142,"data":{"genre":"MASHROOM FUNK","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"サナ・モレッテ・ネ・エンテ(B.L.T.STYLE)","artist":"Togo Project feat.Sana","id":143,"data":{"genre":"MONDO-CUBAN","displayVersion":"4"},"altTitles":[],"searchTerms":["SANA MOLETTE NE ENTE (B.L.T.STYLE)"]},{"title":"Abyss","artist":"dj TAKA","id":144,"data":{"genre":"INTELLIGENCE","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"Come With Me","artist":"good-cool feat. Aundrea L.Hopkins","id":145,"data":{"genre":"HOUSE","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"Deadline","artist":"Dutch Force","id":146,"data":{"genre":"TRANCE","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"Give Me A Sign","artist":"Shoichiro Hirata feat \"Red\"","id":147,"data":{"genre":"TWO STEP","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"in my eyes","artist":"ric","id":148,"data":{"genre":"TRANCE","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"Kiss me all night long","artist":"NAOKI J-STYLE feat.MIU","id":149,"data":{"genre":"J-EURO POP","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"Mobo☆Moga","artist":"Orange Lounge","id":150,"data":{"genre":"FRENCH POP","displayVersion":"5"},"altTitles":["Mobo★Moga"],"searchTerms":["MOBO*MOGA"]},{"title":"outer wall","artist":"sampling masters MEGA","id":151,"data":{"genre":"TECHNO","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"OVER THE CLOUDS","artist":"Lala Moore","id":152,"data":{"genre":"HOUSE","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"QQQ","artist":"TaQ","id":153,"data":{"genre":"TECHNO","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"Radical Faith","artist":"TaQ","id":154,"data":{"genre":"BIG BEAT","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"Real","artist":"Aya","id":155,"data":{"genre":"DRUM'N'BASS","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"Regulus","artist":"DJ.W","id":156,"data":{"genre":"INSTRUMENTAL","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"Remember You","artist":"NM feat. Julie","id":157,"data":{"genre":"BALLAD","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"RIDE ON THE LIGHT (HI GREAT MIX)","artist":"Mr.T","id":158,"data":{"genre":"POWER FUSION","displayVersion":"5"},"altTitles":["RIDE ON THE LIGHT (HI GREAT MIX) †","RIDE ON THE LIGHT (HI GREAT MIX) †"],"searchTerms":[]},{"title":"RISLIM","artist":"ric","id":159,"data":{"genre":"NEW ROMANTIC","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"Spin the disc","artist":"good-cool","id":160,"data":{"genre":"HOUSE","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"STILL IN MY HEART","artist":"NAOKI","id":161,"data":{"genre":"HYPER EUROBEAT","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"still my words","artist":"TaQ feat. Meg","id":162,"data":{"genre":"AMBIENT","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"sync","artist":"OutPhase (TaQ/dj TAKA)","id":163,"data":{"genre":"TRANCE","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"tablets","artist":"sampling masters MEGA","id":164,"data":{"genre":"RAVE","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"V","artist":"TAKA","id":165,"data":{"genre":"PROGRESSIVE","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"IIDX","artist":"DJ SIMON","id":166,"data":{"genre":"HIPHOP","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"sometime","artist":"Aya","id":167,"data":{"genre":"SOUND TRACK","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"THE CUBE","artist":"DJ SUWAMI","id":168,"data":{"genre":"DRUM'N'BASS","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"LOVE AGAIN TONIGHT~for Mellisa mix~","artist":"NAOKI feat.PAULA TERRY","id":169,"data":{"genre":"HYPER EUROBEAT","displayVersion":"5"},"altTitles":[],"searchTerms":["LOVE AGAIN TONIGHT"]},{"title":"VIRTUAL MIND","artist":"Brian Morris feat.Thomas","id":170,"data":{"genre":"HIPHOP","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"Time is money","artist":"good-cool","id":171,"data":{"genre":"JAZZ","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"INSERTiON","artist":"NAOKI underground","id":172,"data":{"genre":"EURO TRANCE","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"THE SHINING POLARIS","artist":"L.E.D. feat. Sana","id":173,"data":{"genre":"EPIC TRANCE","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"1989","artist":"Osamu Kubota","id":175,"data":{"genre":"ROCK OPERA","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"Estella","artist":"Osamu Kubota","id":176,"data":{"genre":"SPANISH WALTZ","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"Flash of Love","artist":"good-cool feat. Mickin'Tackin'","id":177,"data":{"genre":"J-DISCO","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"THE BIG VOYAGER","artist":"L.E.D.","id":178,"data":{"genre":"GOA TRANCE","displayVersion":"5"},"altTitles":["THE BIG VOYAGER -INFINITE PRAYER REINTERPRETATION-"],"searchTerms":[]},{"title":"天国のキッス ~D.J.TAKA'S STYLE~","artist":"オセロ","id":179,"data":{"genre":"EURO TRANCE","displayVersion":"5"},"altTitles":["天国のキッス〜D.J.TAKA'S STYLE〜","天国のキッス 〜D.J.TAKA'S STYLE〜","天国のキッス~D.J.TAKA'S STYLE~"],"searchTerms":["TENGOKU NO KISS"]},{"title":"c-r-a-c-k-ER","artist":"GWASHI","id":180,"data":{"genre":"HIPHOP","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"DENGUE","artist":"Macky","id":181,"data":{"genre":"ORIENTAL AMBIENT","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"DUNE","artist":"napakick feat. Taja","id":182,"data":{"genre":"TRIPHOP","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"PRAT FALL","artist":"SPON","id":183,"data":{"genre":"DIGI-ROCK","displayVersion":"5"},"altTitles":[],"searchTerms":[]},{"title":"20,November","artist":"dj nagureo","id":184,"data":{"genre":"HOUSE","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"BALLAD FOR YOU~想いの雨~","artist":"NM feat.Thomas Howard","id":185,"data":{"genre":"BALLAD","displayVersion":"6"},"altTitles":["BALLAD FOR YOU〜想いの雨〜","BALLAD FOR YOU〜想いの雨〜","Ballad For You"],"searchTerms":["BALLAD FOR YOU"]},{"title":"Beautiful Days","artist":"Fantastic Plastic Machine","id":186,"data":{"genre":"HOUSE","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"Blueberry Stream","artist":"dj TAKA","id":187,"data":{"genre":"HOUSE","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"Buffalo","artist":"good-cool feat. Hideo Suwa","id":188,"data":{"genre":"ROCK","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"Colors (radio edit)","artist":"dj TAKA","id":189,"data":{"genre":"TRANCE","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"Comment te dire adieu","artist":"Orange Lounge","id":190,"data":{"genre":"BOSSA LOUNGE","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"DIVE ~INTO YOUR HEART~","artist":"NAOKI feat.PAULA TERRY","id":191,"data":{"genre":"HYPER TRANCE EURO BEAT","displayVersion":"6"},"altTitles":["Dive (Into Your Heart)","DIVE 〜INTO YOUR HEART〜"],"searchTerms":["DIVE INTO YOUR HEART"]},{"title":"Fly Away(Instrumental)","artist":"Vincent de Moor","id":192,"data":{"genre":"TRANCE","displayVersion":"6"},"altTitles":["Fly Away (Instrumental)"],"searchTerms":[]},{"title":"fly through the night","artist":"Mr.T","id":193,"data":{"genre":"TRANCE","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"Free Style","artist":"Shapes","id":194,"data":{"genre":"DANCE POP","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"Frozen Ray (original mix)","artist":"dj TAKA","id":195,"data":{"genre":"TRANCE","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"G2","artist":"Aya","id":196,"data":{"genre":"DRUM'N'BASS","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"L'amour et la liberte","artist":"NAOKI underground","id":197,"data":{"genre":"TRANCE","displayVersion":"6"},"altTitles":["L'Amour Et La Liberte","L'amour et la liberte'"],"searchTerms":[]},{"title":"Linus","artist":"LEGO STUDIO","id":198,"data":{"genre":"LOUNGE POP","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"NEMESIS","artist":"D.J.SETUP","id":199,"data":{"genre":"TECHNO","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"ROMEO&JULIET","artist":"LOLITA","id":200,"data":{"genre":"SUPER EUROBEAT","displayVersion":"6"},"altTitles":["Romeo & Juliet"],"searchTerms":[]},{"title":"rottel-da-sun","artist":"sampling masters MEGA","id":201,"data":{"genre":"ROTTERDAM TECHNO","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"route 80s","artist":"sampling masters MEGA","id":202,"data":{"genre":"NOISY","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"Silhoette of my mind","artist":"ReR","id":203,"data":{"genre":"GOTH","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"Summer Vacation(CU mix)","artist":"OutPhase","id":204,"data":{"genre":"TRIP HOP","displayVersion":"6"},"altTitles":["Summer Vacation (CU Mix)"],"searchTerms":[]},{"title":"Take It Easy","artist":"Aya","id":205,"data":{"genre":"INSTRUMENTAL","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"VJ ARMY","artist":"good-cool","id":206,"data":{"genre":"ALL MIX","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"Wow Wow 70's","artist":"sampling masters AYA","id":207,"data":{"genre":"DISCO","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"Y31","artist":"tiger YAMATO","id":208,"data":{"genre":"RAVE","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"YESTERDAY","artist":"CHERRY","id":209,"data":{"genre":"SUPER EUROBEAT","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"こっちを向いてよ","artist":"vivi","id":210,"data":{"genre":"SOUL","displayVersion":"6"},"altTitles":[],"searchTerms":["KOTTI WO MUITEYO"]},{"title":"電人イェーガーのテーマ(Theme of DENJIN J)","artist":"L.E.D.","id":211,"data":{"genre":"NU-NRG","displayVersion":"6"},"altTitles":["Theme Of Denjin J","電人イェーガーのテーマ(Theme of DENJIN J)"],"searchTerms":["THEME OF DENJIN J"]},{"title":"19,November","artist":"good-cool","id":212,"data":{"genre":"HOUSE","displayVersion":"6"},"altTitles":["19, November","19,November"],"searchTerms":[]},{"title":"Five Regrets","artist":"Osamu Kubota","id":213,"data":{"genre":"JAZZ ARGENTINO","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"SOMETHING WONDERFUL","artist":"L.E.D.","id":214,"data":{"genre":"EPIC TRANCE","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"A New Morning","artist":"Yukihiro Fukutomi","id":215,"data":{"genre":"HOUSE","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"Doigts de Fatima -ファティマの掌-","artist":"Osamu Kubota feat. Sizzle Ohtaka","id":216,"data":{"genre":"CELTIC","displayVersion":"6"},"altTitles":["Doigts De Fatima","Doigts de Fatima-ファティマの掌-"],"searchTerms":["DOIGTS DE FATIMA"]},{"title":"Flowtation(Original Mix)","artist":"Vincent de Moor","id":217,"data":{"genre":"TRANCE","displayVersion":"6"},"altTitles":["Flowtation (Original Mix)"],"searchTerms":[]},{"title":"JUST DO IT","artist":"NIKI","id":218,"data":{"genre":"HYPER TECHNO","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"LOVE IS DREAMINESS","artist":"L.E.D.-G VS GUHROOVY fw/asuka","id":219,"data":{"genre":"HAPPY HARDCORE","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"M-02stp.ver.1.01","artist":"Shoichiro Hirata","id":220,"data":{"genre":"TWO STEP","displayVersion":"6"},"altTitles":["M-02stp.ver1.01"],"searchTerms":[]},{"title":"NIGHT OF FIRE","artist":"NIKO","id":221,"data":{"genre":"SUPER EUROBEAT","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"PARAPARA PARADISE","artist":"DOMINO","id":222,"data":{"genre":"SUPER EUROBEAT","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"REAL LOVE","artist":"MAZIK K.","id":223,"data":{"genre":"HYPER TECHNO","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"Changes","artist":"RYOTA MITSUNAGA","id":224,"data":{"genre":"BALLAD","displayVersion":"6"},"altTitles":[],"searchTerms":[]},{"title":"2002","artist":"tiger YAMATO","id":225,"data":{"genre":"RAVE","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"9 o'clocks","artist":"SYMPHONIC DEFOGGERS","id":226,"data":{"genre":"FAKE JAZZ","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"A","artist":"D.J.Amuro","id":227,"data":{"genre":"RENAISSANCE","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"AVE DE RAPINA","artist":"Shawn The Horny Master","id":228,"data":{"genre":"ALTERNATIVE HOUSE","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"Bad Routine","artist":"D.J. Spugna","id":229,"data":{"genre":"FILTER HOUSE","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"BRING HER DOWN","artist":"AKIRA YAMAOKA","id":230,"data":{"genre":"TRIBAL BASS","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"Burning Heat! (Full Option Mix)","artist":"Mr.T with Motoaki.F","id":231,"data":{"genre":"12 BEAT","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"BURNING UP FOR YOU","artist":"SARA","id":232,"data":{"genre":"SUPER EUROBEAT","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"Cheer Train","artist":"Fuzita Blender","id":233,"data":{"genre":"BIG BEAT","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"CLOUDY MUSIC","artist":"SLAKE","id":234,"data":{"genre":"DRUM'N'BASS","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"D2R","artist":"NAOKI","id":235,"data":{"genre":"HYPER ROCK BEAT","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"DESTINY","artist":"NAOKI feat.Paula Terry","id":236,"data":{"genre":"HYPER EUROBEAT","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"E.V CAFE","artist":"reo nagumo feat.hajime.y","id":237,"data":{"genre":"SOUL","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"entrance","artist":"Kobo project with Masa","id":238,"data":{"genre":"TECHNO","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"foreplay","artist":"Osamu Kubota","id":239,"data":{"genre":"PROGRESSIVE JAZZ","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"General Relativity","artist":"SYMPHONIC DEFOGGERS","id":240,"data":{"genre":"UK GARAGE/2-STEP","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"Glorious Days","artist":"Noria","id":241,"data":{"genre":"HIP HOP&SOUL","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"Gravity","artist":"TaQ","id":242,"data":{"genre":"BIG BEAT","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"Happy Wedding","artist":"ASKA","id":243,"data":{"genre":"HOUSE","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"HEARTBEAT","artist":"NATHALIE","id":244,"data":{"genre":"SUPER EUROBEAT","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"i feel ...","artist":"AKIRA YAMAOKA","id":245,"data":{"genre":"TRANCE","displayVersion":"7"},"altTitles":["i feel..."],"searchTerms":[]},{"title":"Last Message","artist":"good-cool feat. Meg","id":246,"data":{"genre":"EUROBEAT","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"Let the Snow Paint Me","artist":"Sana","id":247,"data":{"genre":"AMBIENT POP","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"LOVE GENERATION","artist":"SUZY LAZY","id":248,"data":{"genre":"SUPER EUROBEAT","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"Love Me Do","artist":"AKIRA YAMAOKA","id":249,"data":{"genre":"NEW WAVE","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"Marmalade Reverie","artist":"Orange Lounge","id":250,"data":{"genre":"YEYE","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"MAX 300","artist":"Ω","id":251,"data":{"genre":"HARDCORE TECHNO","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"New York","artist":"Fuzita Blender","id":252,"data":{"genre":"LIBRARY BEATS","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"REMEMBER ME","artist":"LESLIE PARRISH","id":253,"data":{"genre":"SUPER EUROBEAT","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"Secret Tale","artist":"dj nagureo feat.asuka.m","id":254,"data":{"genre":"SOFT ROCK","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"SOLID GOLD","artist":"DUSTY","id":255,"data":{"genre":"SUPER EUROBEAT","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"Somebody Like You","artist":"good-cool","id":256,"data":{"genre":"POPS","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"Spica","artist":"D.JW","id":257,"data":{"genre":"HOUSE","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"Spooky","artist":"good-cool","id":258,"data":{"genre":"HARD HOUSE","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"stoic","artist":"TaQ","id":259,"data":{"genre":"TECHNO","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"The Beauty Of Silence","artist":"Svenson & Gielen","id":260,"data":{"genre":"TRANCE","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"Tomorrow Perfume","artist":"dj TAKA","id":261,"data":{"genre":"TRANCE","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"traces","artist":"TaQ","id":262,"data":{"genre":"TRANCE","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"ZERO-ONE","artist":"Mr.T","id":263,"data":{"genre":"ELECTROSHOCK","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"革命","artist":"dj TAKA with NAOKI","id":264,"data":{"genre":"ORCHESTRAL","displayVersion":"7"},"altTitles":[],"searchTerms":["KAKUMEI"]},{"title":"more deep[ver.2.1]","artist":"Togo project feat. Sana","id":265,"data":{"genre":"2STEP","displayVersion":"7"},"altTitles":["more deep(ver.2.1)"],"searchTerms":[]},{"title":"Never Look Back","artist":"DuMonde","id":266,"data":{"genre":"TRANCE","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"The Sound Of Goodbye","artist":"Armin van Buuren Presents P.D.","id":267,"data":{"genre":"TRANCE","displayVersion":"7"},"altTitles":[],"searchTerms":[]},{"title":"abstract","artist":"TaQ","id":268,"data":{"genre":"BIG BEAT","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"airflow","artist":"Mr.T","id":269,"data":{"genre":"INSTRUMENTAL","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"ALIEN WORLD","artist":"PINK PONG","id":270,"data":{"genre":"PSYCHEDELIC TRANCE","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"ALL RIGHT","artist":"RAM","id":271,"data":{"genre":"DRUM'N'BASS","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"Attitude","artist":"Y&Co.","id":272,"data":{"genre":"TRANCE","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"bit mania","artist":"AKIRA YAMAOKA","id":273,"data":{"genre":"テクノ歌謡","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"Blame","artist":"good-cool feat. Jeff Coote","id":274,"data":{"genre":"EUROBEAT","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"Blown My Heart Away","artist":"good-cool feat. Jeff Coote","id":275,"data":{"genre":"80's EUROBEAT","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"CELEBRATE NITE","artist":"N.M.R","id":276,"data":{"genre":"EURO GROOVE","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"Colors -Y&Co. Eurobeat Remix-","artist":"dj TAKA (remixed by 横田商会)","id":277,"data":{"genre":"EUROBEAT","displayVersion":"8"},"altTitles":["Colors (Y & Co. Eurobeat Remix)"],"searchTerms":[]},{"title":"DANCER","artist":"DE VOL","id":278,"data":{"genre":"NU SKOOL","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"dissolve","artist":"kobo","id":279,"data":{"genre":"TRANCE","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"Drivin'","artist":"NAOKI feat.Paula Terry","id":280,"data":{"genre":"HYPER EUROBEAT","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"dual control","artist":"Mr.T","id":281,"data":{"genre":"GARAGE HOUSE","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"FLUTE MAN","artist":"SPARKER","id":282,"data":{"genre":"DEEP HOUSE","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"Foundation of our love","artist":"dj TAKA feat. ASAKO","id":283,"data":{"genre":"TRANCE","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"FUNKY BINGO PARADISE","artist":"SAWASAKI YOSHIHIRO","id":284,"data":{"genre":"ELECTRO","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"Giudecca","artist":"D.J.SETUP","id":285,"data":{"genre":"PSYCHEDELIC TECHNO","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"Halfway of promise","artist":"Yu Takami feat. Shihori Nakane","id":286,"data":{"genre":"GIRL ROCK","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"Hormiga obrera","artist":"Shawn The Horny Master","id":287,"data":{"genre":"ALTERNATIVE HOUSE","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"HYPER BOUNDARY GATE","artist":"L.E.D.LIGHT","id":288,"data":{"genre":"GOA TRANCE","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"I.C.F.5800","artist":"Reo Nagumo feat. Mayumi Shizawa*","id":289,"data":{"genre":"ELECTRO","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"jelly kiss","artist":"Togo project feat. Sana","id":290,"data":{"genre":"A.O.R.","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"LAB","artist":"RAM","id":291,"data":{"genre":"RAVE","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"LOVE IS ORANGE","artist":"Orange Lounge","id":292,"data":{"genre":"HARD CHANSON","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"Luv 2 Feel Your Body","artist":"Shoichiro Hirata","id":293,"data":{"genre":"2 STEP","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"memories","artist":"TAKA","id":294,"data":{"genre":"BEAT ROCK","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"Monkey Dance","artist":"Y&Co.","id":295,"data":{"genre":"EUROBEAT","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"murmur twins","artist":"yu_tokiwa.djw","id":296,"data":{"genre":"CUDDLECORE","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"MUSIC TO YOUR HEAD","artist":"SLAKE","id":297,"data":{"genre":"TECHNO","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"OUTER LIMITS","artist":"L.E.D.-G","id":298,"data":{"genre":"HARDCORE BREAKBEATS","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"PLEASE DON'T GO","artist":"ASLETICS","id":299,"data":{"genre":"DISCO","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"rainbow flyer","artist":"dj TAKA","id":300,"data":{"genre":"TRANCE","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"Red Nikita","artist":"Osamu Kubota","id":301,"data":{"genre":"LATIN SWING","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"Small clone","artist":"Yu Takami","id":302,"data":{"genre":"JAZZ FUNK","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"Smoke","artist":"Aya","id":303,"data":{"genre":"NU-FUSION","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"SPEED TRANCE MACH 3","artist":"SAWASAKI YOSHIHIRO","id":304,"data":{"genre":"TECHNO","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"STAR DREAM","artist":"PINK PONG","id":305,"data":{"genre":"TRANCE","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"Stick Around","artist":"Megu with Scotty D.","id":306,"data":{"genre":"2 STEP","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"symbolic","artist":"TaQ","id":307,"data":{"genre":"TECHNO","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"thunder","artist":"Lion MUSASHI","id":308,"data":{"genre":"HOUSE","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"TRIBAL MASTER","artist":"NAPAKICK","id":309,"data":{"genre":"ROCKET BEATS","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"V35","artist":"tiger YAMATO","id":310,"data":{"genre":"TRANCE","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"WAR GAME","artist":"ASLETICS","id":311,"data":{"genre":"HIP HOP","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"World Wide Love","artist":"MTO","id":312,"data":{"genre":"POPS","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"xenon","artist":"Mr.T","id":313,"data":{"genre":"ELECTROSHOCK","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"夜のサングラス","artist":"School (good-cool feat. すわひでお)","id":314,"data":{"genre":"METAL HOUSE","displayVersion":"8"},"altTitles":[],"searchTerms":["YORU NO SANGURASU"]},{"title":"合体せよ!ストロングイェーガー!!","artist":"L.E.D.","id":315,"data":{"genre":"NU-NRG","displayVersion":"8"},"altTitles":["合体せよ!ストロングイェーガー!!"],"searchTerms":["THE STRONG JAEGER"]},{"title":"桜","artist":"Reven-G","id":316,"data":{"genre":"SPIRITUAL","displayVersion":"8"},"altTitles":[],"searchTerms":["SAKURA"]},{"title":"蒼い衝動","artist":"NAOKI feat.YUKI","id":317,"data":{"genre":"J-TRANCE","displayVersion":"8"},"altTitles":[],"searchTerms":["AOI SHOUDOU"]},{"title":"LOVE BOX","artist":"め組upper-slope","id":318,"data":{"genre":"J-SOUL","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"STEP INTO THE NEW WORLD","artist":"L.E.D.-G VS GUHROOVY fw NO+CHIN","id":319,"data":{"genre":"UK ASIAN","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"suggestion","artist":"kita-g","id":320,"data":{"genre":"ACID HOUSE","displayVersion":"8"},"altTitles":[],"searchTerms":[]},{"title":"エブリデイ・ラブリデイ -L.E.D.STYLE MIX-","artist":"Togo-chef feat.Sana","id":321,"data":{"genre":"HOUSE REMIX","displayVersion":"8"},"altTitles":["エブリデイ・ラブリデイ -L.E.D. STYLE MIX-"],"searchTerms":["EVERY DAY LOVELY DAY -L.E.D.STYLE MIX-"]},{"title":"lower world","artist":"D.J.SETUP","id":322,"data":{"genre":"TECHNO","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"Silvia Drive","artist":"dj TAKA feat.Noria","id":323,"data":{"genre":"HAPPY HANDBAG","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"lights","artist":"flare","id":324,"data":{"genre":"SOUL","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"fun","artist":"Mr.T","id":325,"data":{"genre":"FUNK SHUFFLE","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"Be Rock U (1998 burst style)","artist":"NAOKI","id":326,"data":{"genre":"ULTRA ROCK BEAT","displayVersion":"9"},"altTitles":["Be Rock U (1998 Burst Style)","Be Rock U(1998 burst style)"],"searchTerms":[]},{"title":"Prelude","artist":"NAOKI underground","id":327,"data":{"genre":"TRANCE","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"MARIA (I believe... )","artist":"NAOKI feat.PAULA TERRY","id":328,"data":{"genre":"EUROBEAT","displayVersion":"9"},"altTitles":["Maria (I Believe...)"],"searchTerms":[]},{"title":"BREEDING","artist":"SLAKE","id":329,"data":{"genre":"TECHNO","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"ADVANCE","artist":"SLAKE","id":330,"data":{"genre":"ELECTRONICA","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"LOVE IS DROWING","artist":"SLAKE feat.EMIKO","id":331,"data":{"genre":"FORKTRONICA","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"Cradle","artist":"positive MA feat.akino","id":332,"data":{"genre":"HEALIN' HARDCORE","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"Make A Difference","artist":"Lala Moore with CoCoRo*Co","id":333,"data":{"genre":"GOSPEL","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"moon_child","artist":"少年ラジオ","id":334,"data":{"genre":"POST ROCK","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"The end of my spiritually","artist":"EeL","id":335,"data":{"genre":"ELECTRONICA","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"昭和企業戦士荒山課長","artist":"AKIRA YAMAOKA","id":336,"data":{"genre":"テクノチョップ","displayVersion":"9"},"altTitles":[],"searchTerms":["SHOWA KIGYO SENSHI ARAYAMA KACHO"]},{"title":"ライオン好き","artist":"AKIRA YAMAOKA","id":337,"data":{"genre":"ボデー","displayVersion":"9"},"altTitles":[],"searchTerms":["LION SUKI"]},{"title":"真夏の花・真夏の夢","artist":"Sana","id":338,"data":{"genre":"HOUSE","displayVersion":"9"},"altTitles":[],"searchTerms":["MANATSU NO HANA MANATSU NO YUME"]},{"title":"The Biggest Roaster","artist":"D.J. Spugna","id":339,"data":{"genre":"FILTER HOUSE","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"Golden Horn","artist":"Osamu Kubota","id":340,"data":{"genre":"TURKISH PIANO'N'BASS","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"Your Body","artist":"good-cool feat. Andrea L.Hopkins","id":341,"data":{"genre":"HOUSE","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"Honey","artist":"good-cool","id":342,"data":{"genre":"POPS","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"ECHOES","artist":"DRAGOON","id":343,"data":{"genre":"TECHNO","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"Logic Board","artist":"dj nagureo","id":344,"data":{"genre":"TECHNO","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"Two DAYS OF LOVE","artist":"tiger YAMATO with マイク吉川 feat. ma-sa","id":345,"data":{"genre":"EUROBEAT","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"Dreamin' Sun","artist":"Yu Takami","id":346,"data":{"genre":"ELECTRO POP","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"I can fly,I've got reason","artist":"Yu Takami","id":347,"data":{"genre":"EXTREME GRANGE","displayVersion":"9"},"altTitles":["I can fly, I've got reason","I can fly.I've got reason"],"searchTerms":[]},{"title":"Karma","artist":"TaQ","id":348,"data":{"genre":"DRUM'N'BASS","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"BAD BOY BASS!! (dj Remo-con MIX)","artist":"Y&Co.","id":349,"data":{"genre":"NRG","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"quasar","artist":"OutPhase","id":350,"data":{"genre":"TRANCE","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"ACT","artist":"RAM","id":351,"data":{"genre":"RAVE","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"SNOW","artist":"RAM","id":352,"data":{"genre":"DRUM'N'BASS","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"SWITCH","artist":"RAM","id":353,"data":{"genre":"TECHNO","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"POWER DREAM","artist":"PINK PONG","id":354,"data":{"genre":"TRANCE","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"SWEETEST SAVAGE","artist":"ASLETICS","id":355,"data":{"genre":"HIP HOP","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"STAR FIELD","artist":"SADA","id":356,"data":{"genre":"TRANCE","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"WANNA TELL THAT WORD","artist":"SADA","id":357,"data":{"genre":"US HARD HOUSE","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"ATOMIC AGE","artist":"SHUNZZY","id":358,"data":{"genre":"ENSEMBLE","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"rottel-the-Mercury","artist":"sampling masters MEGA","id":359,"data":{"genre":"GABBA","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"one or eight","artist":"sampling masters AYA","id":360,"data":{"genre":"HARDCORE RAVE","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"Really Love","artist":"大部真由美","id":361,"data":{"genre":"R&B","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"Let's say Hello!","artist":"Takuma Saiki","id":362,"data":{"genre":"LOLIPOP","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"CHARLOTTE","artist":"Db.saka feat. Piasa","id":363,"data":{"genre":"FRENCH BOSSA","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"LOVE♡SHINE","artist":"小坂りゆ","id":364,"data":{"genre":"J-HAPPY HARDCORE","displayVersion":"9"},"altTitles":["LOVE SHINE","Love ♡ Shine","LOVE?SHINE"],"searchTerms":["LOVE LOVE SHINE"]},{"title":"PARANOIA survivor MAX","artist":"290","id":365,"data":{"genre":"JUNGLE MIXTURE","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"HYPER EUROBEAT (2DX style)","artist":"NAOKI feat.PAULA TERRY","id":366,"data":{"genre":"EUROBEAT","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"Sweet Sweet♡Magic","artist":"jun","id":367,"data":{"genre":"HAPPY HARDCORE","displayVersion":"9"},"altTitles":["Sweet Sweet♥Magic","Sweet Sweet ♡ Magic","Sweet Sweet ♥ Magic","Sweet Sweet Magic","Sweet Sweet ? Magic"],"searchTerms":["SWEET SWEET LOVE MAGIC"]},{"title":"bag","artist":"Reven-G","id":368,"data":{"genre":"SPIRITUAL","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"FESTA DO SOL","artist":"Mt.Circle","id":369,"data":{"genre":"LATIN GROOVE","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"e-motion 2003 -romantic extra-","artist":"e.o.s. Remixed by dj TAKA","id":370,"data":{"genre":"TRANCE","displayVersion":"9"},"altTitles":["e-motion 2003 -romantic extra- ","e-motion 2003 (Romantic Extra)","e-motion 2003 -romantic extra-"],"searchTerms":[]},{"title":"u gotta groove -extend joy style-","artist":"dj nagureo Remixed by Mr.T","id":371,"data":{"genre":"EPIC HOUSE","displayVersion":"9"},"altTitles":["U Gotta Groove (Extend Joy Style)","u gotta groove-extend joy style-"],"searchTerms":[]},{"title":"traces -tracing you mix-","artist":"TaQ Remixed by kors k feat. U","id":372,"data":{"genre":"2 STEP","displayVersion":"9"},"altTitles":["Traces (Tracing You Mix)","traces-tracing you mix-"],"searchTerms":[]},{"title":"Abyss -The Heavens Remix-","artist":"dj TAKA Remixed by Ryu☆","id":373,"data":{"genre":"TRANCE CORE","displayVersion":"9"},"altTitles":["Abyss (The Heavens Remix)"],"searchTerms":[]},{"title":"Distress","artist":"dj TAKA Remixed by TaQ","id":374,"data":{"genre":"MIXTURE","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"I'm In Love Again -Y&Co. EURO MIX-","artist":"dj TAKA Remixed by Y&Co.","id":375,"data":{"genre":"EUROBEAT","displayVersion":"9"},"altTitles":["I'm In Love Again-Y&Co. EURO MIX-"],"searchTerms":[]},{"title":"Let The Snow Paint Me -Y&Co. Remix-","artist":"Sana Remixed by Y&Co.","id":376,"data":{"genre":"TRANCE","displayVersion":"9"},"altTitles":["Let The Snow Paint Me (Y&Co. Remix)"],"searchTerms":[]},{"title":"I Was The One (80's EUROBEAT STYLE)","artist":"good-cool Remixed by NAOKI","id":377,"data":{"genre":"EUROBEAT","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"OVER THE CLOUDS -Flying Grind mix-","artist":"Lala Moore Remixed by Flying Grind","id":378,"data":{"genre":"HOUSE","displayVersion":"9"},"altTitles":["Over The Clouds (Flying Grind Mix)","OVER THE CLOUDS-Flying Grind mix-"],"searchTerms":[]},{"title":"RISLIM -Remix-","artist":"ric Remixed by Hisashi Nawata","id":379,"data":{"genre":"ELECTRO 2 STEP","displayVersion":"9"},"altTitles":["Rislim (Remix)"],"searchTerms":[]},{"title":"BRIGHTNESS DARKNESS","artist":"SPARKER","id":380,"data":{"genre":"ROCOCO TEK","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"Quickening","artist":"dj TAKA","id":381,"data":{"genre":"PSYCHEDELIC","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"5PM ETERNAL","artist":"GUHROOVY fw. NO+CHIN","id":382,"data":{"genre":"RAGGA JUNGLE","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"80's CAPSULE","artist":"め組upper-slope","id":383,"data":{"genre":"DISCOTHEQUE","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"paramnesia","artist":"Shinji Ushiroda","id":384,"data":{"genre":"CLUB JAZZ","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"Celebration","artist":"WaveGroup/DJ TK-ST","id":385,"data":{"genre":"SOUL MIX","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"First Day","artist":"Timo Maas","id":386,"data":{"genre":"ELECTRONICA","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"Funkytown","artist":"Lipps Inc.","id":387,"data":{"genre":"80'S REVIVAL","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"Lift Me Up","artist":"Moby","id":388,"data":{"genre":"ELECTRONICA","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"The Way You Move","artist":"Paul Grogan Featuring Natalie Martin","id":389,"data":{"genre":"DANCE","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"Virtual Insanity","artist":"WaveGroup/DJ TK-ST","id":390,"data":{"genre":"R&B MIX","displayVersion":"9"},"altTitles":[],"searchTerms":[]},{"title":"pandora","artist":"dj TAKA feat.Tomomi","id":391,"data":{"genre":"TRANCE","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"BABY LOVE","artist":"Noria","id":392,"data":{"genre":"ITALO POP","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"JAM","artist":"TAKA with Junpei&三上","id":393,"data":{"genre":"J-REVIVAL","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"No.13","artist":"TAKA respect for J.S.B.","id":394,"data":{"genre":"PROGRESSIVE BAROQUE","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"EXE","artist":"Mr.T","id":395,"data":{"genre":"ELECTROSHOCK","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"どんなときも。","artist":"Mr.T と Brother Hiro","id":396,"data":{"genre":"J-REVIVAL","displayVersion":"10"},"altTitles":[],"searchTerms":["DONNATOKIMO"]},{"title":"PLATONIC-XXX","artist":"platoniX (RB style)","id":397,"data":{"genre":"RB","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"SHOOTING STAR","artist":"小坂りゆ","id":398,"data":{"genre":"J-POP","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"CARRY ON NIGHT (English version)","artist":"platoniX (EURO style)","id":399,"data":{"genre":"EUROBEAT","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"一途な恋 (HYPER J-EURO MIX)","artist":"TЁЯRA","id":400,"data":{"genre":"J-REVIVAL","displayVersion":"10"},"altTitles":[],"searchTerms":["ICHIZUNAKOI(HYPER J-EURO MIX)"]},{"title":"Ready To Rockit Blues","artist":"SLAKE","id":401,"data":{"genre":"NU JAZZ","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"Boundary","artist":"SPARKER","id":402,"data":{"genre":"ROCOCO TEK","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"LIMITED","artist":"SLAKE","id":403,"data":{"genre":"TECHNO","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"CHOO CHOO TRAIN(dnb mix)","artist":"SLAKE feat.MIKA","id":404,"data":{"genre":"J-REVIVAL","displayVersion":"10"},"altTitles":["Choo Choo Train (dnb mix)"],"searchTerms":[]},{"title":"Lucy","artist":"ELE BLOCK","id":405,"data":{"genre":"DANCE POP","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"システムロマンス","artist":"ヒロシ&チー子","id":406,"data":{"genre":"ムートラ(ムードトランス)","displayVersion":"10"},"altTitles":[],"searchTerms":["SYSTEM ROMANCE"]},{"title":"SPACE FIGHT","artist":"AKIRA YAMAOKA","id":407,"data":{"genre":"戦艦テクノ","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"Back Into The Light","artist":"Sota Fujimori","id":408,"data":{"genre":"2STEP POP TRANCE","displayVersion":"10"},"altTitles":["Back Into The Light (New Version)"],"searchTerms":[]},{"title":"Rise'n Beauty","artist":"Sota feat. Cyborg Akemi","id":409,"data":{"genre":"TRANCE","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"scherzo","artist":"Osamu Kubota","id":410,"data":{"genre":"PIANO AMBIENT","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"雪月花","artist":"Ryu☆","id":411,"data":{"genre":"HARD HOUSE","displayVersion":"10"},"altTitles":[],"searchTerms":["SETSUGEKKA"]},{"title":"Narcissus At Oasis","artist":"Ryu☆","id":412,"data":{"genre":"ARTCORE","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"rainbow rainbow","artist":"Ryu☆","id":413,"data":{"genre":"HAPPY HARDCORE","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"Love Is Eternity","artist":"kors k","id":414,"data":{"genre":"TRANCE","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"Think of me","artist":"good-cool feat.Sana","id":415,"data":{"genre":"NORTHERN EUROPE","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"Drop on the floor","artist":"good-cool","id":416,"data":{"genre":"HOUSE","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"Innocent Walls","artist":"TaQ","id":417,"data":{"genre":"TECHNO","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"Smell Like This","artist":"Y&Co.","id":418,"data":{"genre":"TRANCE","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"SCORE","artist":"DJ Remo-con","id":419,"data":{"genre":"TECH HOUSE","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"Shakin'31","artist":"DJ Remo-con","id":420,"data":{"genre":"BREAK BEATS","displayVersion":"10"},"altTitles":["Shakin' 31"],"searchTerms":[]},{"title":"Daisuke","artist":"Y&Co.","id":421,"data":{"genre":"EUROBEAT","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"HIGH","artist":"RAM","id":422,"data":{"genre":"RAVE","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"LOW","artist":"RAM","id":423,"data":{"genre":"RAVE","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"FEEL IT","artist":"RAM","id":424,"data":{"genre":"DRUM'N'BASS","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"HI SCHOOL DREAM","artist":"PINK PONG","id":425,"data":{"genre":"TRANCE","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"ALIEN TEMPLE","artist":"PINK PONG","id":426,"data":{"genre":"PSYCHEDELIC TRANCE","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"NO DOUBT GET LOUD","artist":"ASLETICS","id":427,"data":{"genre":"HIP HOP","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"1st Samurai","artist":"sampling masters MEGA","id":428,"data":{"genre":"お江戸テクノ","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"Debtty Daddy","artist":"sampling masters AYA","id":429,"data":{"genre":"ETHNO HARDCORE","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"Feedback","artist":"Audio Highs","id":430,"data":{"genre":"BREAK BEATS","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"Let's run","artist":"Mitsuto Suzuki","id":431,"data":{"genre":"MEDIUM WAVE","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"Don't forget","artist":"中山結衣","id":432,"data":{"genre":"J-POP","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"COSMIC RAISE","artist":"Toshiji Katoh","id":433,"data":{"genre":"ELECTRONICA","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"Freezing atmosphere","artist":"Twin AmadeuS","id":434,"data":{"genre":"NATURAL SOUND","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"ASTRAL VOYAGE","artist":"EeL","id":435,"data":{"genre":"DREAM TECHNO","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"DoLL","artist":"TЁЯRA","id":436,"data":{"genre":"HYPER J-POP FOUR","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"One More Lovely","artist":"Risk Junk","id":437,"data":{"genre":"HAPPY","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"R2","artist":"tiger YAMATO","id":438,"data":{"genre":"RAVE","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"5.8.8.","artist":"dj nagureo","id":439,"data":{"genre":"PIANO AMBIENT","displayVersion":"10"},"altTitles":["5.8.8"],"searchTerms":[]},{"title":"GHOST REVIVAL","artist":"L.E.D.","id":440,"data":{"genre":"GOA TRANCE","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"GRADIUS -FULL SPEED-","artist":"Mr.T","id":441,"data":{"genre":"GAME MUSIC","displayVersion":"10"},"altTitles":["Gradius (Full Speed)"],"searchTerms":[]},{"title":"A-JAX(3-WAY MIX)","artist":"Mr.T","id":442,"data":{"genre":"GAME MUSIC","displayVersion":"10"},"altTitles":["A-Jax (3 Way Mix)"],"searchTerms":[]},{"title":"ACID VISION","artist":"L.E.D.","id":443,"data":{"genre":"LIQUID FUNK","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"jelly kiss -Midihead's Smack Mix-","artist":"Togo project feat.Sana(Remixed by Midihead)","id":444,"data":{"genre":"HARD HOUSE","displayVersion":"10"},"altTitles":["Jelly Kiss -Midihead's Smack Mix-","jelly kiss-Midihead's Smack Mix-"],"searchTerms":[]},{"title":"Strong Woman feat.DABO","artist":"Asami","id":445,"data":{"genre":"R&B","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"BLOCKS","artist":"SPARKER","id":446,"data":{"genre":"TRANCE","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"BREATH","artist":"SPARKER","id":447,"data":{"genre":"ROCOCO TEK","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"TEXTURE","artist":"SLAKE","id":448,"data":{"genre":"DEATH DISCO","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"Don't be afraid myself","artist":"platoniX with ray.D","id":449,"data":{"genre":"J-POP","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"SPEEDY CAT","artist":"Y&Co.","id":450,"data":{"genre":"EUROBEAT","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"CAR OF YOUR DREAMS","artist":"DAVE&NUAGE","id":451,"data":{"genre":"SUPER EURO BEAT","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"太陽~T・A・I・Y・O~","artist":"NAOKI feat.星野奏子","id":452,"data":{"genre":"CYBER J-EURO","displayVersion":"11"},"altTitles":["太陽〜T・A・I・Y・O〜"],"searchTerms":["TAIYO"]},{"title":"KEY","artist":"colors","id":453,"data":{"genre":"BEAT ROCK","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"awakening","artist":"AKIRA YAMAOKA","id":454,"data":{"genre":"TRANCE","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"Sphere","artist":"Tatsh feat. K.Nayuki","id":455,"data":{"genre":"MEDIEVAL CHOIR","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"ULTiMΛTE","artist":"TЁЯRA","id":456,"data":{"genre":"HYPER J-POP FIVE","displayVersion":"11"},"altTitles":["ULTiMΛTE","ULTiM∧TE"],"searchTerms":["ULTIMATE"]},{"title":"spiral galaxy","artist":"D.J.SETUP","id":457,"data":{"genre":"PSYCHEDELIC TECHNO","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"ANDROMEDA","artist":"Sota Fujimori","id":458,"data":{"genre":"PSYCHEDELIC GOA TRANCE","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"RESONATE 1794","artist":"KOHTA","id":459,"data":{"genre":"HARD SONATA","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"earth scape","artist":"dj TAKA","id":460,"data":{"genre":"PIANO BALLAD","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"Les filles balancent","artist":"Orange Lounge","id":461,"data":{"genre":"FRANCE","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"Move Me","artist":"good-cool feat. Raj Ramayya","id":462,"data":{"genre":"AFRICA","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"Close my Eyes for Me","artist":"D-crew feat.DENNIS GUNN(DJ Yoshitaka SCRATCHING)","id":463,"data":{"genre":"AMERICA","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"大桟橋","artist":"ウッチーズ","id":464,"data":{"genre":"JAPAN","displayVersion":"11"},"altTitles":[],"searchTerms":["OOSANBASHI"]},{"title":"ON THE TUBE","artist":"Q'HEY","id":465,"data":{"genre":"MINIMAL","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"believe...?","artist":"Nao Nakamura","id":466,"data":{"genre":"HAPPY","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"KING OF GROOVE","artist":"DJ 19","id":467,"data":{"genre":"TECHNO","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"EVO66","artist":"Wall5","id":468,"data":{"genre":"TECHNO","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"ROK DA WORLD","artist":"DJ TOMO","id":469,"data":{"genre":"MIXTURE","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"Wonder Bullfighter","artist":"Twin AmadeuS","id":470,"data":{"genre":"NATURAL SOUND","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"ピアノ協奏曲第1番”蠍火”","artist":"virkato","id":471,"data":{"genre":"DIRGE","displayVersion":"11"},"altTitles":["ピアノ協奏曲第1番\"蠍火","ピアノ協奏曲第1番”蠍火”","ピアノ協奏曲第1番\"蠍火\""],"searchTerms":["PF CONCERTO ANTI-ARES"]},{"title":"INJECTION OF LOVE","artist":"新谷あきら","id":472,"data":{"genre":"ELECTRIC CABARET","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"The Hope of Tomorrow","artist":"Sota Fujimori","id":473,"data":{"genre":"CYBORG TRANCE","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"Back to the Dance Floor","artist":"DJ SIMON","id":474,"data":{"genre":"TRIBAL LOUNGE","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"FAKE TIME","artist":"dj REMO-CON","id":475,"data":{"genre":"HARD ROCK","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"Click Again","artist":"dj REMO-CON","id":476,"data":{"genre":"CLICK HOUSE","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"RED ZONE","artist":"Tatsh&NAOKI","id":477,"data":{"genre":"SPEED RAVE","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"Fly Away To India","artist":"Baby Weapon feat.KAJIL","id":478,"data":{"genre":"DANCE POP","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"Secret of Love","artist":"D.J.SWAN","id":479,"data":{"genre":"DRUM'N'BASS","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"Be quiet","artist":"Ryu☆","id":480,"data":{"genre":"HARD DANCE","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"AGEHA","artist":"Ryu☆","id":481,"data":{"genre":"HAPPY HARDCORE","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"gigadelic","artist":"teranoid feat.MC Natsack","id":482,"data":{"genre":"NUSTYLE GABBA","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"HORIZON","artist":"LIA","id":483,"data":{"genre":"HAPPY HARDCORE","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"been so long","artist":"m-flo","id":485,"data":{"genre":"JAPANESE HIPHOP","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"LOVE SO GROOVY","artist":"LOVEMINTS","id":486,"data":{"genre":"SOUL","displayVersion":"1"},"altTitles":[],"searchTerms":[]},{"title":"Kecak","artist":"John Robinson","id":487,"data":{"genre":"TRANCE","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"AA","artist":"D.J.Amuro","id":488,"data":{"genre":"RENAISSANCE","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"惑","artist":"Osamu Kubota","id":489,"data":{"genre":"ASIAN CROSSOVER","displayVersion":"11"},"altTitles":[],"searchTerms":["PERPLEXITY"]},{"title":"listen to yourself","artist":"Tetsuya Uchida","id":490,"data":{"genre":"ERHU FUNK","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"D.A.N.C.E.!","artist":"DJ Yoshitaka feat.星野奏子","id":491,"data":{"genre":"J-POP","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"NIGHT FLIGHT TO TOKYO","artist":"MATT LAND","id":492,"data":{"genre":"SUPER EURO BEAT","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"HARMONY","artist":"REGINA","id":493,"data":{"genre":"SUPER EURO BEAT","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"PERFECTWORLD","artist":"N.A.R.D feat. masayo","id":494,"data":{"genre":"SOFT ROCK","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"KI・SE・KI(IIDX RED EDIT)","artist":"BeForU","id":495,"data":{"genre":"J-POP","displayVersion":"11"},"altTitles":["KI・SE・KI (IIDX RED Edit)","KI・SE・KI(IIDX RED EDIT)"],"searchTerms":["KISEKI(IIDX RED EDIT)"]},{"title":"Tell Me More…","artist":"Togo-chef feat.朝比奈亜希","id":496,"data":{"genre":"R&B","displayVersion":"11"},"altTitles":["More Deep (ver.2.1)","Tell Me More"],"searchTerms":["TELL ME MORE"]},{"title":"More Move","artist":"T-Hirono feat.PAULINHO","id":497,"data":{"genre":"CLUB BOSSA","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"NEBULA GRASPER","artist":"L.E.D.","id":498,"data":{"genre":"PSYCHEDELIC TRANCE","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"Raspberry♡Heart(English version)","artist":"jun feat. PAULA TERRY","id":499,"data":{"genre":"COLORFUL HARDCORE","displayVersion":"11"},"altTitles":["Raspberry Heart(English version)","Raspberry Heart (English version)","Raspberry♡Heart(English version)","Raspberry?Heart(English version)"],"searchTerms":["RASPBERRY HEART"]},{"title":"GENOCIDE","artist":"dj Killer","id":500,"data":{"genre":"DRUM'N'BASS","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"Go Berzerk","artist":"Scott Brown","id":502,"data":{"genre":"HARDCORE","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"The Theme from \"Flo-jack\"","artist":"m-flo","id":503,"data":{"genre":"HIPHOP","displayVersion":"1"},"altTitles":["The Theme from\"Flo-jack\""],"searchTerms":[]},{"title":"NaHaNaHa vs. Gattchoon Battle","artist":"DJ Senda & Tiny-K","id":504,"data":{"genre":"DJ BATTLE","displayVersion":"sub"},"altTitles":["NaHaNaHa vs.Gattchoon Battle"],"searchTerms":[]},{"title":"Toxic","artist":"WaveGroup/Shoichiro Hirata","id":505,"data":{"genre":"GARAGE MIX","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"You Really Got Me","artist":"WaveGroup/Shoichiro Hirata","id":506,"data":{"genre":"BREAKBEATS MIX","displayVersion":"11"},"altTitles":[],"searchTerms":[]},{"title":"double thrash","artist":"414","id":507,"data":{"genre":"BATTLE2005","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"キャッシュレスは愛情消すティッシュ","artist":"GINGER","id":508,"data":{"genre":"K-GROOVE","displayVersion":"12"},"altTitles":[],"searchTerms":["TISSUE"]},{"title":"Little Little Princess","artist":"SHRINE 418","id":509,"data":{"genre":"PUNK OPERA","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"ヒマワリ","artist":"小坂りゆ","id":510,"data":{"genre":"J-HAPPY HARDCORE","displayVersion":"12"},"altTitles":[],"searchTerms":["HIMAWARI"]},{"title":"冥","artist":"Amuro vs Killer","id":511,"data":{"genre":"HUMAN SEQUENCER","displayVersion":"12"},"altTitles":[],"searchTerms":["MEI(TAKASH)","Mei"]},{"title":"MOON RACE","artist":"ELEKTEL","id":512,"data":{"genre":"FUTURE HOUSE","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"LESSON 5","artist":"Risk Junk feat.Erika Mochizuki","id":513,"data":{"genre":"HAPPY EXTREME","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"rage against usual","artist":"dj TAKA feat.Gt.Shintaro","id":514,"data":{"genre":"DIGI-ROCK","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"INAZUMA","artist":"dj TAKA","id":515,"data":{"genre":"TRANCE","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"HAPPY☆ANGEL","artist":"jun with TAHIRIH","id":516,"data":{"genre":"HAPPY HARDCORE","displayVersion":"12"},"altTitles":[],"searchTerms":["HAPPY*ANGEL"]},{"title":"EDEN","artist":"TЁЯRA","id":517,"data":{"genre":"HYPER J-POP SIX","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"CaptivAte~浄化~","artist":"A/I","id":518,"data":{"genre":"NOSTALISH REQUIEM","displayVersion":"12"},"altTitles":["CaptivAte〜浄化〜"],"searchTerms":["CAPTIVATE-JOKA-"]},{"title":"Catch Me","artist":"DJ Yoshitaka feat. ERi","id":519,"data":{"genre":"ACID JAZZ","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"月光","artist":"Tatsh feat. 星野奏子","id":520,"data":{"genre":"J-EUROBEAT","displayVersion":"12"},"altTitles":[],"searchTerms":["GEKKOU"]},{"title":"Under the Sky","artist":"南さやか(BeForU) with platoniX","id":521,"data":{"genre":"J-EUROTRANCE","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"Xepher","artist":"Tatsh","id":522,"data":{"genre":"MEDIEVAL CHOIR","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"Twelfth Style","artist":"Tatsh&DAYBREAKERS NEXT","id":523,"data":{"genre":"HAPPY EURO PARADISE","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"I am","artist":"有沢みはる from BeForU","id":524,"data":{"genre":"CYBER J-ROCK","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"合体せよ!ストロングイェーガー!! (Ryu☆ remix)","artist":"L.E.D./Remixed by Ryu☆","id":525,"data":{"genre":"HARD DANCE","displayVersion":"12"},"altTitles":["合体せよ!ストロングイェーガー!!(Ryu☆remix)"],"searchTerms":["THE STRONG JAEGER(RYU* REMIX)"]},{"title":"garden","artist":"青野りえ","id":526,"data":{"genre":"SWING WALTZ","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"Agnus Dei","artist":"あさき","id":527,"data":{"genre":"GOTHIC METAL","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"Tizona d'El Cid","artist":"TOMOSUKE","id":528,"data":{"genre":"MPB","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"Almost Love","artist":"SILVA","id":529,"data":{"genre":"HOUSE","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"EMPTY OF THE SKY","artist":"AKIRA YAMAOKA","id":530,"data":{"genre":"E-ROCK","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"tant pis pour toi","artist":"AKIRA YAMAOKA","id":531,"data":{"genre":"TECHNO","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"100% minimoo-G","artist":"Sota Fujimori","id":532,"data":{"genre":"SYNTHETIC PROGRESSIVE ROCK","displayVersion":"12"},"altTitles":["100% minimoo-G"],"searchTerms":[]},{"title":"PLASMA","artist":"Sota Fujimori","id":533,"data":{"genre":"SYNTHESIZED TECHNO","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"in motion","artist":"Ryu☆","id":534,"data":{"genre":"CLICK HOUSE","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"SKIN","artist":"CHARLOTTE Remixed by Shin Murayama","id":535,"data":{"genre":"R&B","displayVersion":"3"},"altTitles":[],"searchTerms":[]},{"title":"SigSig","artist":"kors k","id":536,"data":{"genre":"MAKINA","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"ラクエン","artist":"Chonan Chiharu","id":537,"data":{"genre":"REGGAE","displayVersion":"12"},"altTitles":[],"searchTerms":["RAKUEN"]},{"title":"POODLE","artist":"Y&Co.","id":538,"data":{"genre":"EUROBEAT","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"Pollinosis","artist":"dj REMO-CON","id":539,"data":{"genre":"HARD DANCE","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"SEXYSEXYCHEVY","artist":"MATALLY","id":540,"data":{"genre":"BIG BEAT","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"FUNKTION","artist":"ULTRAdoof","id":541,"data":{"genre":"CYBER FUNK","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"Get'em up to R.A.V.E","artist":"Disconation","id":542,"data":{"genre":"RAVE","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"Listen up","artist":"Mitsuto Suzuki","id":543,"data":{"genre":"CLICK HOUSE","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"alla turca con passione","artist":"Twin AmadeuS","id":544,"data":{"genre":"NATURAL SOUND","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"オレはビートマニア!お前は何マニア?","artist":"DANCE☆MAN","id":545,"data":{"genre":"FUNK","displayVersion":"12"},"altTitles":[],"searchTerms":["OREHA BEATMANIA! OMAEHA NANIMANIA?"]},{"title":"We are Disっ娘よっつ打ち命","artist":"DANCE☆MAN feat. Disっ娘","id":546,"data":{"genre":"DISCO","displayVersion":"12"},"altTitles":[],"searchTerms":["WE ARE DISKKO YOTTSUUCHI INOCHI"]},{"title":"Don't let it go","artist":"ウッチーズ","id":547,"data":{"genre":"J-POP REMIX","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"vault of heaven","artist":"Mr.T","id":548,"data":{"genre":"ELECTROSHOCK","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"Love Magic","artist":"D.J.SWAN","id":549,"data":{"genre":"DRUM'N'BASS","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"SPARK !","artist":"SILVER FOX PRODUCTIONS feat.星野奏子","id":550,"data":{"genre":"DANCE POP","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"First Resolution","artist":"good-cool","id":551,"data":{"genre":"TECHNO RAVE","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"GREEN EYES","artist":"SLAKE","id":552,"data":{"genre":"BROKEN TEK","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"SCREAM SQUAD","artist":"CALF","id":553,"data":{"genre":"BREAKCORE","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"mind the gap","artist":"Osamu Kubota","id":554,"data":{"genre":"UK PROGRESSIVE","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"TOE JAM","artist":"BIG IDEA","id":555,"data":{"genre":"COUNTRY TECHNO","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"PATRIOTISM","artist":"kobo","id":556,"data":{"genre":"DRUM'N BASS","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"Aurora","artist":"Ryu☆","id":557,"data":{"genre":"TRANCE CORE","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"Votum stellarum","artist":"iconoclasm","id":558,"data":{"genre":"ANTHEM TRANCE","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"Pink Rose","artist":"Kiyommy+Seiya","id":559,"data":{"genre":"HEART","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"Scripted Connection⇒ N mix","artist":"DJ MURASAME","id":560,"data":{"genre":"TECHNO","displayVersion":"12"},"altTitles":[],"searchTerms":["SCRIPTED CONNECTION-> N MIX"]},{"title":"Scripted Connection⇒ H mix","artist":"DJ MURASAME","id":561,"data":{"genre":"TECHNO","displayVersion":"12"},"altTitles":[],"searchTerms":["SCRIPTED CONNECTION-> H MIX"]},{"title":"DIAMOND JEALOUSY","artist":"AKIRA YAMAOKA","id":562,"data":{"genre":"CYBER ROCK","displayVersion":"4"},"altTitles":[],"searchTerms":[]},{"title":"Scripted Connection⇒ A mix","artist":"DJ MURASAME","id":563,"data":{"genre":"TECHNO","displayVersion":"12"},"altTitles":[],"searchTerms":["SCRIPTED CONNECTION-> A MIX"]},{"title":"Endless Summer Story","artist":"DJ Yoshitaka feat.星野奏子","id":565,"data":{"genre":"JAPANESE REGGAE","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"IceCube Pf.(RX-Ver.S.P.L.)","artist":"高田雅史","id":566,"data":{"genre":"CLUB JAZZ","displayVersion":"12"},"altTitles":[],"searchTerms":[]},{"title":"風の谷のDREAM","artist":"PINK PONG","id":568,"data":{"genre":"TRANCE","displayVersion":"12"},"altTitles":[],"searchTerms":["KAZE NO TANI NO DREAM"]},{"title":"華蝶風雪","artist":"白虎","id":569,"data":{"genre":"ASIAN MIXTURE","displayVersion":"13"},"altTitles":[],"searchTerms":["KACHOUFUSETSU"]},{"title":"タシカナモノ","artist":"星野奏子 with the BAND","id":570,"data":{"genre":"POPROCK","displayVersion":"13"},"altTitles":[],"searchTerms":["TASHIKANAMONO"]},{"title":"The Dirty of Loudness","artist":"Tatsh Assault X","id":571,"data":{"genre":"SADISTIC HARDCORE","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"D.C.fish","artist":"DJ MURASAME","id":572,"data":{"genre":"TECHNO","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"SAMBA DE JANEIRO","artist":"Remixed by Lion MUSASHI","id":573,"data":{"genre":"SAMBA","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"嘆きの樹","artist":"金獅子","id":574,"data":{"genre":"CONTEMPORARY","displayVersion":"13"},"altTitles":[],"searchTerms":["NAGEKI NO KI"]},{"title":"Melody Life","artist":"Noria","id":575,"data":{"genre":"NEW ACOUSTIC","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"SPRING RAIN (LLUVIA DE PRIMAVERA)","artist":"Remixed by DJ YOSHITAKA","id":576,"data":{"genre":"TRANCE","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"wish","artist":"DJ Yoshitaka feat.杉村ことみ","id":577,"data":{"genre":"CUTE POP'S","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"Bloody Tears(IIDX EDITION)","artist":"DJ YOSHITAKA","id":578,"data":{"genre":"HARD RENAISSANCE","displayVersion":"13"},"altTitles":["Bloody Tears (IIDX EDITION)"],"searchTerms":[]},{"title":"CONTRACT","artist":"朱雀","id":579,"data":{"genre":"SUBLIME TECHNO","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"INFERNO","artist":"Caldeira feat.星野奏子","id":580,"data":{"genre":"BRAZILIAN HOUSE","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"Queen's Jamaica (astria mix)","artist":"Crunky Boy featuring Muhammad","id":581,"data":{"genre":"REGGAE","displayVersion":"1"},"altTitles":["Queen's Jamaica(astria mix)"],"searchTerms":[]},{"title":"DEEP ROAR","artist":"NAOKI&Tatsh","id":582,"data":{"genre":"SUPER RAVE BEAT","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"Leaving...","artist":"SEIYA MURAI meets “eimy”","id":583,"data":{"genre":"SYMPHONIC EURO","displayVersion":"13"},"altTitles":[],"searchTerms":["LEAVING"]},{"title":"ALFARSHEAR 双神威に廻る夢","artist":"TЁЯRA","id":584,"data":{"genre":"HYPER J-POP SEVEN","displayVersion":"13"},"altTitles":[],"searchTerms":["ALFARSHEAR"]},{"title":"Why did you go away","artist":"jun with TAHIRIH","id":585,"data":{"genre":"LOVERS EUROBEAT","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"BREAK OUT","artist":"Remixed by Orange Lounge","id":586,"data":{"genre":"LOUNGE POP","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"Apocalypse ~dirge of swans~","artist":"Zektbach","id":587,"data":{"genre":"ORATORIO","displayVersion":"13"},"altTitles":["Apocalypse 〜dirge of swans〜","Apocalypse ~dirge of swans~"],"searchTerms":["APOCALYPSE -dirge of swans-"]},{"title":"iFUTURELIST","artist":"AKIRA YAMAOKA","id":588,"data":{"genre":"FUTURELIST TYPE","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"Heavenly Sun (IIDX VERSION)","artist":"AKIRA YAMAOKA","id":589,"data":{"genre":"TRANCE","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"Look To The Sky(cyber True Color)","artist":"Sota Fujimori","id":590,"data":{"genre":"TRANCE","displayVersion":"13"},"altTitles":["Look To The Sky (cyber true color)"],"searchTerms":[]},{"title":"with you…","artist":"Sota Fujimori","id":591,"data":{"genre":"FUNK'N JAZZ HOUSE","displayVersion":"13"},"altTitles":["with you・・・"],"searchTerms":["WITH YOU"]},{"title":"Winning Eleven9 Theme (IIDX EDITION)","artist":"Sota Fujimori","id":592,"data":{"genre":"NU BIGBEAT BREAKS","displayVersion":"13"},"altTitles":["Winning Eleven 9 Theme (IIDX EDITION)","Winning Eleven9 Theme(IIDX EDITION)"],"searchTerms":[]},{"title":"bluemoon","artist":"小野秀幸","id":593,"data":{"genre":"LATIN HORNS GROOVE","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"This is Love","artist":"D-crew feat.MAKOTO","id":594,"data":{"genre":"CORE POP","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"罠","artist":"good-cool","id":595,"data":{"genre":"DRUM'N'ROCK","displayVersion":"13"},"altTitles":[],"searchTerms":["WANA"]},{"title":"Ganymede","artist":"玄武","id":596,"data":{"genre":"ESOTERIC SLOWCORE","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"Ubiquitous Fantastic Ride","artist":"ELEKTEL","id":597,"data":{"genre":"ELECTRO LOUNGE","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"BALLAD THE FEATHERS","artist":"S.S.D.FANTASICA feat.Naomi Koizumi","id":598,"data":{"genre":"CELTIC REEL","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"Sun Field","artist":"mh sequence","id":599,"data":{"genre":"HAPPY POP","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"Enjoy your life","artist":"Mr.T plus H","id":600,"data":{"genre":"ELECTRONICA","displayVersion":"13"},"altTitles":["Enjoy Your Life"],"searchTerms":[]},{"title":"DUE TOMORROW","artist":"Mr.T","id":601,"data":{"genre":"TECHNO","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"BOOM BOOM DISCO NIGHT","artist":"Y&Co.","id":602,"data":{"genre":"EUROBEAT","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"Tonight?","artist":"dj REMO-CON","id":603,"data":{"genre":"ELECTROCK","displayVersion":"13"},"altTitles":["Tonight ?"],"searchTerms":[]},{"title":"tripping contact","artist":"kors k vs teranoid","id":604,"data":{"genre":"FREEFORM","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"Power of Love","artist":"kors k feat.PSY","id":605,"data":{"genre":"2 STEP","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"ay carumba!!!!","artist":"teranoid&MC Natsack","id":606,"data":{"genre":"NUSTYLE GABBA","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"So Fabulous !!","artist":"HHH (Ryu☆ & Dai)","id":607,"data":{"genre":"BUCHIAGE TRANCE","displayVersion":"13"},"altTitles":["So Fabulous!!"],"searchTerms":[]},{"title":"waxing and wanding","artist":"青龍","id":608,"data":{"genre":"DANCE SPEED","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"Harmony and Lovely","artist":"Ryu☆","id":609,"data":{"genre":"PROGRESSIVE HOUSE","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"MINT","artist":"SLAKE","id":610,"data":{"genre":"ELECTRONICA","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"EURO-ROMANCE","artist":"K-MASERA","id":611,"data":{"genre":"80's TECHNO","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"tiger yamato","artist":"tiger YAMATO","id":612,"data":{"genre":"NOISE POP","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"Pretty Punisher","artist":"baby weapon feat. asuka.m","id":613,"data":{"genre":"DANCE POP","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"TYPE MARS(G-Style Mix)","artist":"L.E.D.","id":614,"data":{"genre":"PSYCHEDELIC TRANCE","displayVersion":"13"},"altTitles":["TYPE MARS (G-style mix)"],"searchTerms":[]},{"title":"Crazy K.I.N.O.","artist":"Shoichiro Hirata","id":615,"data":{"genre":"MIXTURE","displayVersion":"13"},"altTitles":["Crazy K.I.N.O"],"searchTerms":[]},{"title":"Broadbanded","artist":"SADA","id":616,"data":{"genre":"TRANCE","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"Double♥♥Loving Heart","artist":"Tatsh feat. Junko Hirata & Sayaka Minami","id":617,"data":{"genre":"J-POP","displayVersion":"13"},"altTitles":["Double♡♡Loving Heart","Double♡♡Loving Heart","Double Loving Heart","Double??Loving Heart"],"searchTerms":["DOUBLE LOVING HEART"]},{"title":"Zenius -I- vanisher","artist":"Tatsh","id":618,"data":{"genre":"CYBER OPUS","displayVersion":"13"},"altTitles":["Zenius-I-vanisher"],"searchTerms":[]},{"title":"Parasite World","artist":"TЁЯRA underground","id":619,"data":{"genre":"HYPER J-CORE","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"WISH(EUROBEAT MIX)","artist":"DJ YOSHITAKA feat.杉村ことみ","id":620,"data":{"genre":"EUROBEAT","displayVersion":"13"},"altTitles":["WISH (EUROBEAT MIX)"],"searchTerms":[]},{"title":"tripping contact(teranoid&MC Natsack Remix)","artist":"kors k vs teranoid","id":621,"data":{"genre":"GABBA","displayVersion":"13"},"altTitles":["tripping contact (teranoid feat. MC Natsack Remix)"],"searchTerms":[]},{"title":"MOON","artist":"dj TAKA feat.Erika Mochizuki","id":622,"data":{"genre":"哀愁ユーロ","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"虹色","artist":"DJ YOSHITAKA feat. G.S.C license","id":623,"data":{"genre":"LOVELY TRANS POP","displayVersion":"13"},"altTitles":[],"searchTerms":["NIJIIRO"]},{"title":"Concertino in Blue","artist":"佐々木博史","id":624,"data":{"genre":"PROGRESSIVE","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"カゴノトリ~弐式~","artist":"橙色特別室","id":625,"data":{"genre":"和式電子音楽","displayVersion":"13"},"altTitles":["カゴノトリ〜弐式〜"],"searchTerms":["KAGONOTORI"]},{"title":"321 STARS","artist":"DJ SIMON","id":627,"data":{"genre":"TECHNO POP","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"Attack the music","artist":"DJ FX","id":628,"data":{"genre":"HARD TECHNO","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"Back Into The Light (recut)","artist":"Sota Fujimori","id":629,"data":{"genre":"2STEP POP TRANCE","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"Bleeding Luv ~Immorality act~","artist":"Xephia(Tatsh+Yuta)","id":630,"data":{"genre":"PROVIDENCE R","displayVersion":"13"},"altTitles":["Bleeding Luv ~Immorality act~","Bleeding Luv 〜Immorality act〜"],"searchTerms":["BLEEDING LUV -IMMORALITY ACT-"]},{"title":"breathless","artist":"Studio Bongo Mango feat.Tomoko Kataoka","id":631,"data":{"genre":"DIST.LOUNGE","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"CALDERA","artist":"CALF","id":632,"data":{"genre":"HARDCORE","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"Hybrid Landscape","artist":"Sota Fujimori","id":633,"data":{"genre":"TEC-DRUM'N'BASS","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"LIGHT MOTION","artist":"RAM","id":634,"data":{"genre":"RAVE","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"super highway","artist":"nouvo nude","id":635,"data":{"genre":"DRUM'N BASS","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"The Hope of Tomorrow (recut)","artist":"Sota Fujimori","id":636,"data":{"genre":"CYBORG TRANCE","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"VANISHING POINT","artist":"DJ CHUCKY","id":637,"data":{"genre":"NU STYLE GABBA","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"WaterCube Pf.(RX-Ver.S.P.L.)","artist":"高田雅史","id":638,"data":{"genre":"ETHNO POP","displayVersion":"13"},"altTitles":[],"searchTerms":[]},{"title":"リグレット","artist":"星野奏子","id":639,"data":{"genre":"EURO TRANCE","displayVersion":"14"},"altTitles":[],"searchTerms":["REGRET"]},{"title":"INORI","artist":"dj TAKA feat.HAL","id":640,"data":{"genre":"MILLENNIUM TRANCE","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"PHOTONGENIC","artist":"L.E.D. fw.堀澤麻衣子","id":641,"data":{"genre":"DRUM & BASS","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"Love Again...","artist":"Tatsh feat. Junko Hirata","id":642,"data":{"genre":"POPS","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"TRANOID","artist":"T&S seq. factory","id":643,"data":{"genre":"PSG WORKS","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"Candy Galy","artist":"Risk Junk-G","id":644,"data":{"genre":"HAPPY","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"never…","artist":"Kanako Hoshino with dj TAKA","id":645,"data":{"genre":"DANCE POP","displayVersion":"14"},"altTitles":["never..."],"searchTerms":["NEVER..."]},{"title":"GOLD RUSH","artist":"DJ YOSHITAKA-G feat.Michael a la mode","id":646,"data":{"genre":"RECKLESS RAVE","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"CaptivAte~誓い~","artist":"A/I","id":647,"data":{"genre":"NOSTALISH REQUIEM","displayVersion":"14"},"altTitles":["CaptivAte〜誓い〜"],"searchTerms":["CAPTIVATE-CHIKAI-"]},{"title":"VANESSA","artist":"朱雀","id":648,"data":{"genre":"DECEPTIVE GABBA","displayVersion":"14"},"altTitles":[],"searchTerms":["BANESSA"]},{"title":"GHOSTBUSTERS","artist":"Remixed by DJ Yoshitaka","id":649,"data":{"genre":"DISCO","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"星をこの手に","artist":"DJ YOSHITAKA feat.星野奏子","id":650,"data":{"genre":"J-POP","displayVersion":"14"},"altTitles":[],"searchTerms":["NINE ELEMENTS OF THE STAR"]},{"title":"零 - ZERO -","artist":"TЁЯRA","id":651,"data":{"genre":"HYPER J-POP ZERO","displayVersion":"14"},"altTitles":[],"searchTerms":["ZERO"]},{"title":"STARS☆☆☆(Re-tuned by HΛL) - IIDX EDITION -","artist":"TЁЯRA","id":652,"data":{"genre":"HYPER J-POP+","displayVersion":"14"},"altTitles":["STARS☆☆☆ (Re-tuned by HΛL)-IIDX EDITION-"],"searchTerms":["STARS***(RE-TUNED BY HAL)-IIDX EDITION-"]},{"title":"Blind Justice ~Torn souls, Hurt Faiths ~","artist":"Zektbach","id":653,"data":{"genre":"EPIC POETRY","displayVersion":"14"},"altTitles":["Blind Justice ~Torn souls, Hurt Faiths~","Blind Justice ~Torn souls, Hurt Faiths~","Blind Justice 〜Torn souls, Hurt Faiths 〜","Blind Justice 〜Torn souls, Hurt Faiths〜","Blind Justice ~Torn souls, Hurt Faiths ~"],"searchTerms":["Blind Justice"]},{"title":"Air Bell","artist":"D-crew","id":654,"data":{"genre":"FLOW POP","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"ヨシダさん","artist":"AKIRA YAMAOKA","id":655,"data":{"genre":"TECHNO","displayVersion":"14"},"altTitles":[],"searchTerms":["YOSHIDA SAN"]},{"title":"Play back hate you","artist":"AKIRA YAMAOKA","id":656,"data":{"genre":"小倉テクノ","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"ANDROMEDA II","artist":"Sota Fujimori","id":657,"data":{"genre":"PSYCHEDELIC SYNTH TRANCE","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"Cyber Force","artist":"Sota Fujimori feat.cyborg AKEMI","id":658,"data":{"genre":"CYBORG TRANCE","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"smile","artist":"miru_maki.gjw","id":659,"data":{"genre":"ELE POP","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"LASER CRUSTER","artist":"L.E.D.","id":660,"data":{"genre":"NU-SKOOL BREAKS","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"GRID KNIGHT","artist":"SAW WAVE SQUAD","id":661,"data":{"genre":"ELECTRONICA","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"CROSSROAD ~Left Story~","artist":"jun with TAHIRIH","id":662,"data":{"genre":"DRAMATIC EURO TRANCE","displayVersion":"14"},"altTitles":["CROSSROAD","CROSSROAD ~LEFT STORY~","CROSSROAD ~RIGHT STORY~","CROSSROAD 〜Left Story〜"],"searchTerms":["CROSSROAD"]},{"title":"HALF MOON","artist":"Mutsuhiko Izumi","id":663,"data":{"genre":"PROGRESSIVE","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"鬼言集","artist":"あさき","id":664,"data":{"genre":"INDUSTRIAL REVIEW","displayVersion":"14"},"altTitles":[],"searchTerms":["KIGONSHU"]},{"title":"Yabis Starlight","artist":"DAJI","id":665,"data":{"genre":"DIGITAL ROCK","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"earth-like planet","artist":"ELEKTEL","id":666,"data":{"genre":"ACID JAZZ","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"花吹雪 ~ IIDX LIMITED ~","artist":"S.S.D.FANTASICA feat.ユッコ","id":667,"data":{"genre":"JAPANESE ALTERATION","displayVersion":"14"},"altTitles":["花吹雪 〜 IIDX LIMITED 〜","花吹雪 ~IIDX LIMITED~"],"searchTerms":["HANAFUBUKI"]},{"title":"電人、暁に斃れる。","artist":"L.E.D.-G","id":668,"data":{"genre":"NU-NRG","displayVersion":"14"},"altTitles":[],"searchTerms":["FATAL ATTACK"]},{"title":"FIRE FIRE","artist":"StripE","id":669,"data":{"genre":"BUCHIAGE TRANCE","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"the shadow","artist":"kors k","id":670,"data":{"genre":"SCHRANZ","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"Come On","artist":"John Robinson","id":671,"data":{"genre":"TECHNO RAVE","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"Second Heaven","artist":"Ryu☆","id":672,"data":{"genre":"HANDZ UP","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"Dreaming Sweetness","artist":"Auridy","id":673,"data":{"genre":"SCOUSE HOUSE","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"Sense 2007","artist":"good-cool","id":674,"data":{"genre":"RAVE","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"2hot2eat","artist":"Osamu Kubota","id":675,"data":{"genre":"HINDU SALSA","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"Make Me Your Own","artist":"good-cool ft. Raj Ramayya","id":676,"data":{"genre":"HOUSE","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"heaven above","artist":"kors k","id":677,"data":{"genre":"FILTER HOUSE","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"With your Smile","artist":"Shoichiro Hirata plus Junko Hirata","id":678,"data":{"genre":"J-HOUSE","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"Roulette","artist":"Y&Co.","id":679,"data":{"genre":"EUROBEAT","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"So Real","artist":"Y&Co. feat.mioco","id":680,"data":{"genre":"歌謡ハウス","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"シティ・エンジェル","artist":"PINK PONG","id":681,"data":{"genre":"TRANCE","displayVersion":"14"},"altTitles":["シティ・エンジェル"],"searchTerms":["CITY ANGEL"]},{"title":"X-rated","artist":"SADA","id":682,"data":{"genre":"RETRO RAVE","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"op.31 叙情","artist":"akiko","id":683,"data":{"genre":"PIANO CONCERTO","displayVersion":"14"},"altTitles":[],"searchTerms":["OP.31 JOJOU"]},{"title":"カミロ・ウナ・メンデス","artist":"山根ミチル","id":684,"data":{"genre":"SPANISH COOL","displayVersion":"14"},"altTitles":[],"searchTerms":["CAMIRO UNA MENDES"]},{"title":"KAMAITACHI","artist":"DJ TECHNORCH fw. GUHROOVY","id":685,"data":{"genre":"FREEFORM HARDCORE","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"METALLIC MIND","artist":"DJ TECHNORCH fw. GUHROOVY","id":686,"data":{"genre":"OLDSKOOL HARDCORE RAVE","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"My Only Shining Star","artist":"NAOKI feat. Becky Lucinda","id":687,"data":{"genre":"HYPER EUROBEAT","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"CaptivAte~裁き~","artist":"DJ YOSHITAKA feat.A/I","id":688,"data":{"genre":"NOSTALISH REQUIEM","displayVersion":"14"},"altTitles":["CaptivAte〜裁き〜"],"searchTerms":["CAPTIVATE-SABAKI-"]},{"title":"High School Love","artist":"DJ YOSHITAKA feat.DWP","id":689,"data":{"genre":"HIGH SPEED LOVE SONG","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"The Smile of You","artist":"猫叉Master feat.JESSY","id":690,"data":{"genre":"POP","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"Fascination MAXX","artist":"100-200-400","id":691,"data":{"genre":"SuperNOVA BEAT","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"snow storm","artist":"dj TAKA","id":692,"data":{"genre":"TRANCE","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"HONEY♂PUNCH","artist":"小坂りゆ","id":693,"data":{"genre":"HAPPY DANCE POP","displayVersion":"14"},"altTitles":[],"searchTerms":["HONEY PUNCH"]},{"title":"four-leaf","artist":"Sis Bond Chit","id":694,"data":{"genre":"ROCK","displayVersion":"14"},"altTitles":["four leaf"],"searchTerms":[]},{"title":"クルクル☆ラブ~Opioid Peptide MIX~","artist":"イオンチャンネル","id":695,"data":{"genre":"FUTURE POP","displayVersion":"14"},"altTitles":["クルクル☆ラブ〜Opioid Peptide MIX〜","クルクル☆ラブ ~Opioid Peptide MIX~"],"searchTerms":["CURU CURU LOVE"]},{"title":"Red Rocket Rising","artist":"BeForU","id":696,"data":{"genre":"J-POP","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"Watch out!!","artist":"MAD Sequence*","id":697,"data":{"genre":"HIP HOP","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"Beginning of life(THE GROUND PULSE MIX)","artist":"Remixed by QUADRA","id":700,"data":{"genre":"TECHNO","displayVersion":"14"},"altTitles":["Beginning of life (THE GROUND PULSE MIX)"],"searchTerms":[]},{"title":"DENIM","artist":"SLAKE","id":701,"data":{"genre":"TECHNO","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"Electrified","artist":"SySF.","id":702,"data":{"genre":"ELECTRO","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"feeling of love","artist":"youhei shimizu","id":703,"data":{"genre":"HOUSE","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"Guilt & Love","artist":"The Plastic Ambition(jun & DJ YOSHITAKA)","id":704,"data":{"genre":"SHINING RAVE","displayVersion":"14"},"altTitles":["Guilt & Love"],"searchTerms":[]},{"title":"Playball","artist":"sanodg","id":705,"data":{"genre":"TECH HOUSE","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"Treasure×Star","artist":"NAOKI & Ryu☆ fw.さちまゆ","id":706,"data":{"genre":"DANCE POP SPEED","displayVersion":"14"},"altTitles":["Treasure × Star"],"searchTerms":["TREASURE*STAR"]},{"title":"Turning the motor over","artist":"Delaware feat. Jeff Coote","id":707,"data":{"genre":"LATIN SKA","displayVersion":"14"},"altTitles":[],"searchTerms":[]},{"title":"Anisakis -somatic mutation type\"Forza\"-","artist":"朱雀","id":708,"data":{"genre":"HARD RENAISSANCE","displayVersion":"15"},"altTitles":["Anisakis -somatic mutation type Forza\"-"],"searchTerms":["Blanasakis","Blanisakis"]},{"title":"desolation","artist":"Mr.T","id":709,"data":{"genre":"PIANO BALLADE","displayVersion":"10"},"altTitles":[],"searchTerms":[]},{"title":"Darling my LUV","artist":"DJ Yoshitaka feat.B-Agents","id":710,"data":{"genre":"J-R&B","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"MAX LOVE","artist":"DJ YOSHITAKA feat.星野奏子","id":711,"data":{"genre":"LOVELY BUCHIAGE POP","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"Blue Rain","artist":"dj TAKA VS Ryu☆","id":712,"data":{"genre":"TRANCE","displayVersion":"15"},"altTitles":[],"searchTerms":["Black Rain"]},{"title":"four pieces of heaven","artist":"Lion","id":713,"data":{"genre":"JUNGLE","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"走馬灯 -The Last Song-","artist":"TAKA","id":714,"data":{"genre":"SOLDIER'S BALLAD","displayVersion":"15"},"altTitles":[],"searchTerms":["The Last Song"]},{"title":"THE DEEP STRIKER","artist":"L.E.D.-G","id":715,"data":{"genre":"NU STYLE GABBA","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"STEEL NEEDLE","artist":"Scorpion","id":716,"data":{"genre":"BREAK CORE","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"SOUND OF GIALLARHORN","artist":"L.E.D.-G","id":717,"data":{"genre":"FREEFORM HARDCORE","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"REMINISCENCE","artist":"jun with Alison","id":718,"data":{"genre":"TRI EURO FANTASIA","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"PROMISE FOR LIFE","artist":"TЁЯRA WORKS","id":719,"data":{"genre":"BALLAD","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"高高度降下低高度開傘","artist":"Dr.Honda","id":720,"data":{"genre":"SYMPHONIC TECHNO","displayVersion":"15"},"altTitles":[],"searchTerms":["KOUKOUDOKOUKA TEIKOUDOKAISAN"]},{"title":"oratio","artist":"蓑舞衆","id":721,"data":{"genre":"HYMNUS","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"Ristaccia","artist":"Zektbach","id":722,"data":{"genre":"null","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"NEW GENERATION -もう、お前しか見えない-","artist":"SUPER STAR 満-MITSURU-","id":723,"data":{"genre":"ONLY ONE EURO BEAT","displayVersion":"15"},"altTitles":[],"searchTerms":["NEW GENERATION"]},{"title":"TROOPERS","artist":"Des-TRACT","id":724,"data":{"genre":"ULTIMATE CORE","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"SHIFT","artist":"AKIRA YAMAOKA","id":725,"data":{"genre":"TECHNO","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"マチ子の唄","artist":"AKIRA YAMAOKA","id":726,"data":{"genre":"EDUCATION","displayVersion":"15"},"altTitles":[],"searchTerms":["SONG OF MACHIKO"]},{"title":"beatonic nation","artist":"Sota Fujimori","id":727,"data":{"genre":"TECH-TRONIKA","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"State Of The Art","artist":"Sota Fujimori feat. cyborg AKEMI","id":728,"data":{"genre":"TECHNOTRONICA","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"end of world","artist":"猫叉Master+","id":729,"data":{"genre":"FRENZY HOUSE","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"evergreen","artist":"kors k","id":730,"data":{"genre":"PROG","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"ICARUS","artist":"Eagle","id":731,"data":{"genre":"NU-SKOOL BREAKBEATS HARDCORE","displayVersion":"15"},"altTitles":[],"searchTerms":["BLICARUS"]},{"title":"Dazzlin' Darlin","artist":"HHH","id":732,"data":{"genre":"HANDZ UP","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"Do it!! Do it!!","artist":"Kraken","id":733,"data":{"genre":"N-BEATS","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"Time to Air","artist":"青龍","id":734,"data":{"genre":"DANCE SPEED","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"avant-guerre","artist":"Osamu Kubota","id":735,"data":{"genre":"CLASSICAL PIANO SOLO","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"Digitank System","artist":"DJ Mass MAD Izm*","id":736,"data":{"genre":"TECH-BREAKBEATS","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"エコ爺","artist":"Y&Co.","id":737,"data":{"genre":"80's EURO","displayVersion":"15"},"altTitles":[],"searchTerms":["ECO-G"]},{"title":"2 tribe 4 K","artist":"Remo-con","id":738,"data":{"genre":"TRIBAL","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"madrugada","artist":"PINK PONG","id":739,"data":{"genre":"PROGRESSIVE HOUSE","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"MENTAL MELTDOWN","artist":"GUHROOVY fw.TECHNORCH","id":740,"data":{"genre":"HARD HOP","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"ROCK ME NOW","artist":"GUHROOVY fw. NO+CHIN","id":741,"data":{"genre":"RAGGA ROCK","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"JOURNEY TO \"FANTASICA\" (IIDX LIMITED)","artist":"S.S.D.FANTASICA feat. EMI with ARATA","id":742,"data":{"genre":"THE WORLD GROOVE","displayVersion":"15"},"altTitles":["JOURNEY TO\"FANTASICA\"(IIDX LIMITED)"],"searchTerms":[]},{"title":"叶うまでは","artist":"ウッチーズ","id":743,"data":{"genre":"ELECTRIC AOR","displayVersion":"15"},"altTitles":[],"searchTerms":["KANAUMADEHA"]},{"title":"soldier's waltz","artist":"DAJI","id":744,"data":{"genre":"WALTZ BEAT","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"I'm In Love Again -DJ YOSHITAKA REMIX-","artist":"Remixed by DJ YOSHITAKA","id":745,"data":{"genre":"TRANCE","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"the trigger of innocence","artist":"Seiya Murai","id":746,"data":{"genre":"ETHNOTRONICA","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"少年A","artist":"Remixed by 少年ラジオ","id":747,"data":{"genre":"POST RENAISSANCE","displayVersion":"15"},"altTitles":[],"searchTerms":["KID A"]},{"title":"scar in the earth","artist":"猫叉Master","id":748,"data":{"genre":"WORLD/ELECTRONICA","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"Be OK","artist":"good-cool ft. Florence","id":749,"data":{"genre":"EUROBEAT","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"湘南族 -cannibal coast-","artist":"Aural Vampire","id":750,"data":{"genre":"ELECTRO","displayVersion":"15"},"altTitles":[],"searchTerms":["SHONANZOKU"]},{"title":"Kick Out 仮面","artist":"上野圭市(aka. Babyweapon,DJ SWAMI)feat.星野奏子","id":751,"data":{"genre":"E-DANCE POP","displayVersion":"15"},"altTitles":[],"searchTerms":["KICK OUT KAMEN"]},{"title":"satfinal","artist":"RAM","id":752,"data":{"genre":"RAVE","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"Wanna Party?","artist":"RAM","id":753,"data":{"genre":"PIANO HOUSE","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"radius","artist":"yasuhiro abe","id":754,"data":{"genre":"DANCE","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"Now and Forever","artist":"StripE vs MUNETICA feat.ARISA","id":755,"data":{"genre":"ENERGETIC TRANCE","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"Freeway Shuffle","artist":"dj TAKA","id":757,"data":{"genre":"TRANCE","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"PARANOiA ~HADES~","artist":"αTYPE-300","id":758,"data":{"genre":"SUPERNOVA2 BEAT #1","displayVersion":"15"},"altTitles":["PARANOiA 〜HADES〜"],"searchTerms":["PARANOIA -HADES-"]},{"title":"TRIP MACHINE PhoeniX","artist":"DE-SIRE改","id":759,"data":{"genre":"SUPERNOVA2 BEAT #2","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"Shades of Grey","artist":"Fracus","id":760,"data":{"genre":"HARD TRANCE","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"Rising in the Sun(original mix)","artist":"kors k feat.Rie","id":761,"data":{"genre":"UK HARDCORE","displayVersion":"15"},"altTitles":["Rising in the Sun (original mix)"],"searchTerms":[]},{"title":"華爛漫 -Flowers-","artist":"TЁЯRA","id":762,"data":{"genre":"HYPER JAPANESQUE 2","displayVersion":"15"},"altTitles":[],"searchTerms":["HANARANMAN"]},{"title":"switch","artist":"DAISUKE ASAKURA ex.TЁЯRA","id":763,"data":{"genre":"ULTIMATE J-POP","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"ミラージュ・レジデンス","artist":"Jimmy Weckl","id":764,"data":{"genre":"FUSION","displayVersion":"15"},"altTitles":[],"searchTerms":["MIRAGE REGIDENCE"]},{"title":"in the Sky","artist":"Ryu☆","id":766,"data":{"genre":"HAPPY HARDCORE","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"LOVELY STORM","artist":"L.E.D.-G","id":767,"data":{"genre":"HAPPY HARDCORE","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"satellite020712 from \"CODED ARMS\"","artist":"猫叉Master","id":768,"data":{"genre":"HARD HOUSE","displayVersion":"15"},"altTitles":["satellite020712 from CODED ARMS\" (DJT)"],"searchTerms":[]},{"title":"Übertreffen","artist":"TAKA respect for J.S.B.","id":769,"data":{"genre":"PROGRESSIVE BAROQUE","displayVersion":"15"},"altTitles":["Ubertreffen","?bertreffen"],"searchTerms":["ubertreffen"]},{"title":"Biometrics Warrior","artist":"GUHROOVY fw.NO+CHIN","id":776,"data":{"genre":"RAGGACORE","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"CRYMSON","artist":"RAM","id":777,"data":{"genre":"DIGITAL HARDCORE","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"Pluto","artist":"Black∞Hole","id":778,"data":{"genre":"SUPERNOVA2 BEAT EX","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"symptom","artist":"kobo vs kr:ague","id":779,"data":{"genre":"DRUM'N'BASS","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"WHAT'S NEXT?","artist":"SLAKE feat. DAINA NORMAN","id":780,"data":{"genre":"NU JAZZ","displayVersion":"15"},"altTitles":[],"searchTerms":[]},{"title":"CaptivAte2~覚醒~","artist":"e-lma","id":781,"data":{"genre":"NOSTALISH REQUIEM","displayVersion":"16"},"altTitles":["CaptivAte2〜覚醒〜"],"searchTerms":["CAPTIVATE2"]},{"title":"翼","artist":"小林ゆう","id":782,"data":{"genre":"J-TRANCE","displayVersion":"16"},"altTitles":[],"searchTerms":["TSUBASA"]},{"title":"B4U(BEMANI FOR YOU MIX)","artist":"Remixed by DJ YOSHITAKA with Michael a la mode","id":783,"data":{"genre":"RECKLESS RAVE","displayVersion":"16"},"altTitles":["B4U (BEMANI FOR YOU MIX)"],"searchTerms":[]},{"title":"Colorful Cookie","artist":"Lucky Vacuum","id":784,"data":{"genre":"HAPPY HARDCORE","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"MENDES","artist":"Humanoid","id":786,"data":{"genre":"IRREGULAR HI-BREAK","displayVersion":"15"},"altTitles":[],"searchTerms":["BLENDES"]},{"title":"V2","artist":"TAKA","id":787,"data":{"genre":"PROGRESSIVE","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"天空脳番長危機十六連打","artist":"D.J.SETUP","id":788,"data":{"genre":"RAGE AGAINST EMPRESS","displayVersion":"16"},"altTitles":[],"searchTerms":["RAGE AGAINST EMPRESS"]},{"title":"不沈艦CANDY","artist":"Risk Junk","id":789,"data":{"genre":"HARDCORE","displayVersion":"16"},"altTitles":[],"searchTerms":["FUCHINKAN CANDY"]},{"title":"JEWELLERY STORM","artist":"L.E.D.-G fw. Eriko Tanzawa","id":790,"data":{"genre":"HARDCORE","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"HYPERION","artist":"L.E.D.","id":791,"data":{"genre":"MORNING FULL ON","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"BITTER CHOCOLATE STRIKER","artist":"L.E.D.-G","id":792,"data":{"genre":"JUMPSTYLE","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"Fly Above","artist":"Sota Fujimori","id":793,"data":{"genre":"DREAM TRANCE","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"Arabian Rave Night","artist":"dj MAX STEROID","id":794,"data":{"genre":"ARABIC HARDCORE","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"アタックNO.3","artist":"IDEA NOTE","id":795,"data":{"genre":"DRAGON'BASS","displayVersion":"16"},"altTitles":["アタック NO.3","アタックno.3"],"searchTerms":["ATTACK NO.3"]},{"title":"山岡晃の「クイズ!家事都合!」","artist":"AKIRA YAMAOKA feat.喜屋武ちあき","id":796,"data":{"genre":"ポップス","displayVersion":"16"},"altTitles":[],"searchTerms":["AKIRA YAMAOKA"]},{"title":"Queen's Tragedy","artist":"猫叉Master+","id":797,"data":{"genre":"BIGBEAT","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"Kung-fu Empire","artist":"飛燕流舞","id":798,"data":{"genre":"ASIAN JANGLE","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"ミッドナイト堕天使","artist":"Dr.Honda","id":799,"data":{"genre":"TRENDY TECHNO","displayVersion":"16"},"altTitles":[],"searchTerms":["MIDNIGHT DATENSHI"]},{"title":"ALL MY TURN -このターンに、オレの全てを賭ける-","artist":"SUPER STAR 満-MITSURU-","id":800,"data":{"genre":"ONLY ONE EURO BEAT","displayVersion":"16"},"altTitles":[],"searchTerms":["ALL MY TURN"]},{"title":"Marie Antoinette","artist":"Marguerite du Pré","id":801,"data":{"genre":"宮廷円舞曲","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"Turii ~Panta rhei~","artist":"Zektbach","id":802,"data":{"genre":"ELEMENTAL CHANT","displayVersion":"16"},"altTitles":["Turii 〜Panta rhei〜"],"searchTerms":["TURII -PANTA RHEI-"]},{"title":"卑弥呼","artist":"朱雀 VS 玄武","id":803,"data":{"genre":"ESOTERIC SPEEDCORE","displayVersion":"16"},"altTitles":[],"searchTerms":["HIMIKO"]},{"title":"smooooch・∀・","artist":"kors k","id":804,"data":{"genre":"CANDY RAVE","displayVersion":"16"},"altTitles":[],"searchTerms":["SMOOOOCH"]},{"title":"Flash Back 90's","artist":"kors k as disconation","id":805,"data":{"genre":"MEGA MIX","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"Programmed World","artist":"kors k as StripE","id":806,"data":{"genre":"PSY TRANCE(FULL ON)","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"まほろば","artist":"HHH+H","id":807,"data":{"genre":"J-DANCE POP","displayVersion":"16"},"altTitles":[],"searchTerms":["MAHOROBA"]},{"title":"Mind Mapping","artist":"Ryu☆","id":808,"data":{"genre":"ELECTRO-TECH","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"3y3s","artist":"青龍","id":809,"data":{"genre":"DANCE SPEED","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"Monkey Dance '09","artist":"Y&Co. Feat. DOMINO","id":810,"data":{"genre":"EUROBEAT","displayVersion":"16"},"altTitles":[],"searchTerms":["Monkey Dance 09"]},{"title":"Y&Co. is dead or alive","artist":"Y&Co.","id":811,"data":{"genre":"90's RAVE","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"ALL I NEED YOUR LOVE","artist":"GUHROOVY fw. M-Project","id":812,"data":{"genre":"HARD CORE","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"NΦ CRIME","artist":"C×F","id":813,"data":{"genre":"DANCE MUSIC OF SORROW","displayVersion":"16"},"altTitles":[],"searchTerms":["N0 CRIME"]},{"title":"naughty girl@Queen's Palace","artist":"DJ Mass MAD Izm*","id":814,"data":{"genre":"TECH-BREAKBEATS","displayVersion":"16"},"altTitles":[],"searchTerms":["NAUGHTY GIRL QUEEN'S PALACE"]},{"title":"BRIDAL FESTIVAL !!!","artist":"S.S.D. with ななっち","id":815,"data":{"genre":"HAPPY ☆ JIG","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"MY FUTURE","artist":"PINK PONG","id":816,"data":{"genre":"TRANCE","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"Punch Love♡仮面","artist":"上野圭市(aka. Babyweapon,DJ SWAMI)feat.星野奏子","id":817,"data":{"genre":"E-DANCE POP","displayVersion":"16"},"altTitles":["PunchLove♡仮面","Punch Love ♡ 仮面","Punch Love 仮面","Punch Love?仮面"],"searchTerms":["PUNCH LOVE KAMEN"]},{"title":"I'm Screaming LOVE","artist":"Creative Life","id":818,"data":{"genre":"TECHNO POP","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"鉄甲乙女-under the steel-","artist":"Seiya Murai","id":819,"data":{"genre":"IRON CONCERTO","displayVersion":"16"},"altTitles":["鉄甲乙女 -under the steel-"],"searchTerms":["TEKKOU OTOME-UNDER THE STEEL-"]},{"title":"You'll say \"Now!\"","artist":"BLACK STAR 幸広-YUKIHIRO-","id":820,"data":{"genre":"ONLY ONE TECHNO","displayVersion":"16"},"altTitles":["You'll say Now!"],"searchTerms":[]},{"title":"Secrets","artist":"good-cool ft. CHiCO","id":821,"data":{"genre":"TECH-PARA","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"ハリツヤランデヴー","artist":"Des-MASTERS","id":822,"data":{"genre":"HOU-ROCK","displayVersion":"16"},"altTitles":[],"searchTerms":["HARI TSUYA RENDEZ-VOUZ"]},{"title":"neogenesis","artist":"DM Ashura","id":823,"data":{"genre":"ENERGETIC TRANCE","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"THE SHINING POLARIS(kors k mix)","artist":"Remixed by kors k","id":824,"data":{"genre":"UK HARD CORE","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"Bahram Attack-猫叉Master Remix-","artist":"猫叉Master feat.JUNE","id":825,"data":{"genre":"HOUSE","displayVersion":"16"},"altTitles":["Bahram Attack -猫叉Master Remix-"],"searchTerms":["BAHRAM ATTACK"]},{"title":"Cyber Force -DJ Yoshitaka Remix-","artist":"Remixed by DJ YOSHITAKA","id":826,"data":{"genre":"BUCHIAGE TRANCE","displayVersion":"16"},"altTitles":["Cyber Force -DJ Yoshitaka Remix- "],"searchTerms":["Cyber Force -DJ Yoshitaka Remix- "]},{"title":"PSYCHE PLANET-GT","artist":"Remixed by L.E.D.","id":827,"data":{"genre":"PSYCHEDELIC TRANCE","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"THANK YOU FOR PLAYING","artist":"SUPER STAR 満-MITSURU-","id":828,"data":{"genre":"ONLY ONE EPILOGUE","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"HOUSE NATION","artist":"ravex","id":829,"data":{"genre":"HOUSE","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"thunder HOUSE NATION Remix","artist":"Remixed by Sunset In Ibiza(SII)","id":830,"data":{"genre":"HOUSE","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"Our Song","artist":"Shinichi Osawa","id":831,"data":{"genre":"HOUSE","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"Jack","artist":"DesQ","id":832,"data":{"genre":"MIXTURE","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"凛として咲く花の如く","artist":"紅色リトマス","id":833,"data":{"genre":"撫子ロック","displayVersion":"16"},"altTitles":[],"searchTerms":["RINTOSHITESAKUHANANOGOTOKU"]},{"title":"Go Beyond!!","artist":"Ryu☆ Vs. Sota","id":834,"data":{"genre":"TRANCE CORE","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"SOLITON BEAM","artist":"L.E.D.","id":835,"data":{"genre":"TECHNO","displayVersion":"16"},"altTitles":["SOLITON BEAM (Empress)"],"searchTerms":[]},{"title":"Just a Little Smile","artist":"Sota Fujimori","id":836,"data":{"genre":"NU SKOOL BREAKS","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"Back Into The Light -Feelings Won't Fade Vocal Mix-","artist":"Sota Fujimori","id":846,"data":{"genre":"TRANCE","displayVersion":"16"},"altTitles":["Back Into The Light -Feeling Won't Fade Vocal Mix-"],"searchTerms":[]},{"title":"Electrorgasm","artist":"Sota Fujimori","id":847,"data":{"genre":"ELECTRO","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"ERaSeR EnGinE DistorteD","artist":"L.E.D.-G VS GUHROOVY","id":848,"data":{"genre":"HARDCORE","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"FLAG OF PEACE","artist":"GUHROOVY fw.NO+CHIN","id":849,"data":{"genre":"DRUM'N'BASS","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"Gymnopedie 009","artist":"Studio Bongo Mango feat. Junko Wada (BE THE VOICE)","id":850,"data":{"genre":"BOSSA ELECTRO","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"Sunshine Hero","artist":"kors k feat.Mari*Co","id":851,"data":{"genre":"乙女ハウス","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"Troposphere","artist":"kobo","id":852,"data":{"genre":"DRUM'N'BASS","displayVersion":"16"},"altTitles":[],"searchTerms":[]},{"title":"Elisha","artist":"DJ YOSHITAKA","id":853,"data":{"genre":"TRANCE CORE","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"たからもの","artist":"セリカ&エリカ","id":854,"data":{"genre":"POPS","displayVersion":"17"},"altTitles":[],"searchTerms":["TAKARAMONO"]},{"title":"MIRACLE MEETS","artist":"Lucky Vacuum","id":855,"data":{"genre":"BUCHIAGE TRANCE","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"NoN-Fiction Story!","artist":"Creative Life","id":856,"data":{"genre":"TECHNO POP","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"DROP","artist":"dj TAKA feat.Kanako Hoshino","id":857,"data":{"genre":"WHITE SEQUENCE","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"Roots of my way!","artist":"ナイア","id":858,"data":{"genre":"ACTRESS","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"G59","artist":"怒れる金の獅子","id":859,"data":{"genre":"EXPERIMENTAL MUSIC","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"DOMINION","artist":"L.E.D.-G","id":860,"data":{"genre":"HARDCORE","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"GALGALIM","artist":"L.E.D.","id":861,"data":{"genre":"HARDCORE TECHNO","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"EXUSIA","artist":"L.E.D.-G","id":862,"data":{"genre":"HARDCORE","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"with me...","artist":"Sota Fujimori feat.Kemy","id":863,"data":{"genre":"ELECTRO","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"フェティッシュペイパー ~脇の汗回転ガール~","artist":"ガキ大将ティーム","id":864,"data":{"genre":"モッシュ","displayVersion":"17"},"altTitles":["フェティッシュペイパー 〜脇の汗回転ガール〜"],"searchTerms":["FETISH PAPER"]},{"title":"being torn the sky","artist":"猫叉Master+ feat.JUNE","id":865,"data":{"genre":"ELECTRO POP","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"She is my wife","artist":"SUPER STAR 満-MITSURU-","id":866,"data":{"genre":"ONLY ONE BALLAD","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"NEW SENSATION -もう、あなたしか見えない-","artist":"SUPER HEROINE 彩香-AYAKA-","id":867,"data":{"genre":"ONLY ONE IDOL SONG","displayVersion":"17"},"altTitles":[],"searchTerms":["NEW SENSATION"]},{"title":"Raison d'être~交差する宿命~","artist":"Zektbach","id":868,"data":{"genre":"ASTRAL CHOIR","displayVersion":"17"},"altTitles":["Raison d'être〜交差する宿命〜","Raison d'être~交差する宿命~","Raison d'etre~交差する宿命~","Raison d'?tre~交差する宿命~"],"searchTerms":["RAISON D'ETRE-MALCHUT AND L'ERISIA-"]},{"title":"Almagest","artist":"Galdeira","id":869,"data":{"genre":"AKASHIC RECORDS","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"ワルツ第17番 ト短調”大犬のワルツ”","artist":"virkato","id":870,"data":{"genre":"VALSE","displayVersion":"17"},"altTitles":["ワルツ第17番 ト短調\"大犬のワルツ","ワルツ第17番 ト短調\"大犬のワルツ\""],"searchTerms":["VALSE DU GRANDE CHIEN"]},{"title":"London Affairs Beckoned With Money Loved By Yellow Papers.","artist":"Paddington Private Detective","id":871,"data":{"genre":"SERIOUS STEP","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"To the Future","artist":"seiya-murai","id":872,"data":{"genre":"CLUB 80's","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"バビロニア","artist":"劇団レコード","id":873,"data":{"genre":"DISTORTED NEW AGE","displayVersion":"17"},"altTitles":[],"searchTerms":["BABYLONIA"]},{"title":"Last Burning","artist":"Dirty Androids","id":874,"data":{"genre":"ELECTRO","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"Bad Maniacs","artist":"kors k as teranoid","id":875,"data":{"genre":"INDUSTRIAL","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"Programmed Sun","artist":"kors k","id":876,"data":{"genre":"PSY TRANCE(MORNING)","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"D","artist":"Eagle","id":877,"data":{"genre":"NEXT SKOOL BREAKBEATS HARDCORE","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"bloomin' feeling","artist":"Ryu☆","id":878,"data":{"genre":"HAPPY HARDCORE","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"Light Shine","artist":"Ryu☆","id":879,"data":{"genre":"BUBBLEGUM DANCE","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"DESIRE","artist":"M-Project fw. GUHROOVY","id":880,"data":{"genre":"UK HARDCORE","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"AIR RAID FROM THA UNDAGROUND","artist":"GUHROOVY","id":881,"data":{"genre":"SPEEDCORE","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"Mysterious Time","artist":"Y&Co.","id":882,"data":{"genre":"EUROBEAT","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"Brazilian Fire","artist":"Ben Franklin","id":883,"data":{"genre":"LATIN HOUSE","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"One of A Kind","artist":"Crystal Begley","id":884,"data":{"genre":"TECHNO/DANCE","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"Red. by Full Metal Jacket","artist":"DJ Mass MAD Izm*","id":885,"data":{"genre":"TECH-BREAKBEATS","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"コスモス","artist":"TSU-NA","id":886,"data":{"genre":"J-POP","displayVersion":"17"},"altTitles":[],"searchTerms":["COSMOS"]},{"title":"かずあそび","artist":"CULTVOICE by S.S.D.PRODUCTS","id":887,"data":{"genre":"INSANIO","displayVersion":"17"},"altTitles":[],"searchTerms":["KAZUASOBI"]},{"title":"beatchic☆仮面~好き、でいさせて~","artist":"上野圭市(transforming into Masao♥Lovely)feat.星野奏子","id":888,"data":{"genre":"E-DANCE POP","displayVersion":"17"},"altTitles":[],"searchTerms":["BEATCHIC KAMEN"]},{"title":"Sunrise","artist":"good-cool ft. KOЯO","id":889,"data":{"genre":"DRUM'N'METAL","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"未来のプリズム","artist":"星野奏子","id":890,"data":{"genre":"STARPOP","displayVersion":"17"},"altTitles":[],"searchTerms":["PRISM OF FUTURE"]},{"title":"Chocolate Dancing","artist":"Yocke feat.Mayu","id":891,"data":{"genre":"TRIP-POP","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"Keep it-秋葉工房mix-","artist":"DJ Command feat. NAGISA","id":892,"data":{"genre":"EUROBEAT","displayVersion":"17"},"altTitles":[],"searchTerms":["Keep it-AKIBA KOUBOU MIX-"]},{"title":"Dazzlin' Darlin-秋葉工房mix-","artist":"Remixed by DJ Command","id":893,"data":{"genre":"EUROBEAT","displayVersion":"17"},"altTitles":[],"searchTerms":["Dazzlin' Darlin-AKIBA KOUBOU MIX-"]},{"title":"Session 1 -Genesis-","artist":"PRASTIK DANCEFLOOR","id":894,"data":{"genre":"ELECTRIC FUSION","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"Do Back Burn","artist":"PRASTIK DANCEFLOOR","id":895,"data":{"genre":"ELECTRO","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"Hydrogen Blueback","artist":"MAD CHILD","id":896,"data":{"genre":"TECH DANCE","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"mosaic","artist":"Auridy","id":897,"data":{"genre":"TECHNO POP SPEED","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"MIRU key way","artist":"Jacca PoP","id":898,"data":{"genre":"ELECTRO POP","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"Empire State Glory","artist":"Dirty Androids","id":899,"data":{"genre":"CYBERPUNK","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"SPARK ! -essential RMX-","artist":"Remixed by dj TAKA VS PINK PONG","id":900,"data":{"genre":"TRANCE","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"spiral galaxy -L.E.D. STYLE SPREADING PARTICLE BEAM MIX-","artist":"Remixed by L.E.D.","id":901,"data":{"genre":"PSYCHEDELIC TRANCE","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"DENJIN AKATSUKINI TAORERU -SF PureAnalogSynth Mix-","artist":"Remixed by Sota Fujimori","id":902,"data":{"genre":"PSYCHE TRANCE","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"CaptivAte~裁き~(SUBLIME TECHNO MIX)","artist":"Remixed by DJ YOSHITAKA","id":903,"data":{"genre":"SUBLIME TECHNO","displayVersion":"17"},"altTitles":["CaptivAte〜裁き〜(SUBLIME TECHNO MIX)"],"searchTerms":["CaptivAte-SABAKI-(SUBLIME TECHNO MIX) "]},{"title":"bass 2 bass","artist":"Ryu☆","id":904,"data":{"genre":"BUBBLEGUM DANCE","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"IN THE NAME OF LOVE","artist":"Y&Co.feat.Erica","id":905,"data":{"genre":"EUROBEAT","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"Special One","artist":"kors k feat. Suzuyo Miyamoto","id":906,"data":{"genre":"J-HOUSE","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"Evans","artist":"DJ YOSHITAKA","id":907,"data":{"genre":"HARD RENAISSANCE","displayVersion":"17"},"altTitles":["Evans -prototype-"],"searchTerms":[]},{"title":"水上の提督(Short mix from \"幻想水滸伝V\")","artist":"猫叉Master","id":908,"data":{"genre":"WORLD/ELECTRONICA","displayVersion":"17"},"altTitles":["水上の提督 (Short mix from ”幻想水滸伝V”)"],"searchTerms":["SUIJYOUNOTEITOKU"]},{"title":"eRAseRmOToRpHAntOM","artist":"L.E.D.-G VS GUHROOVY","id":909,"data":{"genre":"HARDCORE","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"DAWN -THE NEXT ENDEAVOUR-","artist":"L.E.D. fw.堀澤麻衣子","id":910,"data":{"genre":"DRUM & BASS","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"サヨナラ・ヘヴン","artist":"猫叉Master","id":911,"data":{"genre":"WORLD/ELECTRONICA","displayVersion":"17"},"altTitles":[],"searchTerms":["SAYONARA HEAVEN"]},{"title":"quell~the seventh slave~","artist":"dj TAKA Vs. DJ YOSHITAKA","id":912,"data":{"genre":"TRANCE","displayVersion":"17"},"altTitles":["quell〜the seventh slave〜","quell -the seventh slave-"],"searchTerms":["quell-the seventh slave-"]},{"title":"SOLID STATE SQUAD","artist":"kors k Vs. L.E.D.","id":913,"data":{"genre":"HARDSTYLE","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"GOLDEN CROSS","artist":"dj REMO-CON VS dj TAKA","id":914,"data":{"genre":"TECHNO","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"The Story Begins","artist":"SADA & Sota","id":915,"data":{"genre":"EPIC TRANCE","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"BEAUTIFUL ANGEL","artist":"DJ SWAN","id":916,"data":{"genre":"DRUM'N'BASS","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"THE LAST STRIKER","artist":"L.E.D.","id":917,"data":{"genre":"DRUM & BASS","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"Sorrows","artist":"Asako Yoshihiro","id":918,"data":{"genre":"EMO","displayVersion":"17"},"altTitles":[],"searchTerms":[]},{"title":"Almagest (HCN Ver.)","artist":"Galdeira","id":919,"data":{"genre":"AKASHIC RECORDS","displayVersion":"17"},"altTitles":[],"searchTerms":["Almagest (HCN Ver.) "]},{"title":"Stay my side","artist":"DJ Yoshitaka feat.RINA","id":921,"data":{"genre":"R&B","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Watch Out Pt.2","artist":"DJ Mass MAD Izm* VS.DJ Yoshitaka","id":922,"data":{"genre":"TECH-BREAKBEATS","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Tropical April","artist":"Risk Junk","id":923,"data":{"genre":"VACATION DANCE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"DAYDREAMER","artist":"ピンクターボ","id":924,"data":{"genre":"GIRLY ROCK","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"perditus†paradisus","artist":"iconoclasm","id":925,"data":{"genre":"ANTHEM CORE","displayVersion":"18"},"altTitles":[],"searchTerms":["perditus/paradisus"]},{"title":"THE DOOR INTO RAINBOW","artist":"L.E.D.","id":926,"data":{"genre":"TRANCE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"XANADU OF TWO","artist":"T.Kakuta With Starving Trancer + 森永真由美","id":927,"data":{"genre":"DANCE POP","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"ELECTRIC MASSIVE DIVER","artist":"L.E.D.-G","id":928,"data":{"genre":"GABBA","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"THE BLACK KNIGHT","artist":"L.E.D.","id":929,"data":{"genre":"GOA TRANCE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"PARADISE LOST","artist":"Ryu☆ Vs. L.E.D.-G","id":930,"data":{"genre":"TRANCE CORE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Never Fade Away","artist":"Sota Fujimori feat. dj MAX STEROID","id":931,"data":{"genre":"IIDX HANDZ UP!!","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"おおきなこえで","artist":"猫叉Master feat.Sana","id":932,"data":{"genre":"WORLD/POPS","displayVersion":"18"},"altTitles":[],"searchTerms":["OOKINA KOEDE"]},{"title":"Destiny Sword","artist":"CAPACITY GATE","id":933,"data":{"genre":"ELECTRIC STEP","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Aegis","artist":"IT medalion","id":934,"data":{"genre":"TECHNO","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"ZETA~素数の世界と超越者~","artist":"Zektbach","id":935,"data":{"genre":"IDM","displayVersion":"18"},"altTitles":[],"searchTerms":["ZETA"]},{"title":"旅人リラン","artist":"XOGO BRYKK","id":936,"data":{"genre":"ELECLORE","displayVersion":"18"},"altTitles":[],"searchTerms":["THE FLYING RERUN"]},{"title":"La Mar","artist":"seiya-murai feat. David Solanes Venzala","id":937,"data":{"genre":"CATALA LOUNGE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Dances with Snow Fairies","artist":"Dr.Honda","id":938,"data":{"genre":"トレンディートランス","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"I FIGHT ME","artist":"kobo feat. Marsha","id":939,"data":{"genre":"DRUM & BASS","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Vermillion","artist":"Mystic Moon","id":940,"data":{"genre":"PSYCHE FUSION","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Programmed Life","artist":"kors k","id":941,"data":{"genre":"PSY TRANCE(FULL ON)","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Kailua","artist":"kors k","id":942,"data":{"genre":"ENERGETIC HAWAIIAN TRANCE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Bounce Bounce Bounce","artist":"kors k feat.Kanata Okajima&楽天斎","id":943,"data":{"genre":"DANCEHALL","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Mermaid girl","artist":"Cream puff","id":944,"data":{"genre":"BUBBLEGUM DANCE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"passionate fate","artist":"Ryu☆","id":945,"data":{"genre":"HANDZ UP","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Golden Palms","artist":"Dirty Androids","id":946,"data":{"genre":"NU DISCO","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"New Castle Legions","artist":"Dirty Androids","id":947,"data":{"genre":"DYSTOPIA","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"BLUST OF WIND","artist":"Anemo=Aspel by MLREC.","id":948,"data":{"genre":"CROSSOVER HOUSE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"BROKEN EDEN","artist":"MYTHOLOGIA by MLREC.","id":949,"data":{"genre":"SYMPHONIC-TEK","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"かげぬい ~ Ver.BENIBOTAN ~","artist":"CULTVOICE by S.S.D.PRODUCTS","id":950,"data":{"genre":"NATSU MATSURI","displayVersion":"18"},"altTitles":["かげぬい 〜 Ver.BENIBOTAN 〜"],"searchTerms":["KAGENUI"]},{"title":"Rock Da House","artist":"M-Project fw. GUHROOVY","id":951,"data":{"genre":"UK HARDCORE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"EXTREMA PT. 2","artist":"Remo-con","id":952,"data":{"genre":"TECH DANCE","displayVersion":"18"},"altTitles":["EXTREMA PT.2"],"searchTerms":[]},{"title":"灼熱Beach Side Bunny","artist":"DJ Mass MAD Izm*","id":953,"data":{"genre":"BROKEN SAMBA BREAK","displayVersion":"18"},"altTitles":[],"searchTerms":["SHAKUNETSU BEACH SIDE BUNNY","bsb"]},{"title":"Raise your hands","artist":"Keiichi Ueno feat. RIISA","id":954,"data":{"genre":"OKINAWA ANTHEM","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"You Were The One","artist":"good-cool ft. Brenda Vaughn","id":955,"data":{"genre":"ITALO HOUSE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Answer","artist":"星野奏子","id":956,"data":{"genre":"STARPOP","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"WISE UP!","artist":"木之下慶行 feat.星野奏子","id":957,"data":{"genre":"RESORT HOUSE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"恋愛レボリューション21-秋葉工房mix-","artist":"DJ Command feat. うさ&ともみん","id":958,"data":{"genre":"EUROBEAT","displayVersion":"18"},"altTitles":[],"searchTerms":["RENAI REVOLUTION 21 -AKIBA KOUBOU MIX-"]},{"title":"LIFE SCROLLING","artist":"HIROSHI WATANABE","id":959,"data":{"genre":"DETROIT TECHNO","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Session 9 -Chronicles-","artist":"PRASTIK DANCEFLOOR","id":960,"data":{"genre":"ROCKIN' DRUM'N'BASS","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Space Time","artist":"NISH","id":961,"data":{"genre":"ENERGETIC TRANCE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"ラクエン Feat.Chiharu Chonan -JAKA respect for K.S.K. Remix","artist":"Remixed by JAKAZiD","id":962,"data":{"genre":"TECHY FREEFORM","displayVersion":"18"},"altTitles":["ラクエン Feat.Chiharu Chonan -JAKA respect for K.S.K. remix"],"searchTerms":["RAKUEN FEAT.CHIHARU CHONAN -JAKA RESPECT FOR K.S.K. REMIX"]},{"title":"夕焼け ~Fading Day~","artist":"JAKAZiD","id":963,"data":{"genre":"AURAL ADRENALINE","displayVersion":"18"},"altTitles":["夕焼け 〜Fading Day〜","夕焼け~Fading Day~"],"searchTerms":["YUUYAKE -FADING DAY-"]},{"title":"Believe In Me","artist":"Uraken feat. Calyn Tsukishima","id":964,"data":{"genre":"HARDCORE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Let The Track Flow","artist":"Brisk & Ham","id":965,"data":{"genre":"UK HARDCORE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Energy Drive","artist":"kevin energy","id":966,"data":{"genre":"HARDCORE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Hardcore Mania","artist":"DJ Weaver","id":967,"data":{"genre":"HARDCORE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Breaking the ground","artist":"Art of Fighters","id":968,"data":{"genre":"HARDCORE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Programmed Sun (xac Antarctic Ocean mix)","artist":"xac","id":969,"data":{"genre":"UPLIFTING TRANCE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Cansei de S NIK","artist":"PRASTIK DANCEFLOOR","id":970,"data":{"genre":"FIDGET HOUSE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"reunion","artist":"Tatsh","id":971,"data":{"genre":"CYBER WALTZ","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"ANTHEM LANDING","artist":"DJムラサメ","id":972,"data":{"genre":"LATIN TEK","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Get Out","artist":"壱岐尾彩花","id":973,"data":{"genre":"ELECTRO","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Medicine of love","artist":"イロハ&リリナ","id":974,"data":{"genre":"MAGICAL POP","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Eternal Tears","artist":"ツガル","id":975,"data":{"genre":"WINTER BALLADE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Fantasia","artist":"TЁЯRA","id":976,"data":{"genre":"HYPER FANTASIA","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"SABER WING","artist":"TAG","id":977,"data":{"genre":"SHOOTING WALTZ","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"DM STAR~関西 energy style~","artist":"NAOKI","id":978,"data":{"genre":"SPEED RAVE","displayVersion":"18"},"altTitles":["DM STAR〜関西 energy style〜"],"searchTerms":["DM STAR -KANSAI ENERGY STYLE-"]},{"title":"WE LOVE SHONAN","artist":"Studio Bongo Mango feat. Likkle Mai","id":979,"data":{"genre":"SURF&DUB","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"ALBIDA","artist":"DJ YOSHITAKA","id":980,"data":{"genre":"HARD RENAISSANCE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"黒髪乱れし修羅となりて","artist":"村正クオリア","id":981,"data":{"genre":"撫子メタル","displayVersion":"18"},"altTitles":[],"searchTerms":["KUROKAMI MIDARESHI SHURA TO NARITE"]},{"title":"sakura storm","artist":"Ryu☆","id":982,"data":{"genre":"HAPPY HARDCORE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Everlasting Resort","artist":"SUPER STAR 満-MITSURU-","id":983,"data":{"genre":"ONLY ONE ANTHEM","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Take Me Higher","artist":"Sota Fujimori feat.Sachi","id":984,"data":{"genre":"SYNTHETIC ELECTRO","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"STELLAR WIND","artist":"L.E.D.","id":985,"data":{"genre":"HARD DANCE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Love♡km","artist":"dj TAKA feat. REN","id":986,"data":{"genre":"HAPPY CORE","displayVersion":"18"},"altTitles":["Love♥km","Love km","Love?km"],"searchTerms":["love km"]},{"title":"Sakura Reflection","artist":"Ryu☆","id":987,"data":{"genre":"HAPPY HARDCORE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"THE FALLEN","artist":"L.E.D.-G","id":988,"data":{"genre":"GOTH NU-STYLE GABBA","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Broken","artist":"dj TAKA feat.AiMEE","id":989,"data":{"genre":"TRANCE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Wuv U","artist":"kors k","id":990,"data":{"genre":"CANDY RAVE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"Survival Games","artist":"VENUS","id":991,"data":{"genre":"90's ELECTRIC POP","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"SPECIAL SUMMER CAMPAIGN!","artist":"Lucky Vacuum","id":992,"data":{"genre":"BUCHIAGE TRANCE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"中華急行","artist":"Ryu☆","id":993,"data":{"genre":"HAPPY HARDCORE","displayVersion":"18"},"altTitles":[],"searchTerms":["CHINA EXPRESS"]},{"title":"Kailua (HCN Ver.)","artist":"kors k","id":994,"data":{"genre":"ENERGETIC HAWAIIAN TRANCE","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"jewelry girl*","artist":"jun","id":996,"data":{"genre":"ジュエリーロック","displayVersion":"18"},"altTitles":[],"searchTerms":[]},{"title":"HONEY♂PUNCH ~L.E.D.-G STYLE MIX~","artist":"L.E.D.-G feat. Zhang Yao","id":997,"data":{"genre":"HAPPY HARDCORE","displayVersion":"18"},"altTitles":[],"searchTerms":["HONEY PUNCH -L.E.D.-G STYLE MIX-"]},{"title":"Snake Stick","artist":"DJ Yoshitaka VS. DJ Mass MAD Izm*","id":998,"data":{"genre":"TECH-BREAKBEATS","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"天空の夜明け","artist":"Cuvelia","id":999,"data":{"genre":"ANTHEM","displayVersion":"19"},"altTitles":[],"searchTerms":["TENKU NO YOAKE"]},{"title":"F","artist":"D.J.Amuro","id":1000,"data":{"genre":"RENAISSANCE","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"In the Blackest Den","artist":"Bulluvegola","id":1001,"data":{"genre":"PROGRESSIVE ROCK","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"恋する☆宇宙戦争っ!!","artist":"Prim","id":1002,"data":{"genre":"Hi-BLEEP","displayVersion":"19"},"altTitles":["恋する☆宇宙戦争っ!!"],"searchTerms":["koisuru uchusensou!!","Space Prim","Love is like the space war!!"]},{"title":"ANAGRAMS I to Y","artist":"Mayumi Morinaga","id":1003,"data":{"genre":"DANCE POP","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"YAKSHA","artist":"Neulakyussra","id":1004,"data":{"genre":"TERROR CORE","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"DIAVOLO","artist":"度胸兄弟","id":1005,"data":{"genre":"TRANSCENDENTAL ETUDES","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"Scharfrichter","artist":"Ashemu","id":1006,"data":{"genre":"HARD ROCK","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"Lucky Days","artist":"Sota Fujimori feat. Kanako Hoshino","id":1007,"data":{"genre":"DREAM TRANCE","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"CALL","artist":"猫叉Master","id":1008,"data":{"genre":"WORLD/ELECTRONICA","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"KYAMISAMA ONEGAI!","artist":"Dr.Honda feat. Moe","id":1009,"data":{"genre":"トレンディーポップス","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"Several Words","artist":"CAPACITY GATE","id":1010,"data":{"genre":"VALIANT BEAT","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"SA.YO.NA.RA. SUPER STAR","artist":"SUPER STAR 満-MITSURU-","id":1011,"data":{"genre":"ONLY ONE FINALE","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"蛇神","artist":"Zektbach","id":1012,"data":{"genre":"ORIENTAL MYTHOLOGY","displayVersion":"19"},"altTitles":[],"searchTerms":["KAGACHI"]},{"title":"Todestrieb","artist":"Rche","id":1013,"data":{"genre":"SACRED TRANCE","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"GIGANT","artist":"seiya-murai","id":1014,"data":{"genre":"MARCHING ROCK","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"prompt","artist":"wxs ft.*spiLa*","id":1015,"data":{"genre":"NU PROGRESSIVE","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"衰色小町メランコリア","artist":"iNO","id":1016,"data":{"genre":"NEO CLASSICAL DANCE","displayVersion":"19"},"altTitles":[],"searchTerms":["SUISHOKUKOMACHI MELANCHOLIA"]},{"title":"Quick Silver","artist":"Mystic Moon","id":1017,"data":{"genre":"RAVE FUSION","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"Into The Sunlight","artist":"kobo feat. RIO","id":1018,"data":{"genre":"DRUM & BASS","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"君のハートにロックオン","artist":"Dr.Honda","id":1019,"data":{"genre":"トレンディーフュージョン","displayVersion":"19"},"altTitles":[],"searchTerms":["kimi no heart ni lockon"]},{"title":"ЁVOLUTIΦN","artist":"TЁЯRA","id":1020,"data":{"genre":"PLATINUM JAPANESQUE","displayVersion":"19"},"altTitles":[],"searchTerms":["EVOLUTION"]},{"title":"Almace","artist":"Qrispy Joybox","id":1021,"data":{"genre":"TECHNO","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"Drive Me Crazy","artist":"kors k feat.古川未鈴","id":1022,"data":{"genre":"AKIBA RAVE","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"The Sampling Paradise","artist":"Mamonis","id":1023,"data":{"genre":"HARD TRANCE","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"Release The Music","artist":"kors k","id":1024,"data":{"genre":"TECH DANCE","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"Thunderbolt","artist":"雷龍","id":1025,"data":{"genre":"RAVERS DANCE SPEED","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"Follow Tomorrow","artist":"HHH×MM×ST","id":1027,"data":{"genre":"J-DANCE POP","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"NNRT","artist":"Levaslater","id":1028,"data":{"genre":"ELECTRO GOTHIC","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"SHADE","artist":"DJ MURASAME vs dj Killer","id":1029,"data":{"genre":"TECHNO","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"24th Century BOY","artist":"Tatsh","id":1030,"data":{"genre":"EURO RAVE","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"The Limbo","artist":"STN","id":1031,"data":{"genre":"CYBER PUNK","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"Miami Sunset Drive","artist":"Dirty Androids","id":1032,"data":{"genre":"80's ELECTRO HOUSE","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"A MINSTREL ~ ver. short-scape ~","artist":"KANTASIA by S.S.D. PRODUCTS","id":1033,"data":{"genre":"LA FABELO","displayVersion":"19"},"altTitles":["A MINSTREL ~ver. short-scape~"],"searchTerms":["A MINSTREL - ver. short-scape -"]},{"title":"LAX5 feat.Ryota Yoshinari","artist":"Katana Sounds","id":1034,"data":{"genre":"LOUD TECH","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"BLACK.by X-Cross Fade","artist":"DJ Mass MAD Izm*","id":1035,"data":{"genre":"TECH-BREAKBEATS","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"Yellow Sunrise","artist":"xac","id":1036,"data":{"genre":"DRUM'N'BASS","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"陽炎","artist":"星野奏子","id":1037,"data":{"genre":"POP","displayVersion":"19"},"altTitles":[],"searchTerms":["KAGEROU"]},{"title":"Mermaid girl-秋葉工房 MIX-","artist":"Remixed by DJ Command","id":1038,"data":{"genre":"EURO BEAT","displayVersion":"19"},"altTitles":[],"searchTerms":["Mermaid girl -AKIBA KOUBOU MIX-"]},{"title":"Session 12 -Esther-","artist":"PRASTIK DANCEFLOOR","id":1039,"data":{"genre":"PROGRE SYNTHETIC","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"聖人の塔","artist":"Beridzebeth","id":1040,"data":{"genre":"BATTLE TRACK","displayVersion":"19"},"altTitles":[],"searchTerms":["SEIJIN NO TOU"]},{"title":"DON'T WAKE ME FROM THE DREAM (2010 Summer Edition)","artist":"YOJI","id":1041,"data":{"genre":"TECH DANCE","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"Electric Super Highway","artist":"MACHO ROBOT feat. nouvo nude","id":1042,"data":{"genre":"ELECTRO","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"Express Emotion","artist":"REDALiCE feat. Shihori","id":1043,"data":{"genre":"J-CORE","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"突撃!ガラスのニーソ姫!","artist":"山本椛 (monotone)","id":1044,"data":{"genre":"電波","displayVersion":"19"},"altTitles":[],"searchTerms":["RUSH! PRINCESS GLASS OVER-KNEE!"]},{"title":"Liquid Crystal Girl feat. echo","artist":"kmp","id":1045,"data":{"genre":"ELECTRO","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"Round and Round","artist":"Masayoshi Minoshima feat. 綾倉盟","id":1046,"data":{"genre":"HYPER ELECTRO","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"Star Trail","artist":"Nhato","id":1047,"data":{"genre":"TRANCE","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"LOVE B.B.B","artist":"SWAN K feat. Asuka M","id":1048,"data":{"genre":"DRUM'N'BASS","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"Voxane","artist":"Remo-con","id":1049,"data":{"genre":"TECH DANCE","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"Change the World","artist":"Tatsh feat.小田ユウ","id":1050,"data":{"genre":"SPEED POP","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"ユミル","artist":"MYTHOLOGIA by MLREC.","id":1051,"data":{"genre":"SYMPHONIC-TEK","displayVersion":"19"},"altTitles":[],"searchTerms":["YMIR"]},{"title":"Phoenix","artist":"Hommarju","id":1052,"data":{"genre":"HARD NRG","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"RESISTANCE","artist":"セリカ","id":1053,"data":{"genre":"MYSTERIOUS ROCK","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"LETHEBOLG ~双神威に斬り咲けり~","artist":"TЁЯRA","id":1054,"data":{"genre":"PLATINUM J-POP ONE","displayVersion":"19"},"altTitles":["LETHEBOLG 〜双神威に斬り咲けり〜"],"searchTerms":["LETHEBOLG"]},{"title":"I'm so Happy","artist":"Ryu☆","id":1055,"data":{"genre":"HAPPY HARDCORE","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"Snow Goose","artist":"Mutsuhiko Izumi","id":1056,"data":{"genre":"ELECTRIC POMP","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"Far east nightbird","artist":"猫叉Master","id":1057,"data":{"genre":"DRUM'N'BASS","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"PentaCube Gt.(RX-Ver.S.P.L.)","artist":"高田雅史","id":1058,"data":{"genre":"ALTERNATIVE ETHNO POP","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"Infinite cave","artist":"猫叉Master+","id":1059,"data":{"genre":"DRUM'N'BASS","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"QUANTUM TELEPORTATION","artist":"L.E.D.","id":1060,"data":{"genre":"TECHNO","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"fffff","artist":"Five Hammer","id":1061,"data":{"genre":"HARD Pf","displayVersion":"19"},"altTitles":["ƒƒƒƒƒ","𝆑𝆑𝆑𝆑𝆑"],"searchTerms":[]},{"title":"子供の落書き帳","artist":"佐々木博史","id":1062,"data":{"genre":"PROGRESSIVE","displayVersion":"19"},"altTitles":[],"searchTerms":["Children's Sketchbook"]},{"title":"Trust -MATERIAL ver- (IIDX Edition)","artist":"Tatsh feat. ヨーコ","id":1063,"data":{"genre":"CHARACTER SONG","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"yellow head joe","artist":"S-C-U","id":1064,"data":{"genre":"TEK-TRANCE","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"WONDER WALKER","artist":"L.E.D.","id":1065,"data":{"genre":"HARD TRANCE","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"532nm","artist":"Ryu☆","id":1066,"data":{"genre":"HARDCORE","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"ビューティフルレシート","artist":"Lucky Vacuum","id":1067,"data":{"genre":"HAPPY HARDCORE","displayVersion":"19"},"altTitles":[],"searchTerms":["beautiful receipt"]},{"title":"quaver♪","artist":"Risk Junk","id":1068,"data":{"genre":"HAPPY","displayVersion":"19"},"altTitles":[],"searchTerms":["quaver"]},{"title":"Castle on the Moon","artist":"青龍","id":1069,"data":{"genre":"DANCE SPEED","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"Flip Flap","artist":"kors k","id":1070,"data":{"genre":"CANDY HANDZ UP","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"TITANS RETURN","artist":"L.E.D.","id":1071,"data":{"genre":"DRUMSTEP","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"HAERETICUS","artist":"D.J.Amuro Vs MAX MAXIMIZER","id":1072,"data":{"genre":"ECCENTRIC","displayVersion":"19"},"altTitles":[],"searchTerms":[]},{"title":"planarian","artist":"S-C-U","id":1074,"data":{"genre":"ELECTRIC POP","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Fractal","artist":"Sota Fujimori","id":1075,"data":{"genre":"CYBER PROGRESSIVE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Liberation","artist":"dj TAKA","id":1076,"data":{"genre":"TRANCE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"ΕΛΠΙΣ","artist":"dj TAKA","id":1077,"data":{"genre":"ROMANTIC SCHOOL VARIATIONS","displayVersion":"20"},"altTitles":[],"searchTerms":["Elpis","eanie"]},{"title":"狂イ咲ケ焔ノ華","artist":"覚醒ノPrim","id":1078,"data":{"genre":"Hi-GOTH","displayVersion":"20"},"altTitles":[],"searchTerms":["kuruizake homura no hana","Goth Prim","Goth Prim"]},{"title":"BLUE STRAGGLER","artist":"L.E.D.","id":1079,"data":{"genre":"HARD DANCE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"トリカゴノ鳳凰","artist":"L.E.D. Vs. 幽閉サテライト","id":1080,"data":{"genre":"歌謡 DRUM & BASS","displayVersion":"20"},"altTitles":[],"searchTerms":["TORIKAGONO HOUOH"]},{"title":"即席!脳直★ミュージックシステム","artist":"MOSAIC.WAV","id":1082,"data":{"genre":"AKIBA-POP","displayVersion":"20"},"altTitles":[],"searchTerms":["Sokuseki! Nouchoku Music System"]},{"title":"カジノファイヤーことみちゃん","artist":"ARM feat. 山本椛 + Brasscapsule","id":1083,"data":{"genre":"電波","displayVersion":"20"},"altTitles":[],"searchTerms":["Casino Fire Kotomi-chan"]},{"title":"Holy Snow","artist":"Mutsuhiko Izumi","id":1084,"data":{"genre":"CHRISTMAS SYMPHONY","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"True Blue","artist":"dj TAKA feat.AiMEE","id":1085,"data":{"genre":"ESSENTIALLY","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Take My Life","artist":"Y&Co.","id":1086,"data":{"genre":"EUROBEAT","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"晴天Bon Voyage","artist":"TOMOSUKE × seiya-murai feat. ALT","id":1087,"data":{"genre":"スウィートロニカ","displayVersion":"20"},"altTitles":[],"searchTerms":["SEITEN Bon Voyage"]},{"title":"メイメツ、フラグメンツ","artist":"中山真斗(Elements Garden)feat.桜川めぐ","id":1088,"data":{"genre":"CYBER SYMPHONIC POP","displayVersion":"20"},"altTitles":[],"searchTerms":["Mei-Metsu, Fragments"]},{"title":"STULTI","artist":"MAX MAXIMIZER VS DJ TOTTO","id":1089,"data":{"genre":"GRAVIOL","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Devilz Staircase","artist":"OSTER project","id":1090,"data":{"genre":"SYMPHONIC BREAK BEATS","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"ZED","artist":"USAO","id":1091,"data":{"genre":"DUB STEP","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Shining World","artist":"DJ Genki feat. Yukacco","id":1092,"data":{"genre":"ELECTRO POP","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Neonlights","artist":"DJ Noriken","id":1093,"data":{"genre":"TECH DANCE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Timepiece phase II","artist":"佐々木博史","id":1094,"data":{"genre":"PROGRESSIVE ROCK","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"LUV CAN SAVE U","artist":"HIDEKI NAGANUMA","id":1095,"data":{"genre":"NEO 80's EURO ELECTRO","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"虹色の花","artist":"Akhuta y OJ","id":1096,"data":{"genre":"LIGHT-VISUAL POP","displayVersion":"20"},"altTitles":[],"searchTerms":["NIJIIRO NO HANA"]},{"title":"DAY DREAM","artist":"Mutsuhiko Izumi","id":1097,"data":{"genre":"DARK PROGRESSIVE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"JOMANDA","artist":"DJ YOSHITAKA","id":1098,"data":{"genre":"HARD RENAISSANCE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"New Decade IIDX Edition","artist":"Sota F.","id":1099,"data":{"genre":"SPEED DANCE CORE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Hollywood Galaxy","artist":"dj TAKA","id":1100,"data":{"genre":"DRUM'N'BASS","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"neu","artist":"少年ラジオ","id":1101,"data":{"genre":"NIENTE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"YELLOW FROG from Steel Chronicle","artist":"劇団レコード","id":1102,"data":{"genre":"DESERT ALTERNATIVE EDGE","displayVersion":"20"},"altTitles":["YELLOW FROG from Steel Chronicle"],"searchTerms":[]},{"title":"Time To Empress","artist":"dj TAKA feat.wac & secret K","id":1103,"data":{"genre":"TRANCE","displayVersion":"20"},"altTitles":["Time to Empress"],"searchTerms":[]},{"title":"キャトられ♥恋はモ~モク","artist":"ギュ~っとしたい♥Prim","id":1104,"data":{"genre":"Hi-ν BLEEP","displayVersion":"20"},"altTitles":["キャトられ♥恋はモ〜モク","キャトられ♥恋はモ~モク","キャトられ恋はモ~モク","キャトられ❤恋はモ〜モク","キャトられ?恋はモ~モク"],"searchTerms":["KYATORARE KOIHA MOOMOKU"]},{"title":"Confiserie","artist":"L.E.D. vs S-C-U","id":1105,"data":{"genre":"HARD ELECTRIC POP","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"POINT ZERO","artist":"猫叉Master+","id":1106,"data":{"genre":"DRUM'N'BASS","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"connective","artist":"猫叉Master feat.*spiLa*","id":1107,"data":{"genre":"LOUNGE POP","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Proof of the existence","artist":"猫叉Master+","id":1108,"data":{"genre":"HARD ELECTRONICA","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Rainbow after snow","artist":"猫叉Master feat.林ももこ","id":1109,"data":{"genre":"DRUM'N'BASS","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Re:GENERATION","artist":"TAG feat. ERi","id":1110,"data":{"genre":"EMOTIONAL SENTENCE","displayVersion":"20"},"altTitles":[],"searchTerms":["REGENERATION"]},{"title":"In Heaven","artist":"Sota Fujimori","id":1111,"data":{"genre":"HEAVENLY TRANCE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"GRADIUS 2012","artist":"Sota Fujimori","id":1112,"data":{"genre":"KONAMI REMIX","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"CONCEPTUAL","artist":"Sota Fujimori 2nd Season","id":1113,"data":{"genre":"HARD REVOLUTION","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"龍と少女とデコヒーレンス","artist":"黒猫ダンジョン","id":1114,"data":{"genre":"EPIC TECHNO","displayVersion":"20"},"altTitles":[],"searchTerms":["Decoherence"]},{"title":"Elemental Creation","artist":"dj TAKA meets DJ YOSHITAKA","id":1115,"data":{"genre":"HARD RENAISSANCE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"8bit Princess","artist":"seiya-murai feat. ALT","id":1116,"data":{"genre":"CHIPTUNE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"下弦の月","artist":"iNO","id":1117,"data":{"genre":"NEO CLASSICAL DANCE","displayVersion":"20"},"altTitles":[],"searchTerms":["kagen no tsuki"]},{"title":"New Lights","artist":"kors k","id":1118,"data":{"genre":"HARDCORE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Howling","artist":"PON","id":1119,"data":{"genre":"NU RAVE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"VEGA","artist":"REDALiCE","id":1120,"data":{"genre":"UNIVERSAL J-CORE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Präludium","artist":"Yuko Takahashi","id":1121,"data":{"genre":"CLASSICAL PIANO","displayVersion":"20"},"altTitles":[],"searchTerms":["praludium"]},{"title":"rumrum triplets","artist":"yu_tokiwa.djw","id":1122,"data":{"genre":"LOUNGECORE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Thor's Hammer","artist":"ユニバーサル度胸兄弟","id":1123,"data":{"genre":"TRANSCENDENTAL ETUDES","displayVersion":"20"},"altTitles":[],"searchTerms":["DIAVOLO 2"]},{"title":"BRAVE GLOW","artist":"SOUND HOLIC feat. Nana Takahashi","id":1124,"data":{"genre":"SPACY TRANCE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Illegal Function Call","artist":"U1-ASAMi","id":1125,"data":{"genre":"ORBITALIC CORE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Ascalon","artist":"Qrispy Joybox","id":1126,"data":{"genre":"ELECTRO POP","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"I know You know","artist":"Suke+Suke feat.Ribbon","id":1127,"data":{"genre":"NEW 80's","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"S!ck","artist":"Eagle","id":1128,"data":{"genre":"DRUMSTEP","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"405nm (Ryu☆mix)","artist":"Another Infinity","id":1129,"data":{"genre":"HARDCORE","displayVersion":"20"},"altTitles":[],"searchTerms":["405nm (Ryu* mix)"]},{"title":"Fly you to the star","artist":"Another Infinity feat. Mayumi Morinaga","id":1130,"data":{"genre":"HANDZ UP","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Plan 8","artist":"Ryu☆","id":1131,"data":{"genre":"HAPPY GABBA","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"仮想空間の旅人たち","artist":"DJ MURASAME","id":1132,"data":{"genre":"TECHNO","displayVersion":"20"},"altTitles":[],"searchTerms":["The travelers of virtual space"]},{"title":"Light and Cyber…","artist":"Tatsh","id":1133,"data":{"genre":"HAPPY HARDCORE","displayVersion":"20"},"altTitles":["Light and Cyber...","Light and Cyber・・・"],"searchTerms":["Light and Cyber..."]},{"title":"SYNC-ANTHEM","artist":"Tatsh feat. 星野奏子","id":1134,"data":{"genre":"LATIN EURO","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Timepiece phase II (CN Ver.)","artist":"佐々木博史","id":1135,"data":{"genre":"PROGRESSIVE ROCK","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"ラキラキ","artist":"Mutsuhiko Izumi & S-C-U","id":1136,"data":{"genre":"LUCKY TECHNO","displayVersion":"20"},"altTitles":[],"searchTerms":["RAKIRAKI"]},{"title":"Beastie Starter","artist":"GUHROOVY","id":1137,"data":{"genre":"SPEEDCORE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"†渚の小悪魔ラヴリィ~レイディオ†(IIDX EDIT)","artist":"夏色ビキニのPrim","id":1138,"data":{"genre":"Hi-CORE","displayVersion":"20"},"altTitles":["†渚の小悪魔ラヴリィ〜レイディオ†(IIDX EDIT)","†渚の小悪魔ラヴリィ〜レイディオ†(IIDX EDIT)"],"searchTerms":["NAGISANOKOAKUMA LOVELY RADIO","Radio Prim","Lovely Radio"]},{"title":"Little Star","artist":"REDALiCE feat. Ayumi Nomiya","id":1139,"data":{"genre":"J-CORE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"アストライアの双皿","artist":"ZODIACSYNDICATE","id":1140,"data":{"genre":"ZODIAC ORACLE 7","displayVersion":"20"},"altTitles":[],"searchTerms":["BALANCE OF ASTRAIA"]},{"title":"To my star","artist":"星野奏子","id":1141,"data":{"genre":"STARPOP","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Sol Cosine Job 2","artist":"DJ TECHNORCH","id":1142,"data":{"genre":"FREEFORM HARDCORE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"ILIAS","artist":"Masayoshi Minoshima feat. 坂上なち","id":1143,"data":{"genre":"HYPER ELECTRO","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"たまゆら","artist":"佐々木博史","id":1144,"data":{"genre":"PROGRESSIVE","displayVersion":"20"},"altTitles":[],"searchTerms":["tamayura"]},{"title":"Saturn","artist":"Mr.Saturn","id":1145,"data":{"genre":"PROGRESSIVE TRIBAL","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Cookie Bouquets","artist":"L.E.D. vs TOMOSUKE fw.crimm","id":1146,"data":{"genre":"BREAK CORE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"mnemoniq","artist":"youhei shimizu","id":1147,"data":{"genre":"JAZZ HOUSE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"お米の美味しい炊き方、そしてお米を食べることによるその効果。","artist":"大日本鉄倶楽部【あさき&96】","id":1148,"data":{"genre":"お米タル","displayVersion":"20"},"altTitles":[],"searchTerms":["HOW TO COOK DELICIOUS RICE AND THE EFFECT OF EATING RICE"]},{"title":"創世ノート","artist":"PON+wac","id":1149,"data":{"genre":"CREATOR","displayVersion":"20"},"altTitles":[],"searchTerms":["GENESIS NOTE"]},{"title":"Synergy For Angels","artist":"TAG×U1-ASAMi","id":1150,"data":{"genre":"ORBITALIC REVOLUTION","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Empathetic","artist":"Sota÷Des","id":1151,"data":{"genre":"DRUM STEP","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"GAIA","artist":"猫叉L.E.D.Master+","id":1152,"data":{"genre":"SPEED DANCE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Zirkfied","artist":"iconoclasm","id":1153,"data":{"genre":"SPACE REQUIEM","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"examination leave","artist":"dj razzle dazzle","id":1154,"data":{"genre":"VACATION DANCE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"VALLIS-NERIA","artist":"DJ YOSHITAKA","id":1155,"data":{"genre":"TRANCE CORE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Valanga","artist":"DJ TOTTO","id":1156,"data":{"genre":"ART CORE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"梅雪夜","artist":"Qrispy Joybox feat.mao","id":1157,"data":{"genre":"想歌 梅","displayVersion":"20"},"altTitles":[],"searchTerms":["UMEYUKIYO"]},{"title":"音楽","artist":"弁士カンタビレオ","id":1158,"data":{"genre":"SILENT","displayVersion":"20"},"altTitles":[],"searchTerms":["ONGAKU"]},{"title":"朧","artist":"HHH×MM×ST","id":1159,"data":{"genre":"FASCINATION","displayVersion":"20"},"altTitles":[],"searchTerms":["OBORO"]},{"title":"シュレーディンガーの猫","artist":"Cait Sith","id":1160,"data":{"genre":"TOY CONTEMPORARY","displayVersion":"20"},"altTitles":[],"searchTerms":["SCHRODINGER'S CAT"]},{"title":"SHION","artist":"DJ YOSHITAKA","id":1161,"data":{"genre":"HI-SPEED FANTASY TUNE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"rainbow guitar weeps","artist":"dj TAKA","id":1165,"data":{"genre":"BRIGHTNESS","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"旋律のドグマ~Misérables~","artist":"楓璃夢=ジークフリード=ファイエルローゼン","id":1166,"data":{"genre":"JUVENILE DRUM & BASS","displayVersion":"21"},"altTitles":["旋律のドグマ〜Misérables〜","旋律のドグマ〜Misérables〜","旋律のドグマ~Misérables~","旋律のドグマ~Misérables~","旋律のドグマ~Miserables~","旋律のドグマ ~Misérables~","旋律のドグマ~Mis?rables~"],"searchTerms":["SENRITSUNO DOGMA"]},{"title":"EXTREME MACH COLLIDER","artist":"L.E.D.","id":1167,"data":{"genre":"TECHNO","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Element of SPADA","artist":"猫叉Master feat.霜月はるか","id":1168,"data":{"genre":"HEALING POP","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"DARK LEGACY","artist":"BaSTeT","id":1169,"data":{"genre":"DARK ELEMENT","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"牧神笛吹きて","artist":"楽士ゾディアック","id":1170,"data":{"genre":"ZODIAC ORACLE X","displayVersion":"21"},"altTitles":[],"searchTerms":["AIGIPAN"]},{"title":"Critical Crystal","artist":"青龍","id":1171,"data":{"genre":"DANCE SPEED","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Insane Techniques","artist":"kors k","id":1172,"data":{"genre":"Hi-TECH FULL ON","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"esrev:eR","artist":"TAG meets “eimy”","id":1173,"data":{"genre":"EMOTIONAL SENTENCE","displayVersion":"21"},"altTitles":[],"searchTerms":["esreveR"]},{"title":"WOBBLE IMPACT","artist":"Sota Fujimori","id":1174,"data":{"genre":"DUBSTEP","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"罪と罰","artist":"Xceon feat. Mayumi Morinaga","id":1175,"data":{"genre":"HYPER J-POP","displayVersion":"21"},"altTitles":[],"searchTerms":["TSUMITOBATSU"]},{"title":"Close the World feat. a☆ru","artist":"天叢雲剣","id":1176,"data":{"genre":"J-CORE","displayVersion":"21"},"altTitles":["Close the World feat.a☆ru"],"searchTerms":["CLOSE THE WORLD FEAT.A RU"]},{"title":"Devilz Sacrifice -贖罪の羊-","artist":"OSTER project","id":1177,"data":{"genre":"SYMPHONIC BREAK BEATS","displayVersion":"21"},"altTitles":[],"searchTerms":["Devilz Sacrifice -scapegoat-"]},{"title":"MAGIC & LOVE","artist":"DJ Genki feat. Yukacco","id":1178,"data":{"genre":"HAPPY CORE","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Miracle 5ympho X","artist":"USAO","id":1179,"data":{"genre":"FRENCHCORE","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Elektrick U-Phoria","artist":"DJ Noriken","id":1180,"data":{"genre":"UK HARDCORE","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"死神自爆中二妹アイドルももかりん(1歳)","artist":"山本椛","id":1181,"data":{"genre":"電波METAL","displayVersion":"21"},"altTitles":[],"searchTerms":["Death-destruct-chuuni-imouto-idol Momokarin-1 year old"]},{"title":"Overload Frontier","artist":"DJ Shimamura","id":1182,"data":{"genre":"HARDCORE RAVE","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Adularia","artist":"DJ TOTTO","id":1183,"data":{"genre":"ARTCORE","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Valgus","artist":"DJ Myosuke feat.Yukacco","id":1184,"data":{"genre":"MAINSTREAM HARDCORE","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Odin","artist":"Noizenecio","id":1185,"data":{"genre":"GABBER","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"MAD ATTACK","artist":"HALFBY","id":1186,"data":{"genre":"UPBEAT","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Atröpøs","artist":"sasakure.UK","id":1187,"data":{"genre":"NEUTRONIKA","displayVersion":"21"},"altTitles":["Atropos","Atr?p?s"],"searchTerms":["Atropos"]},{"title":"Funny shuffle","artist":"猫叉Master+","id":1188,"data":{"genre":"JAG GLITCH","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"NPC World","artist":"PON","id":1189,"data":{"genre":"ELECTRO POP","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Lighting Shower","artist":"TAG","id":1190,"data":{"genre":"TRANCE POP","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"m1dy Deluxe","artist":"m1dy","id":1191,"data":{"genre":"TOKYO STYLE SPEEDCORE","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"LA FESTA LA VITA!!","artist":"GUHROOVY","id":1192,"data":{"genre":"DRUM'N'BASS","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"廿","artist":"DJ TECHNORCH","id":1193,"data":{"genre":"新世紀進歩的羽扇子音楽","displayVersion":"21"},"altTitles":[],"searchTerms":["TWENTY"]},{"title":"超!!遠距離らぶ♡メ〜ル","artist":"ななひら","id":1194,"data":{"genre":"乙女EDM","displayVersion":"21"},"altTitles":["超!!遠距離らぶ?メ~ル","超!!遠距離らぶ♡メ~ル","超!!遠距離らぶメ~ル"],"searchTerms":["CHO ENKYORI LOVE MAIL"]},{"title":"幻想系世界修復少女","artist":"Last Note.","id":1195,"data":{"genre":"J-POP","displayVersion":"21"},"altTitles":[],"searchTerms":["GENSOUKEISEKAISHUUFUKUSHOUJO"]},{"title":"煉獄のエルフェリア","artist":"猫叉Master+","id":1196,"data":{"genre":"HARD SYMPHONIC","displayVersion":"21"},"altTitles":[],"searchTerms":["ELFERIA of purgatory"]},{"title":"INSOMNIA","artist":"ジャカルタファンクブラザーズ","id":1197,"data":{"genre":"FUNKOT","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Wonder Girl feat. Kanae Asaba","artist":"Y&Co.","id":1198,"data":{"genre":"EUROBEAT","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"RISE","artist":"Dirty Androids","id":1199,"data":{"genre":"DRUMSTEP","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Give Me Your Love","artist":"星野奏子","id":1200,"data":{"genre":"KANA-POP","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"ALBA -黎明-","artist":"SOUND HOLIC feat. Nana Takahashi","id":1201,"data":{"genre":"HYPER GOTHIC BEAT","displayVersion":"21"},"altTitles":[],"searchTerms":["ALBA -REIMEI-"]},{"title":"お願いアインシュタイン","artist":"中山真斗 feat.桜川めぐ","id":1202,"data":{"genre":"CYBER SYMPHONIC POP","displayVersion":"21"},"altTitles":[],"searchTerms":["ONEGAI EINSTEIN"]},{"title":"into the battlefield","artist":"the wandering bard","id":1203,"data":{"genre":"SYMPHONIC BREAKS","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"diagram","artist":"Expander","id":1204,"data":{"genre":"GLITCH HOP","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"refractive index","artist":"Sota Fujimori","id":1205,"data":{"genre":"PSYCHEDELIC TRANCE","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Hypersonik","artist":"Eagle","id":1206,"data":{"genre":"DRUM&BASS","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"BLUE DRAGON(雷龍RemixIIDX)","artist":"青龍","id":1207,"data":{"genre":"RAVERS DANCE SPEED","displayVersion":"21"},"altTitles":[],"searchTerms":["BLUE DRAGON RAIRYU RemixIIDX"]},{"title":"Last Dance","artist":"dj TAKA","id":1208,"data":{"genre":"HARD STACC","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"All is Wrecked","artist":"Destron","id":1209,"data":{"genre":"INDUSTRIAL METAL","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"ra'am","artist":"雷龍","id":1210,"data":{"genre":"RAVERS DANCE SPEED","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"疾風迅雷","artist":"KUMOKIRI","id":1211,"data":{"genre":"ORIENTAL CORE","displayVersion":"21"},"altTitles":[],"searchTerms":["LIGHTNING SPEED"]},{"title":"Immortal","artist":"DJ NAGAI","id":1212,"data":{"genre":"J-CORE","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Verflucht","artist":"Tyrfing","id":1213,"data":{"genre":"HARD NRG","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"BRAVE OUT","artist":"nomico / DOWNFORCE","id":1214,"data":{"genre":"ELECTRANCE","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Feel The Beat","artist":"Falsion","id":1215,"data":{"genre":"HARDCORE RAVE","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Pharaoh","artist":"劇団レコード","id":1216,"data":{"genre":"ANCIENT CIVILIZATION","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Shattered control","artist":"Vivian","id":1217,"data":{"genre":"CONTEMPORARY BREAKS","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Idola","artist":"iconoclasm feat.GUMI","id":1218,"data":{"genre":"REPLICANT CORE","displayVersion":"21"},"altTitles":[],"searchTerms":["Idola "]},{"title":"I will be back -オレは帰ってきた-","artist":"SUPER STAR 満-MITSURU-","id":1219,"data":{"genre":"ONLY ONE MOMENT","displayVersion":"21"},"altTitles":[],"searchTerms":["I will be back"]},{"title":"Smug Face -どうだ、オレの生き様は- (ONLY ONE EDITION)","artist":"SUPER STAR 満-MITSURU-","id":1220,"data":{"genre":"ONLY ONE ACT","displayVersion":"21"},"altTitles":[],"searchTerms":["Smug Face"]},{"title":"アルストロメリア","artist":"TAG","id":1221,"data":{"genre":"BLOOM FUSION","displayVersion":"21"},"altTitles":[],"searchTerms":["Alstroemeria"]},{"title":"Sigmund","artist":"Gram","id":1222,"data":{"genre":"REQUIEM PSY","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"ÆTHER","artist":"TAG underground","id":1223,"data":{"genre":"ASTRAL HARDCORE","displayVersion":"21"},"altTitles":["ATHER","?THER"],"searchTerms":["AETHER"]},{"title":"M.D.Injection","artist":"Project B-","id":1224,"data":{"genre":"PIECED DOWNBEAT","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"VOX UP","artist":"sampling masters MEGA vs 青龍","id":1225,"data":{"genre":"ROTTERDAM TECHNO","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"BRAINSTORM","artist":"Hardcore United Tokyo(teranoid & DJ TECHNORCH)","id":1226,"data":{"genre":"TRANCECORE MEETS GABBA","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Recollection","artist":"Noria","id":1227,"data":{"genre":"POPS","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Claiomh Solais","artist":"DJ Yoshitaka VS S.S.D.","id":1228,"data":{"genre":"ILUZIO","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Unicorn tail","artist":"DJ YOSHITAKA","id":1229,"data":{"genre":"BREAKBEATS TRANCE","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"RIZING YOU UP","artist":"Ryu☆","id":1230,"data":{"genre":"HAPPY HARDCORE","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"THE DETONATOR","artist":"teranoid VS L.E.D.-G","id":1231,"data":{"genre":"NU STYLE GABBA","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Ancient Scapes","artist":"Durandal","id":1232,"data":{"genre":"DYNASTIC FREEFORM","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Votum stellarum -Hommarju Remix-","artist":"Remixed by Hommarju","id":1233,"data":{"genre":"UK HARDCORE","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"NEMESIS -gratitude remix- IIDX Edition","artist":"Remixed by PHQUASE","id":1234,"data":{"genre":"DRUM'N'BASS","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Dark Fall","artist":"黒龍","id":1235,"data":{"genre":"MASSIVE DANCE SPEED","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"invoker","artist":"Caladborg","id":1236,"data":{"genre":"TRIBE CORE","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Stella Sinistra","artist":"Akhuta Philharmonic Orchestra","id":1237,"data":{"genre":"SYMPHONOVATIVE ROCK","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"マインド・ゲーム","artist":"96 with メカショッチョー","id":1238,"data":{"genre":"青春剛速球メタル","displayVersion":"21"},"altTitles":[],"searchTerms":["MIND GAME"]},{"title":"PUNISHER","artist":"TAG×PON","id":1239,"data":{"genre":"VARIANT RAVE","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"HYENA","artist":"Hommarju","id":1240,"data":{"genre":"BIG BEAT","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"Squeeze","artist":"VENUS feat. Mutsuhiko Izumi","id":1241,"data":{"genre":"WITHOUT YOU TONIGHT-VI-","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"デッドボヲルdeホームラン","artist":"猫叉Masterβ2","id":1242,"data":{"genre":"ELECTRIC MANOUSH SWING","displayVersion":"21"},"altTitles":[],"searchTerms":["I like deadball"]},{"title":"野球の遊び方 そしてその歴史 ~決定版~","artist":"あさき大監督","id":1243,"data":{"genre":"野球のことがよくわかる","displayVersion":"21"},"altTitles":["野球の遊び方 そしてその歴史 〜決定版〜","野球の遊び方 そしてその歴史 ~決定版~"],"searchTerms":["How to play baseball. And for its history.","Baseball Prim"]},{"title":"轟け!恋のビーンボール!!","artist":"ダイナミック野球兄弟 v.s. クロスファイヤーPrim","id":1244,"data":{"genre":"ベースボールヒロイン","displayVersion":"21"},"altTitles":[],"searchTerms":["THUNDER LOVE BEANBALL !","Beanball","Baseball Prim","Beanball Prim"]},{"title":"IX","artist":"dj TAKA VS DJ TOTTO feat.藍","id":1245,"data":{"genre":"BLOOD METAL","displayVersion":"21"},"altTitles":[],"searchTerms":["NINE"]},{"title":"Engraved Mark","artist":"Ryu☆ ∞ Des-ROW","id":1246,"data":{"genre":"HAPPY SAD CORE","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"バンブーソード・ガール","artist":"cosMo@暴走P","id":1247,"data":{"genre":"J-SPEEDMETAL","displayVersion":"21"},"altTitles":[],"searchTerms":["Bamboosword Girl"]},{"title":"Cleopatrysm","artist":"ピラミッ℃","id":1248,"data":{"genre":"PHARAO BEAM STEP","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"御千手メディテーション","artist":"昇天家族","id":1249,"data":{"genre":"ニューエイジ合掌コア","displayVersion":"21"},"altTitles":[],"searchTerms":["Osenju Meditation"]},{"title":"KHAMEN BREAK","artist":"くふおー","id":1250,"data":{"genre":"PROGRESSIVE GOSPEL","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"海神","artist":"兎々","id":1251,"data":{"genre":"HYDRO CORE","displayVersion":"21"},"altTitles":[],"searchTerms":["WADATSUMI"]},{"title":"KAISER PHOENIX","artist":"96","id":1252,"data":{"genre":"HEAVY METAL","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"SCHWARZSCHILD FIELD","artist":"L.E.D.","id":1253,"data":{"genre":"FULL ON","displayVersion":"21"},"altTitles":[],"searchTerms":[]},{"title":"3y3s(Long ver.)","artist":"青龍","id":1274,"data":{"genre":"DANCE SPEED","displayVersion":"inf"},"altTitles":[],"searchTerms":[]},{"title":"Broken Sword","artist":"金獅子 VS 麒麟","id":1275,"data":{"genre":"DUAL ANTIQUE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Line 4 Ruin","artist":"Ryu☆","id":1276,"data":{"genre":"ELECTRO TECH","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Rave*it!! Rave*it!!","artist":"機龍","id":1277,"data":{"genre":"EDM SPEED","displayVersion":"22"},"altTitles":["Rave*it!! Rave*it!! "],"searchTerms":["Rave*it!! Rave*it!! "]},{"title":"Shooting Fireball","artist":"dj TAKA","id":1278,"data":{"genre":"MUSIC GAME TRADITIONAL","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Say YEEEAHH","artist":"kors k","id":1279,"data":{"genre":"EDM","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Cosmic Cat","artist":"8bit Moonside","id":1280,"data":{"genre":"FUTURE BASS","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Reflux","artist":"Eagle","id":1281,"data":{"genre":"TRANCESTEP","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"CHRONO DIVER -NORNIR-","artist":"L.E.D.","id":1282,"data":{"genre":"CYBER DRUM & BASS","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"表裏一体!?怪盗いいんちょの悩み♥","artist":"◇◆噂の怪盗少女 ぷらずま★彡Prim◇◆","id":1283,"data":{"genre":"Hi-FUNK BREAKS","displayVersion":"22"},"altTitles":["表裏一体!?怪盗いいんちょの悩み?","表裏一体!?怪盗いいんちょの悩み"],"searchTerms":["HYOURIITTAI KAITOU IINCHOU NO NAYAMI"]},{"title":"もっと!モット!ときめき feat. 松下","artist":"シャイニング度胸兄弟","id":1284,"data":{"genre":"きらめきコア","displayVersion":"22"},"altTitles":[],"searchTerms":["Motto! motto! TOKIMEKI feat.Matsushita"]},{"title":"NEO GENERATOR SEVEN","artist":"L.E.D.-G","id":1285,"data":{"genre":"MAINSTREAM HARDCORE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"共鳴遊戯の華","artist":"アイテール魔導士隊","id":1286,"data":{"genre":"ASTRAL DRUM & BASS","displayVersion":"22"},"altTitles":[],"searchTerms":["kyoumeiyuugino hana"]},{"title":"chrono diver -fragment-","artist":"猫叉Master feat.三澤 秋","id":1287,"data":{"genre":"HEALING DRUM'N'BASS","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"AFRO KNUCKLE","artist":"猫叉Master+","id":1288,"data":{"genre":"AFRO-SAMBA","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Despair of ELFERIA","artist":"猫叉Master","id":1289,"data":{"genre":"HARD IRISH SYMPHONIC","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Flashes","artist":"Dollscythe","id":1290,"data":{"genre":"DRUM'N'BASS","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Symmetry","artist":"猫叉Master","id":1291,"data":{"genre":"EPIC ELECTRONICA","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"FANTASTIC THREE","artist":"ジャカルタファンクブラザーズ","id":1292,"data":{"genre":"DUB COMEDY","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"illuminate","artist":"Sota Fujimori","id":1293,"data":{"genre":"SYNTHETIC EDM","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"subtractive","artist":"Expander","id":1294,"data":{"genre":"GLITCH STEP","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"デンドロビウム","artist":"TAG","id":1295,"data":{"genre":"BLOOM FUSION","displayVersion":"22"},"altTitles":[],"searchTerms":["Dendrobium"]},{"title":"恋は白帯、サンシロー","artist":"星野奏子","id":1296,"data":{"genre":"KANA-POP","displayVersion":"22"},"altTitles":[],"searchTerms":["koihashiroobi sanshiro"]},{"title":"Chain of pain","artist":"kors k VS 猫叉Master+","id":1297,"data":{"genre":"FULL ON","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"白露の風","artist":"Qrispy Joybox feat. 常盤ゆう","id":1298,"data":{"genre":"想歌 風","displayVersion":"22"},"altTitles":[],"searchTerms":["SHIRATSUYUNOKAZE"]},{"title":"Beat Radiance","artist":"iNO","id":1299,"data":{"genre":"NEO CLASSICAL DANCE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"GUILTY","artist":"D.J.SETUP","id":1300,"data":{"genre":"TECHNO","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"COLOSSEUM","artist":"劇団レコード","id":1301,"data":{"genre":"LOST GROUND","displayVersion":"22"},"altTitles":[],"searchTerms":["COLOSSEUM "]},{"title":"超青少年ノ為ノ超多幸ナ超古典的超舞曲","artist":"Project B-","id":1302,"data":{"genre":"PIECED EUPHORIA","displayVersion":"22"},"altTitles":[],"searchTerms":["VERY Classical Dance with VERY Euphoria for VERRRRRY Juvenile"]},{"title":"リリーゼと炎龍レーヴァテイン","artist":"黒猫ダンジョン","id":1303,"data":{"genre":"OLDSTYLE GAMEMUSIC","displayVersion":"22"},"altTitles":[],"searchTerms":["lilieze and her fire dragon"]},{"title":"cinder","artist":"PHQUASE","id":1304,"data":{"genre":"MAELSTROM","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Realize Maze","artist":"movies (moimoi×Xceon×Dai.)","id":1305,"data":{"genre":"SOLITUDE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"X↑X↓","artist":"DJ TECHNORCH","id":1306,"data":{"genre":"新世紀進歩的羽扇子音楽","displayVersion":"22"},"altTitles":[],"searchTerms":["X7XL"]},{"title":"Light My Fire","artist":"GUHROOVY feat. NO+CHIN","id":1307,"data":{"genre":"BREAKCORE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"十六夜セツナ","artist":"Xceon feat.Mayumi Morinaga","id":1308,"data":{"genre":"HYPER J-POP","displayVersion":"22"},"altTitles":[],"searchTerms":["Izayoi Setsuna"]},{"title":"紅牡丹","artist":"DJ NAGAI feat. a☆ru","id":1309,"data":{"genre":"J-CORE","displayVersion":"22"},"altTitles":[],"searchTerms":["BENIBOTAN"]},{"title":"BLUE MIRAGE","artist":"DJ CHUCKY","id":1310,"data":{"genre":"NU STYLE GABBA","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"#The_Relentless","artist":"DJ Noriken","id":1311,"data":{"genre":"DUBCORE","displayVersion":"22"},"altTitles":[],"searchTerms":["THE_RELENTLESS"]},{"title":"Blaze it UP!","artist":"DJ Shimamura","id":1312,"data":{"genre":"HARDCORE RAVE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Sweet Radar","artist":"DJ Genki feat. Yukacco","id":1313,"data":{"genre":"ELECTRO POP","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"IMPLANTATION","artist":"TOMOSUKE","id":1314,"data":{"genre":"GOA TRANCE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Night sky","artist":"USAO","id":1315,"data":{"genre":"PUMPCORE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"m1dy Festival","artist":"m1dy","id":1316,"data":{"genre":"TOKYO STYLE SPEEDCORE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"SAMSARA","artist":"SOUND HOLIC feat. Nana Takahashi","id":1317,"data":{"genre":"DIMENSION WAVE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"時空トラベローグ","artist":"SWING HOLIC feat. A~YA","id":1318,"data":{"genre":"TIME TRIP JAZZ","displayVersion":"22"},"altTitles":[],"searchTerms":["JIKUU TRAVELOG"]},{"title":"ぷろぐれっしぶ時空少女!うらしまたろ子ちゃん!","artist":"ARM(IOSYS) feat. 山本椛","id":1319,"data":{"genre":"ぷろぐれっしぶ電波","displayVersion":"22"},"altTitles":[],"searchTerms":["Progressive space time girl! Urashima Taroko chan!"]},{"title":"HELL SCAPER -Last Escape Remix-","artist":"Remixed by DJ TECHNORCH fw.GUHROOVY","id":1320,"data":{"genre":"GABBAH","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Sometimes feat. Kanae Asaba","artist":"Y&Co.","id":1321,"data":{"genre":"EUROBEAT","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Amnolys","artist":"onoken","id":1322,"data":{"genre":"ART CORE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"IXION","artist":"L.E.D.","id":1323,"data":{"genre":"PSYCHEDELIC TRANCE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Gravigazer","artist":"DJ TOTTO","id":1324,"data":{"genre":"PROGRESSIVE SCHRANZ","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Chrono Diver -PENDULUMs-","artist":"猫叉L.E.D.Master+","id":1325,"data":{"genre":"CHRONO BREAKS","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"SpaceLand☆TOYBOX","artist":"OSTER project","id":1326,"data":{"genre":"RAGTIME FUTURE POP","displayVersion":"22"},"altTitles":[],"searchTerms":["SpaceLand*TOYBOX"]},{"title":"TA・DA ☆ YO・SHI","artist":"Y&Co.","id":1327,"data":{"genre":"EUROBEAT","displayVersion":"22"},"altTitles":["TA・DA☆YO・SHI"],"searchTerms":["TA DA YO SHI"]},{"title":"Vulkan","artist":"Hommarju","id":1328,"data":{"genre":"GYPSYCORE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Scars of FAUNA","artist":"猫叉Master","id":1329,"data":{"genre":"WORLD/ELECTRONICA","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"ベィスドロップ・フリークス","artist":"かめりあ feat. ななひら","id":1330,"data":{"genre":"A-STYLE DRUMSTEP","displayVersion":"22"},"altTitles":[],"searchTerms":["BASSDROP-FREAKS"]},{"title":"Sakura Mirage","artist":"Ryu☆","id":1331,"data":{"genre":"CHIPCORE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Hello Happiness","artist":"P*Light feat. mow*2","id":1332,"data":{"genre":"HAPPY HARDCORE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"打打打打打打打打打打","artist":"ヒゲドライバー join. SELEN","id":1333,"data":{"genre":"JAPANESE TRADITIONAL","displayVersion":"22"},"altTitles":[],"searchTerms":["Dadadadadadadadadada"]},{"title":"No Tears","artist":"RoughSketch feat.Aikapin","id":1334,"data":{"genre":"HARD EDM","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"鬼天","artist":"兎々","id":1335,"data":{"genre":"ASURA TEK CORE","displayVersion":"22"},"altTitles":[],"searchTerms":["ONIGAMI"]},{"title":"entelecheia","artist":"Rche","id":1336,"data":{"genre":"SACRED TRANCE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"FLOWER","artist":"DJ YOSHITAKA","id":1337,"data":{"genre":"TRANCE CORE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Don't Stop The Music feat.森高千里","artist":"tofubeats","id":1338,"data":{"genre":"J-POP","displayVersion":"22"},"altTitles":[],"searchTerms":["Don't Stop The Music feat.Chisato Moritaka"]},{"title":"とろぴかる倶楽部","artist":"HALFBY","id":1339,"data":{"genre":"TROPICAL","displayVersion":"22"},"altTitles":[],"searchTerms":["TROPICAL CLUB"]},{"title":"Beyond The Earth","artist":"猫叉Master","id":1340,"data":{"genre":"WORLD/ELECTRONICA","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"The Least 100sec","artist":"Sasaki Hirofumi","id":1341,"data":{"genre":"PROGRESSIVE","displayVersion":"22"},"altTitles":["The Least 100 sec"],"searchTerms":[]},{"title":"fallen leaves -IIDX edition-","artist":"猫叉Master","id":1342,"data":{"genre":"WORLD/ELECTRONICA","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Ludus In Tenebris","artist":"Akhuta","id":1343,"data":{"genre":"LIAISON","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"フェイクアウト","artist":"Last Note. feat.mirin","id":1344,"data":{"genre":"ROCK","displayVersion":"22"},"altTitles":[],"searchTerms":["FAKE OUT"]},{"title":"Monopole.","artist":"cosMo@暴走P","id":1345,"data":{"genre":"ARTCORE ROCK","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"TOXIC VIBRATION","artist":"SOUND HOLIC Vs. T.Kakuta feat. YURiCa","id":1346,"data":{"genre":"MELODIC SPEED METAL","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Erosion Mark","artist":"kors k REASM Des-ROW","id":1347,"data":{"genre":"FALLIN APART CORE","displayVersion":"22"},"altTitles":[],"searchTerms":["Erosion Mark "]},{"title":"On My Wings(Hardstyle IIDX)","artist":"kors k","id":1348,"data":{"genre":"HARDSTYLE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"ZZ","artist":"D.J.Amuro","id":1349,"data":{"genre":"INTELLIGENCE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Rave Saves You feat. Cardz (Exclusive IIDX Mix)","artist":"REMO-CON","id":1350,"data":{"genre":"HARD DANCE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"TIEFSEE","artist":"SOUND HOLIC Vs. dj TAKA feat. YURiCa","id":1351,"data":{"genre":"DEEP SPECTRUM","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"We're so Happy (P*Light Remix) IIDX ver.","artist":"Remixed by P*Light","id":1352,"data":{"genre":"HAPPY HARDCORE","displayVersion":"22"},"altTitles":["We're so Happy(P*Light Remix) IIDX ver."],"searchTerms":[]},{"title":"Hollywood Galaxy(DJ NAGAI Remix)","artist":"Remixed by DJ NAGAI","id":1353,"data":{"genre":"GALACTIC J-CORE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"全力 SPECIAL VACATION!! ~限りある休日~","artist":"DJ GW","id":1354,"data":{"genre":"HAPPY VACAY CORE","displayVersion":"22"},"altTitles":["全力 SPECIAL VACATION!! 〜限りある休日〜"],"searchTerms":["FULL STREAM SPECIAL VACATION!! -MISSING HOLY DAYS-"]},{"title":"千年ノ理","artist":"猫叉Master","id":1355,"data":{"genre":"WORLD/ELECTRONICA","displayVersion":"22"},"altTitles":[],"searchTerms":["sennenno kotowari","Semen"]},{"title":"妖隠し -あやかしかくし-","artist":"DJ TOTTO feat.3L","id":1356,"data":{"genre":"DRUM'N'WALTZ","displayVersion":"22"},"altTitles":[],"searchTerms":["AYAKASHIKAKUSHI"]},{"title":"取り残された美術(Arranged:HiZuMi)","artist":"幽閉サテライト feat. senya","id":1357,"data":{"genre":"HYPER J-POP","displayVersion":"22"},"altTitles":[],"searchTerms":["torinokosareta bijutsu"]},{"title":"Scarlet Moon","artist":"REDALiCE feat. Ayumi Nomiya","id":1358,"data":{"genre":"J-CORE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"それは花火のような恋","artist":"夏色バーニングラブ☆Prim","id":1359,"data":{"genre":"Hi-歌謡コア","displayVersion":"22"},"altTitles":["idol prim"],"searchTerms":["soreha hanabino youna koi","Trap Prim","Gender Prim"]},{"title":"パ→ピ→プ→Yeah!","artist":"ヒゲドライバー join. shully & Nimo","id":1362,"data":{"genre":"電波ソング","displayVersion":"22"},"altTitles":[],"searchTerms":["Pa, Pi, Pu, Yeah!"]},{"title":"EBONY & IVORY","artist":"OSTER project","id":1363,"data":{"genre":"RAGTIME CHIPTUNE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"In The Breeze","artist":"96 & Sota ft. Mayumi Morinaga","id":1364,"data":{"genre":"HYBRID","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Sounds Of Summer","artist":"Hommarju","id":1365,"data":{"genre":"UK HARDCORE","displayVersion":"22"},"altTitles":["Sounds Of Summer "],"searchTerms":["Sounds Of Summer "]},{"title":"Chronos","artist":"TAG","id":1366,"data":{"genre":"PROGRESSIVE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"少年は空を辿る","artist":"Power Of Nature","id":1367,"data":{"genre":"ムラクモ","displayVersion":"22"},"altTitles":[],"searchTerms":["Shonen ha Sora wo Tadoru"]},{"title":"ドッキン☆サマーあばんちゅーる","artist":"L.E.D.-G + Qrispy Joybox + ARM feat. ななひら","id":1395,"data":{"genre":"ドタバタ☆夏休み","displayVersion":"22"},"altTitles":[],"searchTerms":["Dokkin Summer Avanture"]},{"title":"夏色DIARY - L.E.D.-G STYLE MIX -","artist":"猫叉王子 feat.L.E.D.-G","id":1396,"data":{"genre":"HAPPY SUMMER CORE","displayVersion":"22"},"altTitles":[],"searchTerms":["NATSUIRO DIARY - L.E.D.-G STYLE MIX -"]},{"title":"Discloze","artist":"lapix","id":1397,"data":{"genre":"Hi-TECH PSYTRANCE","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"Invitation from Mr.C","artist":"C-Show","id":1398,"data":{"genre":"HOLIC","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"PENDUAL TALISMAN","artist":"猫叉L.E.D.Master","id":1399,"data":{"genre":"SYSTEM BGM","displayVersion":"22"},"altTitles":[],"searchTerms":[]},{"title":"DIAMOND CROSSING","artist":"S-C-U vs L.E.D.","id":1404,"data":{"genre":"HARD ELECTRIC POP","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"駅猫のワルツ","artist":"ミニョンヌ鉄道兄弟","id":1405,"data":{"genre":"にゃんコア","displayVersion":"23"},"altTitles":[],"searchTerms":["EKINEKONO WALTZ","DIAVOLO 3"]},{"title":"SHELTER OF THE MIND","artist":"YURiCa/花たん","id":1406,"data":{"genre":"ROCKIN' DRUM&BASS","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"か・し・ま・し☆PUMP UP!","artist":"miko","id":1407,"data":{"genre":"SUMMER WORKOUT","displayVersion":"23"},"altTitles":[],"searchTerms":["KASHIMASHI PUMP UP!"]},{"title":"ギョギョっと人魚 爆婚ブライダル","artist":"海の底からマーメイド Prim by ARM×狐夢想","id":1408,"data":{"genre":"Hi-RESORT電波","displayVersion":"23"},"altTitles":["ギョギョっと人魚♨爆婚ブライダル","ギョギョっと人魚?爆婚ブライダル"],"searchTerms":["Gyogyotto Ningyo Bakkon Bridal","Mermaid Prim"]},{"title":"Nightmare before oversleep","artist":"猫叉Master","id":1409,"data":{"genre":"SORROW STEP","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Highcharge Divolt","artist":"HuΣeR","id":1410,"data":{"genre":"BEMANIZED DIGITAL ROCK","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Uh-Oh","artist":"kors k","id":1411,"data":{"genre":"CANDY RAVE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"M4K3 1T B0UNC3","artist":"kors k","id":1412,"data":{"genre":"HDM","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Donkey Donk","artist":"Ryu☆","id":1413,"data":{"genre":"DONK","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Everlasting Last","artist":"HHH×MM×ST","id":1414,"data":{"genre":"J-DANCE POP","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"オルタネイトβ","artist":"Xceon feat. Mayumi Morinaga","id":1415,"data":{"genre":"HYPER J-POP","displayVersion":"23"},"altTitles":[],"searchTerms":["Alternate beta"]},{"title":"refrain","artist":"dj TAKA feat.AiMEE","id":1416,"data":{"genre":"TRANCE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Transport","artist":"Sota Fujimori","id":1417,"data":{"genre":"TECH-TRANCE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Central Station","artist":"Recycle","id":1418,"data":{"genre":"FUTURE BASS","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"少女アリスと箱庭幻想コンチェルト","artist":"DJ TOTTO","id":1419,"data":{"genre":"空想ファンタジーシリーズ","displayVersion":"23"},"altTitles":[],"searchTerms":["Alice in Mystic Garden"]},{"title":"Outbreak","artist":"USAO","id":1420,"data":{"genre":"FRENCHCORE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"X","artist":"D.J.Amuro","id":1421,"data":{"genre":"RENAISSANCE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"セロトニン","artist":"U1 overground","id":1422,"data":{"genre":"ORBITALICTRO","displayVersion":"23"},"altTitles":[],"searchTerms":["serotonin"]},{"title":"太陽SUNSUNボンジュールアバンチュール","artist":"Project B-","id":1423,"data":{"genre":"PIECED SUNDAY","displayVersion":"23"},"altTitles":[],"searchTerms":["taiyo sun sun bonjour aventure"]},{"title":"Daily Lunch Special","artist":"Lucky Vacuum","id":1424,"data":{"genre":"ラッキーハードコア","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"明鏡止水","artist":"TOMOSUKE feat. あさき","id":1425,"data":{"genre":"禅ジャズ","displayVersion":"23"},"altTitles":[],"searchTerms":["meikyoushisui"]},{"title":"Dreamin Train","artist":"DJ NAGAI feat. Ayumi Nomiya","id":1426,"data":{"genre":"J-CORE EXPRESS","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"GET READY!!","artist":"DJ Shimamura","id":1427,"data":{"genre":"HARDCORE RAVE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"To The Paradise","artist":"DJ Genki feat. SHIN from HYPERNOVA","id":1428,"data":{"genre":"EDM","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Go Faraway","artist":"DJ Noriken feat. Yukacco","id":1429,"data":{"genre":"TRAPSTYLE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Dynamite","artist":"USAO","id":1430,"data":{"genre":"HYBRID TWERK","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Aublia","artist":"onoken feat. ALIAKE","id":1431,"data":{"genre":"POST J-TRADITIONAL","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Musik LoverZ","artist":"RoughSketch","id":1432,"data":{"genre":"HARDSTYLE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Routing","artist":"かめりあ","id":1433,"data":{"genre":"JAZZY-ELECTRO","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"STARLIGHT DANCEHALL","artist":"P*Light","id":1434,"data":{"genre":"HAPPY EMOTION","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"追想快晴テーマパーク","artist":"PHQUASE","id":1435,"data":{"genre":"FUTURE E-POP","displayVersion":"23"},"altTitles":[],"searchTerms":["sunny theme park of nostalgia"]},{"title":"Set U Free feat. Kanae Asaba","artist":"Y&Co.","id":1436,"data":{"genre":"HARD TRANCE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"SURVIVOR","artist":"SOUND HOLIC Vs. ZYTOKINE feat. Nana Takahashi","id":1437,"data":{"genre":"GRAVITY POP","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"星屑ディスタンシア","artist":"ARM feat. 普透明度 + Brasscapsule","id":1438,"data":{"genre":"GLITCH JAZZ","displayVersion":"23"},"altTitles":[],"searchTerms":["STARDUST DISTANCIA"]},{"title":"NANAIRO","artist":"LIQU@。","id":1439,"data":{"genre":"METAL POPS","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"AO-1","artist":"電龍","id":1440,"data":{"genre":"DANCE EXPRESS","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Nowhere","artist":"Nhato","id":1441,"data":{"genre":"ELECTRO TRANCE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"do the thing feat. Kanae Asaba","artist":"MK","id":1442,"data":{"genre":"EDM","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"m1dy Dynamic","artist":"m1dy","id":1443,"data":{"genre":"TOKYO STYLE SPEEDCORE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"真 地獄超特急 -HELL or HELL-","artist":"DJ TECHNORCH Vs. L.E.D.Light-G","id":1444,"data":{"genre":"新世紀進歩的羽扇子音楽","displayVersion":"23"},"altTitles":[],"searchTerms":["THE HELL EXPRESS -HELL or HELL-"]},{"title":"Ride To The Core","artist":"GUHROOVY feat. NO+CHIN & Yuki","id":1445,"data":{"genre":"J-CORE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Rock It","artist":"Hommarju","id":1446,"data":{"genre":"HARDCORE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Violet Rose","artist":"OSTER project","id":1447,"data":{"genre":"LATIN JAZZ TRIO","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"めいさいアイドル☆あいむちゃん♪","artist":"DJ SHARPNEL feat. みらい","id":1448,"data":{"genre":"電波デステクノ","displayVersion":"23"},"altTitles":[],"searchTerms":["Meisai Idol Aim-chang."]},{"title":"量子の海のリントヴルム","artist":"黒猫ダンジョン","id":1449,"data":{"genre":"エピックプログレ","displayVersion":"23"},"altTitles":[],"searchTerms":["maud and her water dragon"]},{"title":"シュッパツシンコウ・シサカンコ","artist":"星野奏子","id":1450,"data":{"genre":"KANA-POP","displayVersion":"23"},"altTitles":[],"searchTerms":["Syuppatsushinkou Shisakanko"]},{"title":"麗 ~うらら~","artist":"SOUND HOLIC feat. Nana Takahashi","id":1451,"data":{"genre":"WINTER GLOW","displayVersion":"23"},"altTitles":["麗 〜うらら〜"],"searchTerms":["URARA"]},{"title":"NO LIMIT -オレ達に限界は無い-","artist":"SUPER STAR 満-MITSURU- vs. 伝説のダンサー マイク","id":1452,"data":{"genre":"ONLY ONE DANCE MUSIC","displayVersion":"23"},"altTitles":[],"searchTerms":["NO LIMIT"]},{"title":"朝焼けから始まるボクらの小さな旅","artist":"cosMo@暴走P","id":1453,"data":{"genre":"ARTCORE ROCK","displayVersion":"23"},"altTitles":[],"searchTerms":["asayakekarahajimaru bokuranotiisanatabi"]},{"title":"灼熱 Pt.2 Long Train Running","artist":"DJ Mass MAD Izm*","id":1454,"data":{"genre":"BROKEN SAMBA BREAK","displayVersion":"23"},"altTitles":[],"searchTerms":["shakunetsu pt.2 Long Train Running","ltr"]},{"title":"Inner Spirit","artist":"lapix","id":1455,"data":{"genre":"HiTECH FULLON","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"On the FM","artist":"C-Show","id":1456,"data":{"genre":"RADIO SHOWCASE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Damage Per Second","artist":"Maozon","id":1457,"data":{"genre":"CYBER DRUMSTEP","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"199024club -Re:BounceKiller-","artist":"DJ Mass MAD Izm*","id":1458,"data":{"genre":"TECH BREAKBEATS","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Arcana","artist":"Maozon","id":1459,"data":{"genre":"UPLIFTING TRANCE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Acid Pumper","artist":"ni-21","id":1460,"data":{"genre":"HARD DANCE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Exchange Place","artist":"Dirty Androids","id":1461,"data":{"genre":"FUTURE JERSEY","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Wheel of Journey","artist":"Vivian","id":1462,"data":{"genre":"ETHNIC","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"quick master (reform version)","artist":"youhei shimizu","id":1463,"data":{"genre":"J-TEKNO","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Devil's Gear","artist":"DJ Myosuke","id":1464,"data":{"genre":"MAINSTREAM HARDCORE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Tori-no-kimochi","artist":"猫叉Master+","id":1465,"data":{"genre":"WORLD/ELECTRONICA","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Blue Spring Express","artist":"DJ Scratch & Bend","id":1466,"data":{"genre":"DREAM CORE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"炸裂!イェーガー電光チョップ!!(JAEGER FINAL ATTACK)","artist":"L.E.D.","id":1467,"data":{"genre":"HARDSTYLE","displayVersion":"23"},"altTitles":["炸裂!イェーガー電光チョップ!!"],"searchTerms":["JAEGER FINAL ATTACK"]},{"title":"GOBBLE","artist":"Kimitaka Matsumae","id":1468,"data":{"genre":"CANTERBURY&BEAT","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"GENERATE feat.綾倉盟","artist":"Masayoshi Minoshima","id":1469,"data":{"genre":"ELECTRONIC DANCE","displayVersion":"23"},"altTitles":[],"searchTerms":["GENERATE feat.Mei Ayakura"]},{"title":"chaos eater -IIDX edition-","artist":"猫叉Master+","id":1470,"data":{"genre":"HARD STEP","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Battle Train -IIDX Edition-","artist":"Sota Fujimori","id":1471,"data":{"genre":"HARD DANCE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Welcome","artist":"Uraken","id":1472,"data":{"genre":"HARDCORE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Konzert V","artist":"Remo-con vs. dj TAKA","id":1473,"data":{"genre":"JUNGLE CLASSIC","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Derelict Star feat. Ryu*","artist":"Remo-con","id":1474,"data":{"genre":"HARD DANCE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"POSSESSION","artist":"TAG underground","id":1475,"data":{"genre":"PSYCHIC FLASH","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Godspeed","artist":"dj TAKA xxx 猫叉Master xxx L.E.D.","id":1476,"data":{"genre":"JOINT WORK","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"La dolce primavera","artist":"OSTER project","id":1477,"data":{"genre":"PRIMAVERA JAZZ WALTZ","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"OUTER LIMITS ALTERNATIVE","artist":"L.E.D.-G","id":1478,"data":{"genre":"HARDCORE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Glitch Nerds","artist":"かめりあ","id":1479,"data":{"genre":"GAMER'S ELECTRO/COMPLEXTRO","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"NINJA IS DEAD IIDX ver.","artist":"P*Light","id":1480,"data":{"genre":"SHINOBI SPEED","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Violet Pulse","artist":"G.K","id":1481,"data":{"genre":"GLITCH ELECTRO","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"STARLiGHT","artist":"星龍","id":1482,"data":{"genre":"DANCE SPEED GOLD","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"紫陽花 -AZISAI-","artist":"Camellia Vs. Expander","id":1483,"data":{"genre":"ORIENTAL TECHDANCE","displayVersion":"23"},"altTitles":[],"searchTerms":["AZISAI"]},{"title":"Journey","artist":"猫叉Master","id":1484,"data":{"genre":"WORLD/ELECTRONICA","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"CODE:1 [revision1.0.1]","artist":"HEXA","id":1485,"data":{"genre":"TECHNO","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"SEITEN NO TERIYAKI","artist":"Kobaryo","id":1486,"data":{"genre":"CHAOTIC SPEEDCORE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Super Duper Racers","artist":"kors k & Numb'n'dub","id":1487,"data":{"genre":"HARDCORE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"NZM","artist":"The 4th","id":1488,"data":{"genre":"END ROLL","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Grand Chariot","artist":"xi","id":1489,"data":{"genre":"HARD ART CORE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Sephirot","artist":"SHIKI","id":1490,"data":{"genre":"TRANCE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"StrayedCatz","artist":"削除","id":1491,"data":{"genre":"FANTASY","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Angelic Jelly","artist":"t+pazolite","id":1492,"data":{"genre":"HAPPY で HARDCORE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"Triple Counter","artist":"DJ YOSHITAKA meets dj TAKA","id":1493,"data":{"genre":"RISK + VACUUM","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"ZEPHYRANTHES","artist":"TAG","id":1494,"data":{"genre":"BLOOM CORE","displayVersion":"23"},"altTitles":[],"searchTerms":[]},{"title":"鴉","artist":"L.E.D.-G","id":1497,"data":{"genre":"CROSSBREED","displayVersion":"24"},"altTitles":[],"searchTerms":["KARASU"]},{"title":"焔極OVERKILL","artist":"RoughSketch Vs. L.E.D.-G","id":1498,"data":{"genre":"HARDCORE","displayVersion":"24"},"altTitles":[],"searchTerms":["ENGOKU OVERKILL"]},{"title":"RISING FIRE HAWK","artist":"L.E.D.-G","id":1499,"data":{"genre":"HARDSTYLE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"イザナミノナゲキ","artist":"猫叉Master","id":1500,"data":{"genre":"WORLD/ELECTRONICA","displayVersion":"24"},"altTitles":[],"searchTerms":["Izanami's wail"]},{"title":"AsiaN distractive","artist":"猫叉劇団","id":1501,"data":{"genre":"WORLD","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Super Rush","artist":"kors k","id":1502,"data":{"genre":"HARDTEK","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Rave Cannon","artist":"kors k","id":1503,"data":{"genre":"SPEED RAVE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Caterpillar","artist":"Eagle","id":1504,"data":{"genre":"HARD TRAP","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"¡Viva!","artist":"Ryu*","id":1505,"data":{"genre":"TRIBAL HOUSE","displayVersion":"24"},"altTitles":["!Viva!","?Viva!"],"searchTerms":["Viva!"]},{"title":"OOO","artist":"Ryu☆ feat.moimoi","id":1506,"data":{"genre":"BUBBLEGUM DANCE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Mare Nectaris","artist":"神楽","id":1507,"data":{"genre":"EXPERIMENTAL","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"冬椿 ft. Kanae Asaba","artist":"Xceon","id":1508,"data":{"genre":"HYPER ENKA POP","displayVersion":"24"},"altTitles":[],"searchTerms":["Fuyutsubaki ft. Kanae Asaba"]},{"title":"TOGAKUSHI","artist":"SETUP","id":1509,"data":{"genre":"HARD TRANCE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"SINOBUZ Fantasy","artist":"Noria","id":1510,"data":{"genre":"CANDY ROCK","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"津軽雪","artist":"罠師 VS 安室","id":1511,"data":{"genre":"MICHINOKU","displayVersion":"24"},"altTitles":[],"searchTerms":["TSUGARU SETSU"]},{"title":"Modular Technology","artist":"Sota Fujimori","id":1512,"data":{"genre":"TECHNO","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Honey Trap","artist":"Expander","id":1513,"data":{"genre":"HYPER TRAP","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Scripted Connection⇒ long mix","artist":"DJ MURASAME","id":1514,"data":{"genre":"TECHNO","displayVersion":"12"},"altTitles":[],"searchTerms":["SCRIPTED CONNECTION LONG MIX"]},{"title":"ROTTERDAM SHOGUN","artist":"ABDI from ジャカルタファンクブラザーズ","id":1518,"data":{"genre":"RDM","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"DORNWALD ~Junge~","artist":"DJ TOTTO","id":1523,"data":{"genre":"ARCHAIC TALE EP1","displayVersion":"24"},"altTitles":["DORNWALD 〜Junge〜"],"searchTerms":["DORNWALD -Junge-"]},{"title":"獅子霞麗ノ舞","artist":"HuΣeR","id":1525,"data":{"genre":"DRAMATIC WALTZ","displayVersion":"24"},"altTitles":[],"searchTerms":["Shishikasumu Uruwashinomai"]},{"title":"ECHIDNA","artist":"HuΣeR","id":1527,"data":{"genre":"HYBRID BUCHIAGE TRANCE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Quakes","artist":"dj Hellix","id":1528,"data":{"genre":"HARD BREAK BEATS","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"PAPAYAPA BASS","artist":"かめりあ feat. ななひら","id":1529,"data":{"genre":"MONDO-GROOVE BASSHOUSE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"焱影","artist":"RoughSkreamZ feat.楽天斎","id":1530,"data":{"genre":"HIP HOP","displayVersion":"24"},"altTitles":["火影","?影"],"searchTerms":["HIKAGE"]},{"title":"SAY BAY","artist":"P*Light","id":1531,"data":{"genre":"SHINOBI RAVE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"(This Is Not) The Angels","artist":"Hommarju","id":1532,"data":{"genre":"BIG BEAT/BREAKBEATS","displayVersion":"24"},"altTitles":[],"searchTerms":["This Is Not The Angels"]},{"title":"Selfish Sweet","artist":"OSTER project feat. かなたん","id":1533,"data":{"genre":"R&B","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Be A Star","artist":"PHQUASE feat.ぁゅ","id":1535,"data":{"genre":"ALTERNATIVE TECHNO POP","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Egret and Willow","artist":"Dirty Androids","id":1536,"data":{"genre":"FUTURE BEATS","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"禍根","artist":"U1 overground","id":1537,"data":{"genre":"ORBITALIC FUTURE BASS","displayVersion":"24"},"altTitles":[],"searchTerms":["Source Of Calamity"]},{"title":"Sarutobi Champion is 拙者","artist":"Project B-","id":1538,"data":{"genre":"PIECED MAKIBISHI","displayVersion":"24"},"altTitles":[],"searchTerms":["Sarutobi Champion is Sessha"]},{"title":"次葉 -turn the page-","artist":"小寺可南子","id":1539,"data":{"genre":"POP ROCK","displayVersion":"24"},"altTitles":[],"searchTerms":["JIYOU -turn the page-"]},{"title":"AO-∞","artist":"青龍","id":1540,"data":{"genre":"DANCE SPEED","displayVersion":"24"},"altTitles":[],"searchTerms":["AO-INFINITY"]},{"title":"忍恋花","artist":"黒脛","id":1541,"data":{"genre":"忍歌","displayVersion":"24"},"altTitles":[],"searchTerms":["SHINOBI RENKA"]},{"title":"Go Ahead!!","artist":"Ryu☆ Vs. Sota","id":1542,"data":{"genre":"TRANCE CORE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"DISAPPEAR feat. koyomin","artist":"DJ Genki","id":1543,"data":{"genre":"EMOTIONAL HI-TECH","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"#MAGiCVLGiRL_TRVP_B3VTZ","artist":"DJ Noriken","id":1544,"data":{"genre":"NEON/TWERKCORE","displayVersion":"24"},"altTitles":[],"searchTerms":["MAGiCVLGiRL_TRVP_B3VTZ"]},{"title":"The Commanders","artist":"USAO","id":1545,"data":{"genre":"HARDSTYLE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Umbral","artist":"Maozon","id":1546,"data":{"genre":"UPLIFTING TRANCE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Steel Edge","artist":"Maozon","id":1547,"data":{"genre":"DRUM&BASS","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Music is The Answer","artist":"C-Show","id":1548,"data":{"genre":"TURBOFUNK","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Amazing Mirage","artist":"lapix","id":1549,"data":{"genre":"HiTECH FULLON","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Affection","artist":"ni-21","id":1550,"data":{"genre":"HARD DANCE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"XINOBIKILL","artist":"SOUND HOLIC feat. Nana Takahashi","id":1551,"data":{"genre":"CYBER JAZZSTEP","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"FUZIN RIZIN","artist":"SOUND HOLIC feat. Nana Takahashi & 709sec.","id":1552,"data":{"genre":"HYPER DIGIMETAL","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"ディッシュウォッシャー◎彡おいわちゃん","artist":"ARM×狐夢想 feat. 山本椛","id":1553,"data":{"genre":"ネオスカ電波","displayVersion":"24"},"altTitles":[],"searchTerms":["Dish Washer Oiwa-Chan"]},{"title":"ちらちら・はらはら","artist":"NU-KO","id":1554,"data":{"genre":"ACEDIA","displayVersion":"24"},"altTitles":[],"searchTerms":["CHIRACHIRA HARAHARA"]},{"title":"Believe in you","artist":"DJ Shimamura feat. Renna","id":1555,"data":{"genre":"HARDCORE RAVE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Shoot'Em All","artist":"Manabu Namiki","id":1556,"data":{"genre":"DETROIT TECHNO","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Breakin' Chain","artist":"REDALiCE feat. MONICO","id":1557,"data":{"genre":"MOOMBAHCORE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"GuNGNiR","artist":"Gram","id":1558,"data":{"genre":"REQUIEM PSY","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"HADES","artist":"Massive New Krew","id":1559,"data":{"genre":"HARDSTYLE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Remedy feat. Kanae Asaba","artist":"Y&Co.","id":1560,"data":{"genre":"哀愁EUROBEAT","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"お命ちょうDAI!901娘","artist":"DJ SHARPNEL feat. みらい","id":1561,"data":{"genre":"演歌ブレイクス","displayVersion":"24"},"altTitles":[],"searchTerms":["Oinochi Cho-D.A.I. 901Girl "]},{"title":"Beyond The Seven","artist":"Nhato","id":1562,"data":{"genre":"TRANCE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"elemental bender feat. Kanae Asaba","artist":"MK","id":1563,"data":{"genre":"EDM","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Seaside Labyrinth","artist":"Dirty Androids","id":1564,"data":{"genre":"80's SYNTH FUNK","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"SAMURAI-Scramble","artist":"DJ Mass MAD Izm*","id":1565,"data":{"genre":"TECH BREAKBEATS","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Warrior","artist":"DJ CHUCKY feat. Jonjo","id":1566,"data":{"genre":"MAINSTREAM HARDCORE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Summer","artist":"banvox","id":1567,"data":{"genre":"DANCE MUSIC","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Piano Samurai","artist":"maras k(marasy+kors k)","id":1568,"data":{"genre":"BEAT PIANO MUSIC","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Sweet Clapper","artist":"livetune+","id":1569,"data":{"genre":"J-POP","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"SCREAM THE LIFE FEAT.KYONO","artist":"DJ BAKU","id":1570,"data":{"genre":"ROCK","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"BREAK OVER","artist":"MASAYOSHI IIMORI","id":1571,"data":{"genre":"FESTIVAL SOUND","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Seize the Day","artist":"DJ'TEKINA//SOMETHING feat.yuyoyuppe","id":1572,"data":{"genre":"FUTURE BASS","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"OTENAMI Hurricane","artist":"t+pazolite","id":1573,"data":{"genre":"POP BREAKCORE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Magical","artist":"Snail's House","id":1574,"data":{"genre":"KAWAII FUTURE BASS","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Yellow Sketch(RX-Ver.S.P.L.)","artist":"高田雅史","id":1575,"data":{"genre":"ALTERNATIVE ELECTRO","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"shuriken","artist":"ヒゲドライバー","id":1576,"data":{"genre":"CHIPTUNE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"yamabiko (SINOBUZ Edition)","artist":"かめりあ","id":1577,"data":{"genre":"夏の夕暮れと、DUBSTEP。","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"九尾狐夜行","artist":"天狐","id":1578,"data":{"genre":"ORIENTAL FUSION","displayVersion":"24"},"altTitles":[],"searchTerms":["Kyuubikoyagyou"]},{"title":"Around The Galaxy","artist":"NISH","id":1579,"data":{"genre":"UPLIFTING TRANCE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Sky High","artist":"Cuvelia","id":1580,"data":{"genre":"ANTHEM","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Snakey Kung-fu","artist":"金獅子 vs 麒麟 feat. 獏","id":1581,"data":{"genre":"ASIAN CONTEMPORARY","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"月雪に舞う華のように","artist":"猫叉Master","id":1582,"data":{"genre":"FOREST SNOW","displayVersion":"24"},"altTitles":[],"searchTerms":["Tsukiyuki ni mau hananoyouni"]},{"title":"INVISIBLE STRIX","artist":"L.E.D.","id":1583,"data":{"genre":"NEUROFUNK","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"RAIN","artist":"dj TAKA","id":1584,"data":{"genre":"TRANCE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"刃図羅","artist":"猫叉Master vs HuΣeR","id":1585,"data":{"genre":"LAST ARTS","displayVersion":"24"},"altTitles":[],"searchTerms":["BUZRA"]},{"title":"〆","artist":"lapix","id":1586,"data":{"genre":"HiTECH","displayVersion":"24"},"altTitles":[],"searchTerms":["SHIME"]},{"title":"BabeL ~Grand Story~","artist":"Ako Atak","id":1587,"data":{"genre":"SPIRAL STAIRS","displayVersion":"24"},"altTitles":["BabeL 〜Grand Story〜"],"searchTerms":["BabeL -Grand Story-"]},{"title":"BroGamer","artist":"USAO","id":1588,"data":{"genre":"SUPER ULTIMATE HYPER CORE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Beat Juggling Mix","artist":"Hommarju","id":1589,"data":{"genre":"DJ BATTLE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"SEQUENCE CAT","artist":"SLEDLAKE (SLAKE & L.E.D.)","id":1590,"data":{"genre":"TECHNO","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"nostos","artist":"Setaria Virtuoso","id":1591,"data":{"genre":"NOSTALGIA","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"crew","artist":"beatnation Records","id":1592,"data":{"genre":"ANTHEM","displayVersion":"24"},"altTitles":["crew -original mix-","crew -VENUS mix-","crew -Ryu☆ mix-","crew -kors k mix-","crew -Prim version-"],"searchTerms":[]},{"title":"Macuilxochitl","artist":"TOMOSUKE","id":1593,"data":{"genre":"PIANO CONTEMPORARY","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Summerlights(IIDX Edition)","artist":"DJ Noriken","id":1594,"data":{"genre":"HARDCORE RAVE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"HAPPY★RUSH","artist":"P*Light","id":1595,"data":{"genre":"HAPPY","displayVersion":"24"},"altTitles":[],"searchTerms":["HAPPY*RUSH"]},{"title":"Lift Us High","artist":"BEMANI Sound Team \"Sota Fujimori\"","id":1596,"data":{"genre":"MELODIC TRANCE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"CODE:0","artist":"BEMANI Sound Team \"HEXA\"","id":1597,"data":{"genre":"BIG BEAT","displayVersion":"26"},"altTitles":["CODE:Ø"],"searchTerms":[]},{"title":"BLO§OM","artist":"BEMANI Sound Team \"TAG\"","id":1598,"data":{"genre":"BLOOM TRANCE","displayVersion":"26"},"altTitles":["BLOSSOM"],"searchTerms":["BLOSSOM"]},{"title":"ZENDEGI DANCE","artist":"ARM × BEMANI Sound Team \"U1 overground\"","id":1599,"data":{"genre":"ORBITALIC ORIENTAL ELECTRO","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Psycho Sheep Riddim","artist":"BEMANI Sound Team \"SYUNN\"","id":1600,"data":{"genre":"RIDDIM DUBSTEP","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"COSMIC CYBER","artist":"BEMANI Sound Team \"Captain Sonic\"","id":1601,"data":{"genre":"BIGCORE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"A Tale Hidden In The Abyss","artist":"BEMANI Sound Team \"person09\"","id":1602,"data":{"genre":"COMMENT OUT","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"サクラあっぱれーしょん","artist":"Remixed by BEMANI Sound Team \"TAG\" feat. 柊木りお","id":1603,"data":{"genre":"IIDX EDITION","displayVersion":"26"},"altTitles":[],"searchTerms":["Sakura Apparation"]},{"title":"Garuda","artist":"kors k","id":1604,"data":{"genre":"JUKE/FOOTWORK","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"グラナダの風","artist":"BEMANI Sound Team \"劇団レコード\"","id":1605,"data":{"genre":"SPANISH GUITAR","displayVersion":"26"},"altTitles":[],"searchTerms":["Granada Wind"]},{"title":"Unbelief","artist":"BEMANI Sound Team \"Anonymous\"","id":1606,"data":{"genre":"METAL","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"CoMAAAAAAA","artist":"Ryu☆","id":1607,"data":{"genre":"UPLIFTING ETHNIC","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"深愛のリグレット","artist":"Xceon feat.Mayumi Morinaga","id":1608,"data":{"genre":"PIANO J TRANCE POP","displayVersion":"26"},"altTitles":[],"searchTerms":["shinaino regret "]},{"title":"Wonderland","artist":"kors k","id":1609,"data":{"genre":"CANDY RAVE GABBER","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Mächö Mönky","artist":"kors k","id":1610,"data":{"genre":"JUNGLE TERROR","displayVersion":"26"},"altTitles":["Macho Monky","M?ch? M?nky"],"searchTerms":["Macho Monky"]},{"title":"Glory","artist":"kradness","id":1611,"data":{"genre":"EDM","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"夏の匂い。キミの残像。 ft. Kanae Asaba","artist":"Xceon","id":1612,"data":{"genre":"Re 90's J-DANCE POP","displayVersion":"26"},"altTitles":[],"searchTerms":["Natsunonioi kiminozanzou ft. Kanae Asaba"]},{"title":"AGAiN","artist":"DJ NAGAI","id":1613,"data":{"genre":"HARDCORE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Catch Our Fire!","artist":"中島由貴","id":1614,"data":{"genre":"MARVELOUS CHEER","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"dAuntl3ss","artist":"DJ Noriken","id":1615,"data":{"genre":"HARDER DANCE MUSIC","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Starry Night","artist":"Massive New Krew feat.松平なな","id":1616,"data":{"genre":"HARDSTYLE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Wing of Hearts","artist":"USAO & DJ Nanashi","id":1617,"data":{"genre":"HYPER HANDS UP","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Carmina","artist":"CANVAS feat. Quimär","id":1618,"data":{"genre":"SYMPHONIC TRANCECORE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"L.F.O","artist":"aran","id":1619,"data":{"genre":"UK HARDCORE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"The Rebellion of Sequencer","artist":"DJ Myosuke","id":1620,"data":{"genre":"DJENTCORE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"泰東ノ翠霞","artist":"bermei.inazawa/feat.霜月はるか","id":1621,"data":{"genre":"JAPANESE POPS","displayVersion":"26"},"altTitles":[],"searchTerms":["taito no suika"]},{"title":"花冠 feat.Aikapin","artist":"RoughSkreamZ","id":1622,"data":{"genre":"SOCA","displayVersion":"26"},"altTitles":[],"searchTerms":["Hanakanmuri feat.Aikapin"]},{"title":"セカンドピアス","artist":"OSTER project feat. echo","id":1623,"data":{"genre":"GIRLS ROCK","displayVersion":"26"},"altTitles":[],"searchTerms":["Second earrings"]},{"title":"Dr. Chemical & Killing Machine","artist":"Hommarju","id":1624,"data":{"genre":"INDUSTRIAL TECHNO","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"ハードベース・フェスタ","artist":"かめりあ feat. ななひら","id":1625,"data":{"genre":"A-STYLE RUSSIAN HARDBASS","displayVersion":"26"},"altTitles":[],"searchTerms":["HARDBASS FESTA"]},{"title":"U.S.A.","artist":"Remixed by BEMANI Sound Team \"PHQUASE feat.TRANDER Jr.\"","id":1626,"data":{"genre":"IIDX EDITION","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"IDC feat.REVERBEE (Mo'Cuts Ver)","artist":"DJ Mass MAD Izm*","id":1627,"data":{"genre":"TECH-BREAKS","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Red. by Jack Trance","artist":"DJ Mass MAD Izm*","id":1628,"data":{"genre":"TECH-BREAKS","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Twilight Warp","artist":"Maozon feat. Kyte","id":1629,"data":{"genre":"CYBER DANCE MUSIC","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"ROCK女 feat. 大山愛未, Ken","artist":"Y&Co.","id":1630,"data":{"genre":"TRANCE","displayVersion":"26"},"altTitles":["ROCK女 feat. 大山愛未, Ken"],"searchTerms":["ROCK ONNA feat. Aimi Oyama, Ken"]},{"title":"Yum Yum Jelly","artist":"YUC'e","id":1631,"data":{"genre":"FUTURE BASS","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"LADYBIRD","artist":"YUC'e","id":1632,"data":{"genre":"GLITCH HOP","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Cranberry City ft. Luschel","artist":"lapix","id":1633,"data":{"genre":"GARAGE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"& Intelligence","artist":"lapix","id":1634,"data":{"genre":"MEGA MIX","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Hurry Hurry","artist":"Masayoshi Iimori","id":1635,"data":{"genre":"RAVE SXXX","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Ember Lights","artist":"Nhato","id":1636,"data":{"genre":"FUSION TRANCE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Particle Arts","artist":"Virtual Self","id":1637,"data":{"genre":"NEOTRANCE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Urban Constellations","artist":"Dirty Androids","id":1638,"data":{"genre":"JAZZY FOOTWORK JUNGLE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"ONIGOROSHI","artist":"m1dy","id":1639,"data":{"genre":"TOKYO STYLE SPEEDCORE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"爆ゼニ☆がってんワーカー","artist":"ARM×狐夢想 feat. ななひら","id":1640,"data":{"genre":"勤労☆電波","displayVersion":"26"},"altTitles":[],"searchTerms":["Baku Zeni Gatten Worker"]},{"title":"Re:Story","artist":"ももいろクローバーZ","id":1641,"data":{"genre":"J-POP","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"The Sealer ~ア・ミリアとミリアの民~","artist":"Zektbach","id":1642,"data":{"genre":"ELEMENTAL JIG","displayVersion":"26"},"altTitles":["The Sealer 〜ア・ミリアとミリアの民〜"],"searchTerms":["The Sealer"]},{"title":"The Best of Both Worlds","artist":"☆Taku Takahashi (m-flo, block.fm)","id":1643,"data":{"genre":"EUROTRAPBEAT","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"GIGA THRASH","artist":"Blacklolita","id":1644,"data":{"genre":"DUBSTEP","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Angels & Demons","artist":"月代 彩","id":1645,"data":{"genre":"DRUM & BASS","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"ミストレス・アンに花束を","artist":"soejima takuma feat.BEMANI Sound Team \"猫叉Master\"","id":1646,"data":{"genre":"ELECTRONICA","displayVersion":"26"},"altTitles":[],"searchTerms":["Bouquet for Ann"]},{"title":"SPEED ROCKER","artist":"AJURIKA","id":1647,"data":{"genre":"PSYCHEDELIC TRANCE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"IDOL syndrome.","artist":"RINA","id":1648,"data":{"genre":"PSYCHEDELIC ROCK","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"OVER TIME","artist":"空中分解feat.アンテナガール","id":1649,"data":{"genre":"ELECTRO POP","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Xlø","artist":"sasakure.UK","id":1650,"data":{"genre":"NEUTRONIKA","displayVersion":"26"},"altTitles":["Xlo","Xl?","Xlo"],"searchTerms":["XLO"]},{"title":"Let me be your cure","artist":"Pizuya's Cell","id":1651,"data":{"genre":"ELECTRIC DANCE ROCK","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Level One","artist":"Yamato","id":1652,"data":{"genre":"Drumstep / DnB","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Next Tales 2 Oath (IIDX 20th Anniv \"Ring\" Theme)","artist":"Hommarju","id":1653,"data":{"genre":"THEME SONG","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Serious?","artist":"KSUKE","id":1654,"data":{"genre":"FESTIVAL TRAP","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"龍王の霊廟(Mausoleum Of The Primal Dragon)","artist":"BEMANI Sound Team \"黒猫ダンジョン\"","id":1655,"data":{"genre":"RETROSPECTIVE EPIC MUSIC","displayVersion":"26"},"altTitles":[],"searchTerms":["Mausoleum Of The Primal Dragon"]},{"title":"Wolf 1061","artist":"Xceon","id":1656,"data":{"genre":"PIANO TRANCE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"金野火織の金色提言","artist":"DJ TECHNORCH feat. 宇宙★海月","id":1657,"data":{"genre":"音ゲー賛美歌","displayVersion":"26"},"altTitles":[],"searchTerms":["KONNO HIORI NO KONJIKI TEIGEN"]},{"title":"EVANESCENT","artist":"SOUND HOLIC feat. Nana Takahashi","id":1658,"data":{"genre":"PROGRESSIVE ROCK","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"LOST TECHNOLOGIE","artist":"かめりあ","id":1659,"data":{"genre":"TECHNO","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"XENON II ~TOMOYUKIの野望~","artist":"Mr.T","id":1660,"data":{"genre":"ELECTRO SHOCK","displayVersion":"26"},"altTitles":["XENON II 〜TOMOYUKIの野望〜"],"searchTerms":["XENON II -TOMOYUKI no Yabou-"]},{"title":"DRUNK MONKY","artist":"DJ ODDBALL","id":1661,"data":{"genre":"MINIMAL","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Playing With Fire","artist":"kors k","id":1662,"data":{"genre":"SPEED RAVE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Lethal Weapon","artist":"BEMANI Sound Team \"HuΣeR\"","id":1663,"data":{"genre":"RECKLESS HARDCORE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"GO OVER WITH GLARE -ROOTAGE 26-","artist":"BEMANI Sound Team \"L.E.D.-G\"","id":1664,"data":{"genre":"HARDSTYLE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"お菓子の王国","artist":"Snail's House","id":1665,"data":{"genre":"SPEED CANDY","displayVersion":"26"},"altTitles":[],"searchTerms":["Candy Kingdom"]},{"title":"50th Memorial Songs -Beginning Story-","artist":"BEMANI Sound Team","id":1666,"data":{"genre":"ANNIVERSARY","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"50th Memorial Songs -二人の時 ~under the cherry blossoms~-","artist":"BEMANI Sound Team","id":1667,"data":{"genre":"ANNIVERSARY","displayVersion":"26"},"altTitles":["50th Memorial Songs -二人の時 〜under the cherry blossoms〜-"],"searchTerms":["50th Memorial Songs -FUTARINO TOKI under the cherry blossoms-"]},{"title":"50th Memorial Songs -Flagship medley-","artist":"BEMANI Sound Team","id":1668,"data":{"genre":"ANNIVERSARY","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"50th Memorial Songs -The BEMANI History-","artist":"BEMANI Sound Team","id":1669,"data":{"genre":"ANNIVERSARY","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Night! Night! Night!","artist":"MM","id":1670,"data":{"genre":"EURO DYNAMITE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"ruin of opals","artist":"上ノ瀬つかさ","id":1671,"data":{"genre":"IRIDESCENCE JAZZ ETUDE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Technicolour Dreams","artist":"DUNE & M-Project & GUHROOVY","id":1672,"data":{"genre":"HDM","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Carry Me Away","artist":"lapix","id":1673,"data":{"genre":"FUTURE CORE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"ROZA DE ANDALUCIA","artist":"SOUND HOLIC Vs. T.Kakuta feat. Nana Takahashi","id":1674,"data":{"genre":"MELODIC SPEED METAL","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"ToyCube Pf.(RX-Ver.S.P.L.)","artist":"高田雅史","id":1675,"data":{"genre":"NEW AGE","displayVersion":"26"},"altTitles":["ToyCube Pf.(RX Ver.S.P.L)","ToyCube Pf (RX Ver.S.P.L)"],"searchTerms":[]},{"title":"Sidechained Threats","artist":"sanodg","id":1676,"data":{"genre":"ELECTRO","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Necroxis Girl","artist":"BEMANI Sound Team \"HuΣeR\"","id":1677,"data":{"genre":"GLITCH DUBSTEP","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Geirskögul","artist":"Maozon","id":1678,"data":{"genre":"CYBER DRUMSTEP","displayVersion":"26"},"altTitles":["Geirsk?gul","Geirskogul"],"searchTerms":["Geirskogul"]},{"title":"Please Welcome Mr.C","artist":"C-Show","id":1679,"data":{"genre":"JAZZY HOLIC","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"HARD BRAIN","artist":"AJURIKA","id":1680,"data":{"genre":"HARD TECHNO","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Visterhv","artist":"Feryquitous","id":1681,"data":{"genre":"REBIRTH OUT","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Trill auf G","artist":"BEMANI Sound Team \"dj TAKA\"","id":1682,"data":{"genre":"MUSIC GAMES HARDCORE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"voltississimo","artist":"BEMANI Sound Team \"PHQUASE\"","id":1683,"data":{"genre":"VVV","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"toy boxer","artist":"BEMANI Sound Team \"S-C-U & SYUNN\"","id":1684,"data":{"genre":"BOXINGCORE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"最小三倍完全数","artist":"DJ TECHNORCH","id":1685,"data":{"genre":"ピタゴラス的不完全性破壊衝動音律(ハンマーによる)","displayVersion":"26"},"altTitles":[],"searchTerms":["SMALLEST 3K-PERFECT NUMBER"]},{"title":"Six String Proof","artist":"BEMANI Sound Team \"Yvya × Mutsuhiko Izumi\"","id":1686,"data":{"genre":"HARDROCK","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"おーまい!らぶりー!すうぃーてぃ!だーりん!","artist":"BEMANI Sound Team \"PON\" feat.NU-KO","id":1687,"data":{"genre":"LOVELY YOUTH","displayVersion":"26"},"altTitles":[],"searchTerms":["OH MY!LOVELY!SWEETY!DARLING!"]},{"title":"Afterimage d'automne","artist":"BEMANI Sound Team \"猫叉劇団\"","id":1688,"data":{"genre":"ASYMMETRY ART","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"BLACK JACKAL","artist":"Akira Complex","id":1689,"data":{"genre":"DANCE MUSIC","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"ミッドナイト☆WAR","artist":"いちか","id":1690,"data":{"genre":"BEMANIZED ROCKCORE","displayVersion":"26"},"altTitles":[],"searchTerms":["MIDNIGHT WAR"]},{"title":"Tp-RZ","artist":"CAPACITY GATE","id":1691,"data":{"genre":"BREAKBEATS","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"portal","artist":"猫叉Master+","id":1692,"data":{"genre":"ELECTRO","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Painful Fate","artist":"BEMANI Sound Team \"猫叉Master\"","id":1693,"data":{"genre":"DRUM'N'BASS","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"SIGMA","artist":"BEMANI Sound Team \"Mutsuhiko Izumi\"","id":1694,"data":{"genre":"HARDROCK","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Digital Skipper","artist":"BEMANI Sound Team \"Expander\"","id":1695,"data":{"genre":"HYBRID","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"REPLAY","artist":"SLAKE","id":1696,"data":{"genre":"TECHNO","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Cyber True Color","artist":"kors k vs Sota Fujimori","id":1697,"data":{"genre":"DREAM COLLABORATION","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"恋はどう?モロ◎波動OK☆方程式!!","artist":"あべにゅうぷろじぇくと feat. 佐倉紗織 produced by ave;new","id":1698,"data":{"genre":"理系ポップ","displayVersion":"24"},"altTitles":[],"searchTerms":["koihadou? moro hadou ok houteishiki!!"]},{"title":"Vermilion","artist":"Remo-con","id":1699,"data":{"genre":"HARD HOUSE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Lost wing at.0","artist":"猫叉Master+","id":1700,"data":{"genre":"DRUM'N'BASS","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Surf on the Light","artist":"Tomoyuki Uchida","id":1701,"data":{"genre":"ELECTRO FUSION","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"童話回廊","artist":"DJ TOTTO","id":1702,"data":{"genre":"空想ファンタジーシリーズ","displayVersion":"24"},"altTitles":[],"searchTerms":["DOUWAKAIROU"]},{"title":"Apocalypse","artist":"Morrigan feat. リリィ","id":1703,"data":{"genre":"EPIC D'N'B","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"Venom","artist":"kors k vs L.E.D.-G","id":1704,"data":{"genre":"JUMP UP/HARDCORE","displayVersion":"24"},"altTitles":[],"searchTerms":[]},{"title":"神謳 -RESONANCE-","artist":"SOUND HOLIC feat. Nana Takahashi Vs.GOD PHOENIX Prim","id":1707,"data":{"genre":"Hi-MYTH","displayVersion":"25"},"altTitles":[],"searchTerms":["SHINOH -RESONANCE-","Phoenix Prim","Phnix Prim"]},{"title":"THE CANNONBALLER","artist":"L.E.D. feat. YURiCa/花たん","id":1708,"data":{"genre":"EUROBEAT","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"ナイトシティー・アヴァンチュール","artist":"森永真由美","id":1709,"data":{"genre":"歌謡ニューウェーブ","displayVersion":"25"},"altTitles":[],"searchTerms":["NIGHTCITY AVENTURE"]},{"title":"DEATH†ZIGOQ ~怒りの高速爆走野郎~","artist":"L.E.D.ALiCE(DJ NAGAI Vs. BEMANI Sound Team \"L.E.D.-G\")","id":1710,"data":{"genre":"世紀末コア","displayVersion":"25"},"altTitles":["DEATH†ZIGOQ 〜怒りの高速爆走野郎〜","DEATH†ZIGOQ~怒りの高速爆走野郎~"],"searchTerms":["DEATH ZIGOQ"]},{"title":"Initiation","artist":"BEMANI Sound Team \"謎の勢力\"","id":1711,"data":{"genre":"00's TECHNO","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"ChaserXX","artist":"HuΣeR","id":1712,"data":{"genre":"CYBERNETICS PIANO HOUSE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"純真可憐デザイア","artist":"BEMANI Sound Team \"HuΣeR\" feat.Fernweh","id":1713,"data":{"genre":"EMOTIONAL ROCK","displayVersion":"25"},"altTitles":[],"searchTerms":["JUNSHINKAREN DESIRE"]},{"title":"EMERALDAS","artist":"BEMANI Sound Team \"HuΣeR vs dj Hellix\"","id":1714,"data":{"genre":"IRREGULAR DJENT STEP","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"ANCHOR","artist":"BEMANI Sound Team \"HuΣeR Vs. SYUNN\"","id":1715,"data":{"genre":"STYLISH CROSSOVER","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"AA -rebuild-","artist":"D.J.Amuro","id":1716,"data":{"genre":"RENAISSANCE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"I Love You","artist":"O/iviA","id":1717,"data":{"genre":"EURO TRANCE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"バスルーム ロマンス","artist":"BEMANI Sound Team \"Saori Watanabe\"","id":1718,"data":{"genre":"CLASSIC MOTIF","displayVersion":"25"},"altTitles":[],"searchTerms":["Bathroom Romance"]},{"title":"COSMIC☆WONDER☆REVOLUTION","artist":"猫叉Master+","id":1719,"data":{"genre":"COSMIC POP","displayVersion":"25"},"altTitles":[],"searchTerms":["COSMIC*WONDER*REVOLUTION"]},{"title":"ACCELERATE","artist":"Sota Fujimori","id":1720,"data":{"genre":"SYNTH-TECH","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Expanded !!","artist":"BEMANI Sound Team \"Expander\"","id":1721,"data":{"genre":"MIDDLE EASTERN TWERK","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Life Is A Game ft.DD\"ナカタ\"Metal","artist":"RoughSketch","id":1722,"data":{"genre":"UPTEMPO HARDCORE","displayVersion":"25"},"altTitles":["Life Is A Game ft.DD\"ナカタ\""],"searchTerms":["Life Is A Game ft.DD\"Nakata\"Metal"]},{"title":"Back Spin Sweeper","artist":"DJ TOTTO","id":1723,"data":{"genre":"WAGON WHEEL TRANCE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"シムルグの目醒め","artist":"BEMANI Sound Team \"DJ TOTTO\" feat.rionos","id":1724,"data":{"genre":"NATURE","displayVersion":"25"},"altTitles":[],"searchTerms":["Dawn of Simurgh"]},{"title":"Abraxas","artist":"SYUNN","id":1725,"data":{"genre":"DUBSTEP","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Papilio ulysses","artist":"BEMANI Sound Team \"SYUNN\"","id":1726,"data":{"genre":"DRUMSTEP","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Mira","artist":"Akhuta","id":1727,"data":{"genre":"ALTERNATIVE FUGUE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"東京神話","artist":"DJ TECHNORCH feat.宇宙★海月 vs BEMANI Sound Team \"U1-ASAMi\"","id":1728,"data":{"genre":"ORBITALIC GABBER STEP","displayVersion":"25"},"altTitles":[],"searchTerms":["TOKYO SHINWA"]},{"title":"Beast mode","artist":"BEMANI Sound Team \"TAG\"","id":1729,"data":{"genre":"SPEED EURO","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"FIRE BALL","artist":"BEMANI Sound Team \"RACER-X\"","id":1730,"data":{"genre":"SPEED STAR","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"草原の王女-軌跡を辿って-","artist":"劇団レコード","id":1731,"data":{"genre":"JOURNEY SCENE","displayVersion":"25"},"altTitles":[],"searchTerms":["Princess in Grassland"]},{"title":"VOX RUSH","artist":"青龍 × sampling masters MEGA & sampling masters AYA","id":1732,"data":{"genre":"ROTTERDAM RAVE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"O/D*20","artist":"Ryu*","id":1733,"data":{"genre":"TECHNO","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"255","artist":"255","id":1734,"data":{"genre":"HYPER SPEED RAVE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Boomy and The Boost","artist":"Eagle","id":1735,"data":{"genre":"NEO JUNGLE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"ANAGMA","artist":"C-Show","id":1736,"data":{"genre":"PSY TECH DANCE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"ハイ*ビスカス ft. Kanae Asaba","artist":"Xceon","id":1737,"data":{"genre":"YANKEE CAR J TRANCE","displayVersion":"25"},"altTitles":[],"searchTerms":["Hi*biscus ft. Kanae Asaba"]},{"title":"Alpheratz","artist":"Xceon","id":1738,"data":{"genre":"PIANO TRANCE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Amor De Verão","artist":"かめりあ feat. ななひら","id":1739,"data":{"genre":"熱帯 THE BASS","displayVersion":"25"},"altTitles":["Amor De Verao","Amor De Ver?o"],"searchTerms":["Amor De Verao"]},{"title":"LUV DRIVE","artist":"RoughSketch feat.Aikapin","id":1740,"data":{"genre":"POPCORE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Battleground","artist":"kors k","id":1741,"data":{"genre":"SCHRANZ","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"HAT TRICK","artist":"P*Light","id":1742,"data":{"genre":"HANDZ STYLE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Break Stasis","artist":"Hommarju & Akira Complex","id":1743,"data":{"genre":"DRUMSTEP/HARDCORE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"エディブルフラワーの独白","artist":"OSTER project feat. 常盤ゆう","id":1744,"data":{"genre":"HARD FRENCH","displayVersion":"25"},"altTitles":[],"searchTerms":["edible flower monologue"]},{"title":"Exhaust Hype","artist":"DJ Noriken","id":1745,"data":{"genre":"HARD BASS HOUSE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"FREEDOM","artist":"USAO","id":1746,"data":{"genre":"HYPER DUBSTEP","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Slipstream","artist":"lapix","id":1747,"data":{"genre":"FUTURE CORE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Best of Me","artist":"Maozon","id":1748,"data":{"genre":"CYBER LIQUID FUNK","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Around the Future","artist":"Maozon vs. C-Show","id":1749,"data":{"genre":"CYBERCORE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"FUTURE is Dead","artist":"C-Show","id":1750,"data":{"genre":"HOLIC","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Acidiva 303","artist":"ni-21","id":1751,"data":{"genre":"HARD DANCE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"1001 -ESCAPE-","artist":"SOUND HOLIC feat. Nana Takahashi","id":1752,"data":{"genre":"JAZZ ROCK","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"共犯へヴンズコード","artist":"D-Evoke(与那嶺雅人/小日向翔)","id":1753,"data":{"genre":"ELEGANT SWING","displayVersion":"25"},"altTitles":["共犯ヘヴンズコード"],"searchTerms":["Kyohan-Heaven'sCode"]},{"title":"うさ☆かめ 大戦争!","artist":"ARM×狐夢想 feat. I've : 柚子乃 & RINA","id":1754,"data":{"genre":"プログレッシブ徒競走","displayVersion":"25"},"altTitles":[],"searchTerms":["Usa Kame Wars!"]},{"title":"Nothing but Theory","artist":"lapix","id":1755,"data":{"genre":"ULTRA JAZZFUNKTION","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Illusionary Waterlily","artist":"DJ Noriken","id":1756,"data":{"genre":"EMOTIONAL RAVE EUPHORIA","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Persephone","artist":"Massive New Krew","id":1757,"data":{"genre":"HARDSTYLE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"No Limit 2 dAnce feat. 大山愛未","artist":"Y&Co.","id":1758,"data":{"genre":"HYPER TECHNO","displayVersion":"25"},"altTitles":[],"searchTerms":["No Limit 2 dAnce feat. Aimi Oyama"]},{"title":"Hella Deep","artist":"MASAYOSHI IIMORI","id":1759,"data":{"genre":"FREESTYLE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Static State","artist":"Nhato","id":1760,"data":{"genre":"ELECTRO TRANCE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Get Up! feat. Kanae Asaba","artist":"MK","id":1761,"data":{"genre":"TROPICAL HOUSE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Midnight Lady","artist":"Dirty Androids","id":1762,"data":{"genre":"NU 80's DISCO FUNK","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"The Chase","artist":"DJ Mass MAD Izm*","id":1763,"data":{"genre":"TECH BREAKS","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"UMMU","artist":"t+pazolite","id":1764,"data":{"genre":"OSHARave","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Rise Circuit","artist":"COSIO","id":1765,"data":{"genre":"DRUM'N'BASS","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Chemical Cookie","artist":"YUC'e","id":1766,"data":{"genre":"FUTURE BASS","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"n'pa pa BBQ","artist":"YUC'e","id":1767,"data":{"genre":"FUTURE TERROR","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Son, not gabba now","artist":"Y&Co.","id":1768,"data":{"genre":"GABBA","displayVersion":"25"},"altTitles":["Son, not gabba now"],"searchTerms":[]},{"title":"Xperanza","artist":"aran","id":1769,"data":{"genre":"HYBRID HARDCORE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Temple of Anubis","artist":"Massive New Krew","id":1770,"data":{"genre":"PSYSTYLE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"2 Player","artist":"maras k/marasy×kors k","id":1771,"data":{"genre":"BEAT PIANO MUSIC","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"I'm Coming (2017 Version)","artist":"Pa's Lam System","id":1772,"data":{"genre":"ダンスミュージック","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"LIGHTS ft. EVO+","artist":"lapix","id":1773,"data":{"genre":"EMO BREAKS","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"SUNLiGHT (IIDX Mix)","artist":"日龍","id":1774,"data":{"genre":"TRANCE SPEED","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"ラストセンチュリーメランコリック","artist":"DJ Taku aka ☆Taku Takahashi (m-flo)","id":1775,"data":{"genre":"FUTURE J-POP","displayVersion":"25"},"altTitles":[],"searchTerms":["Last Century Melancholic"]},{"title":"Eine Haube ~聖地の果てにあるもの~","artist":"AIKO OI","id":1776,"data":{"genre":"VELLUM","displayVersion":"25"},"altTitles":["Eine Haube 〜聖地の果てにあるもの〜"],"searchTerms":["Eine Haube"]},{"title":"Only for now","artist":"RINA SOUND PRODUCE : KAZUYA TAKASE","id":1777,"data":{"genre":"PSYCHDELIC TRANCE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"From Time To Time","artist":"sanodg","id":1778,"data":{"genre":"TECH HOUSE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"SPEED","artist":"BEMANI Sound Team \"Mutsuhiko Izumi\"","id":1779,"data":{"genre":"ROCK FUSION","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Fervidex","artist":"Feryquitous","id":1780,"data":{"genre":"ARTCORE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"DEADHEAT","artist":"DJ Myosuke","id":1781,"data":{"genre":"HARDCORE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Arca","artist":"BEMANI Sound Team \"Akhuta Works\"","id":1782,"data":{"genre":"GENESIS","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"SPEED DEMON","artist":"GUHROOVY feat. NO+CHIN","id":1783,"data":{"genre":"HARDTEK","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"The Revolution (VIP Mix)","artist":"Scott Brown & M-Project","id":1784,"data":{"genre":"HDM","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"命の標本","artist":"志方あきこ","id":1785,"data":{"genre":"STRANGE WORLD MUSIC","displayVersion":"25"},"altTitles":[],"searchTerms":["Dystopia"]},{"title":"Be a Hero!","artist":"中島由貴","id":1786,"data":{"genre":"DIGITAL THRASH PUNK","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Raspberry Railgun","artist":"OSTER project","id":1787,"data":{"genre":"PANIC FUSION","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"STARLIGHT JUNCTION","artist":"SOUND HOLIC feat. Nana Takahashi","id":1788,"data":{"genre":"HEAV'NLY TRANCE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Usual Days-remix","artist":"ota2","id":1789,"data":{"genre":"DANCE POP","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Antigravity","artist":"t+pazolite","id":1790,"data":{"genre":"HARDCORE DANCE SPEED","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"バ→ビ→ブ→Bomb!","artist":"ヒゲドライバー join. 新菜まこ & 松平なな","id":1791,"data":{"genre":"電波ソング","displayVersion":"25"},"altTitles":[],"searchTerms":["Ba-Bi-Bu-Bomb!"]},{"title":"NITROUS CANNON","artist":"かめりあ","id":1792,"data":{"genre":"MACHINEGUN PSYSTYLE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"パラドキシカル・タイムリープトライアル(Short Ver.)","artist":"MOSAIC.WAV","id":1793,"data":{"genre":"AKIBA-POP","displayVersion":"25"},"altTitles":["パラドキシカル・タイムリープトライアル(Short.Ver)"],"searchTerms":["Paradoxical Time Leap Trial"]},{"title":"SHOX","artist":"RAM","id":1794,"data":{"genre":"DRUM'N'BASS","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"encounter","artist":"猫叉Master+","id":1795,"data":{"genre":"DRUM'N'BASS","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"HYPE THE CORE","artist":"DJ CHUCKY","id":1796,"data":{"genre":"GABBA","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"City Never Sleeps (IIDX Edition)","artist":"Dirty Androids","id":1797,"data":{"genre":"DRUM&BASS","displayVersion":"25"},"altTitles":["City Never Sleeps (IIDX EDITION)"],"searchTerms":[]},{"title":"Rampage","artist":"USAO","id":1798,"data":{"genre":"HARDCORE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"REVOLVER","artist":"sky_delta","id":1799,"data":{"genre":"Hi-TECHDANCE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"DropZ-Line-","artist":"Getty vs. DJ DiA","id":1800,"data":{"genre":"PUMPCORE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Sleepless days","artist":"猫叉Master feat.Mayumi Morinaga","id":1801,"data":{"genre":"THE WORLD EVOLVE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"MAXIVCORD","artist":"BEMANI Sound Team \"dj TAKA\"","id":1802,"data":{"genre":"ADMIRABLE","displayVersion":"25"},"altTitles":[],"searchTerms":[]},{"title":"Let's Bounce !!","artist":"BEMANI Sound Team \"Sota F.\"","id":1803,"data":{"genre":"FUTURE HOUSE","displayVersion":"25"},"altTitles":["Let's bounce !!"],"searchTerms":[]},{"title":"THE DAY OF JUBILATIONS","artist":"BEMANI Sound Team \"S-C-U vs L.E.D.\"","id":1804,"data":{"genre":"HARD ELECTRIC POP","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"KILL EACH OTHER","artist":"BEMANI Sound Team \"L.E.D. VS. L.E.D.-G\"","id":1805,"data":{"genre":"PSYSTYLE","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Won(*3*)Chu KissMe!","artist":"Remixed by BEMANI Sound Team \"L.E.D.\" & IOSYS","id":1806,"data":{"genre":"IIDX EDITION","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"抱きしめてモナムール","artist":"冬色AMOUR☆Prim","id":1807,"data":{"genre":"Hi-歌謡コア","displayVersion":"26"},"altTitles":[],"searchTerms":["dakishimete mon amour","Armour Prim","Armor Prim","Amour Prim","Arc Score Prim"]},{"title":"UNDERWORLD HOLOGRAPHY","artist":"BEMANI Sound Team \"L.E.D.\" feat. KOTOKO","id":1808,"data":{"genre":"DRUM & BASS","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"R∞tAge","artist":"BEMANI Sound Team \"HuΣeR+\"","id":1809,"data":{"genre":"NEO J-TEKNO","displayVersion":"26"},"altTitles":[],"searchTerms":["Rootage"]},{"title":"HOT LIMIT","artist":"Remixed by BEMANI Sound Team \"HuΣeR feat.PON\"","id":1810,"data":{"genre":"IIDX EDITION","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"X-DEN","artist":"T.Σ.Generation","id":1811,"data":{"genre":"ULTIΣATE COLLABORATION","displayVersion":"26"},"altTitles":["Χ-DEN"],"searchTerms":["KAI-DEN"]},{"title":"HEISEI","artist":"BEMANI Sound Team \"dj TAKA\"","id":1812,"data":{"genre":"ELECTRONIC RHAPSODY","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Drastic Dramatic","artist":"KING & Princess","id":1813,"data":{"genre":"8BARS","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"GENE","artist":"VINCENT GANATCH","id":1814,"data":{"genre":"TECHNO GRAFFITI","displayVersion":"26"},"altTitles":[],"searchTerms":[]},{"title":"Breaking Dawn feat. NO+CHIN, AYANO","artist":"GUHROOVY","id":1815,"data":{"genre":"J-CORE","displayVersion":"20"},"altTitles":["Breaking Dawn feat. NO+CHIN. AYANO"],"searchTerms":[]},{"title":"Deceive Your Insight","artist":"Project B-","id":1816,"data":{"genre":"PIECED ROCK","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Echo Of Forever","artist":"kors k","id":1817,"data":{"genre":"HOUSE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Reflection into the EDEN","artist":"猫叉Master","id":1818,"data":{"genre":"BOSSA ELECTRONICA","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Praludium","artist":"Yuko Takahashi","id":1819,"data":{"genre":"CLASSICAL PIANO","displayVersion":"20"},"altTitles":["Präludium","Pr?ludium"],"searchTerms":[]},{"title":"Spinning Around","artist":"Dirty Androids","id":1820,"data":{"genre":"FRENCH HOUSE","displayVersion":"20"},"altTitles":[],"searchTerms":[]},{"title":"Clione (Ryu☆ Remix)","artist":"Remixed by Ryu☆","id":1821,"data":{"genre":"THE 4TH","displayVersion":"inf2020"},"altTitles":["Clione (Ryu Remix)"],"searchTerms":[]},{"title":"Rejection Girl","artist":"BEMANI Sound Team \"HuΣeR\"","id":1822,"data":{"genre":"STYLISH FUTURE","displayVersion":"inf2020"},"altTitles":[],"searchTerms":[]},{"title":"THE BRAVE MUST DIE","artist":"BEMANI Sound Team \"L.E.D.-G\"","id":1823,"data":{"genre":"HARDCORE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"UNITE THE HEART","artist":"BEMANI Sound Team \"T.Kakuta\" feat. 709sec. / 花たん","id":1824,"data":{"genre":"DANCE POP DUET","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"PHASE SHIFT MANEUVER","artist":"BEMANI Sound Team \"L.E.D.\" ","id":1825,"data":{"genre":"PSYSTYLE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"がっつり陰キャ!? 怪盗いいんちょの億劫^^;","artist":"噂の怪盗少女ぷらずま★彡Prim@休業中〜( _ _ ).。","id":1826,"data":{"genre":"Hi-メランコリックコア","displayVersion":"27"},"altTitles":[],"searchTerms":["gattsuri inkya kaitouiincho no okkuu"]},{"title":"Dans la nuit de l'éternité","artist":"BEMANI Sound Team \"レ・度胸兄弟\"","id":1827,"data":{"genre":"POLONAISE","displayVersion":"27"},"altTitles":["Dans la nuit de l'eternite","Dans la nuit de l'?ternit?"],"searchTerms":["Dans la nuit de l'eternite","DIAVOLO 4"]},{"title":"VALKYRIAS -英雄誕生-","artist":"BEMANI Sound Team \"HuΣeR\" feat.Fernweh","id":1828,"data":{"genre":"HEROIC VALHALLA ROCK","displayVersion":"27"},"altTitles":[],"searchTerms":["VALKYRIAS -BIRTH OF A HERO-"]},{"title":"EXCITE","artist":"Remixed by BEMANI Sound Team \"HuΣeR feat.PON\"","id":1829,"data":{"genre":"IIDX EDITION","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"LIGHTNING STRIKES","artist":"BEMANI Sound Team \"HuΣeR\"","id":1830,"data":{"genre":"Hi-GAIN ENERGY","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"EROICA","artist":"BEMANI Sound Team \"HERO\"","id":1831,"data":{"genre":"VERSE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"TECHNO Style Essentials","artist":"BEMANI Sound Team \"SETUP from Berlin\"","id":1832,"data":{"genre":"TECHNO","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"27th style","artist":"三代目 \"dj TAKA & DAYBREAKERS\"","id":1833,"data":{"genre":"HIP HOP","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"rough percussionythm","artist":"BEMANI Sound Team \"setup VS 謎の勢力\"","id":1834,"data":{"genre":"HARD D&B","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"LASER CRUSTER (IGNITE REMIX)","artist":"Remixed by BEMANI Sound Team \"HuΣeR\"","id":1835,"data":{"genre":"DRUM & BASS / HYBRID TRAP","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"錬成人間トリコロイダー","artist":"DJ SHARPNEL feat. ¥Cuスタ平","id":1836,"data":{"genre":"特撮ハードコア","displayVersion":"27"},"altTitles":[],"searchTerms":["RENSEI NINGEN TRICOROIDER"]},{"title":"Like+it!","artist":"Ryu☆","id":1837,"data":{"genre":"EUROBEAT","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Hold My Hand","artist":"BEMANI Sound Team \"Sota Fujimori\"","id":1838,"data":{"genre":"MELODIC DANCE MUSIC","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"STOIC HYPOTHESIS","artist":"BEMANI Sound Team \"Expander\"","id":1839,"data":{"genre":"RIDDIM CORE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Fly Above (Vicissitude Remix)","artist":"Remixed by BEMANI Sound Team \"PHQUASE\"","id":1840,"data":{"genre":"DREAM DRUM'N'BASS","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"華麗なる大犬円舞曲","artist":"Wiktoria","id":1841,"data":{"genre":"CINEMATIC VALSE","displayVersion":"27"},"altTitles":[],"searchTerms":["Valse Brillante du Grand Chien"]},{"title":"AKASHIC BREAK","artist":"BEMANI Sound Team \"TAG\"","id":1842,"data":{"genre":"LAPLACE CORE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Everlasting Message","artist":"ぺのれり","id":1843,"data":{"genre":"EPIC ORCHESTRA","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Queen Kaguya","artist":"BEMANI Sound Team \"U1 overground\"","id":1844,"data":{"genre":"ORBITALIC MOON MIXTURE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Do What You Want","artist":"BEMANI Sound Team \"SYUNN\"","id":1845,"data":{"genre":"FUTURE BASS","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Lost Souls","artist":"BEMANI Sound Team \"SYUNN\"","id":1846,"data":{"genre":"DARKSTEP","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"曼荼羅恋々","artist":"BEMANI Sound Team \"Akhuta Works\" feat. Nana Takahashi","id":1847,"data":{"genre":"GOTHIC CORE","displayVersion":"27"},"altTitles":[],"searchTerms":["Mandala Renren"]},{"title":"OUTER PLANETS","artist":"BEMANI Sound Team \"劇団レコード\"","id":1848,"data":{"genre":"EPIC STORY","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"魅惑のYUMMYスイーツ","artist":"BEMANI Sound Team \"TATSUYA\"","id":1849,"data":{"genre":"TWINKLE POP","displayVersion":"27"},"altTitles":[],"searchTerms":["Enchanting YUMMY sweets"]},{"title":"Nasty Techniques","artist":"kors k","id":1850,"data":{"genre":"Hi-TECH FULL ON","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Rave Patroller","artist":"Eagle","id":1851,"data":{"genre":"FUTURE SKOOL BREAKBEATS HARDCORE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Sugar Drippin'","artist":"kors k","id":1852,"data":{"genre":"GARAGE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"セピアの軌跡 ft. 天宮みや(少女フラクタル)","artist":"Xceon","id":1853,"data":{"genre":"MS J TRANCE POP","displayVersion":"27"},"altTitles":[],"searchTerms":["sepia no kiseki ft. Amamiya Miya"]},{"title":"Bow shock!!","artist":"Xceon","id":1854,"data":{"genre":"JAZZ PIANO TRANCE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"T-REX vs Velociraptor (In the Far east euphoria)","artist":"RoughSketch & TARACHINE","id":1855,"data":{"genre":"RAVECORE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Artist","artist":"CANVAS feat. Quimär","id":1856,"data":{"genre":"MYSTICAL HARD DANCE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"GHOST","artist":"Hommarju","id":1857,"data":{"genre":"FREEFORM HARDCORE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"The Sky of Sadness","artist":"猫叉Master","id":1858,"data":{"genre":"WORLD/CONTEMPORARY","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"令和(1991RAVE REMIX)","artist":"ゴールデンボンバー","id":1859,"data":{"genre":"RAVE","displayVersion":"27"},"altTitles":[],"searchTerms":["REIWA(1991RAVE REMIX)"]},{"title":"Lords Of The Roundtable","artist":"DJ Mass MAD Izm* feat.REO","id":1860,"data":{"genre":"PIANO BEAT MUSIC","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Rainstorm","artist":"Maozon feat. Chica","id":1861,"data":{"genre":"UPLIFTING TRANCE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Drop It","artist":"Dazsta","id":1862,"data":{"genre":"DUBSTEP/MMETAL/DJENT","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Primitive Vibes","artist":"lapix","id":1863,"data":{"genre":"TRIBAL FRONTIER","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Double Dribble","artist":"lapix","id":1864,"data":{"genre":"FUNKY GABBER","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Virus Funk","artist":"Nhato","id":1865,"data":{"genre":"PROGRESSIVE DISCO","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Override","artist":"Nhato","id":1866,"data":{"genre":"EUPHORIC HARDCORE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Voo Doo Bamboleo","artist":"SOUND HOLIC Vs. ZYTOKINE feat. CALEN","id":1867,"data":{"genre":"TRIBAL DANCE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Infinity Mirror","artist":"Dirty Androids","id":1868,"data":{"genre":"NEO 90's CINEMATIC TECHNO","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"灼熱Beach Side Bunny (Masayoshi Iimori Remix)","artist":"Remixed by Masayoshi Iimori","id":1869,"data":{"genre":"NRG","displayVersion":"27"},"altTitles":[],"searchTerms":["Shakunetsu Beach Side Bunny (Masayoshi Iimori Remix)"]},{"title":"Volcanic Dragon","artist":"DJ Shimamura","id":1870,"data":{"genre":"HARDCORE RAVE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Ska-sh All Neurons!!","artist":"かめりあ feat. ななひら","id":1871,"data":{"genre":"A-STYLE NEURO+\"スカ\"+FUNK DRUMSTEP","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"SCREW // owo // SCREW","artist":"かめりあ","id":1872,"data":{"genre":"TWERKCORE // uwu // BEATJUGGLE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Calvados Queen","artist":"OSTER project feat. かなたん","id":1873,"data":{"genre":"JAZZ ROCK","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"深淵に捧ぐレクイエム","artist":"OSTER project","id":1874,"data":{"genre":"CYBER REQUIEM","displayVersion":"27"},"altTitles":[],"searchTerms":["Requiem for the abyss"]},{"title":"NRG STAR '86 feat. 大山愛未","artist":"Y&Co.","id":1875,"data":{"genre":"Hi-NRG","displayVersion":"27"},"altTitles":[],"searchTerms":["NRG STAR 86 feat. Aimi Oyama"]},{"title":"Matt Silver","artist":"Remo-con","id":1876,"data":{"genre":"TECHSTYLE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Moving on","artist":"AJURIKA feat.矢吹真央","id":1877,"data":{"genre":"PSYCHEDELIC TRANCE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"TRIUMPH","artist":"AJURIKA","id":1878,"data":{"genre":"UK HARDCORE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"BEAT PRISONER","artist":"AJURIKA","id":1879,"data":{"genre":"PRIME BIG BEAT","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Change Yourself","artist":"ARM × kradness","id":1880,"data":{"genre":"TRANCE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"NEWALONE","artist":"Masayoshi Iimori","id":1881,"data":{"genre":"INDUSTRIAL BASS","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"beatAffection","artist":"ビートまりお","id":1882,"data":{"genre":"BEAT MUSIC","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Friction[!]Function","artist":"Feryquitous","id":1883,"data":{"genre":"PROGRES BEAT","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"GIGA VIOLATE","artist":"Blacklolita","id":1884,"data":{"genre":"EDM-DUBSTYLE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Crank It","artist":"Crayvxn","id":1885,"data":{"genre":"BASS HOUSE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Duration","artist":"佐野電磁","id":1886,"data":{"genre":"DRUM & BASS","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Rave lithosphere","artist":"Sampling Masters MEGA","id":1887,"data":{"genre":"RAVE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"S!ck (Nhato Remix)","artist":"Remixed by Nhato","id":1888,"data":{"genre":"HARDCORE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Beautiful Harmony (IIDX Mix)","artist":"Ryu☆","id":1889,"data":{"genre":"PROGRESSIVE TRANCE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"俺ら東京さ行ぐだ","artist":"Remixed by すわひでお & uno(IOSYS)","id":1890,"data":{"genre":"IIDX EDITION","displayVersion":"27"},"altTitles":[],"searchTerms":["ora tokyo sa iguda"]},{"title":"POP TEAM EPIC(kors k Remix)","artist":"上坂すみれ","id":1891,"data":{"genre":"IIDX EDITION","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"ガヴリールドロップキック","artist":"Remixed by かめりあ","id":1892,"data":{"genre":"IIDX EDITION","displayVersion":"27"},"altTitles":[],"searchTerms":["Gabriel DropKick"]},{"title":"fairy cocktail","artist":"Tomggg","id":1893,"data":{"genre":"エレクトロニック/エレクトロニカ/ポップ","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Mel","artist":"Applekid","id":1894,"data":{"genre":"DRUM'N'BASS","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Hyper Drive feat. ぷにぷに電機","artist":"パソコン音楽クラブ","id":1895,"data":{"genre":"DANCE POP","displayVersion":"27"},"altTitles":[],"searchTerms":["Hyper Drive feat. punipunidenki"]},{"title":"Theory","artist":"YUTO","id":1896,"data":{"genre":"TRAP","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Level 2","artist":"Yamato","id":1897,"data":{"genre":"BIGBEAT / DUBSTEP","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"And-RoiD","artist":"Fujishiro feat.KNA","id":1898,"data":{"genre":"J-POP","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"ランカーキラーガール","artist":"中島由貴 × いちか","id":1899,"data":{"genre":"KILLER PUNK","displayVersion":"27"},"altTitles":[],"searchTerms":["Ranker Killer Girl"]},{"title":"VIBRΛ","artist":"Nhato Vs. MK","id":1900,"data":{"genre":"EMO STEP","displayVersion":"27"},"altTitles":[],"searchTerms":["VIBRA"]},{"title":"Ohayo!","artist":"KSUKE","id":1901,"data":{"genre":"FESTIVAL TRAP","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Silly Love","artist":"DÉ DÉ MOUSE","id":1902,"data":{"genre":"ELECTRO NU DISCO","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Inferno of Fomalhaut","artist":"fallen shepherd ft. ricono","id":1903,"data":{"genre":"DJENT STEP","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"開きたまえ!Next stAge!","artist":"librarians of Rootage (Ripnte, Stampa and Cleep)","id":1904,"data":{"genre":"CHARACTER SONG","displayVersion":"27"},"altTitles":[],"searchTerms":["Hirakitamae! Next stAge!"]},{"title":"ピアノ協奏曲第1番”蠍火” (BlackY Remix)","artist":"Remixed by BlackY","id":1905,"data":{"genre":"PDM","displayVersion":"27"},"altTitles":[],"searchTerms":["Pf Concerto No.1 \"Anti-Ares\" BlackY Remix"]},{"title":"Horizons of Promise","artist":"BEMANI Sound Team \"SPIRITUAL RIDE\"","id":1906,"data":{"genre":"ALTANATIVE ROCK","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Shiva","artist":"Relect","id":1907,"data":{"genre":"HARD PSY","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Backyard Stars","artist":"TAKU INOUE","id":1908,"data":{"genre":"FUTURE BASS","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"THE F∀UST","artist":"Masqed Pierrot","id":1909,"data":{"genre":"PIERROT CORE","displayVersion":"27"},"altTitles":[],"searchTerms":["THE FAUST"]},{"title":"Smashing Wedge","artist":"nora2r","id":1910,"data":{"genre":"HARDCORE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Advent Infamous","artist":"Blacklolita","id":1911,"data":{"genre":"NEO DIGITAL FUTURE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Sellout","artist":"banvox","id":1912,"data":{"genre":"DANCE MUSIC","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Punching Down (IIDX Mix)","artist":"Masayoshi Iimori","id":1913,"data":{"genre":"SWITCH UP","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"If","artist":"Pa's Lam System","id":1914,"data":{"genre":"FUTURE BASS","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"take me higher","artist":"KOTONOHOUSE","id":1915,"data":{"genre":"FUTURE JERSEY","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Vinculum stellarum","artist":"iconoclasm","id":1916,"data":{"genre":"ANTHEM TRANCE","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"眠りの国のステラ","artist":"BEMANI Sound Team \"DJ TOTTO\"","id":1917,"data":{"genre":"空想ファンタジーシリーズ","displayVersion":"27"},"altTitles":[],"searchTerms":["Stella in Dreamland"]},{"title":"ラブキラ☆スプラッシュ","artist":"BEMANI Sound Team \"Sota F.\" feat.いちか","id":1918,"data":{"genre":"HYPER POP","displayVersion":"27"},"altTitles":[],"searchTerms":["Love Kira Splash"]},{"title":"Sparkle Smilin'","artist":"BEMANI Sound Team \"Qrispy Joybox\" feat.いちか","id":1919,"data":{"genre":"TWINKLE POP","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"狂水一華","artist":"BEMANI Sound Team \"HuΣeR Vs. SYUNN\" feat.いちか","id":1920,"data":{"genre":"STYLISH CROSSOVER","displayVersion":"27"},"altTitles":[],"searchTerms":["KYOSUI ICHIKA"]},{"title":"Into The Madness","artist":"Yuta Imai","id":1921,"data":{"genre":"SPOOKY","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"ORCA","artist":"かめりあ","id":1922,"data":{"genre":"CETACEA HDM","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"バッドエンド・シンドローム","artist":"アリスシャッハと魔法の楽団","id":1923,"data":{"genre":"PIANO CHRONICLE","displayVersion":"27"},"altTitles":[],"searchTerms":["BADEND SYNDROME"]},{"title":"Forgetting Machine","artist":"TAKU INOUE","id":1924,"data":{"genre":"DRUM'N'BASS","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"シャムシールの舞","artist":"Zektbach","id":1925,"data":{"genre":"バトルダンス","displayVersion":"27"},"altTitles":[],"searchTerms":["shamshir dance"]},{"title":"Megalara Garuda","artist":"SYUNN","id":1926,"data":{"genre":"DRUMSTEP","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Ypsilon","artist":"BEMANI Sound Team \"setup\"","id":1928,"data":{"genre":"HARD STACC","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"Jetcoaster Windy","artist":"BEMANI Sound Team \"dj TAKA\" feat.のの","id":1929,"data":{"genre":"GIRLY POP","displayVersion":"27"},"altTitles":[],"searchTerms":[]},{"title":"涙のテ・エストラーニョ・ムーチョ","artist":"LA BAILARINA☆Prim","id":1930,"data":{"genre":"Hi-歌謡タンゴ","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Romanticが止まらない","artist":"Remixed by BEMANI Sound Team L.E.D. & IOSYS","id":1931,"data":{"genre":"IIDX EDITION","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"THE PEERLESS UNDER HEAVEN","artist":"Yuta Imai Vs. BEMANI Sound Team L.E.D.-G","id":1932,"data":{"genre":"HARD MIXTURE","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"∀","artist":"BEMANI Sound Team HuΣeR respect for D.J.Amuro","id":1933,"data":{"genre":"RENAISSANCE","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"紅蓮華","artist":"Covered by BEMANI Sound Team HuΣeR feat. Mayumi Morinaga","id":1934,"data":{"genre":"IIDX EDITION","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"of the first magnitude","artist":"BEMANI Sound Team Trance Liquid","id":1935,"data":{"genre":"TRANCE","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"X-ray binary","artist":"BEMANI Sound Team Trance Liquid","id":1936,"data":{"genre":"TRANCE","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Breakin Rules","artist":"BEMANI Sound Team Sota Fujimori","id":1937,"data":{"genre":"CYBER PUNK","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Hands Up feat. kradness BEMANI Sound Team Sota Fujimori Remix","artist":"BEMANI Sound Team Sota Fujimori","id":1938,"data":{"genre":"THE 4TH","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Euphoric Lagoon","artist":"BEMANI Sound Team TAG","id":1939,"data":{"genre":"J-DANCE FUSION","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"水鏡の異界","artist":"BEMANI Sound Team Coyaan","id":1940,"data":{"genre":"JAPANESE TECH BREAKS","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"S-Bahn","artist":"BEMANI Sound Team DARK TRAIN","id":1941,"data":{"genre":"DARK TECHNO","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"乱膳の舞姫","artist":"BEMANI Sound Team Akhuta Works feat. mami","id":1942,"data":{"genre":"BALKANIC ROCK","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Vitrum","artist":"BEMANI Sound Team Yvya","id":1943,"data":{"genre":"PROGRESSIVE METAL","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"霧幻メモリア","artist":"BEMANI Sound Team 劇団レコード feat.Risa Yuzuki","id":1944,"data":{"genre":"LAST FRONTIER","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Empire of Fury","artist":"kors k","id":1945,"data":{"genre":"JUNGLE TERROR","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Rub-a Dub-a","artist":"kors k","id":1946,"data":{"genre":"LOVERS CANDY RAVE","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"水無月の雫 ft. 小林まな","artist":"Xceon","id":1947,"data":{"genre":"-和- EURO TRANCE","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Rubrum Piano","artist":"Xceon","id":1948,"data":{"genre":"ACID LATIN JAZZ","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"閠槞彁の願い","artist":"DJ TECHNORCH & RoughSketch","id":1949,"data":{"genre":"DARKSTEP","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Midnight Drive","artist":"らっぷびと Prod. by uno","id":1950,"data":{"genre":"HIP HOP","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Lovely Howdy Cowboy!!","artist":"まろん feat. キャサリン","id":1951,"data":{"genre":"HAPPY COUNTRY CORE","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Party Starter","artist":"ARM (IOSYS) × cotowari ft. anporin","id":1952,"data":{"genre":"K-POP","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"MEGAERA","artist":"fallen shepherd × cotowari ft. nayuta","id":1953,"data":{"genre":"BULGARIAN CORE","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Here We Are","artist":"The 4th feat.ここなつ","id":1954,"data":{"genre":"J-CORE","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"IIDX RED Ending (Ryu☆Remix)","artist":"Remixed by Ryu☆","id":1955,"data":{"genre":"CAPTIVATE","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"The Wind of China Express(The 4th Mashup)","artist":"The 4th","id":1956,"data":{"genre":"THE 4TH","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"WAKE UP NOW","artist":"Maozon feat. Chica","id":1957,"data":{"genre":"TROPICAL ELECTRO HOUSE","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Rowdy","artist":"Dazsta","id":1958,"data":{"genre":"DUBSTEP","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Swarm Of Scarabs","artist":"C-Show","id":1959,"data":{"genre":"HOLIC","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"魔法のかくれんぼ","artist":"Snails House","id":1960,"data":{"genre":"FANTASY TOYPOP","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Dont Stop The Music feat. Kanae Asaba","artist":"Nhato","id":1961,"data":{"genre":"ELECTRO FUNK","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"AMRITA -不滅ノ花-","artist":"SOUND HOLIC feat. Nana Takahashi","id":1962,"data":{"genre":"ORIENTAL TRANCE","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Farewell to Marrakech","artist":"Dirty Androids","id":1963,"data":{"genre":"MOROCCAN CROSSOVER","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"POLꞰAMAИIA","artist":"かめりあ feat. ななひら","id":1964,"data":{"genre":"ポルカ2020","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"ASIAN VIRTUAL REALITIES (MELTING TOGETHER IN DAZZLING DARKNESS)","artist":"かめりあ","id":1965,"data":{"genre":"BIG BEAT","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"犬に雨傘","artist":"OSTER project feat. そらこ","id":1966,"data":{"genre":"FRENCH POP","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"So Punky","artist":"Y&Co. feat. 大山愛未","id":1967,"data":{"genre":"80s EUROBEAT","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Viridian","artist":"REMO-CON","id":1968,"data":{"genre":"NU-NRG","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"LAST DAY","artist":"AJURIKA","id":1969,"data":{"genre":"PSYCHEDELIC TRANCE","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"BIGソムタム","artist":"AJURIKA","id":1970,"data":{"genre":"DRUM STEP","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Burning Flame","artist":"AJURIKA feat.SAK.","id":1971,"data":{"genre":"HYPER TECHNO","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"GIGA RAID","artist":"Blacklolita","id":1972,"data":{"genre":"NEO RUSSIAN FUTURE","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"rommmo","artist":"callasoiled","id":1973,"data":{"genre":"BREAKCORE","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Para siempre","artist":"削除 feat. 削除","id":1974,"data":{"genre":"MEXICAN DRUMSTEP","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Ah Hah Yeah","artist":"Masayoshi Iimori","id":1975,"data":{"genre":"UPTEMPO RAW","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Explorer feat. ぷにぷに電機","artist":"パソコン音楽クラブ","id":1976,"data":{"genre":"DANCE POP","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Overslept","artist":"PARKGOLF","id":1977,"data":{"genre":"DRUMNBASS","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Mars beach","artist":"さよひめぼう","id":1978,"data":{"genre":"BALEARIC","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Ocean Blue feat. Luschel","artist":"lapix","id":1979,"data":{"genre":"HiTECH FUSION","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"When I Met U","artist":"LADYS ONLY","id":1980,"data":{"genre":"HYBRID BASSLINE","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"新宝島","artist":"Remixed by BEMANI Sound Team TAG feat. PON","id":1981,"data":{"genre":"IIDX EDITION","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"TOMORROW","artist":"Remixed by まろん feat. ricono","id":1982,"data":{"genre":"IIDX EDITION","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"HIGH VOLTAGE","artist":"Yuta Imai","id":1983,"data":{"genre":"HARDSTYLE","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"3!dolon Forc3","artist":"青龍×Eagle","id":1984,"data":{"genre":"THE 4TH","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Chewingood!!!","artist":"TORIENA","id":1985,"data":{"genre":"CHIP RAVE","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"Crazy Jackpot","artist":"Hommarju","id":1986,"data":{"genre":"UK HARDCORE","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"That Feeling","artist":"Crayvxn","id":1987,"data":{"genre":"SPEED HOUSE","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"SOLID STATE SQUAD -RISEN RELIC REMIX-","artist":"Remixed by xi","id":1988,"data":{"genre":"LIFE STREAM","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"ABSOLUTE (kors k Remix)","artist":"Remixed by kors k","id":1989,"data":{"genre":"IIDX ANTHEM REVIVAL","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"smooooch・∀・ (Snails House Remix) ","artist":"Remixed by Snails House","id":1990,"data":{"genre":"CANDY RAVE BASS","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"世界の果てに約束の凱歌を -ReUnion-","artist":"OSTER project feat. かなたん","id":1991,"data":{"genre":"BRAVE ANTHEM","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"ここからよろしく大作戦143","artist":"BEMANI Sound Team あさき隊","id":1992,"data":{"genre":"ROCK","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"CONNECT-","artist":"BEMANI Sound Team Sota Fujimori","id":1993,"data":{"genre":"EPIC TRANCE","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"title":"BEMANI PRO LEAGUE Theme","artist":"BEMANI Sound Team Sota F.","id":1994,"data":{"genre":"BPL EDM","displayVersion":"28"},"altTitles":[],"searchTerms":[]},{"id":1995,"title":"Amabie","artist":"BEMANI Sound Team “Coyaan”","data":{"genre":"ORIENTAL FUTURE BASS","displayVersion":"inf"},"altTitles":[],"searchTerms":[]},{"id":1996,"title":"朱と碧のランページ","artist":"NU-KO","data":{"genre":"ANIMA SONG","displayVersion":"inf"},"altTitles":[],"searchTerms":["Aka to Ao no Rampage"]},{"id":1997,"title":"雪上断火","artist":"Des-ROW・組","data":{"genre":"HIP ROCK3","displayVersion":"inf"},"altTitles":[],"searchTerms":["Setsujoudanka"]},{"id":1998,"title":"Remain","artist":"ZERO+ZIBA","data":{"genre":"RUINOUS SPIRITUALS","displayVersion":"inf"},"altTitles":[],"searchTerms":[]},{"id":1999,"title":"雫","artist":"あさき","data":{"genre":"LAMENTO","displayVersion":"inf"},"altTitles":[],"searchTerms":["Shizuku"]},{"id":2000,"title":"Harmonia","artist":"ATSUMI UEDA","data":{"genre":"NU PRELUDE","displayVersion":"inf"},"altTitles":[],"searchTerms":[]},{"id":2001,"title":"Space Dog","artist":"Sana","data":{"genre":"UCHU-RYOKOU","displayVersion":"inf"},"altTitles":[],"searchTerms":[]},{"id":2002,"artist":"BEMANI Sound Team \"TAG\"","title":"無意識のフィロソフィア","data":{"genre":"HARD TRANCE","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2003,"artist":"CANVAS feat. Quimär & BEMANI Sound Team \"L.E.D.-G\"","title":"LOCUS OF THE TRAVEL","data":{"genre":"HAPPY BISTRO CORE","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2004,"artist":"ぺのれり vs. BEMANI Sound Team \"HuΣeR\"","title":"ディスコルディア","data":{"genre":"CROSSOVER","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2005,"artist":"BEMANI Sound Team \"D.J.Amuro\"","title":"-65℃","data":{"genre":"WHITE OUT","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2006,"artist":"BEMANI Sound Team \"TAG\" feat. 猫体質","title":"儚き恋の華","data":{"genre":"BLOOM ROCK","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2007,"artist":"BEMANI Sound Team \"U1 overground\"","title":"Pārvatī","data":{"genre":"ORBITALIC WORLD MUSIC","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2008,"artist":"BEMANI Sound Team \"Captain Sonic\"","title":"COSMIC RAY","data":{"genre":"BIGCORE","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2009,"artist":"BEMANI Sound Team \"HuΣeR\" & kors k","title":"Winner's Proof ft. KANASA from bless4","data":{"genre":"THEME SONG","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2010,"artist":"神楽改","title":"Sinus Iridum","data":{"genre":"KAMIKURA","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2011,"artist":"kors k feat.Hboy","title":"Tiempo Loco","data":{"genre":"Hi-TECH / PSY CORE","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2012,"artist":"nora2r","title":"Frisk And Squeak","data":{"genre":"MAKINA","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2013,"artist":"Maozon","title":"As You Want","data":{"genre":"CYBER LIQUID FUNK","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2014,"artist":"Nhato","title":"Dawn Saga","data":{"genre":"CELTIC TRANCE STEP","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2015,"artist":"Feryquitous","title":"Danza Aestas","data":{"genre":"CONTEMPORARY SALSA","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2016,"artist":"KO3 & Relect","title":"Ritual of Anubis","data":{"genre":"ARABIC HARD RITUAL","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2017,"artist":"OSTER project","title":"innocent revolver","data":{"genre":"BIGBAND JAZZ","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2018,"artist":"Hommarju","title":"Jungle Eater","data":{"genre":"DRUMSTEP / RAGGATEK","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2019,"artist":"m1dy","title":"Brahma","data":{"genre":"TOKYO STYLE SPEEDCORE","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2020,"artist":"Juggernaut.","title":"apo:llioth","data":{"genre":"HARDCORE","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2021,"artist":"Pizuya's Cell","title":"Tell me what you wish feat.らっぷびと","data":{"genre":"ROCK","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2022,"artist":"lapix","title":"Rosa azuL","data":{"genre":"HARD LATIN","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2023,"artist":"BlackYooh vs. siromaru","title":"BLACK or WHITE?","data":{"genre":"SYMPHONIC SPEED SCHRANZ","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2024,"artist":"Snail's House","title":"Zenith","data":{"genre":"PLUS ONE","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2025,"artist":"上ノ瀬つかさ","title":"二人ノ廃城幽踊宴","data":{"genre":"SPUKWALZER","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2026,"artist":"KOTONOHOUSE","title":"Sugarplum","data":{"genre":"MOE CORE","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2027,"artist":"BEMANI Sound Team \"神\"","title":"Ignis†Iræ","data":{"genre":"X","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2028,"artist":"BEMANI Sound Team \"Trance Liquid\"","title":"OTOKOZAKA","data":{"genre":"OLD FASHIONED","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2029,"artist":"kors k vs MAD CHILD","title":"Neo Heritage","data":{"genre":"HDM","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2030,"artist":"かめりあ feat. ななひら","title":"バッド・スイーツ、バッド・ドリーム","data":{"genre":".+:☆ BAD FUTURE ☆:+.","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2031,"artist":"DJ TOTTO VS 兎々","title":"伐折羅-vajra-","data":{"genre":"KUDOS CORE","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2032,"artist":"Osamu Kubota","title":"Scandal","data":{"genre":"PROGRESSIVE SWING","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2033,"artist":"Yamato","title":"Level 3","data":{"genre":"DRUMSTEP / DnB","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2034,"artist":"kors k","title":"Fire Beat","data":{"genre":"EXPERIMENTAL EUROBEAT","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2035,"artist":"sanodg","title":"Playball","data":{"genre":"TECH HOUSE","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2036,"artist":"かなたん,アマギセーラ,ぁゅ by BEMANI Sound Team \"藤森崇多\"","title":"MA・TSU・RI","data":{"genre":"JAPANESQUE","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2037,"artist":"Jonny Dynamite!,Lisa - paint with stars -,Rio Hiiragi by BEMANI Sound Team \"U1-ASAMi\"","title":"MOVE! (We Keep It Movin')","data":{"genre":"ORBITALIC ELECTRIC MUSIC","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2038,"artist":"koyomi,星野奏子 by BEMANI Sound Team \"TAKA\"","title":"LIKE A VAMPIRE","data":{"genre":"HEAVY METAL","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2039,"artist":"すわひでお,秋成,かぼちゃ,藍月なくる,NU-KO by BEMANI Sound Team \"八戸亀生羅\"","title":"スーパー戦湯ババンバーン","data":{"genre":"オンセン♨ヒーロー","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2040,"artist":"Sana,ATSUMI UEDA by BEMANI Sound Team \"PON\"","title":"Globe Glitter","data":{"genre":"RAVE STEP","displayVersion":"28"},"searchTerms":[],"altTitles":[]},{"id":2041,"artist":"Mayumi Morinaga,Fernweh by BEMANI Sound Team \"L.E.D. & HuΣeR\"","title":"DUAL STRIKER","data":{"genre":"IIDX SOUNDS","displayVersion":"28"},"searchTerms":[],"altTitles":[]}] \ No newline at end of file diff --git a/server/src/test-utils/test-data/usc/base.json b/server/src/test-utils/test-data/usc/base.json new file mode 100644 index 000000000..53ea08dc1 --- /dev/null +++ b/server/src/test-utils/test-data/usc/base.json @@ -0,0 +1,33 @@ +{ + "chart": { + "artist": "カモメサノ エレクトリックオーケストラ", + "bpm": "128", + "difficulty": 3, + "effector": "PHQUASE utopia", + "illustrator": "蒼弐 utopia", + "level": 20, + "title": "HE4VEN ~天国へようこそ~ hard bit", + "chartHash": "172970b99ec08e89d30a918d402b33abc91fcb61" + }, + "score": { + "crit": 12, + "near": 0, + "error": 26, + "score": 3157894, + "gauge": 0.20073963701725006, + "timestamp": 1607229633, + "options": { + "gaugeType": 0, + "mirror": false, + "random": false, + "autoFlags": 0 + }, + "windows": { + "good": 150, + "hold": 150, + "miss": 300, + "perfect": 46, + "slam": 84 + } + } +} \ No newline at end of file diff --git a/server/src/test-utils/test-data/usc/replayfile.urf b/server/src/test-utils/test-data/usc/replayfile.urf new file mode 100644 index 000000000..b69c3524d Binary files /dev/null and b/server/src/test-utils/test-data/usc/replayfile.urf differ diff --git a/server/src/utils/calculations/recalc-game-profiles.ts b/server/src/utils/calculations/recalc-game-profiles.ts new file mode 100644 index 000000000..882ee6a2b --- /dev/null +++ b/server/src/utils/calculations/recalc-game-profiles.ts @@ -0,0 +1,36 @@ +/* eslint-disable no-await-in-loop */ + +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { UpdateUsersGamePlaytypeStats } from "lib/score-import/framework/user-game-stats/update-ugs"; +import { FormatUserDoc } from "utils/user"; + +const logger = CreateLogCtx(__filename); + +export async function RecalcGameProfiles(filter = {}) { + const profiles = await db["game-stats"].find(filter); + + for (const profile of profiles) { + const user = await db.users.findOne({ + id: profile.userID, + }); + + if (!user) { + logger.severe(`User ${profile.userID} does not exist?`); + throw new Error(`User ${profile.userID} does not exist.`); + } + + logger.verbose( + `Recalcing ${FormatUserDoc(user)}'s ${profile.game} ${profile.playtype} stats.` + ); + await UpdateUsersGamePlaytypeStats( + profile.game, + profile.playtype, + profile.userID, + null, + logger + ); + } + + logger.info(`Done.`); +} diff --git a/server/src/utils/calculations/recalc-scores.ts b/server/src/utils/calculations/recalc-scores.ts new file mode 100644 index 000000000..3a5dac342 --- /dev/null +++ b/server/src/utils/calculations/recalc-scores.ts @@ -0,0 +1,107 @@ +/* eslint-disable no-await-in-loop */ +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { CreateCalculatedData } from "lib/score-import/framework/calculated-data/calculated-data"; +import { GetAndUpdateUsersGoals } from "lib/score-import/framework/goals/goals"; +import { UpdateUsersMilestones } from "lib/score-import/framework/milestones/milestones"; +import { ProcessPBs } from "lib/score-import/framework/pb/process-pbs"; +import { UpdateUsersGamePlaytypeStats } from "lib/score-import/framework/user-game-stats/update-ugs"; +import { EfficientDBIterate } from "utils/efficient-db-iterate"; +import { FormatUserDoc } from "utils/user"; +import type { Game, integer, Playtype, PublicUserDocument } from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +export async function RecalcAllScores(filter = {}) { + logger.info(`Recalcing All Scores.`); + + const modifiedUsers = new Set(); + const modifiedUserIDs = new Set(); + const chartIDs = new Set(); + + await EfficientDBIterate( + db.scores, + async (c) => { + const chart = await db.charts[c.game].findOne({ chartID: c.chartID }); + + if (!chart) { + logger.error(`Can't find chartID ${c.chartID} ${c.scoreID} (${c.game})`, { + score: c, + }); + + throw new Error(`screwed`); + } + + chartIDs.add(chart.chartID); + + modifiedUsers.add(`${c.game}-${c.playtype}-${c.userID}`); + modifiedUserIDs.add(c.userID); + + const calculatedData = await CreateCalculatedData(c, chart, c.scoreData.esd, logger); + + return { scoreID: c.scoreID, calculatedData }; + }, + async (updates) => { + await db.scores.bulkWrite( + updates.map((e) => ({ + updateOne: { + filter: { + scoreID: e.scoreID, + }, + update: { + $set: { + calculatedData: e.calculatedData, + }, + }, + }, + })) + ); + }, + filter + ); + + logger.info("Reprocessing PBs..."); + await UpdateAllPBs([...modifiedUserIDs.values()], filter); + + logger.info(`Updating Profiles for ${modifiedUsers.size} users...`); + + for (const userInfo of modifiedUsers.values()) { + const [game, playtype, strUserID] = userInfo.split("-") as [Game, Playtype, string]; + + const userID = Number(strUserID); + + await UpdateUsersGamePlaytypeStats(game, playtype, userID, null, logger); + + const goalInfo = await GetAndUpdateUsersGoals(game, userID, chartIDs, logger); + + await UpdateUsersMilestones(goalInfo, game, [playtype], userID, logger); + } + + logger.info(`Done!`); +} + +export async function UpdateAllPBs(userIDs?: Array, filter = {}) { + let allUsers: Array; + + if (!userIDs) { + allUsers = await db.users.find({}); + } else { + allUsers = await db.users.find({ + id: { $in: userIDs }, + }); + } + + for (const user of allUsers) { + logger.verbose(`Finding ${FormatUserDoc(user)}'s scores.`); + + const scores = await db.scores.find(deepmerge({ userID: user.id }, filter), { + projection: { chartID: 1 }, + }); + + logger.verbose(`PBing ${FormatUserDoc(user)}'s scores.`); + await ProcessPBs(user.id, new Set(scores.map((e) => e.chartID)), logger); + } + + logger.verbose(`Done!`); +} diff --git a/server/src/utils/calculations/recalc-sessions.ts b/server/src/utils/calculations/recalc-sessions.ts new file mode 100644 index 000000000..742dd85d0 --- /dev/null +++ b/server/src/utils/calculations/recalc-sessions.ts @@ -0,0 +1,37 @@ +/* eslint-disable no-await-in-loop */ + +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { CreateSessionCalcData } from "lib/score-import/framework/sessions/calculated-data"; + +const logger = CreateLogCtx(__filename); + +export async function RecalcSessions(filter = {}) { + const allSessions = await db.sessions.find(filter); + + logger.info(`Recalcing ${allSessions.length} sessions.`); + + for (const session of allSessions) { + const scores = await db.scores.find( + { scoreID: { $in: session.scoreInfo.map((e) => e.scoreID) } }, + { + projection: { calculatedData: 1 }, + } + ); + + let c; + + try { + c = CreateSessionCalcData(session.game, session.playtype, scores); + } catch (err) { + logger.error(`Recalcing ${session.game} (${session.playtype}) failed.`, { err }); + logger.warn(`Destroying session!`); + await db.sessions.remove({ sessionID: session.sessionID }); + continue; + } + + await db.sessions.update({ sessionID: session.sessionID }, { $set: { calculatedData: c } }); + } + + logger.info(`Done!`); +} diff --git a/server/src/utils/class.ts b/server/src/utils/class.ts new file mode 100644 index 000000000..1835f90b1 --- /dev/null +++ b/server/src/utils/class.ts @@ -0,0 +1,104 @@ +import db from "external/mongo/db"; +import { CreateGameSettings } from "lib/game-settings/create-game-settings"; +import CreateLogCtx from "lib/logger/logger"; +import { EmitWebhookEvent } from "lib/webhooks/webhooks"; +import type { Game, IDStrings, integer, Playtype, UserGameStats } from "tachi-common"; +import type { GameClassSets } from "tachi-common/js/game-classes"; + +const logger = CreateLogCtx(__filename); + +/** + * Returns the provided class if it is greater than the one in userGameStats + * @returns The provided class if it is greater, NULL if there is nothing + * to compare to, and FALSE if it is worse or equal. + */ +export function ReturnClassIfGreater( + classSet: GameClassSets[IDStrings], + classVal: integer, + userGameStats?: UserGameStats | null +) { + if (!userGameStats || userGameStats.classes[classSet] === undefined) { + return null; + } + + return classVal > userGameStats.classes[classSet]!; +} + +/** + * Updates a user's class value if it is greater than the one in their + * UserGameStats. + * @returns False if nothing was updated. + * Null if it was updated because there was nothing in UserGameStats to + * compare to. + * True if it was updated because it was better than UserGameStats. + */ +export async function UpdateClassIfGreater( + userID: integer, + game: Game, + playtype: Playtype, + classSet: GameClassSets[IDStrings], + classVal: integer +) { + const userGameStats = await db["game-stats"].findOne({ userID, game, playtype }); + const isGreater = ReturnClassIfGreater(classSet, classVal, userGameStats); + + if (isGreater === false) { + return false; + } + + if (userGameStats) { + await db["game-stats"].update( + { userID, game, playtype }, + { $set: { [`classes.${classSet}`]: classVal } } + ); + } else { + // insert new game stats for this user - this is an awkward place + // to call this - maybe we should call it elsewhere. + await db["game-stats"].insert({ + userID, + game, + playtype, + ratings: {}, + classes: { + [classSet]: classVal, + }, + }); + + logger.info(`Created new player gamestats for ${userID} (${game} ${playtype})`); + + await CreateGameSettings(userID, game, playtype); + } + + await db["class-achievements"].insert({ + game, + playtype, + userID, + classOldValue: isGreater === null ? null : userGameStats!.classes[classSet]!, + classSet, + classValue: classVal, + timeAchieved: Date.now(), + }); + + if (isGreater === null) { + void EmitWebhookEvent({ + type: "class-update/v1", + content: { userID, new: classVal, old: null, set: classSet, game, playtype }, + }); + + return null; + } + + void EmitWebhookEvent({ + type: "class-update/v1", + content: { + userID, + new: classVal, + old: userGameStats!.classes[classSet]!, + set: classSet, + game, + playtype, + }, + }); + + return true; +} diff --git a/server/src/utils/crypto.test.ts b/server/src/utils/crypto.test.ts new file mode 100644 index 000000000..c9eff9edb --- /dev/null +++ b/server/src/utils/crypto.test.ts @@ -0,0 +1,12 @@ +import { HashSHA256 } from "./crypto"; +import t from "tap"; + +t.test("#HashSHA256", (t) => { + t.equal( + HashSHA256(Buffer.from("something")), + "3fc9b689459d738f8c88a3a48aa9e33542016b7a4052e001aaa536fca74813cb", + "'something' should hash into its expected value." + ); + + t.end(); +}); diff --git a/server/src/utils/crypto.ts b/server/src/utils/crypto.ts new file mode 100644 index 000000000..5f2315df0 --- /dev/null +++ b/server/src/utils/crypto.ts @@ -0,0 +1,5 @@ +import crypto from "crypto"; + +export function HashSHA256(content: Buffer) { + return crypto.createHash("sha256").update(content).digest("hex"); +} diff --git a/server/src/utils/db.test.ts b/server/src/utils/db.test.ts new file mode 100644 index 000000000..3656d8c26 --- /dev/null +++ b/server/src/utils/db.test.ts @@ -0,0 +1,53 @@ +import { DecrementCounterValue, GetNextCounterValue } from "./db"; +import db from "external/mongo/db"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; + +t.test("#GetNextCounterValue", (t) => { + t.beforeEach(ResetDBState); + + t.test("Increments on valid counter hit", async (t) => { + const response = await GetNextCounterValue("real-counter"); + + // database starts with this at one + t.equal(response, 2, "Counter should return the current number stored"); + + const dbData = await db.counters.findOne({ + counterName: "real-counter", + }); + + t.equal(dbData!.value, 3, "Counter should increment after being hit"); + }); + + t.rejects( + () => GetNextCounterValue("fake-counter"), + "Could not find sequence document for fake-counter." + ); + + t.end(); +}); + +t.test("#DecrementCounterValue", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should decrease a counter.", async (t) => { + await db.counters.insert({ counterName: "foo", value: 3 }); + + const res = await DecrementCounterValue("foo"); + + t.equal(res, 2); + + const doc = await db.counters.findOne({ counterName: "foo" }); + + t.equal(doc?.value, 2); + + t.end(); + }); + + t.rejects( + () => GetNextCounterValue("fake-counter"), + "Could not find sequence document for fake-counter." + ); + + t.end(); +}); diff --git a/server/src/utils/db.ts b/server/src/utils/db.ts new file mode 100644 index 000000000..f4754a950 --- /dev/null +++ b/server/src/utils/db.ts @@ -0,0 +1,437 @@ +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { FormatChart } from "tachi-common"; +import type { FilterQuery } from "mongodb"; +import type { + Game, + GoalDocument, + GoalSubscriptionDocument, + integer, + MilestoneDocument, + MilestoneSetDocument, + MilestoneSubscriptionDocument, + PBScoreDocument, + ScoreDocument, +} from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +export async function GetNextCounterValue(counterName: string): Promise { + const sequenceDoc = await db.counters.findOneAndUpdate( + { + counterName, + }, + { + $inc: { + value: 1, + }, + }, + { + // this is marked as deprecated, but it shouldn't be, as returnDocument: "before" + // does nothing. + returnOriginal: true, + } + ); + + if (!sequenceDoc) { + logger.error(`Could not find sequence document for ${counterName}`); + throw new Error(`Could not find sequence document for ${counterName}.`); + } + + return sequenceDoc.value; +} + +export async function DecrementCounterValue(counterName: string): Promise { + logger.verbose(`Decrementing Counter Value ${counterName}.`); + + const sequenceDoc = await db.counters.findOneAndUpdate( + { + counterName, + }, + { + $inc: { + value: -1, + }, + }, + { + returnOriginal: false, + } + ); + + if (!sequenceDoc) { + logger.error(`Could not find sequence document for ${counterName}`); + throw new Error(`Could not find sequence document for ${counterName}.`); + } + + return sequenceDoc.value; +} + +export async function GetRelevantSongsAndCharts( + scores: Array, + game: Game +) { + const [songs, charts] = await Promise.all([ + db.songs[game].find({ + id: { $in: scores.map((e) => e.songID) }, + }), + db.charts[game].find({ + chartID: { $in: scores.map((e) => e.chartID) }, + }), + ]); + + return { songs, charts }; +} + +export async function UpdateGameSongIDCounter(game: "bms" | "pms") { + const largestSongID = await db.songs[game].findOne( + {}, + { + sort: { id: -1 }, + projection: { id: 1 }, + } + ); + + if (!largestSongID) { + logger.severe( + `No ${game} charts loaded, yet BMS sync was attempted? Lost state on ${game}-song-id counter. Panicking.` + ); + throw new Error(`No BMS charts loaded, yet BMS sync was attempted.`); + } + + await db.counters.update( + { + counterName: `${game}-song-id`, + }, + { + $set: { + value: largestSongID.id + 1, + }, + } + ); +} + +export async function GetChartForIDGuaranteed(game: Game, chartID: string) { + const chart = await db.charts[game].findOne({ chartID }); + + if (!chart) { + throw new Error(`Couldn't find chart with ID ${chartID} (${game}).`); + } + + return chart; +} + +export async function GetSongForIDGuaranteed(game: Game, songID: integer) { + const song = await db.songs[game].findOne({ id: songID }); + + if (!song) { + throw new Error(`Couldn't find song with ID ${songID} (${game}).`); + } + + return song; +} + +export async function GetFolderForIDGuaranteed(folderID: string) { + const folder = await db.folders.findOne({ folderID }); + + if (!folder) { + throw new Error(`Couldn't find folder with ID ${folderID}.`); + } + + return folder; +} + +export async function GetGoalForIDGuaranteed(goalID: string) { + const goal = await db.goals.findOne({ goalID }); + + if (!goal) { + throw new Error(`Couldn't find goal with ID ${goalID}`); + } + + return goal; +} + +export async function GetMilestoneForIDGuaranteed(milestoneID: string) { + const milestone = await db.milestones.findOne({ milestoneID }); + + if (!milestone) { + throw new Error(`Couldn't find milestone with ID ${milestoneID}`); + } + + return milestone; +} + +export async function HumaniseChartID(game: Game, chartID: string) { + const chart = await GetChartForIDGuaranteed(game, chartID); + const song = await GetSongForIDGuaranteed(game, chart.songID); + + return FormatChart(game, song, chart); +} + +/** + * Get recently achieved goals for this query. + * + * @param baseQuery - A base query, used to limit results on GPTs or UGPTs. + * @param limit - How many recently achieved goals to search for. + * @returns - The goals and their subs. + */ +export async function GetRecentlyAchievedGoals( + baseQuery: Omit, "achieved">, + limit = 100 +) { + const query: FilterQuery = { + ...baseQuery, + wasInstantlyAchieved: false, + achieved: true, + }; + + const goalSubs = await db["goal-subs"].find(query, { + sort: { + timeAchieved: -1, + }, + limit, + }); + + const goals = await db.goals.find({ + goalID: { $in: goalSubs.map((e) => e.goalID) }, + }); + + if (goals.length !== goalSubs.length) { + logger.error( + `Found ${goals.length} goals when looking for parents of ${goalSubs.length} subscriptions. This mismatch implies a state desync.` + ); + + throw new Error("Failed to fetch goals."); + } + + return { goals, goalSubs }; +} + +/** + * Get recently interacted-with goals for this query. + * + * @param baseQuery - A base query, used to limit results on GPTs or UGPTs. + * @param limit - How many recently achieved goals to search for. + * @returns - The goals and their subs. + */ +export async function GetRecentlyInteractedGoals( + baseQuery: Omit, "achieved">, + limit = 100 +) { + const query = { + ...baseQuery, + wasInstantlyAchieved: false, + achieved: false, + lastInteraction: { $ne: null }, + }; + + const goalSubs = await db["goal-subs"].find(query, { + sort: { + lastInteraction: -1, + }, + limit, + }); + + const goals = await db.goals.find({ + goalID: { $in: goalSubs.map((e) => e.goalID) }, + }); + + if (goals.length !== goalSubs.length) { + logger.error( + `Found ${goals.length} goals when looking for parents of ${goalSubs.length} subscriptions. This mismatch implies a state desync.` + ); + + throw new Error("Failed to fetch goals."); + } + + return { goals, goalSubs }; +} + +/** + * Get recently achieved goals for this query. + * + * @param baseQuery - A base query, used to limit results on GPTs or UGPTs. + * @param limit - How many recently achieved goals to search for. + * @returns - The goals and their subs. + */ +export async function GetRecentlyAchievedMilestones( + baseQuery: Omit, "achieved">, + limit = 100 +) { + const query = { + ...baseQuery, + wasInstantlyAchieved: false, + achieved: true, + }; + + const milestoneSubs = await db["milestone-subs"].find(query, { + sort: { + timeAchieved: -1, + }, + limit, + }); + + const milestones = await db.milestones.find({ + milestoneID: { $in: milestoneSubs.map((e) => e.milestoneID) }, + }); + + if (milestones.length !== milestoneSubs.length) { + logger.error( + `Found ${milestones.length} milestones when looking for parents of ${milestoneSubs.length} subscriptions. This mismatch implies a state desync.` + ); + + throw new Error("Failed to fetch milestones."); + } + + return { milestones, milestoneSubs }; +} + +/** + * Get recently interacted-with milestones for this query. + * + * @param baseQuery - A base query, used to limit results on GPTs or UGPTs. + * @param limit - How many recently achieved milestones to search for. + * @returns - The milestones and their subs. + */ +export async function GetRecentlyInteractedMilestones( + baseQuery: Omit, "achieved">, + limit = 100 +) { + const query = { + ...baseQuery, + lastInteraction: { $ne: null }, + achieved: false, + wasInstantlyAchieved: false, + }; + + const milestoneSubs = await db["milestone-subs"].find(query, { + sort: { + lastInteraction: -1, + }, + limit, + }); + + const milestones = await db.milestones.find({ + milestoneID: { $in: milestoneSubs.map((e) => e.milestoneID) }, + }); + + if (milestones.length !== milestoneSubs.length) { + logger.error( + `Found ${milestones.length} milestones when looking for parents of ${milestoneSubs.length} subscriptions. This mismatch implies a state desync.` + ); + + throw new Error("Failed to fetch milestones."); + } + + return { milestones, milestoneSubs }; +} + +export async function GetMostSubscribedGoals( + query: FilterQuery, + limit = 100 +): Promise> { + const mostSubscribedGoals: Array<{ goal: GoalDocument; subscriptions: integer }> = await db[ + "goal-subs" + ].aggregate([ + { + $match: query, + }, + { + $group: { + _id: "$goalID", + subscriptions: { $sum: 1 }, + }, + }, + { + $sort: { + subscriptions: -1, + }, + }, + { + $limit: limit, + }, + { + $lookup: { + from: "goals", + localField: "_id", + foreignField: "goalID", + as: "goal", + }, + }, + { + $set: { + goal: { $arrayElemAt: ["$goal", 0] }, + }, + }, + { + $unset: "goal._id", + }, + ]); + + return mostSubscribedGoals.map((e) => ({ + __subscriptions: e.subscriptions, + ...e.goal, + })); +} + +export async function GetMostSubscribedMilestones( + query: FilterQuery, + limit = 100 +): Promise> { + const mostSubscribedMilesones: Array<{ milestone: MilestoneDocument; subscriptions: integer }> = + await db["milestone-subs"].aggregate([ + { + $match: query, + }, + { + $group: { + _id: "$milestoneID", + subscriptions: { $sum: 1 }, + }, + }, + { + $sort: { + subscriptions: -1, + }, + }, + { + $limit: limit, + }, + { + $lookup: { + from: "milestones", + localField: "_id", + foreignField: "milestoneID", + as: "milestone", + }, + }, + { + $set: { + milestone: { $arrayElemAt: ["$milestone", 0] }, + }, + }, + { + $unset: "milestone._id", + }, + ]); + + return mostSubscribedMilesones.map((e) => ({ + __subscriptions: e.subscriptions, + ...e.milestone, + })); +} + +export async function GetChildMilestones(milestoneSet: MilestoneSetDocument) { + const milestones = await db.milestones.find({ + milestoneID: { $in: milestoneSet.milestones }, + }); + + if (milestones.length !== milestoneSet.milestones.length) { + logger.error( + `Expected to find ${milestoneSet.milestones.length} milestones in the database, but only found ${milestones.length}.`, + { milestoneSet } + ); + throw new Error(`Failed to retrieve milestone sets' children.`); + } + + return milestones; +} diff --git a/server/src/utils/ea3id.ts b/server/src/utils/ea3id.ts new file mode 100644 index 000000000..c1a0019ad --- /dev/null +++ b/server/src/utils/ea3id.ts @@ -0,0 +1,22 @@ +export function ParseEA3SoftID(ver: string) { + const a = ver.split(":"); + + if (a.length !== 5) { + throw new Error(`Invalid Version Code. Had ${a.length} components.`); + } + + if (!/^[A-Z0-9]{3}:[A-Z]:[A-Z]:[A-Z]:[0-9]{10}$/u.exec(ver)) { + throw new Error(`Invalid Version Code.`); + } + + return { + model: a[0], + + // region + dest: a[1], + + spec: a[2], + rev: a[3], + ext: a[4], + }; +} diff --git a/server/src/utils/efficient-db-iterate.ts b/server/src/utils/efficient-db-iterate.ts new file mode 100644 index 000000000..91702192a --- /dev/null +++ b/server/src/utils/efficient-db-iterate.ts @@ -0,0 +1,32 @@ +/* eslint-disable no-await-in-loop */ +import CreateLogCtx from "lib/logger/logger"; +import type { ICollection } from "monk"; + +const logger = CreateLogCtx(__filename); + +export async function EfficientDBIterate( + collection: ICollection, + callbackFn: (c: T) => Promise, + saveOp: (c: Array) => Promise, + // eslint-disable-next-line @typescript-eslint/ban-types + filter: object = {}, + bucketSize = 10_000 +) { + let i = 0; + + while (true) { + logger.info(`Running on ${i} - ${i + bucketSize} documents.`); + // eslint-disable-next-line no-await-in-loop + const docs = await collection.find(filter, { limit: bucketSize, skip: i }); + + if (docs.length === 0) { + break; + } + + const rDocs = await Promise.all(docs.map(callbackFn)); + + i = i + bucketSize; + + await saveOp(rDocs); + } +} diff --git a/server/src/utils/fetch.ts b/server/src/utils/fetch.ts new file mode 100644 index 000000000..35d3ea5e1 --- /dev/null +++ b/server/src/utils/fetch.ts @@ -0,0 +1,14 @@ +import { Environment } from "lib/setup/config"; +import nodeFetch from "node-fetch"; +import type { RequestInfo, RequestInit, Response } from "node-fetch"; + +const fetch = + Environment.nodeEnv === "test" + ? () => { + throw new Error("Cannot use real fetch inside testing env!"); + } + : nodeFetch; + +export type NodeFetch = (url: RequestInfo, init?: RequestInit | undefined) => Promise; + +export default fetch as unknown as NodeFetch; diff --git a/server/src/utils/folder.test.ts b/server/src/utils/folder.test.ts new file mode 100644 index 000000000..d22d3b69a --- /dev/null +++ b/server/src/utils/folder.test.ts @@ -0,0 +1,257 @@ +import { GetFolderChartIDs, ResolveFolderToCharts, TransposeFolderData } from "./folder"; +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; +import { Testing511SPA } from "test-utils/test-data"; +import type { ChartDocument, FolderDocument } from "tachi-common"; + +t.todo("#CreateFolderChartLookup"); +t.todo("#GetFolderCharts"); + +t.test("#ResolveFolderToCharts", (t) => { + t.beforeEach(ResetDBState); + + t.test("Static Folder Tests", (t) => { + t.test("Basic Static", async (t) => { + const mockFolder = { + game: "iidx", + playtype: "SP", + type: "static", + data: [Testing511SPA.chartID], + }; + + const { charts } = await ResolveFolderToCharts(mockFolder as FolderDocument); + + t.equal(charts.length, 1, "Should return exactly 1 chart."); + t.equal(charts[0]?.chartID, Testing511SPA.chartID, "Should return 511 [SPA]"); + + t.end(); + }); + + t.test("Empty Static", async (t) => { + const mockFolder = { + game: "iidx", + playtype: "SP", + type: "static", + data: [], + }; + + const { charts } = await ResolveFolderToCharts(mockFolder as unknown as FolderDocument); + + t.equal(charts.length, 0, "Should return exactly 0 charts."); + + t.end(); + }); + + t.end(); + }); + + t.test("Songs Folder Tests", (t) => { + t.test("Basic Song Query", async (t) => { + const mockFolder = { + game: "iidx", + playtype: "SP", + type: "songs", + data: { + title: { $regex: /5\.1\.1/u }, + }, + }; + + const { charts } = await ResolveFolderToCharts(mockFolder as FolderDocument); + + t.equal(charts.length, 1, "Should return exactly 1 chart."); + t.equal(charts[0]?.chartID, Testing511SPA.chartID, "Should return 511 [SPA]"); + t.end(); + }); + + t.test("Invalid Song Query", async (t) => { + const mockFolder = { + game: "iidx", + playtype: "SP", + type: "songs", + data: { + FieldThatDoesntExist: { $regex: /5\.1\.1/u }, + }, + }; + + const { charts } = await ResolveFolderToCharts(mockFolder as unknown as FolderDocument); + + t.equal(charts.length, 0, "Should return exactly 0 charts."); + t.end(); + }); + + t.end(); + }); + + t.test("Charts Folder Tests", (t) => { + t.test("Basic Song Query", async (t) => { + const mockFolder = { + game: "iidx", + playtype: "SP", + type: "charts", + data: { + // lol + songID: Testing511SPA.songID, + }, + }; + + const { charts } = await ResolveFolderToCharts(mockFolder as FolderDocument); + + t.equal(charts.length, 1, "Should return exactly 1 chart."); + t.equal(charts[0]?.chartID, Testing511SPA.chartID, "Should return 511 [SPA]"); + t.end(); + }); + + t.end(); + }); + + t.test("Filter", async (t) => { + // add fake "NORMAL" 511 chart + await db.charts.iidx.insert( + deepmerge(Testing511SPA, { + difficulty: "NORMAL", + chartID: "FAKE_511_SPN", + data: { + arcChartID: "uniqueid", + }, + }) as ChartDocument<"iidx:SP"> + ); + + const mockFolder = { + game: "iidx", + playtype: "SP", + type: "charts", + data: { + // lol + songID: Testing511SPA.songID, + }, + }; + + const { charts } = await ResolveFolderToCharts(mockFolder as FolderDocument); + + t.equal(charts.length, 2, "Should return exactly 2 charts."); + t.strictSame( + charts.map((e) => e.chartID), + [Testing511SPA.chartID, "FAKE_511_SPN"], + "Should return all 511 charts." + ); + + const { charts: charts2 } = await ResolveFolderToCharts(mockFolder as FolderDocument, { + difficulty: "NORMAL", + }); + + t.equal(charts2.length, 1, "Should return exactly 1 chart."); + t.equal(charts2[0]?.chartID, "FAKE_511_SPN", "Should only return 511 SPN"); + + t.end(); + }); + + t.test("Songs", async (t) => { + const mockFolder = { + game: "iidx", + playtype: "SP", + type: "charts", + data: { + // lol + songID: Testing511SPA.songID, + }, + }; + + const { charts, songs } = await ResolveFolderToCharts( + mockFolder as FolderDocument, + {}, + true + ); + + t.equal(charts.length, 1, "Should return exactly 1 chart."); + t.equal(charts[0]?.chartID, Testing511SPA.chartID, "Should return 511 [SPA]"); + + t.equal(songs.length, 1, "Should return exactly 1 song."); + t.equal(songs[0]?.id, Testing511SPA.songID, "Should return 511's song."); + + t.end(); + }); + + t.end(); +}); + +t.test("#GetFolderChartIDs", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should use the folder-cache", async (t) => { + await db["folder-chart-lookup"].insert( + ["a", "b", "c", "d"].map((e) => ({ chartID: e, folderID: "folder1" })) + ); + + await db["folder-chart-lookup"].insert( + ["e", "f", "g", "h"].map((e) => ({ chartID: e, folderID: "folder2" })) + ); + + let fcIDs = await GetFolderChartIDs("folder1"); + + t.strictSame(fcIDs, ["a", "b", "c", "d"], "Should return the right chartIDs for folder1"); + + fcIDs = await GetFolderChartIDs("folder2"); + + t.strictSame(fcIDs, ["e", "f", "g", "h"], "Should return the right chartIDs for folder2"); + + t.end(); + }); + + t.end(); +}); + +t.test("#TransposeFolderData", (t) => { + t.strictSame( + TransposeFolderData({ + "foo¬bar": 1, + }), + { + "foo.bar": 1, + }, + "Should transpose single keys." + ); + + t.strictSame( + TransposeFolderData({ + "foo¬bar": 1, + "foo¬baz": 2, + "foo~bar": 2, + "foo~baz": 2, + }), + { + "foo.bar": 1, + "foo.baz": 2, + foo$bar: 2, + foo$baz: 2, + }, + "Should transpose multiple keys." + ); + + t.strictSame( + TransposeFolderData({ + "foo¬bar¬baz": 1, + "foo¬bar~baz": 1, + "foo~bar~baz": 1, + }), + { + "foo.bar$baz": 1, + "foo.bar.baz": 1, + foo$bar$baz: 1, + }, + "Should transpose multiple items in one key." + ); + + t.strictSame( + TransposeFolderData({ + "foo¬bar~baz": ["a", "b"], + }), + { + "foo.bar$baz": ["a", "b"], + }, + "Should transpose arrays." + ); + + t.end(); +}); diff --git a/server/src/utils/folder.ts b/server/src/utils/folder.ts new file mode 100644 index 000000000..43f818a65 --- /dev/null +++ b/server/src/utils/folder.ts @@ -0,0 +1,328 @@ +import deepmerge from "deepmerge"; +import db from "external/mongo/db"; +import fjsh from "fast-json-stable-hash"; +import CreateLogCtx from "lib/logger/logger"; +import { TachiConfig } from "lib/setup/config"; +import type { FilterQuery } from "mongodb"; +import type { + ChartDocument, + FolderDocument, + Game, + Grades, + IDStrings, + integer, + Lamps, + PBScoreDocument, + Playtype, + SongDocument, + TableDocument, +} from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +// overloads! + +export async function ResolveFolderToCharts( + folder: FolderDocument, + filter: FilterQuery, + getSongs: true +): Promise<{ songs: Array; charts: Array }>; +export async function ResolveFolderToCharts( + folder: FolderDocument, + filter?: FilterQuery, + getSongs?: false +): Promise<{ charts: Array }>; +export async function ResolveFolderToCharts( + folder: FolderDocument, + filter: FilterQuery = {}, + getSongs = false +): Promise<{ songs?: Array; charts: Array }> { + let songs: Array | null = null; + let charts: Array; + + switch (folder.type) { + case "static": { + charts = await db.charts[folder.game].find( + deepmerge(filter, { + // Specifying playtype is mandatory, don't want to catch other charts. + playtype: folder.playtype, + chartID: { $in: folder.data }, + }) + ); + break; + } + + case "songs": { + songs = await db.songs[folder.game].find(folder.data); + + charts = await db.charts[folder.game].find( + deepmerge(filter, { + playtype: folder.playtype, + songID: { $in: songs.map((e) => e.id) }, + }) + ); + break; + } + + case "charts": { + const folderDataTransposed = TransposeFolderData(folder.data); + + logger.debug(`Transposed folder data in resolve-folder-to-charts.`, { + folder, + folderDataTransposed, + }); + + const fx = deepmerge.all([filter, { playtype: folder.playtype }, folderDataTransposed]); + + charts = await db.charts[folder.game].find(fx); + break; + } + + default: { + logger.error( + `Invalid folder at ${(folder as FolderDocument).folderID}. Cannot resolve.`, + { folder } + ); + + throw new Error( + `Invalid folder ${(folder as FolderDocument).folderID}. Cannot resolve.` + ); + } + } + + if (getSongs) { + if (songs) { + return { songs, charts }; + } + + songs = await db.songs[folder.game].find({ + id: { $in: charts.map((e) => e.songID) }, + }); + + return { songs, charts }; + } + + return { charts }; +} + +/** + * Replace all ¬'s in key names with ., and all ~'s with $. + * This is to get around the fact that you cannot store these values in mongo, + * and we are doing reflective querying. + */ +export function TransposeFolderData(obj: Record) { + const transposedObj: Record = {}; + + for (const key of Object.keys(obj)) { + const transposedKey = key.replace(/~/gu, "$").replace(/¬/gu, "."); + + if ( + typeof obj[key] === "object" && + !Array.isArray(obj[key]) && + (obj[key] as object | null) + ) { + transposedObj[transposedKey] = TransposeFolderData(obj[key] as Record); + } else { + transposedObj[transposedKey] = obj[key]; + } + } + + return transposedObj; +} + +export async function GetFolderCharts( + folder: FolderDocument, + filter: FilterQuery, + getSongs: true +): Promise<{ songs: Array; charts: Array }>; +export async function GetFolderCharts( + folder: FolderDocument, + filter: FilterQuery, + getSongs: false +): Promise<{ charts: Array }>; +export async function GetFolderCharts( + folder: FolderDocument, + filter: FilterQuery = {}, + getSongs = false +): Promise<{ songs?: Array; charts: Array }> { + const chartIDs = await GetFolderChartIDs(folder.folderID); + + const charts = await db.charts[folder.game].find( + deepmerge.all([{ playtype: folder.playtype }, { chartID: { $in: chartIDs } }, filter]) + ); + + if (getSongs) { + const songs = await db.songs[folder.game].find({ + id: { $in: charts.map((e) => e.songID) }, + }); + + return { songs, charts }; + } + + return { charts }; +} + +export async function GetFolderChartIDs(folderID: string) { + const chartIDs = await db["folder-chart-lookup"].find( + { + folderID, + }, + { + projection: { + chartID: 1, + }, + } + ); + + return chartIDs.map((e) => e.chartID); +} + +export async function CreateFolderChartLookup(folder: FolderDocument, flush = false) { + try { + const { charts } = await ResolveFolderToCharts(folder, {}, false); + + if (flush) { + await db["folder-chart-lookup"].remove({ + folderID: folder.folderID, + }); + } + + await db["folder-chart-lookup"].insert( + charts.map((c) => ({ + folderID: folder.folderID, + chartID: c.chartID, + })) + ); + } catch (err) { + logger.error(`Failed to create folder chart lookup for ${folder.title}.`, { folder, err }); + throw err; + } +} + +/** + * Creates the "folder-chart-lookup" cache. This is used to optimise + * common use cases, such as retrieving chartIDs from a folder. + */ +export async function InitaliseFolderChartLookup() { + logger.info(`Started InitialiseFolderChartLookup`); + await db["folder-chart-lookup"].remove({}); + logger.info(`Flushed Cache.`); + + // temporary hack -- this will still break if we introduce a new + // playtype on staging or something. + // We need to have separate seeds for staging and prod! todo #609. + const folders = await db.folders.find({ + game: { $in: TachiConfig.GAMES }, + }); + + logger.info(`Reloading ${folders.length} folders.`); + + await Promise.all(folders.map((folder) => CreateFolderChartLookup(folder))); + + logger.info(`Completed InitialiseFolderChartLookup.`); +} + +export async function GetFoldersFromTable(table: TableDocument) { + const folders = await db.folders.find({ + folderID: { $in: table.folders }, + }); + + if (folders.length !== table.folders.length) { + // this is an error, but we can return anyway. + logger.warn( + `Table ${table.tableID} has a mismatch of real folders to stored folders. ${table.folders.length} -> ${folders.length}` + ); + } + + // we also need to sort folders in their indexed order. + folders.sort((a, b) => table.folders.indexOf(a.folderID) - table.folders.indexOf(b.folderID)); + + return folders; +} + +export async function GetPBsOnFolder(userID: integer, folder: FolderDocument) { + const { charts, songs } = await GetFolderCharts(folder, {}, true); + + const pbs = await db["personal-bests"].find({ + userID, + chartID: { $in: charts.map((e) => e.chartID) }, + }); + + return { pbs, charts, songs }; +} + +export function CalculateLampDistribution(pbs: Array) { + const lampDist: Partial> = {}; + + for (const pb of pbs) { + if (lampDist[pb.scoreData.lamp] !== undefined) { + lampDist[pb.scoreData.lamp]!++; + } else { + lampDist[pb.scoreData.lamp] = 1; + } + } + + return lampDist; +} + +export function CalculateGradeDistribution(pbs: Array) { + const gradeDist: Partial> = {}; + + for (const pb of pbs) { + if (gradeDist[pb.scoreData.grade] !== undefined) { + gradeDist[pb.scoreData.grade]!++; + } else { + gradeDist[pb.scoreData.grade] = 1; + } + } + + return gradeDist; +} + +export async function GetGradeLampDistributionForFolder(userID: integer, folder: FolderDocument) { + const pbData = await GetPBsOnFolder(userID, folder); + + return { + grades: CalculateGradeDistribution(pbData.pbs), + lamps: CalculateLampDistribution(pbData.pbs), + folderID: folder.folderID, + chartCount: pbData.charts.length, + }; +} + +export function GetGradeLampDistributionForFolders( + userID: integer, + folders: Array +) { + return Promise.all(folders.map((f) => GetGradeLampDistributionForFolder(userID, f))); +} + +export function CreateFolderID(query: Record, game: Game, playtype: Playtype) { + return `F${fjsh.hash({ game, playtype, ...query }, "SHA256")}`; +} + +export async function GetRecentlyViewedFolders(userID: integer, game: Game, playtype: Playtype) { + const views = await db["recent-folder-views"].find( + { + userID, + game, + playtype, + }, + { + sort: { + lastViewed: -1, + }, + limit: 6, + } + ); + + if (views.length === 0) { + return { views, folders: [] }; + } + + const folders = await db.folders.find({ + folderID: { $in: views.map((e) => e.folderID) }, + }); + + return { views, folders }; +} diff --git a/server/src/utils/misc.test.ts b/server/src/utils/misc.test.ts new file mode 100644 index 000000000..34552a9f8 --- /dev/null +++ b/server/src/utils/misc.test.ts @@ -0,0 +1,35 @@ +import { GetMillisecondsSince, IsValidURL, RoundToNDecimalPlaces } from "./misc"; +import t from "tap"; + +t.test("#GetMillisecondsSince", (t) => { + const time = GetMillisecondsSince(10n); + + t.ok(typeof time === "number" && time > 0, "Should return a number greater than 0."); + + t.end(); +}); + +t.test("#IsValidURL", (t) => { + t.ok(IsValidURL("https://example.com")); + t.ok(IsValidURL("http://example.com")); + t.ok(IsValidURL("http://example.com/suburl")); + t.ok(IsValidURL("http://example.com#href")); + t.ok(IsValidURL("http://example.com?querystring")); + + t.notOk(IsValidURL("ftp://example.com")); + + // t.notOk(IsValidURL("http://example")); lol this is valid???? insane. + // t.notOk(IsValidURL("http:/example.com")); this is also valid, the JS URL parser is ridiculously lenient. Whatever. + + t.end(); +}); + +t.test("#RoundToNDecimalPlaces", (t) => { + t.equal(RoundToNDecimalPlaces(10.4999999999, 1), 10.5); + t.equal(RoundToNDecimalPlaces(10.4999999999, 2), 10.5); + t.equal(RoundToNDecimalPlaces(10.4499999999, 2), 10.45); + t.equal(RoundToNDecimalPlaces(10.4449999999, 3), 10.445); + t.equal(RoundToNDecimalPlaces(10.4469999999, 3), 10.447); + + t.end(); +}); diff --git a/server/src/utils/misc.ts b/server/src/utils/misc.ts new file mode 100644 index 000000000..329c4efaf --- /dev/null +++ b/server/src/utils/misc.ts @@ -0,0 +1,261 @@ +import { ONE_HOUR } from "lib/constants/time"; +import { TachiConfig } from "lib/setup/config"; +import { GetGameConfig } from "tachi-common"; +import { exec } from "child_process"; +import crypto from "crypto"; +import { URL } from "url"; +import type { Game, GamePTConfig, integer, Playtype } from "tachi-common"; + +// https://github.com/sindresorhus/escape-string-regexp/blob/main/index.js +// the developer of this has migrated everything to Force ES6 style modules, +// which really really messes with a lot of the ecosystem. +// shim. + +export function EscapeStringRegexp(string: string) { + if (typeof string !== "string") { + throw new TypeError("Expected a string"); + } + + // Escape characters with special meaning either inside or outside character sets. + // Use a simple backslash escape when it's always valid, and a `\xnn` escape when the simpler form would be disallowed by Unicode patterns' stricter grammar. + return string.replace(/[|\\{}()[\]^$+*?.]/gu, "\\$&").replace(/-/gu, "\\x2d"); +} + +/** + * Takes a process.hrtime.bigint(), and returns the milliseconds elapsed since it. + * This function will not work if more than 100(ish) days have passed since the first reference. + */ +export function GetMillisecondsSince(ref: bigint) { + return Number(process.hrtime.bigint() - ref) / 1e6; +} + +export function Random20Hex() { + return crypto.randomBytes(20).toString("hex"); +} + +export function MStoS(ms: number) { + return Math.floor(ms / 1000); +} + +/** + * Random From Array - Selects a random value from an array. + */ +export function RFA(arr: Array): T { + return arr[Math.floor(Math.random() * arr.length)] as T; +} + +/** + * Splits an Authorization header into the token and the type. + */ +export function SplitAuthorizationHeader(authHeader: string) { + const parts = authHeader.split(" "); + + return { type: parts[0], token: parts.slice(1).join(" ") }; +} + +/** + * Utility Type Predicate. + * Determines whether a key is an ownProperty on an object. + * + * @returns True if the object contains that key, and changes the type of + * key to keyof T. + * False if the object doesn't. + */ +export function HasOwnProperty(obj: T, key: number | string | symbol): key is keyof T { + return Object.prototype.hasOwnProperty.call(obj, key); +} + +export function IsValidGame(str: string): str is Game { + return !!TachiConfig.GAMES.includes(str as Game); +} + +export function IsValidPlaytype(game: Game, str: string): str is Playtype { + return GetGameConfig(game).validPlaytypes.includes(str as Playtype); +} + +export function IsValidScoreAlg( + gptConfig: GamePTConfig, + str: unknown +): str is GamePTConfig["scoreRatingAlgs"][0] { + return gptConfig.scoreRatingAlgs.includes(str as GamePTConfig["scoreRatingAlgs"][0]); +} + +export function IsString(val: unknown): val is string { + return typeof val === "string"; +} + +export function DedupeArr(arr: Array): Array { + return [...new Set(arr)]; +} + +export function StripUrl(url: string, userInput: string) { + if (userInput.toLowerCase().includes(url)) { + return userInput.split(url)[1]!; + } + + return userInput; +} + +// It's really hard to type this properly because iterating over +// object keys and then accessing the objects properties is a pain +// in typescript. My initial approach was to just use +// Record, but then it mandates everything passed +// to it has string indexing. +// Since this is not possible, I've set it to any and just use +// runtime validation. +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export function DeleteUndefinedProps(record: any) { + if (typeof record !== "object" || record === null || Array.isArray(record)) { + throw new Error(`Non-object passed to DeleteUndefinedProps.`); + } + + // asserted above + const rec = record as Record; + + for (const key of Object.keys(rec)) { + if (rec[key] === undefined) { + // eslint-disable-next-line @typescript-eslint/no-dynamic-delete + delete rec[key]; + } + } +} + +export function IsValidURL(string: string) { + try { + const url = new URL(string); + + return url.protocol === "http:" || url.protocol === "https:"; + } catch (_err) { + return false; + } +} + +export function Sleep(ms: number) { + return new Promise((resolve) => { + setTimeout(() => { + resolve(); + }, ms); + }); +} + +export function GetTimeXHoursAgo(hours: integer) { + return Date.now() - ONE_HOUR * hours; +} + +export function ApplyNTimes(n: integer, fn: (i: integer) => T): Array { + const arr = []; + + for (let i = 0; i < n; i++) { + arr.push(fn(i)); + } + + return arr; +} + +export function RoundToNDecimalPlaces(value: number, n: integer) { + return Number(value.toFixed(n)); +} + +export function OmitUndefinedKeys(obj: Partial): Partial { + const omittedObj: Partial = {}; + + for (const k of Object.keys(obj)) { + const key = k as keyof T; + + // This looks to be a bug in the no-unnecessary-condition rule. + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + if (obj[key] !== undefined) { + omittedObj[key] = obj[key]; + } + } + + return omittedObj; +} + +/** + * Exec shellcode asynchronously. + * + * **DO NOT PASS USER INPUT INTO THIS FUNCTION!** + * **THIS EVALS A STRING AS BASH!** + * @param command A bash command to execute on the system. + * @returns stdout and stderr as strings. + */ +export function asyncExec(command: string) { + return new Promise<{ stdout: string; stderr: string }>((resolve, reject) => { + exec(command, (err, stdout, stderr) => { + if (err) { + // eslint-disable-next-line prefer-promise-reject-errors + reject({ err, stdout, stderr }); + return; + } + + resolve({ stdout, stderr }); + }); + }); +} + +export function FormatBMSTables(bmsTables: Array<{ table: string; level: string }>) { + if (bmsTables.length === 0) { + return null; + } + + return bmsTables.map((e) => `${e.table}${e.level}`).join(", "); +} + +export function HumanisedJoinArray(arr: Array, lastJoiner = "or") { + return `${arr.slice(0, arr.length - 1).join(", ")} ${lastJoiner} ${arr[arr.length - 1]!}`; +} + +export function FormatMaxDP(num: number, points = 2) { + return parseFloat(num.toFixed(points)).toString(); +} + +/** + * Returns whether this game is supported by this instance of tachi or not. + */ +export function IsSupported(game: Game) { + return TachiConfig.GAMES.includes(game); +} + +/** + * Given two arrays, return all elements in arr2 that are not in arr1. + * @param left - The array of original elements. + * @param right - The right side of elements; everything in here not in left will be + * returned. + */ +export function ArrayDiff(left: Array, right: Array) { + return right.filter((e) => !left.includes(e)); +} + +export function IsNonEmptyString(maybeStr: string | null | undefined): maybeStr is string { + return maybeStr !== null && maybeStr !== undefined && maybeStr !== ""; +} + +export function IsNullishOrEmptyStr( + maybeStr: string | null | undefined +): maybeStr is "" | null | undefined { + return maybeStr === null || maybeStr === undefined || maybeStr === ""; +} + +/** + * Runtime non-null assertion. + */ +export function NotNullish(maybeValue: T | null | undefined): T { + if (maybeValue === null || maybeValue === undefined) { + throw new Error( + `NON-NULL ASSERTION FAILED: Expected Non-null/undefined value, got ${ + maybeValue as null | undefined + }.` + ); + } + + return maybeValue; +} + +export function IsNullish(maybeValue: T | null | undefined): maybeValue is null | undefined { + return maybeValue === null || maybeValue === undefined; +} + +export function IsRecord(maybeRecord: unknown): maybeRecord is Record { + return typeof maybeRecord === "object" && maybeRecord !== null; +} diff --git a/server/src/utils/naive-csv-parser.test.ts b/server/src/utils/naive-csv-parser.test.ts new file mode 100644 index 000000000..7eea67b2d --- /dev/null +++ b/server/src/utils/naive-csv-parser.test.ts @@ -0,0 +1,104 @@ +import { CSVParseError, NaiveCSVParse } from "./naive-csv-parser"; +import CreateLogCtx from "lib/logger/logger"; +import t from "tap"; +import { TestingIIDXEamusementCSV27 } from "test-utils/test-data"; + +const logger = CreateLogCtx(__filename); + +t.test("#ParseCSV", (t) => { + t.test("Valid Basic CSV", (t) => { + const headers = ["header1", "header2", "header3"]; + const rows = [ + ["a", "b", "c"], + ["d", "e", "f"], + ]; + + const headersStr = headers.join(","); + const rowsStr = rows.map((r) => r.join(",")).join("\n"); + + const csvBuffer = Buffer.from(`${headersStr}\n${rowsStr}`); + + const { rawHeaders, rawRows } = NaiveCSVParse(csvBuffer, logger); + + t.strictSame(rawHeaders, headers); + t.strictSame(rawRows, rows); + + t.end(); + }); + + t.test("Valid Evil CSV", (t) => { + const headers = ["header1", '"header2"', 'hea"der3']; + const rows = [ + ["a ", "bbbbbbbbbbbbbbbbbbbbbbbbbbb", ""], + ["d", '"', "冥"], + ]; + + const headersStr = headers.join(","); + const rowsStr = rows.map((r) => r.join(",")).join("\n"); + + const csvBuffer = Buffer.from(`${headersStr}\n${rowsStr}\n`); + + const { rawHeaders, rawRows } = NaiveCSVParse(csvBuffer, logger); + + t.strictSame(rawHeaders, headers); + t.strictSame(rawRows, rows); + + t.end(); + }); + + t.test("IIDX CSV", (t) => { + const { rawHeaders, rawRows } = NaiveCSVParse(TestingIIDXEamusementCSV27, logger); + + t.equal(rawHeaders.length, 41); + t.equal(rawRows.length, 1257); + + t.ok( + rawRows.every((e) => e.length === 41), + `All Rows are of the correct size (41)` + ); + + t.end(); + }); + + t.test("Malicious Headers", (t) => { + // these headers are valid, because we don't check the contents + // only that it has the right amt of headers + const headerStr = `${"a,".repeat(26)}a`; + + const TooShort = Buffer.from(`${headerStr}\n${"a,".repeat(3)}a`); + + t.throws( + () => NaiveCSVParse(TooShort, logger), + new CSVParseError("Row 1 has an invalid amount of cells (4, expected 27)") + ); + + const TooLong = Buffer.from(`${headerStr}\n${"a,".repeat(50)}a`); + + t.throws( + () => NaiveCSVParse(TooLong, logger), + new CSVParseError("Row 1 has an invalid amount of cells (51, expected 27)") + ); + + t.end(); + }); + + t.test("Misshaped Rows", (t) => { + const LongHeaders = Buffer.from(`${"a".repeat(1000)},a`); + + t.throws( + () => NaiveCSVParse(LongHeaders, logger), + new CSVParseError("Headers were longer than 1000 characters long.") + ); + + const TooManyHeaders = Buffer.from(`${"a,".repeat(50)}a`); + + t.throws( + () => NaiveCSVParse(TooManyHeaders, logger), + new CSVParseError("Too many CSV headers.") + ); + + t.end(); + }); + + t.end(); +}); diff --git a/server/src/utils/naive-csv-parser.ts b/server/src/utils/naive-csv-parser.ts new file mode 100644 index 000000000..5b214cc19 --- /dev/null +++ b/server/src/utils/naive-csv-parser.ts @@ -0,0 +1,87 @@ +import { IsNonEmptyString } from "./misc"; +import type { KtLogger } from "lib/logger/logger"; + +export class CSVParseError extends Error { + constructor(description: string) { + super(description); + this.name = "CSVParseError"; + } +} + +/** + * Parse a "naive CSV". A Naive CSV is one that does not properly escape " or , characters. + * This also means that if konami ever have a song that has a comma, it will cause some serious problems. + * + * The reason we have a handrolled CSV parser instead of using an existing library is because eamusement CSVs are + * invalid -- due to their lack of escaping. We have to do very manual parsing to actually make this work! + */ +export function NaiveCSVParse(csvBuffer: Buffer, logger: KtLogger) { + const csvString = csvBuffer.toString("utf-8"); + + const csvData = csvString.split("\n"); + + const rawHeaders = []; + let headerLen = 0; + let curStr = ""; + + if (!IsNonEmptyString(csvData[0])) { + throw new CSVParseError(`Expected headers, but received nothing in the first row.`); + } + + // looks like we're doing it like this. + for (const char of csvData[0]) { + headerLen++; + + // safety checks to avoid getting DOS'd + if (headerLen > 1000) { + throw new CSVParseError("Headers were longer than 1000 characters long."); + } else if (rawHeaders.length >= 50) { + // this does not *really* do what it seems. + // because there's inevitably something left in curStr in this fn + // this means that the above check is actually > 50 headers. Not + // >= 50. + throw new CSVParseError("Too many CSV headers."); + } + + if (char === ",") { + rawHeaders.push(curStr); + curStr = ""; + } else { + curStr = curStr + char; + } + } + + rawHeaders.push(curStr); + + const rawRows = []; + + for (const [rowNumber, data] of Object.entries(csvData).slice(1)) { + // @security: This should probably be safetied from DOSing + const cells = data.split(","); + + // an empty string split on "," is an array with one empty value. + if (cells.length === 1) { + logger.verbose(`Skipped empty row ${rowNumber}.`); + continue; + } + + if (cells.length !== rawHeaders.length) { + logger.info( + `csv has row (${rowNumber}) with invalid cell count of ${cells.length}, rejecting.`, + { + data, + } + ); + throw new CSVParseError( + `Row ${rowNumber} has an invalid amount of cells (${cells.length}, expected ${rawHeaders.length}).` + ); + } + + rawRows.push(cells); + } + + return { + rawHeaders, + rawRows, + }; +} diff --git a/server/src/utils/prudence.ts b/server/src/utils/prudence.ts new file mode 100644 index 000000000..338d513f7 --- /dev/null +++ b/server/src/utils/prudence.ts @@ -0,0 +1,17 @@ +import p from "prudence"; +import type { PrudenceError, ValidSchemaValue } from "prudence"; + +export function FormatPrError(err: PrudenceError, foreword = "Error") { + const receivedText = + typeof err.userVal === "object" && err.userVal !== null + ? "" + : ` | Received ${err.userVal} [type: ${ + err.userVal === null ? "null" : typeof err.userVal + }]`; + + return `${foreword}: ${err.keychain ?? "null"} | ${err.message}${receivedText}.`; +} + +export const optNull = (v: ValidSchemaValue) => p.optional(p.nullable(v)); + +export const optNullFluffStrField = optNull(p.isBoundedString(3, 140)); diff --git a/server/src/utils/queries/auth.ts b/server/src/utils/queries/auth.ts new file mode 100644 index 000000000..07ca5ddbb --- /dev/null +++ b/server/src/utils/queries/auth.ts @@ -0,0 +1,48 @@ +import db from "external/mongo/db"; +import ScoreImportFatalError from "lib/score-import/framework/score-importing/score-import-error"; +import type { KtLogger } from "lib/logger/logger"; +import type { integer } from "tachi-common"; + +export function GetKaiAuth(userID: integer, service: "EAG" | "FLO" | "MIN") { + return db["kai-auth-tokens"].findOne({ + userID, + service, + }); +} + +export async function GetKaiAuthGuaranteed( + userID: integer, + service: "EAG" | "FLO" | "MIN", + logger: KtLogger +) { + const authDoc = await GetKaiAuth(userID, service); + + if (!authDoc) { + logger.error(`No authentication was stored for ${service}.`); + throw new ScoreImportFatalError(401, `No authentication was stored for ${service}.`); + } + + return authDoc; +} + +export function GetArcAuth(userID: integer, forImportType: "api/arc-iidx" | "api/arc-sdvx") { + return db["arc-saved-profiles"].findOne({ + userID, + forImportType, + }); +} + +export async function GetArcAuthGuaranteed( + userID: integer, + forImportType: "api/arc-iidx" | "api/arc-sdvx", + logger: KtLogger +) { + const authDoc = await GetArcAuth(userID, forImportType); + + if (!authDoc) { + logger.error(`No authentication was stored for ${forImportType}.`); + throw new ScoreImportFatalError(401, `No authentication was stored for ${forImportType}.`); + } + + return authDoc; +} diff --git a/server/src/utils/queries/blacklist.ts b/server/src/utils/queries/blacklist.ts new file mode 100644 index 000000000..72b166516 --- /dev/null +++ b/server/src/utils/queries/blacklist.ts @@ -0,0 +1,7 @@ +import db from "external/mongo/db"; + +export async function GetBlacklist() { + return (await db["score-blacklist"].find({}, { projection: { scoreID: 1 } })).map( + (e) => e.scoreID + ); +} diff --git a/server/src/utils/queries/charts.ts b/server/src/utils/queries/charts.ts new file mode 100644 index 000000000..9c3ceabc7 --- /dev/null +++ b/server/src/utils/queries/charts.ts @@ -0,0 +1,342 @@ +import db from "external/mongo/db"; +import type { FilterQuery } from "mongodb"; +import type { + ChartDocument, + Difficulties, + Game, + GPTSupportedVersions, + IDStrings, + integer, + Playtype, + Playtypes, +} from "tachi-common"; + +export function FindChartWithChartID(game: Game, chartID: string) { + return db.charts[game].findOne({ chartID }); +} + +/** + * Find chart with PlaytypeDifficulty. This only finds charts that have `isPrimary` set to true. + * If you want to find charts that are not primary, you need to use PTDFVersion. + * @see FindChartWithPTDFVersion + */ +export function FindChartWithPTDF< + G extends Game = Game, + P extends Playtypes[G] = Playtypes[G], + I extends IDStrings = IDStrings +>(game: G, songID: integer, playtype: P, difficulty: Difficulties[I]) { + return db.charts[game].findOne({ + songID, + playtype, + difficulty, + isPrimary: true, + }); +} + +/** + * Find chart with Playtype, Difficulty and a given version. This does not necessarily return a chart that has + * `isPrimary` set. + */ +export function FindChartWithPTDFVersion< + G extends Game = Game, + P extends Playtypes[G] = Playtypes[G], + I extends IDStrings = IDStrings +>( + game: G, + songID: integer, + playtype: P, + difficulty: Difficulties[I], + version: GPTSupportedVersions[I] +) { + return db.charts[game].findOne({ + songID, + playtype, + difficulty, + versions: version, + }); +} + +/** + * Finds a DDR Chart based on its "song hash". + * Songs in DDR have a consistent checksum-like identifier used on the e-amusement website. + * We can use this to locate a chart by combining it with a playtype and difficulty. + * + * Despite the potentially confusing name of "songHash", songs are NOT meant to store lookup-like tokens. + * This is just for simplification reasons. + * @param songHash The identifier for the song. + * @param playtype The playtype for the chart. + * @param difficulty The difficulty for the chart. + */ +export function FindDDRChartOnSongHash( + songHash: string, + + // Technically both of these should be "ddr" instead of Game, but it proves hard to work with. + playtype: Playtype, + difficulty: Difficulties[IDStrings] +) { + // note: this only works on accident because monk + // allows any strings like "foo.bar". + // We *should* normally cast this to ChartDocument<"ddr:SP" | "ddr:DP"> + return db.charts.ddr.findOne({ + "data.songHash": songHash, + playtype, + difficulty, + isPrimary: true, + }); +} + +export function FindITGChartOnHash(hash: string) { + return db.charts.itg.findOne({ + "data.chartHash": hash, + }); +} + +/** + * Find a BMS chart on either its md5sum or its sha256sum. + * @param hash The md5 or sha256 hash to look for. + */ +export function FindBMSChartOnHash(hash: string) { + return db.charts.bms.findOne({ + $or: [{ "data.hashMD5": hash }, { "data.hashSHA256": hash }], + }); +} + +/** + * Find a chart on its in-game-ID, playtype and difficulty. + */ +export function FindChartOnInGameID( + game: Game, + inGameID: number, + playtype: Playtype, + difficulty: Difficulties[IDStrings] +) { + if (game === "bms" || game === "usc") { + throw new Error(`Cannot call FindChartOnInGameID for game ${game}.`); + } + + return db.charts[game].findOne({ + "data.inGameID": inGameID, + playtype, + difficulty, + }); +} + +/** + * Finds a non-custom chart on its in-game-ID, playtype and difficulty. + * This explicitly ignores 2dxtra charts, and is necessary to use for iidx to disambiguate. + */ +export function FindIIDXChartOnInGameID( + inGameID: number, + playtype: Playtype, + difficulty: Difficulties[IDStrings] +) { + return db.charts.iidx.findOne({ + "data.inGameID": inGameID, + "data.2dxtraSet": null, + isPrimary: true, + playtype, + difficulty, + }); +} + +/** + * Finds a non-custom chart on its in-game-ID, playtype and difficulty. + * This explicitly ignores 2dxtra charts, and is necessary to use for iidx to disambiguate. + */ +export function FindIIDXChartOnInGameIDVersion( + inGameID: number, + playtype: Playtype, + difficulty: Difficulties[IDStrings], + version: GPTSupportedVersions[IDStrings] +) { + return db.charts.iidx.findOne({ + "data.inGameID": inGameID, + "data.2dxtraSet": null, + playtype, + difficulty, + versions: version, + }); +} + +/** + * Find a chart on its in-game-ID, playtype, difficulty and version. + */ +export function FindChartOnInGameIDVersion( + game: Game, + inGameID: number, + playtype: Playtype, + difficulty: Difficulties[I], + version: GPTSupportedVersions[I] +) { + return db.charts[game].findOne({ + "data.inGameID": inGameID, + versions: version, + playtype, + difficulty, + }); +} + +/** + * Finds an IIDX chart on its 2dxtra hash, which is the sha256 of the .1 buffer. + */ +export function FindIIDXChartWith2DXtraHash(hash: string) { + return db.charts.iidx.findOne({ + "data.hashSHA256": hash, + }); +} + +/** + * Find an SDVX Chart on its in game ID. This exists to handle + * oddities with SDVX difficulties - If "ANY_INF" is sent, it actually + * refers to any of INF, GRV, HVN or VVD. This is because some services treat + * all of those as the same difficulty, but we do not. + */ +export function FindSDVXChartOnInGameID( + inGameID: number, + difficulty: Difficulties["sdvx:Single"] | "ANY_INF" +) { + const diffQuery = + difficulty === "ANY_INF" + ? { $in: ["INF", "GRV", "HVN", "VVD"] as Array } + : difficulty; + + return db.charts.sdvx.findOne({ + "data.inGameID": inGameID, + difficulty: diffQuery, + isPrimary: true, + }); +} + +export function FindSDVXChartOnInGameIDVersion( + inGameID: number, + difficulty: "ADV" | "ANY_INF" | "EXH" | "MXM" | "NOV", + version: GPTSupportedVersions["sdvx:Single"] +) { + const diffQuery = + difficulty === "ANY_INF" + ? { $in: ["INF", "GRV", "HVN", "VVD"] as Array } + : difficulty; + + return db.charts.sdvx.findOne({ + "data.inGameID": inGameID, + difficulty: diffQuery, + versions: version, + }); +} + +export function FindSDVXChartOnDFVersion( + songID: integer, + difficulty: "ADV" | "ANY_INF" | "EXH" | "MXM" | "NOV", + version: GPTSupportedVersions["sdvx:Single"] +) { + const diffQuery = + difficulty === "ANY_INF" + ? { $in: ["INF", "GRV", "HVN", "VVD"] as Array } + : difficulty; + + return db.charts.sdvx.findOne({ + songID, + difficulty: diffQuery, + versions: version, + }); +} + +export function FindChartOnSHA256(game: Game, hash: string) { + if (game !== "bms" && game !== "usc" && game !== "iidx" && game !== "pms") { + throw new Error(`Cannot call FindChartOnSHA256 for game ${game}.`); + } + + return db.charts[game].findOne({ + "data.hashSHA256": hash, + }); +} + +export function FindChartOnSHA256Playtype(game: Game, hash: string, playtype: Playtype) { + if (game !== "bms" && game !== "usc" && game !== "iidx" && game !== "pms") { + throw new Error(`Cannot call FindChartOnSHA256 for game ${game}.`); + } + + return db.charts[game].findOne({ + "data.hashSHA256": hash, + playtype, + }); +} + +export function FindChartOnARCID(game: "ddr" | "iidx" | "jubeat" | "sdvx", arcID: string) { + return db.charts[game].findOne({ + "data.arcChartID": arcID, + }); +} + +/** + * Returns the N most popular charts for this game + playtype. + * Popularity is determined by how many scores match in the score + * collection. + */ +export async function FindChartsOnPopularity( + game: Game, + playtype: Playtype, + songIDs?: Array, + skip = 0, + limit = 100, + scoreCollection: "personal-bests" | "scores" = "personal-bests" +): Promise> { + const matchQuery: FilterQuery = { + playtype, + }; + + if (songIDs) { + matchQuery.songID = { $in: songIDs }; + } + + // MongoDB is a hard beast to wield. + // This code might look very inefficient, but originally this *was* + // a single aggregate pipeline. + // + // We've split it up into multiple queries as this is an order of + // magnitude faster. + // Not entirely sure why, but $lookup is incredibly inefficient, + // and you should just avoid it. + const charts = (await db.charts[game].find(matchQuery)) as unknown as Array< + ChartDocument & { + __playcount: integer; + } + >; + + const scoreCounts: Array<{ _id: string; count: integer }> = await db[scoreCollection].aggregate( + [ + { + $match: { chartID: { $in: charts.map((e) => e.chartID) } }, + }, + { + $group: { + _id: "$chartID", + count: { $sum: 1 }, + }, + }, + { + $sort: { + count: -1, + }, + }, + { + $skip: skip, + }, + { + $limit: limit, + }, + ] + ); + + const scoreCountMap = new Map(); + + for (const sc of scoreCounts) { + scoreCountMap.set(sc._id, sc.count); + } + + for (const chart of charts) { + chart.__playcount = scoreCountMap.get(chart.chartID) ?? 0; + } + + return charts.sort((a, b) => b.__playcount - a.__playcount).slice(skip, skip + limit); +} diff --git a/server/src/utils/queries/pbs.ts b/server/src/utils/queries/pbs.ts new file mode 100644 index 000000000..fdc1a0bb6 --- /dev/null +++ b/server/src/utils/queries/pbs.ts @@ -0,0 +1,32 @@ +import db from "external/mongo/db"; +import type { PBScoreDocument } from "tachi-common"; + +export async function GetAdjacentAbove(userPB: PBScoreDocument, size = 5) { + const adjAbove = (await db["personal-bests"].find( + { + chartID: userPB.chartID, + "rankingData.rank": { $lt: userPB.rankingData.rank }, + }, + { + limit: size, + sort: { "rankingData.rank": -1 }, + } + )) as Array>; + + return adjAbove; +} + +export async function GetAdjacentBelow(userPB: PBScoreDocument, size = 5) { + const adjAbove = (await db["personal-bests"].find( + { + chartID: userPB.chartID, + "rankingData.rank": { $gt: userPB.rankingData.rank }, + }, + { + limit: size, + sort: { "rankingData.rank": 1 }, + } + )) as Array>; + + return adjAbove; +} diff --git a/server/src/utils/queries/songs.ts b/server/src/utils/queries/songs.ts new file mode 100644 index 000000000..52798954f --- /dev/null +++ b/server/src/utils/queries/songs.ts @@ -0,0 +1,76 @@ +import { EscapeStringRegexp } from "../misc"; +import db from "external/mongo/db"; +import { InternalFailure } from "lib/score-import/framework/common/converter-failures"; +import type { KtLogger } from "lib/logger/logger"; +import type { FindOneResult } from "monk"; +import type { Game, integer, SongDocument } from "tachi-common"; + +/** + * Finds a song document for the given game with the given title (or alt-title). + * This is NOT the preferred way to find a song, as encodings, and typos, make this + * rather difficult. Prefer other functions! + * @param game - The game to search upon. + * @param title - The song title to match. + * @returns SongDocument + */ +export function FindSongOnTitle(game: Game, title: string): Promise> { + // @optimisable: Performance should be tested here by having a utility field for all-titles. + return db.songs[game].findOne({ + $or: [ + { + title, + }, + { + altTitles: title, + }, + ], + }); +} + +/** + * Finds a song on a song title case-insensitively. + * This is needed for services that provide horrifically mutated string titles. + */ +export function FindSongOnTitleInsensitive( + game: Game, + title: string +): Promise> { + // @optimisable: Performance should be tested here by having a utility field for all-titles. + + const regex = new RegExp(`^${EscapeStringRegexp(title)}$`, "iu"); + + return db.songs[game].findOne({ + $or: [ + { + title: { $regex: regex }, + }, + { + altTitles: { $regex: regex }, + }, + ], + }); +} + +/** + * Finds a song document based on the Tachi songID. Depending on the database this might + * also be the in-game-ID. + * @param game - The game to search upon. + * @param songID - The song ID to match. + * @returns SongDocument + */ +export function FindSongOnID(game: Game, songID: integer): Promise> { + return db.songs[game].findOne({ + id: songID, + }); +} + +export async function FindSongOnIDGuaranteed(game: Game, songID: integer, logger: KtLogger) { + const song = await FindSongOnID(game, songID); + + if (!song) { + logger.severe(`Song-Chart desync for ${songID}. Has charts, but no song.`); + throw new InternalFailure(`Song-Chart desync for ${songID}. Has charts, but no song.`); + } + + return song; +} diff --git a/server/src/utils/queries/stats.ts b/server/src/utils/queries/stats.ts new file mode 100644 index 000000000..ff5310b86 --- /dev/null +++ b/server/src/utils/queries/stats.ts @@ -0,0 +1,44 @@ +import db from "external/mongo/db"; +import { ONE_HOUR } from "lib/constants/time"; +import NodeCache from "node-cache"; +import type { Game, gameClasses, IDStrings, integer, Playtype } from "tachi-common"; + +const classDistCache = new NodeCache(); + +export async function GetClassDistribution( + game: Game, + playtype: Playtype, + className: gameClasses.GameClassSets[IDStrings] +) { + const cacheKey = `${game}:${playtype}:${className}`; + const cache = classDistCache.get>(cacheKey); + + if (!cache) { + const distribution: Array<{ + _id: string; + count: integer; + }> = await db["game-stats"].aggregate([ + { + $match: { + game, + playtype, + }, + }, + { + $group: { + _id: `$classes.${className}`, + count: { $sum: 1 }, + }, + }, + ]); + + // Converts {_id: "kaiden", count: 3} to {"kaiden": 3}, more or less. + const convert = Object.fromEntries(distribution.map((e) => [e._id, e.count])); + + classDistCache.set(cacheKey, convert, ONE_HOUR); + + return convert; + } + + return cache; +} diff --git a/server/src/utils/queries/summary.ts b/server/src/utils/queries/summary.ts new file mode 100644 index 000000000..08c2904fe --- /dev/null +++ b/server/src/utils/queries/summary.ts @@ -0,0 +1,73 @@ +import db from "external/mongo/db"; +import { GetGradeLampDistributionForFolders } from "utils/folder"; +import { GetTimeXHoursAgo } from "utils/misc"; +import type { integer } from "tachi-common"; + +// Various utils related to the player summary endpoint. +const REASONABLE_HOURS_AGO = 16; + +export function GetRecentPlaycount(userID: integer) { + const time = GetTimeXHoursAgo(REASONABLE_HOURS_AGO); + + return db.scores.count({ userID, timeAchieved: { $gte: time } }); +} + +export function GetRecentSessions(userID: integer) { + const time = GetTimeXHoursAgo(REASONABLE_HOURS_AGO); + + return db.sessions.find({ + userID, + timeEnded: { $gte: time }, + }); +} + +export async function GetRecentlyViewedFoldersAnyGPT(userID: integer) { + const time = GetTimeXHoursAgo(REASONABLE_HOURS_AGO); + + const views = await db["recent-folder-views"].find( + { + userID, + lastViewed: { $gte: time }, + }, + { + sort: { + lastViewed: -1, + }, + limit: 4, + } + ); + + const folders = await db.folders.find({ + folderID: { $in: views.map((e) => e.folderID) }, + }); + + const stats = await GetGradeLampDistributionForFolders(userID, folders); + + // TODO: Sort recently viewed folders based on how recently viewed + // they were. + + return { folders, stats }; +} + +export async function GetGoalSummary(userID: integer) { + const time = GetTimeXHoursAgo(REASONABLE_HOURS_AGO); + + const achievedGoals = await db["goal-subs"].find({ + timeAchieved: { $gte: time }, + userID, + }); + + const improvedGoals = await db["goal-subs"].find({ + lastInteraction: { $gte: time }, + achieved: false, + userID, + }); + + const goals = await db.goals.find({ + goalID: { + $in: [...achievedGoals.map((e) => e.goalID), ...improvedGoals.map((e) => e.goalID)], + }, + }); + + return { achievedGoals, improvedGoals, goals }; +} diff --git a/server/src/utils/req-tachi-data.ts b/server/src/utils/req-tachi-data.ts new file mode 100644 index 000000000..facd7310b --- /dev/null +++ b/server/src/utils/req-tachi-data.ts @@ -0,0 +1,49 @@ +import deepmerge from "deepmerge"; +import { SYMBOL_TACHI_DATA } from "lib/constants/tachi"; +import type { TachiRequestData } from "./types"; +import type { Request } from "express"; + +export function AssignToReqTachiData(req: Request, data: Partial) { + if (!req[SYMBOL_TACHI_DATA]) { + req[SYMBOL_TACHI_DATA] = data; + } else { + req[SYMBOL_TACHI_DATA] = deepmerge(req[SYMBOL_TACHI_DATA]!, data); + } +} + +export function GetTachiData( + req: Request, + key: T +): Exclude { + if (!req[SYMBOL_TACHI_DATA]) { + throw new Error( + `SYMBOL_TACHI_DATA was not set on a request, yet ${key} was attempted to be retrieved from it?` + ); + } + + const value = req[SYMBOL_TACHI_DATA]?.[key]; + + if (value === undefined) { + throw new Error( + `${key} was attempted to be retrieved from SYMBOL_TACHI_DATA, but was not defined.` + ); + } + + // Safe assertion due to value === undefined check above. + return value as unknown as Exclude; +} + +export function GetUGPT(req: Request) { + const user = GetTachiData(req, "requestedUser"); + const game = GetTachiData(req, "game"); + const playtype = GetTachiData(req, "playtype"); + + return { user, game, playtype }; +} + +export function GetGPT(req: Request) { + const game = GetTachiData(req, "game"); + const playtype = GetTachiData(req, "playtype"); + + return { game, playtype }; +} diff --git a/server/src/utils/reset-state/destroy-ugpt.ts b/server/src/utils/reset-state/destroy-ugpt.ts new file mode 100644 index 000000000..4aeff22c5 --- /dev/null +++ b/server/src/utils/reset-state/destroy-ugpt.ts @@ -0,0 +1,94 @@ +import db from "external/mongo/db"; +import { UpdateAllPBs } from "utils/calculations/recalc-scores"; +import type { Game, integer, Playtype } from "tachi-common"; + +/** + * Completely resets a UGPT profile. + * + * This function is dangerous! Should only be ran by admins. + */ +export default async function DestroyUserGamePlaytypeData( + userID: integer, + game: Game, + playtype: Playtype +) { + await db["game-stats-snapshots"].remove({ + userID, + game, + playtype, + }); + + await db.scores.remove({ + userID, + game, + playtype, + }); + + const chartIDs = ( + await db["personal-bests"].find( + { + userID, + game, + playtype, + }, + { + projection: { + chartID: 1, + }, + } + ) + ).map((e) => e.chartID); + + await db["personal-bests"].remove({ + userID, + game, + playtype, + }); + + await UpdateAllPBs(undefined, { + chartID: { $in: chartIDs }, + }); + + const sessionIDs = ( + await db.sessions.find( + { + userID, + game, + playtype, + }, + { + projection: { + sessionID: 1, + }, + } + ) + ).map((e) => e.sessionID); + + await db["session-view-cache"].remove({ + sessionID: { $in: sessionIDs }, + }); + + await db.sessions.remove({ + userID, + game, + playtype, + }); + + await db.imports.remove({ + userID, + game, + playtype, + }); + + await db["game-settings"].remove({ + userID, + game, + playtype, + }); + + await db["game-stats"].remove({ + userID, + game, + playtype, + }); +} diff --git a/server/src/utils/scores.ts b/server/src/utils/scores.ts new file mode 100644 index 000000000..55bdb065a --- /dev/null +++ b/server/src/utils/scores.ts @@ -0,0 +1,53 @@ +import { DedupeArr } from "./misc"; +import db from "external/mongo/db"; +import type { + ChartDocument, + integer, + PBScoreDocument, + ScoreDocument, + SongDocument, +} from "tachi-common"; + +export function GetPBOnChart(userID: integer, chartID: string) { + return db["personal-bests"].findOne({ + userID, + chartID, + }); +} + +export function GetServerRecordOnChart(chartID: string) { + return db["personal-bests"].findOne({ + chartID, + "rankingData.rank": 1, + }); +} + +export function FilterChartsAndSongs( + scores: Array, + charts: Array, + songs: Array +) { + const chartIDs = new Set(); + const songIDs = new Set(); + + for (const score of scores) { + chartIDs.add(score.chartID); + songIDs.add(score.songID); + } + + // filter out irrelevant songs and charts + return { + songs: songs.filter((e) => songIDs.has(e.id)), + charts: charts.filter((e) => chartIDs.has(e.chartID)), + }; +} + +export function GetScoreIDsFromComposed(pb: PBScoreDocument) { + const arr = [pb.composedFrom.lampPB, pb.composedFrom.scorePB]; + + if (pb.composedFrom.other) { + arr.push(...pb.composedFrom.other.map((e) => e.scoreID)); + } + + return DedupeArr(arr); +} diff --git a/server/src/utils/session.test.ts b/server/src/utils/session.test.ts new file mode 100644 index 000000000..2a77615e3 --- /dev/null +++ b/server/src/utils/session.test.ts @@ -0,0 +1,30 @@ +import { GetScoresFromSession } from "./session"; +import db from "external/mongo/db"; +import t from "tap"; +import ResetDBState from "test-utils/resets"; + +t.test("#GetScoresFromSession", async (t) => { + t.beforeEach(ResetDBState); + + await ResetDBState(); + + const exampleSession = await db.sessions.findOne(); + + const scores = await GetScoresFromSession(exampleSession!); + + t.equal( + scores.length, + exampleSession!.scoreInfo.length, + "Should return the same amount of scores as the session." + ); + + for (let i = 0; i < exampleSession!.scoreInfo.length; i++) { + t.equal( + scores[i]!.scoreID, + exampleSession!.scoreInfo[i]!.scoreID, + "Should return the scores requested." + ); + } + + t.end(); +}); diff --git a/server/src/utils/session.ts b/server/src/utils/session.ts new file mode 100644 index 000000000..b16fc5859 --- /dev/null +++ b/server/src/utils/session.ts @@ -0,0 +1,22 @@ +import db from "external/mongo/db"; +import type { ScoreDocument, SessionDocument } from "tachi-common"; + +/** + * Returns all the score documents inside a session. + * @param session The session to retrieve the score documents of. + */ +export function GetScoresFromSession(session: SessionDocument) { + return db.scores.find({ + scoreID: { $in: session.scoreInfo.map((e) => e.scoreID) }, + }); +} + +/** + * Returns the session a score belongs to, if there is one. A score can only be part of one session implicitly. + * @param score The score to return the associated session of. + */ +export function GetSessionFromScore(score: ScoreDocument) { + return db.sessions.findOne({ + "scoreInfo.scoreID": score.scoreID, + }); +} diff --git a/server/src/utils/string-checks.ts b/server/src/utils/string-checks.ts new file mode 100644 index 000000000..5e775825e --- /dev/null +++ b/server/src/utils/string-checks.ts @@ -0,0 +1,82 @@ +import { IsString } from "./misc"; +import { GetGamePTConfig } from "tachi-common"; +import type { Game, GamePTConfig, Playtype } from "tachi-common"; + +const isIntegerRegex = /^-?\d+$/u; + +export function ParseStrPositiveInt(val: unknown) { + if (!IsString(val)) { + return null; + } + + const isInt = isIntegerRegex.test(val); + + if (!isInt) { + return null; + } + + const v = Number(val); + + if (!Number.isSafeInteger(v) || v < 0) { + return null; + } + + return v; +} + +export function ParseStrPositiveNonZeroInt(val: unknown) { + if (!IsString(val)) { + return null; + } + + const isInt = isIntegerRegex.test(val); + + if (!isInt) { + return null; + } + + const v = Number(val); + + if (!Number.isSafeInteger(v) || v <= 0) { + return null; + } + + return v; +} + +export type ProfileRatingAlgs = GamePTConfig["defaultProfileRatingAlg"]; +export type ScoreRatingAlgs = GamePTConfig["defaultScoreRatingAlg"]; +export type SessionRatingAlgs = GamePTConfig["defaultSessionRatingAlg"]; + +export function CheckStrProfileAlg(game: Game, playtype: Playtype, strVal: string) { + const gptConfig = GetGamePTConfig(game, playtype); + + // @hack + if (!gptConfig.profileRatingAlgs.includes(strVal as ProfileRatingAlgs)) { + return null; + } + + return strVal as ProfileRatingAlgs; +} + +export function CheckStrScoreAlg(game: Game, playtype: Playtype, strVal: string) { + const gptConfig = GetGamePTConfig(game, playtype); + + // @hack + if (!gptConfig.scoreRatingAlgs.includes(strVal as ScoreRatingAlgs)) { + return null; + } + + return strVal as ScoreRatingAlgs; +} + +export function CheckStrSessionAlg(game: Game, playtype: Playtype, strVal: string) { + const gptConfig = GetGamePTConfig(game, playtype); + + // @hack + if (!gptConfig.sessionRatingAlgs.includes(strVal as SessionRatingAlgs)) { + return null; + } + + return strVal as SessionRatingAlgs; +} diff --git a/server/src/utils/types.ts b/server/src/utils/types.ts new file mode 100644 index 000000000..883eae922 --- /dev/null +++ b/server/src/utils/types.ts @@ -0,0 +1,119 @@ +import type { + FolderDocument, + TableDocument, + SessionDocument, + ScoreDocument, + ChartDocument, + PublicUserDocument, + UserGameStats, + Game, + Playtype, + SongDocument, + UserSettings, + TachiAPIClientDocument, + GoalDocument, + MilestoneSubscriptionDocument, + GoalSubscriptionDocument, + MilestoneDocument, + MilestoneSetDocument, + integer, + ImportDocument, +} from "tachi-common"; + +// Inject additional properties on express-session +declare module "express-session" { + interface SessionData { + tachi: TachiSessionData; + } +} + +declare module "express-serve-static-core" { + export interface Request { + // eslint-disable-next-line lines-around-comment + // KNOWN BUG IN TS-ESLINT. + /** + * This is a type-safe variant of "req.safeBody". + * "req.safeBody" is 'any' by default, which makes it exceptionally difficult + * to use in our codebase (due to the strict cadence rules.) + */ + safeBody: Record; + } +} + +export interface TachiSessionData { + user: PublicUserDocument; + settings: UserSettings; +} + +export interface TachiAPIFailResponse { + success: false; + description: string; +} + +export interface TachiAPISuccessResponse { + success: true; + description: string; + body: Record; +} + +export type TachiAPIReponse = TachiAPIFailResponse | TachiAPISuccessResponse; + +/** + * Clarity type for empty objects - such as in context. + */ +export type EmptyObject = Record; + +/** + * Data that may be monkey-patched onto req.tachi. This holds things such as middleware results. + */ +export interface TachiRequestData { + uscChartDoc?: ChartDocument<"usc:Controller" | "usc:Keyboard">; + + beatorajaChartDoc?: ChartDocument<"bms:7K" | "bms:14K" | "pms:Controller" | "pms:Keyboard">; + + requestedUser?: PublicUserDocument; + requestedUserGameStats?: UserGameStats; + game?: Game; + playtype?: Playtype; + + chartDoc?: ChartDocument; + songDoc?: SongDocument; + scoreDoc?: ScoreDocument; + sessionDoc?: SessionDocument; + tableDoc?: TableDocument; + folderDoc?: FolderDocument; + goalDoc?: GoalDocument; + milestoneDoc?: MilestoneDocument; + goalSubDoc?: GoalSubscriptionDocument; + milestoneSubDoc?: MilestoneSubscriptionDocument; + milestoneSetDoc?: MilestoneSetDocument; + importDoc?: ImportDocument; + + apiClientDoc: Omit; +} + +// This is only used on tachi-server, and isn't exposed -- so shouldn't be a part +// of common. +export interface PrivateUserInfoDocument { + userID: integer; + password: string; + email: string; +} + +export interface Migration { + id: string; + up: () => Promise; + down: () => Promise; +} + +export type MigrationDocument = { + migrationID: string; +} & ( + | { + status: "applied"; + appliedOn: integer; + } + | { + status: "pending"; + } +); diff --git a/server/src/utils/url.ts b/server/src/utils/url.ts new file mode 100644 index 000000000..147b7c4d3 --- /dev/null +++ b/server/src/utils/url.ts @@ -0,0 +1,11 @@ +import { URL } from "url"; + +export function CreateURLWithParams(url: string, params: Record) { + const u = new URL(url); + + for (const [key, value] of Object.entries(params)) { + u.searchParams.set(key, value); + } + + return u; +} diff --git a/server/src/utils/user.test.ts b/server/src/utils/user.test.ts new file mode 100644 index 000000000..9d9921680 --- /dev/null +++ b/server/src/utils/user.test.ts @@ -0,0 +1,109 @@ +import { FormatUserDoc, GetUserCaseInsensitive, GetUsersWithIDs } from "./user"; +import db from "external/mongo/db"; +import { DatabaseSchemas } from "external/mongo/schemas"; +import t from "tap"; +import { mkFakeUser } from "test-utils/misc"; +import ResetDBState from "test-utils/resets"; +import type { PublicUserDocument } from "tachi-common"; + +t.test("#GetUserCaseInsensitive", (t) => { + t.beforeEach(ResetDBState); + + t.test("Should return the user for an exact username", async (t) => { + const result = await GetUserCaseInsensitive("test_zkldi"); + + t.not(result, null, "Should not return null"); + + t.equal(result!.username, "test_zkldi", "Should return test_zkldi"); + + t.ok(DatabaseSchemas.users(result), "Should return a conforming PublicUserDocument"); + + // @ts-expect-error yeah + t.equal(result.password, undefined, "Should not return password"); + + // @ts-expect-error yeah + t.equal(result.email, undefined, "Should not return email"); + }); + + t.test("Should return the user for an incorrectly cased username", async (t) => { + const result = await GetUserCaseInsensitive("tesT_ZkLdi"); + + t.not(result, null, "Should not return null"); + + t.equal(result!.username, "test_zkldi", "Should return test_zkldi"); + + t.ok(DatabaseSchemas.users(result), "Should return a conforming PublicUserDocument"); + + // @ts-expect-error yeah + t.equal(result.password, undefined, "Should not return password"); + + // @ts-expect-error yeah + t.equal(result.email, undefined, "Should not return email"); + }); + + t.test("Should not return the user for a username that does not exist", async (t) => { + const result = await GetUserCaseInsensitive("foobar"); + + t.equal(result, null, "Should return null"); + }); + + t.end(); +}); + +t.test("#GetUsersWithIDs", (t) => { + t.beforeEach(ResetDBState); + t.beforeEach(() => db.users.insert([mkFakeUser(2), mkFakeUser(3), mkFakeUser(4)])); + + t.test("Should return users with these IDs.", async (t) => { + const res = await GetUsersWithIDs([2, 3]); + + const expected = [mkFakeUser(2), mkFakeUser(3)]; + + for (const e of expected) { + // workaround for monk mutating our state. I know this is bad. + // I'll fix it at some point. + delete e._id; + } + + t.strictSame(res, expected, "Should return the user documents at these IDs."); + + t.end(); + }); + + t.test("Shouldn't reject for duplicate userIDs", async (t) => { + try { + const res = await GetUsersWithIDs([1, 2, 1]); + + t.hasStrict( + res.map((e) => e.id), + [1, 2], + "Should have the requested user IDs." + ); + t.pass(); + } catch (e) { + const err = e as Error; + + t.fail(err.message); + } + + t.end(); + }); + + t.test("Shouldn't reject for userID length mismatch", (t) => { + t.rejects(() => GetUsersWithIDs([1, 2, 1, 5])); + + t.end(); + }); + + t.end(); +}); + +t.test("#FormatUserDoc", (t) => { + t.equal( + FormatUserDoc({ username: "zkldi", id: 123 } as PublicUserDocument), + "zkldi (#123)", + "Should format a user document into username #id format." + ); + + t.end(); +}); diff --git a/server/src/utils/user.ts b/server/src/utils/user.ts new file mode 100644 index 000000000..ff5ddf8a9 --- /dev/null +++ b/server/src/utils/user.ts @@ -0,0 +1,287 @@ +import db from "external/mongo/db"; +import CreateLogCtx from "lib/logger/logger"; +import { GetGamePTConfig, UserAuthLevels } from "tachi-common"; +import type { ProfileRatingAlgs } from "./string-checks"; +import type { FindOneResult } from "monk"; +import type { + APITokenDocument, + Game, + IDStrings, + integer, + Playtype, + PublicUserDocument, + UGSRatingsLookup, + UserGameStats, +} from "tachi-common"; + +const logger = CreateLogCtx(__filename); + +/** + * Returns a user's username from their ID. Throws if no user with that ID exists. + */ +export async function GetUsernameFromUserID(userID: integer): Promise { + const partialDoc = await db.users.findOne( + { + id: userID, + }, + { + projection: { + username: 1, + }, + } + ); + + if (!partialDoc) { + throw new Error(`Could not find username for userID ${userID}.`); + } + + return partialDoc.username; +} + +/** + * Gets a user based on their username case-insensitively. + */ +export function GetUserCaseInsensitive( + username: string +): Promise> { + return db.users.findOne({ + usernameLowercase: username.toLowerCase(), + }); +} + +export async function CheckIfEmailInUse(email: string) { + const doc = await db["user-private-information"].findOne({ email }); + + return !!doc; +} + +export function GetUserPrivateInfo(userID: integer) { + return db["user-private-information"].findOne({ userID }); +} + +/** + * Gets a user from their userID. + */ +export function GetUserWithID(userID: integer): Promise> { + return db.users.findOne({ + id: userID, + }); +} + +export function GetSettingsForUser(userID: integer) { + return db["user-settings"].findOne({ + userID, + }); +} + +/** + * Gets the users for these user IDs. + */ +export async function GetUsersWithIDs(userIDs: Array) { + const users = await db.users.find({ + id: { $in: userIDs }, + }); + + // Note that we should dedupe this by making a set + // as passing [1, 1, 1] is perfectly legal to this function. + if (users.length !== new Set(userIDs).size) { + logger.severe( + `GetUsersWithIDs was given ${userIDs.length} userIDs, but only matched ${users.length} -- state desync likely.`, + { userIDs, users } + ); + throw new Error( + `GetUsersWithIDs was given ${userIDs.length} userIDs, but only matched ${users.length}.` + ); + } + + return users; +} + +/** + * Retrieve a user document that is expected to exist. + * If the user document is not found, a severe error is logged, and this + * function throws. + */ +export async function GetUserWithIDGuaranteed(userID: integer): Promise { + const userDoc = await GetUserWithID(userID); + + if (!userDoc) { + logger.severe( + `User ${userID} does not have an associated user document, but one was expected.` + ); + throw new Error( + `User ${userID} does not have an associated user document, but one was expected.` + ); + } + + return userDoc; +} + +/** + * Gets a user based on either their username case-insensitively, or a direct lookup of their ID. + * This is used in URLs to resolve the passed user. + */ +export function ResolveUser(usernameOrID: string) { + // user ID passed + if (/^[0-9]+$/u.exec(usernameOrID)) { + const intID = Number(usernameOrID); + + return GetUserWithID(intID); + } + + return GetUserCaseInsensitive(usernameOrID); +} + +/** + * Returns a formatted string indicating the user. This is used for logging. + */ +export function FormatUserDoc(userdoc: PublicUserDocument) { + return `${userdoc.username} (#${userdoc.id})`; +} + +export async function GetUsersRanking(stats: UserGameStats) { + const gptConfig = GetGamePTConfig(stats.game, stats.playtype); + + const aggRes: [{ _id: null; ranking: integer }] = await db["game-stats"].aggregate([ + { + $match: { + game: stats.game, + playtype: stats.playtype, + }, + }, + { + $group: { + _id: null, + ranking: { + $sum: { + $cond: { + if: { + $gt: [ + `$ratings.${gptConfig.defaultProfileRatingAlg}`, + stats.ratings[gptConfig.defaultProfileRatingAlg], + ], + }, + then: 1, + else: 0, + }, + }, + }, + }, + }, + ]); + + return aggRes[0].ranking + 1; +} + +export function GetUGPTPlaycount(userID: integer, game: Game, playtype: Playtype) { + return db.scores.count({ userID, game, playtype }); +} + +export async function GetAllRankings(stats: UserGameStats) { + const gptConfig = GetGamePTConfig(stats.game, stats.playtype); + + const entries = await Promise.all( + gptConfig.profileRatingAlgs.map((k) => + GetUsersRankingAndOutOf(stats, k).then((r) => [k, r]) + ) + ); + + return Object.fromEntries(entries) as Record< + ProfileRatingAlgs, + { ranking: integer; outOf: integer } + >; +} + +export async function GetUsersRankingAndOutOf( + stats: UserGameStats, + alg?: UGSRatingsLookup[IDStrings] +) { + const gptConfig = GetGamePTConfig(stats.game, stats.playtype); + + const ratingAlg = alg ?? gptConfig.defaultProfileRatingAlg; + + const aggRes: [ + { + _id: null; + outOf: integer; + ranking: integer; + } + ] = await db["game-stats"].aggregate([ + { + $match: { + game: stats.game, + playtype: stats.playtype, + }, + }, + { + $group: { + _id: null, + outOf: { $sum: 1 }, + ranking: { + $sum: { + $cond: { + if: { + $gt: [`$ratings.${ratingAlg}`, stats.ratings[ratingAlg]], + }, + then: 1, + else: 0, + }, + }, + }, + }, + }, + ]); + + return { + ranking: aggRes[0].ranking + 1, + outOf: aggRes[0].outOf, + }; +} + +const FIVE_MINUTES = 1000 * 60 * 5; + +/** + * Returns the cutoff point for "being online" in tachi. This means the user + * has made any page request in the past 5 minutes. + */ +export function GetOnlineCutoff() { + return Date.now() - FIVE_MINUTES; +} + +/** + * Returns whether a given userID is an administrator or not. + */ +export async function IsRequesterAdmin(request: APITokenDocument) { + // API Tokens created on the behalf of an admin do NOT inherit admin permissions. + if (request.token !== null) { + return false; + } + + if (request.userID === null) { + return false; + } + + const user = await GetUserWithIDGuaranteed(request.userID); + + return user.authLevel === UserAuthLevels.ADMIN; +} + +/** + * Return all the GPTs this userID has played. + */ +export async function GetUserPlayedGPTs(userID: integer) { + const gpts = (await db["game-stats"].find( + { userID }, + { projection: { game: 1, playtype: 1 } } + )) as Array>; + + return gpts; +} + +export async function GetAllUserRivals(userID: integer) { + const rivals = (await db["game-settings"].find({ userID }, { projection: { rivals: 1 } })) + .map((e) => e.rivals) + .flat(); + + return rivals; +} diff --git a/server/tsconfig.build.json b/server/tsconfig.build.json new file mode 100644 index 000000000..582a4c1e2 --- /dev/null +++ b/server/tsconfig.build.json @@ -0,0 +1,15 @@ +// This TSConfig file is used when pnpm build is ran. It omits out +// unecessary files, such as anything involved in testing. +// This is a separate TSConfig file because VSCode (by default) uses +// the exclude list to find out what it should care about for typechecking +// while writing code. +// Since I still want my tests to take advantage of static typing, this is +// a necessary hack. +{ + "extends": "./tsconfig.json", + "exclude": [ + "node_modules", + "src/test-utils", + "src/**/*.test.ts" + ] +} \ No newline at end of file diff --git a/server/tsconfig.json b/server/tsconfig.json new file mode 100644 index 000000000..0f896b3cf --- /dev/null +++ b/server/tsconfig.json @@ -0,0 +1,42 @@ +// This is a base TSConfig for nice integration with IDEs such as VSCode. +// By default, VSCode reads `tsconfig.json` to know what it should typecheck +// in the editor. Since we want it to typecheck things like our tests, but +// we want to save disk space by not compiling them at runtime, we need two +// tsconfigs! +{ + "compilerOptions": { + "target": "ES2020", + "module": "CommonJS", + "lib": [ + "ES2019", + // This is necessary because -- for some unknown reason -- the AWS SDK + // depends on the DOM. Do people even run the AWS SDK in the browser? + // I hope not. + "DOM" + ], + "declaration": true, + "strict": true, + "allowJs": false, + "esModuleInterop": true, + "sourceMap": true, + "outDir": "./js", + "baseUrl": "src", + "noUncheckedIndexedAccess": true, + "typeRoots": [ + "@types", + "node_modules/@types", + ] + }, + "ts-node": { + "require": [ + "tsconfig-paths/register" + ] + }, + "include": [ + "src/**/*.ts", + "src/lib/jobs/inline-job-runner" + ], + "exclude": [ + "node_modules" + ] +} \ No newline at end of file