CHANGELOG.md
LICENSE
MANIFEST.in
README.md
pyproject.toml
backend/rollingpebble/__init__.py
backend/rollingpebble/cli.py
backend/rollingpebble/config.py
backend/rollingpebble/job_kinds.py
backend/rollingpebble/jobs.py
backend/rollingpebble/jobs_progress.py
backend/rollingpebble/jobs_runner.py
backend/rollingpebble/jobs_store.py
backend/rollingpebble/lyrics_utils.py
backend/rollingpebble/main.py
backend/rollingpebble/messages.py
backend/rollingpebble/models.py
backend/rollingpebble/paths.py
backend/rollingpebble/version.py
backend/rollingpebble.egg-info/PKG-INFO
backend/rollingpebble.egg-info/SOURCES.txt
backend/rollingpebble.egg-info/dependency_links.txt
backend/rollingpebble.egg-info/entry_points.txt
backend/rollingpebble.egg-info/requires.txt
backend/rollingpebble.egg-info/top_level.txt
backend/rollingpebble/adapters/__init__.py
backend/rollingpebble/adapters/pylrclib_adapter.py
backend/rollingpebble/adapters/pyroller_adapter.py
backend/rollingpebble/api/__init__.py
backend/rollingpebble/api/context.py
backend/rollingpebble/api/health.py
backend/rollingpebble/api/jobs.py
backend/rollingpebble/api/lyrics_sources.py
backend/rollingpebble/api/projects.py
backend/rollingpebble/api/roller.py
backend/rollingpebble/api/runtime.py
backend/rollingpebble/api/settings.py
backend/rollingpebble/api/storage.py
backend/rollingpebble/api/upload.py
backend/rollingpebble/frontend_dist/index.html
backend/rollingpebble/frontend_dist/site.webmanifest
backend/rollingpebble/frontend_dist/assets/AbstractID3Parser-C1bZf5tr.js
backend/rollingpebble/frontend_dist/assets/AbstractID3Parser-C1bZf5tr.js.map
backend/rollingpebble/frontend_dist/assets/AiffParser-BM7dGC3q.js
backend/rollingpebble/frontend_dist/assets/AiffParser-BM7dGC3q.js.map
backend/rollingpebble/frontend_dist/assets/AsfParser-D4YHo0FL.js
backend/rollingpebble/frontend_dist/assets/AsfParser-D4YHo0FL.js.map
backend/rollingpebble/frontend_dist/assets/DsdiffParser-CPqdzlmQ.js
backend/rollingpebble/frontend_dist/assets/DsdiffParser-CPqdzlmQ.js.map
backend/rollingpebble/frontend_dist/assets/DsfParser-DoVQfCiS.js
backend/rollingpebble/frontend_dist/assets/DsfParser-DoVQfCiS.js.map
backend/rollingpebble/frontend_dist/assets/FlacParser-hrUUH6BE.js
backend/rollingpebble/frontend_dist/assets/FlacParser-hrUUH6BE.js.map
backend/rollingpebble/frontend_dist/assets/ID3v2Parser-gEsYPmsP.js
backend/rollingpebble/frontend_dist/assets/ID3v2Parser-gEsYPmsP.js.map
backend/rollingpebble/frontend_dist/assets/MP4Parser-CHrs1RHp.js
backend/rollingpebble/frontend_dist/assets/MP4Parser-CHrs1RHp.js.map
backend/rollingpebble/frontend_dist/assets/MatroskaParser-BAquM8O7.js
backend/rollingpebble/frontend_dist/assets/MatroskaParser-BAquM8O7.js.map
backend/rollingpebble/frontend_dist/assets/MpegParser-C1rSjxgd.js
backend/rollingpebble/frontend_dist/assets/MpegParser-C1rSjxgd.js.map
backend/rollingpebble/frontend_dist/assets/MusepackParser-CG97YpUy.js
backend/rollingpebble/frontend_dist/assets/MusepackParser-CG97YpUy.js.map
backend/rollingpebble/frontend_dist/assets/OggParser-DjTorsHZ.js
backend/rollingpebble/frontend_dist/assets/OggParser-DjTorsHZ.js.map
backend/rollingpebble/frontend_dist/assets/WavPackParser-DSU3N2a9.js
backend/rollingpebble/frontend_dist/assets/WavPackParser-DSU3N2a9.js.map
backend/rollingpebble/frontend_dist/assets/WaveParser-DEt0kJrF.js
backend/rollingpebble/frontend_dist/assets/WaveParser-DEt0kJrF.js.map
backend/rollingpebble/frontend_dist/assets/core-uJPC5yDX.js
backend/rollingpebble/frontend_dist/assets/core-uJPC5yDX.js.map
backend/rollingpebble/frontend_dist/assets/index-CfYcEQ-H.css
backend/rollingpebble/frontend_dist/assets/index-j_lM1paW.js
backend/rollingpebble/frontend_dist/assets/index-j_lM1paW.js.map
backend/rollingpebble/frontend_dist/assets/ja-uFQn4mfF.js
backend/rollingpebble/frontend_dist/assets/ja-uFQn4mfF.js.map
backend/rollingpebble/frontend_dist/assets/ko-KR-XQDEq9Qx.js
backend/rollingpebble/frontend_dist/assets/ko-KR-XQDEq9Qx.js.map
backend/rollingpebble/frontend_dist/assets/ncmc-worker-CPO697eB.ts
backend/rollingpebble/frontend_dist/assets/pl-PL-Bakikq1g.js
backend/rollingpebble/frontend_dist/assets/pl-PL-Bakikq1g.js.map
backend/rollingpebble/frontend_dist/assets/pt-BR-_PPFh1Hd.js
backend/rollingpebble/frontend_dist/assets/pt-BR-_PPFh1Hd.js.map
backend/rollingpebble/frontend_dist/assets/sk-SK-D8o-iNbj.js
backend/rollingpebble/frontend_dist/assets/sk-SK-D8o-iNbj.js.map
backend/rollingpebble/frontend_dist/assets/smooth-scroll-Cyy-OSkS.js
backend/rollingpebble/frontend_dist/assets/smooth-scroll-Cyy-OSkS.js.map
backend/rollingpebble/frontend_dist/assets/zh-CN-Crd_buZt.js
backend/rollingpebble/frontend_dist/assets/zh-CN-Crd_buZt.js.map
backend/rollingpebble/frontend_dist/assets/zh-HK-DDRz9rBX.js
backend/rollingpebble/frontend_dist/assets/zh-HK-DDRz9rBX.js.map
backend/rollingpebble/frontend_dist/assets/zh-TW-glHm4wq3.js
backend/rollingpebble/frontend_dist/assets/zh-TW-glHm4wq3.js.map
backend/rollingpebble/frontend_dist/favicons/android-chrome-192x192.png
backend/rollingpebble/frontend_dist/favicons/android-chrome-512x512.png
backend/rollingpebble/frontend_dist/favicons/apple-touch-icon.png
backend/rollingpebble/frontend_dist/favicons/browserconfig.xml
backend/rollingpebble/frontend_dist/favicons/favicon-16x16.png
backend/rollingpebble/frontend_dist/favicons/favicon-32x32.png
backend/rollingpebble/frontend_dist/favicons/favicon.ico
backend/rollingpebble/frontend_dist/favicons/mstile-150x150.png
backend/rollingpebble/frontend_dist/favicons/mstile-310x310.png
backend/rollingpebble/frontend_dist/favicons/safari-pinned-tab.svg
backend/rollingpebble/frontend_dist/img/rollingpebble-avatar.png
backend/rollingpebble/frontend_dist/img/rollingpebble-avatar.webp
backend/rollingpebble/frontend_dist/img/rollingpebble-workspace-bg.webp
backend/rollingpebble/runtime/__init__.py
backend/rollingpebble/runtime/constants.py
backend/rollingpebble/runtime/dependencies.py
backend/rollingpebble/runtime/environment.py
backend/rollingpebble/runtime/installer.py
backend/rollingpebble/runtime/jobs.py
backend/rollingpebble/runtime/manager.py
backend/rollingpebble/runtime/python.py
backend/rollingpebble/runtime/recipe.py
backend/rollingpebble/runtime/reports.py
backend/rollingpebble/runtime/results.py
backend/rollingpebble/runtime/service.py
backend/rollingpebble/runtime/settings.py
backend/rollingpebble/services/__init__.py
backend/rollingpebble/services/local_dialog.py
backend/rollingpebble/services/lrclib_service.py
backend/rollingpebble/services/netease_service.py
backend/rollingpebble/services/project_service.py
backend/rollingpebble/services/roller_service.py
backend/rollingpebble/services/storage_cleanup.py
backend/rollingpebble/services/storage_migration.py
backend/rollingpebble/services/storage_service.py
backend/rollingpebble/services/storage_shared.py
backend/rollingpebble/services/storage_usage.py
backend/rollingpebble/services/upload_service.py
backend/rollingpebble/storage/__init__.py
backend/rollingpebble/storage/app_settings.py
backend/rollingpebble/storage/files.py
tests/test_jobs_subprocess_security.py
tests/test_lrc_roller_runtime_and_app.py
tests/test_netease_service.py
tests/test_pyroller_adapter.py
tests/test_runtime_installer_reports.py
tests/test_storage_service.py
tests/test_workspace_save.py